视觉风格复刻 (Visual Style Replicator)
把参考图的"视觉风格"拆成可挑选、可组合的维度卡片,再重组成提示词,方便在 Midjourney / Stable Diffusion / Flux / 即梦 / 可灵 等模型上做风格复刻或混搭再创作。支持 1–3 张参考图,既能逐张原样复刻,也能跨图融合——让不同维度分别取自不同参考图。还能生成示例图验证风格、把自己的图套上该风格(图生图)、导出可复用预设。
适用场景
- 看到喜欢的图,想"照这个风格再画一张 / 改成视频"
- 有多张喜欢的图,想把它们的风格揉在一起做新风格
- 想先看这套风格落地成图长啥样(示例图),或把自己的照片套上这套风格
- 需要把抽象的风格感觉转成可复用的结构化提示词
上手与前置须知
- 怎么用:手动调用——对话里输入
/visual-style-replicator或念出名字即可启动;不会被自动触发,也不会被其他 skill 调用。 - 必须看到真实图片:风格提取与图生图都依赖模型读图(视觉)能力;只描述风格、不传图会失真,请先传参考图。
- 最多 3 张:单次最多同时处理 3 张参考图(1 张标准流程,2–3 张支持跨图融合);更多请先挑出 1–3 张。
- 复杂风格可能需手动微调:自动提取给出的是"可复用基线",风格很复杂(多风格混搭、强冲突)时,生成后大概率要你再调参数/提示词。
- 国内平台已支持:抖音即梦、快手可灵等国内模型均可使用;但本 skill 提示词示例以国外工具(Midjourney / SD / Flux)为主,国内平台参数格式不同(即梦用自然语言+比例、可灵用镜头运动描述),请按
references/prompt-framing.md的"国内平台"写法自行调整格式。 - 安全说明:本 skill 仅读取你提供的图片、生成文本提示词——不执行代码、不发起外部网络请求、不写入系统目录,无 P0/P1 级安全风险。
流程总览
收图(1–3 张) → 析图(逐张出维度卡片) → 选维度(单图挑选 / 跨图融合) → 组提示词(带来源重组输出 + 可选示例图) → 风格复刻到自己的图(示例图之后可选开启,上传自己的图做图生图风格迁移)。
核心隐喻:维度卡片 = 每个风格维度一张卡,卡上列着可独立开关的选项,每项可带 exemplar(从原图抽出的具体视觉锚点);选源 = 跨图模式下决定每个维度从哪张图取;重组 = 把选定项拼成提示词;改动力度 = 把自己的图套风格时,决定每个维度改多狠(🟢保留 / 🟡微调 / 🟠改写 / 🔴重写)。
步骤 1 · 收图
请用户上传 1–3 张图片(直接发图,或给出本地路径)。
- 1 张:走标准单图流程。
- 2–3 张:每张都是独立参考,依次编号为
img1/img2/img3,并用一句内容标签区分(如"图1·医院绿调人像""图2·霓虹街景")。 - 只描述了风格却没给图:先请他传参考图——风格提取必须基于真实图像,空谈会失真。
- 一次超过 3 张:请他挑出 1–3 张作为本轮参考,其余忽略。
- 用 Read 工具读取每张图,确认可读、非空白、内容与标签一致。
完成标准:收到 1–3 张有效图,全部 Read 读入上下文,并分配好 ref_id + 内容标签。
步骤 2 · 析图 → 维度卡片(逐张独立)
对每张图分别做视觉分析,输出一份逐图维度卡片包(结构见文末"维度卡片 JSON 规范";多图时为 references 数组,每张图一项)。
提取原则(每张图都遵守):
- 四个必选维度全覆盖:颜色 palette、排版 typography、构图 composition、特效 effects。
- 可选维度 atmosphere(氛围/情绪),仅当图里明显可辨时才有。
- 每维度的 core 是从该图忠实战提取的一句话结论——用户选"原样"或"取该图"时采用它。
- 每维度的 options 是 3–4 个经过筛选、可独立开关的风格候选。可加 exemplar:从原图抽出的具体视觉锚点(palette 写主色 HEX 如 #2D5A4A;effects/composition 写定义性视觉母题如"脸颊青色发光线";typography 写典型字形处理)。一句锚点胜过千言描述,让用户"照着学"。只保留最具"可重组性"的 3–4 个;其余细节并入 core 或舍弃。
- swatches 用真实色值(HEX)。
把整份卡片包展示给用户,按图分组,每张图用一两句说明其各维度 core 结论,让他看清"每张图到底长啥样"。若有 exemplar,在对应选项后附上。
完成标准:references 中每张图都覆盖全部必选维度,每维度 core + 3–4 个 options 齐全(推荐带 exemplar);已按图分组展示。
步骤 3 · 选维度
路径 A · 单图(仅 1 张)
逐维度用 AskUserQuestion 提问题(palette / typography / composition / effects,含 atmosphere 时再加 1 问)。每个维度单独单选(一次只取一个选项),靠"逐维度分别提问"实现跨维度自由组合——颜色选 A、构图选 B、特效选 C,互不干扰。
每个维度问题的选项构造(注意 AskUserQuestion 每问最多 4 个选项):
- 第 1 项固定为 全部保留(原样复刻本维度) —— 即采用该维度 core。
- 后续接该维度 options 中最具"可重组性"的 最多 3 个(label 作选项名、desc 作描述直接映射,有 exemplar 则附在 desc 末尾)。若某维度 options 超过 3 个,挑 3 个呈现,其余并入 core 或留给用户自定义。
- 不要另加"自定义/混合"选项:AskUserQuestion 界面自带"其他"输入框,用户可在那里写任意组合,留给自由文本即可。
> 「全部保留」为独占项:选了它即以本维度 core 为准,忽略同问其他具体项。若用户在"其他"里写自定义,把文字并入对应维度。
路径 B · 多图(2–3 张)→ 先定策略,再选源
B1 · 问整体策略(1 个单选项问题):
- 整体复刻某一张 —— 指定 img 编号;选定后转入路径 A,对该图逐维度挑选项。
- 跨图融合(逐维度选源) —— 进入 B2。
B2 · 跨图融合 · 逐维度选源:对 4 个必选维度各提 1 个单选问题(atmosphere 有则加 1 问,故分 2 次 AskUserQuestion 调用)。每个问题的选项 = 各参考图在该维度上的实际提取结论(含 exemplar 更佳):
- 图1 · <img1 该维度 core 简述>
- 图2 · <img2 该维度 core 简述>
- (图3 · <img3 该维度 core 简述> 若有)
- 混合 / 自定义 —— 选它则在"其他"里写:跨图揉同一维度(如"图1 的绿 + 图3 的蓝"),或指定某图的某个 options 变体。
> 每问最多 4 个选项:参考图 3 张时(三图 + 混合)已用满;其余任意跨图组合走界面自带"其他"。混合/自定义 覆盖"揉多张图",自由文本走"其他"。
这样每个维度可来自不同参考图,天然实现风格融合;"混合"项支持同一维度内再揉多图。
冲突提示:若选出的维度彼此强烈冲突(如"图2 暖橙色调"配"图1 冷峻惊悚氛围"配"图3 扁平插画特效"),在回显清单时温和提醒:成品可能风格打架,建议二选一或改用"混合"中和。
把最终选择汇总成一张已选清单(维度 → 来源图 + 该图该维度结论),回显给用户确认。
完成标准:单图路径每个维度有明选;多图路径已定策略、逐维度标好来源(或混合说明);已回显确认。
步骤 4 · 组提示词(带来源重组输出)
把已选清单重组成三份产物(+ 可选示例图),全部用代码块给出、方便复制:
- 精简提示词(模型无关,逗号分隔):把选中项的描述标签用逗号连起来,末尾留
<主体 / 主题>占位符。多图融合时,在文字说明里标注每个标签的来源图。若选中项带exemplar(如主色 HEX、定义性母题),把具体值附在标签后(如warm amber skin #C4956A、face traced by cyan glow lines),让标签从"抽象类目"变成"可执行锚点"。
例(融合):[图1] hospital cyan-green, [图3] neon blue rim light, [图2] centered symmetry, [图1] film grain, <your subject> - 完整提示词(自然语言段落 + 参数):一段风格描述,附推荐
--ar/ 负面词(写法见references/prompt-framing.md)。跨图融合时注明哪些维度取自哪张图。优先把选中项的exemplar具体值写进描述句(如 "...bathed in cold hospital-green #2D5A4A, face traced by electric cyan lines #00D4AA..."),让提示词携带精确视觉锚点,而非只剩抽象标签。 -
风格卡 JSON:回写选中项,并加
provenance字段标出每个维度的来源ref_id,便于追溯与二次编辑。 -
(可选)示例图生成:基于这套风格直接用文生图生成 1–2 张示例图(默认竖图或按用户指定比例),作为"风格落地"的演示。这是本 skill 的"文生图"对应动作——把抽象卡片变成看得见摸得着的画面。生成时严格遵循已选维度,并在图后附一句"哪些维度生效了"的回显。
示例图产出后,用一步确认收口:问用户下一步走哪条——上传我的图做风格复刻(图生图) / 导出可保存的风格预设 / 到此为止。选"上传我的图做风格复刻"则进入步骤 5;选"导出可保存的风格预设"则把步骤 4 的三份产物(尤其风格卡 JSON + 精简提示词)写入工作区一个 .md 文件(如 style-preset-<日期>.md),用 present_files 交付,方便用户日后复用;其余按需行动。
完成标准:三份产物已给出;多图融合时标注了来源;示例图按需生成;已就"下一步"与用户对齐。
步骤 5 · 风格复刻到自己的图(示例图之后可选开启)
示例图验证风格"像不像";若用户手头已有自己的照片/图,想让它带上这套风格,则进入风格复刻——把步骤 3 选定的风格应用(复刻)到用户上传的图上(图生图 / img2img),保留原主体与构图,只改风格。详细机制(差异比对口径、力度分级表、提问话术、denoise 映射、迭代)见 references/style-transfer-mode.md,此处只列执行顺序:
- 收图:请用户上传自己的图(直接发图,或给本地路径用 Read 读入)。读入后确认可读、非空白、主体清晰。
- 差异比对:以步骤 4 的风格卡 JSON(含
provenance)为风格基线,把用户原图与基线逐维度比对,产出差异清单(维度 → 基线结论/来源 → 原图现状 → 建议力度 🟢🟡🟠🔴 → 理由)。凡步骤 3 含「混合/自定义」自由文字的维度,先据此重建该维度基线再比对。差异清单先回显给用户。 - 交互调力度:按
references/style-transfer-mode.md§3 的三档机制收集——先总开关(一键接受全部推荐 / 逐维度微调),再逐维度定级(🟢保留 / 🟡微调 / 🟠改写 / 🔴重写,代理建议标(推荐)),凡 🔴 重写维度额外追问保留边界。 - 风格复刻:基于最终确认的各维度力度做图生图——保留原主体/构图/核心信息,只按力度改风格(力度→denoise 强度 + 提示词权重映射见参考 §2/§4);跨图融合基座标清每维度来源、调和冲突。
- 回显对照:给出改前/改后对照,附"本稿维度落点"回显(各维度最终力度 + 怎么改的)。
- 可选迭代:用户说"再冷一点""特效再弱",回到第 3 步在同图二次调力度复刻;每次先更新差异清单与力度再改。复刻稿若需留存,写入工作区
.md/.png并用present_files交付。
完成标准:用户原图已读入;差异清单已回显;各维度力度已交互确认(或一键接受);🔴 重写维度的保留边界已确认;复刻稿保留原主体且按确认力度对齐风格;已给出改前/改后对照与维度落点;用户满意或表达结束意图时收尾。
稳定性与故障恢复
清晰、常规的参考图上运行稳定;遇异常按以下顺序处理,不要无限重试:
- 识别失败类型:
- 读图失败 / 环境不支持视觉 → 走"降级路径"(见下方「注意」)。
- 格式不支持或文件损坏 → 请用户换 PNG/JPG/WebP 重传。
- 图片过于复杂(信息过载、多风格混杂、主体不清)→ 进入"简化提取"。
- 提取明显偏差(维度错、色值乱)→ 请用户补一句描述或指定维度重点。 - 简化提取:复杂图不硬做全维度——先只出
palette+composition两个最强维度,其余维度用"其他"让用户补,或建议裁切/分图后再来。 - 一次失败只重试一次:同图首轮不理想,调整后再试一轮;仍不行转"用户口述 + 代理出卡"降级,而非反复自动重试。
- 参数/格式不对:国内平台不识别提示词时,按
references/prompt-framing.md「国内平台」写法改写,勿照搬 MJ 的--ar/--no。
常见坑 / 故障排查
| 现象 | 常见原因 | 处理 |
|---|---|---|
| 提取的颜色/风格和图不像 | 环境未真正读图,或图太复杂 | 确认读图能力;换简单图或口述补充 |
| 跨图融合"四不像" | 维度间强冲突(暖色配冷氛围) | 改"混合"中和,或二选一 |
| 即梦/可灵不认提示词 | 照搬了 MJ 的 --ar/--no 格式 |
按 references/prompt-framing.md 国内平台写法改写 |
| 图生图把主体改没了 | 🔴 重写力度过狠、未确认保留边界 | 降力度,或明确"保留关键主体" |
| 选项超出 4 个报错 | 单维度选项塞太多 | 只用"全部保留 + ≤3 option + 其他"结构 |
| 风格太复杂一次出不来 | 自动基线有限 | 先出基线,再手动叠维度微调 |
> 想看完整端到端演示(从收图到出融合提示词),见 references/worked-example.md——以"暖肤硬汉 × 冷绿赛博"两张参考图走通全流程。
维度卡片 JSON 规范
(步骤 2 的严格输出结构)
单图结构(仅 1 张时直接输出此对象)
{
"style_name": "给这套风格的命名",
"summary": "一句话风格概览",
"dimensions": {
"palette": {
"core": "主导色彩结论,一句话",
"swatches": ["#HEX", "#HEX"],
"options": [
{"id":"palette-1","label":"暖橙主调","desc":"...","exemplar":"#C4956A"},
{"id":"palette-2","label":"冷调互补","desc":"...","exemplar":"#1A3D32"}
]
},
"typography": { "core":"", "options":[...] },
"composition": { "core":"", "options":[...] },
"effects": { "core":"", "options":[...] },
"atmosphere": { "core":"", "options":[...], "optional": true }
}
}
多图结构(2–3 张时输出此包体)
{
"references": [
{
"ref_id": "img1",
"file": "名称/路径",
"style_name": "图1 风格命名",
"summary": "一句话概览",
"dimensions": {
"palette": { "core":"", "swatches":["#HEX"], "options":[...] },
"typography": { "core":"", "options":[...] },
"composition": { "core":"", "options":[...] },
"effects": { "core":"", "options":[...] },
"atmosphere": { "core":"", "options":[...], "optional": true }
}
},
{
"ref_id": "img2",
"file": "名称/路径",
"style_name": "图2 风格命名",
"summary": "一句话概览",
"dimensions": { "palette": {...}, "typography": {...}, "composition": {...}, "effects": {...}, "atmosphere": {...} }
}
]
}
维度词典(每张图提取时的取值参考)
- palette 颜色:主色系、饱和度(高饱和 / 莫兰迪低饱和 / 单色 monochrome)、对比度(互补高对比 / 同色系柔和)、明度基调(暗调 / 亮调)、特殊(霓虹 / 荧光 / 金属 / 渐变)。
exemplar写主色 HEX。 - typography 排版:仅当图含文字时才有意义。字体气质(无衬线粗体 / 衬线优雅 / 手写 / 等宽科技)、层级(大标题压制 / 图文均衡)、排布(居中 / 左对齐 / 环绕);若"无文字",
core写"无文字排版",options给"加极简标题 / 保持无字"。 - composition 构图:结构(中心对称 / 三分法 / 留白 / 对角线引导线)、视角(平视 / 俯视 / 微距 / 广角畸变)、景深(浅景深虚化 / 全景清晰)、负空间占比。
exemplar写定义性取景特征。 - effects 特效 / 质感:光照(柔光 / 体积光 / 霓虹辉光 / 硬光阴影)、材质渲染(厚涂油画 / 扁平插画 / 3D 渲染 / 水墨 / 胶片 / 照片写实)、附加(颗粒 / 光斑 / 故障 glitch / 柔焦)、笔触或噪点特征。
exemplar写具体视觉母题(如"脸颊青色发光线")。 - atmosphere 氛围(可选):情绪(宁静 / 张力 / 梦幻 / 赛博 / 复古 / 治愈)、时代感、整体能量。
注意
- 忠于原图:每张图的
core是该图本来就有;options是该图的风格候选,可含图内已有或合理的风格变体,但别把完全无关的风格硬塞进去。exemplar必须从原图真实抽出,别编造色值/母题。 - 多图融合要标来源:重组时明确每个维度取自哪张图,避免张冠李戴;跨图冲突时主动提醒用户。
- 若图片风格极简(如纯文字 logo),相应维度
options可少于 3 个,core写清即可。 - 依赖模型看图能力:步骤 2 析图与步骤 5 复刻都要求当前模型具备读图(视觉)能力。若当前环境不支持看图,走「稳定性与故障恢复」的降级路径——请用户口述风格特征,代理据出口维度卡片与提示词;示例图/图生图只交付提示词(完整流程见该节第 1/3 点)。
- 示例图/图生图需文生图与图生图工具:生成示例图用文生图;步骤 5 用图生图(img2img)。若当前环境不可用,按
references/style-transfer-mode.md§5 降级为只交付提示词(单一出处,勿在此重复流程)。 - 不同模型提示词写法不同,详见
references/prompt-framing.md;改写力度与 img2img 强度映射见references/style-transfer-mode.md。