GitHub每日热评|不只是滤镜:photo-abstract-editorial 如何用 Skill 把照片变成可追溯的编辑作品
GitHub每日热评不只是滤镜photo-abstract-editorial 如何用 Skill 把照片变成可追溯的编辑作品本文基于ZzzLc0405/photo-abstract-editorial指定快照49e55073d6d0的关键文件进行分析。项目包含README.md、LICENSE.md和SKILL.md本文未验证其在不同模型和客户端中的最终生成效果。项目许可证面向个人、教育和非商业用途商业使用需事先取得授权。作者Valhalla Matrix治理实验室评测方式证据驱动·只读静态源码审阅无运行时执行结论可复现很多图像生成工作流都在追求类似的效果上传照片 ↓ 套用某种风格 ↓ 增强色彩和质感 ↓ 生成一张“更有设计感”的图片这种方式很适合制作海报、封面和社交媒体配图但它有一个问题生成结果究竟还剩下多少原始照片的信息如果原图中的人物、建筑、光线和空间关系被重新绘制最终得到的可能只是“参考原图生成的新图”而不是一件从原图派生出来的编辑作品。photo-abstract-editorial选择了相反的方向。它要求上传照片保留在成品中抽象部分只能从照片中提取可观察的空间、色彩和结构关系。换句话说它不是鼓励模型自由发挥而是要求模型在创作时遵守一份视觉编辑协议。它真正有价值的地方不是某几个审美词汇而是这条约束抽象元素必须能够回溯到原图而不能凭空添加与原图无关的内容。一、它解决的不是“如何生成”而是“生成后还剩什么”传统图像生成通常更关注下面的问题画面是否好看风格是否统一色彩是否高级构图是否具有冲击力输出是否适合传播。而photo-abstract-editorial更关注生成结果是否仍然以原图为内容来源 抽象部分是否来自原图事实 照片是否被重新绘制 标题是否依据画面生成这使它与普通风格化 Prompt 有明显区别。普通风格化流程可能是原始照片 ↓ 提取大致主题 ↓ 套用艺术风格 ↓ 重新生成画面而该 Skill 试图采用原始照片 ↓ 分析空间和视觉事实 ↓ 保留摄影区域 ↓ 提取结构关系 ↓ 生成抽象面板 ↓ 添加依据画面事实的标题两者的目标不同类型主要目标风格迁移让原图呈现另一种视觉风格图像重绘根据原图重新生成完整画面普通海报生成生成一张符合主题的宣传图photo-abstract-editorial保留原图并生成可追溯的抽象派生部分因此不能把它简单理解为“更高级的滤镜”。二、最终作品由三部分组成根据SKILL.md的工作约束成品是一张竖向编辑作品主要由三部分构成原始摄影区域 抽象记忆面板 英文标题1. 原始摄影区域原图区域只允许进行有限的版式处理例如等比缩放为适应构图进行轻微裁切调整其在整张画布中的位置。不允许进行以下操作重画人物替换建筑扩展原始画面添加与原图无关的对象套用改变照片性质的滤镜将照片改造成另一幅插画通过生成式修图改变主体身份。这条规则决定了它不是传统意义上的“图生图”。原始照片承担的是事实来源角色而不是仅仅作为视觉参考。2. 抽象记忆面板照片下方设置一个象牙色、无纹理的面板用于承载抽象图形。抽象面板不是缩略图也不是照片描边更不是把照片直接转成某种艺术滤镜。它需要根据原图中的关系重新组织视觉元素例如主体之间的相对位置画面中的主轴线方向和运动趋势前后遮挡关系空间层次色彩之间的角色关系留白区域重复排列形成的节奏光线和明暗分布。例如原图中有一条道路从左下方延伸到远处抽象面板可以保留这种方向和纵深关系但不应凭空增加原图不存在的建筑或人物。3. 英文标题标题要求控制在较短范围内通常为 2 到 5 个英文单词可以搭配简短副标题。标题应该依据画面中的可见事实而不是脱离内容编造情绪化文案。例如Quiet Crossing Layered Distance Blue Between Buildings标题的作用是帮助观者理解作品而不是替代照片内容。三、什么是“可追溯的抽象”“抽象”并不等于“随意”。如果一个抽象图形声称来自某张照片那么至少应该能够回答这个颜色来自哪里 这条线代表什么 这个形状对应原图中的哪个结构 为什么这里需要留白 为什么主体被放在这个位置这可以称为视觉上的可追溯性。一套比较清晰的转换关系如下原图事实抽象表达建筑形成的垂直线短竖线或柱状结构道路的延伸方向斜向线条或渐远结构人物之间的间距离散色块之间的距离前景遮挡背景叠加或重叠关系大面积天空负空间强烈侧光明暗区域对比重复窗格规律排列的节奏重点不在于抽象图形长什么样而在于它与原图之间是否存在明确的对应关系。如果抽象面板完全可以在不看原图的情况下生成那么它更像一个独立插画而不是照片的派生表达。四、工作流先分析事实再进行创作项目的工作流要求模型在内部先读取照片提取若干决定性事实再进行构图。这些事实通常包括主体关系 尺度 轴线 方向 间隔 重叠 纵深 节奏 光线 色彩角色 负空间可以将其理解成一个中间分析层照片 ↓ 视觉事实清单 ↓ 抽象元素 ↓ 版式构图假设输入照片包含以下信息一名人物位于画面右侧 主体占画面较小比例 左侧有大面积留白 地面线条向右上方延伸 远处有两组重叠建筑 整体色彩以灰蓝和少量暖色为主抽象面板就可以提取右侧的短竖色块 较大的左侧负空间 右上方向的斜线 两组重叠结构 灰蓝为主、暖色为强调色这种流程比直接要求模型“生成一张高级编辑海报”更容易进行质量检查。五、人物和地标为什么需要特殊处理项目对人物和地标设置了额外限制。1. 人物不能被画成完整插画人物在抽象面板中可以被压缩成不规则短竖笔轻微锥形色块简化的比例和位置关系。但不应保留清晰的头部手脚细节衣服纹理面部特征可误认为新人物的完整轮廓。这样做有两个作用。第一避免抽象面板重新生成一个与原人物不同的人。第二让抽象部分表达“人物的位置和尺度”而不是重复绘制人物本身。2. 地标只保留有限识别线索建筑、桥梁或城市地标最多保留少量身份特征例如一个独特的轮廓 一组具有代表性的结构线 少量能够说明方向的几何关系不应该在面板中完整重建地标。否则抽象面板就会变成另一张低精度建筑插画失去“从照片中提取关系”的意义。六、示例图不能成为新的素材来源项目还强调示例图只用于说明输入类型。除非用户上传的就是示例图否则模型不应复用示例图中的主题色彩构图具体对象抽象元素标题内容。这是一个很重要的提示词设计原则。许多图像工作流会把参考图、示例图和用户输入混在一起最后很难判断输出究竟来自哪里。更清晰的内容来源层级应该是用户上传照片唯一内容来源 Skill 规则决定如何处理 示例图只用于理解输入和输出形式 模型能力负责执行视觉转换如果示例图开始影响主体、配色和构图那么工作流就从“内容约束”退化为“参考风格模仿”。七、它为什么更像 Skill而不是一段 Prompt从文件结构看项目只包含README.md LICENSE.md SKILL.md没有脚本也没有模型权重。这说明它不是一个独立的图像生成程序而是一组供 Agent 或图像模型调用的工作规范。Skill 与普通 Prompt 的区别可以从三个层面理解。1. Prompt 更像一次请求例如请把这张照片做成一张高级杂志风海报。它告诉模型想要什么风格但没有充分说明哪些内容必须保留哪些操作禁止抽象元素如何产生标题应该依据什么最终输出是否需要解释如何判断结果合格。2. Skill 是可重复执行的流程一个完整 Skill 通常包含输入条件 分析步骤 生成步骤 禁止事项 输出格式 质量标准它可以被不同会话重复调用结果也更容易进行比较。3. Skill 需要有不可变约束项目允许调整的内容包括版式比例色彩饱和度抽象形式标题气质。但不应被随意修改的核心约束是上传照片是唯一内容来源 抽象元素必须能够追溯到原图这两类配置需要区分配置类型示例可调参数比例、饱和度、抽象形式、标题语气核心约束不重画原图、不引入无关内容、不复用示例主题如果把核心约束也改掉得到的就不再是原本的编辑工作流。八、如何在 Codex 中使用项目说明中提到可以将整个 Skill 目录放入~/.codex/skills/之后上传自己的照片并在会话中明确调用对应 Skill。使用时建议遵循以下流程准备自己的照片 ↓ 确认照片拥有合法使用权 ↓ 安装 Skill ↓ 上传照片 ↓ 明确点名调用 Skill ↓ 检查输出是否保留原图 ↓ 核对抽象元素是否有来源不要只复制SKILL.md中的一部分文字也不要把示例图直接当作自己的输入素材。如果工作流生成了额外内容例如设计分析多个标题方案日期水印过程说明备选图应根据项目要求检查是否符合最终交付格式。该 Skill 的目标输出更偏向“直接交付成品图”而不是生成一份设计说明报告。九、如何判断生成结果是否合格可以建立一份人工检查表。原图保留检查照片主体是否仍然是原始内容 是否出现重新绘制的人脸 是否添加了原图不存在的对象 是否发生明显的风格滤镜变化 是否进行了超出允许范围的扩图抽象面板检查抽象元素能否对应原图结构 色彩关系是否来自照片 主体位置和尺度是否得到保留 是否出现与原图无关的图标或装饰 是否把照片简单描边或缩略化标题检查标题是否为英文 长度是否符合约束 是否依据可见事实 是否过度解读了人物身份或事件 是否加入了不必要的品牌和日期输出格式检查是否为竖向编辑作品 照片和抽象面板是否清晰分区 面板是否保持简洁 文字是否可读 移动端查看时是否出现裁切和重叠这套检查表的价值在于把“高级感”拆成可观察的问题。十、这类工作流的局限1. 模型仍可能违反约束即使 Skill 写明“不重画原图”模型也可能出现人物面部被自动修饰背景被补全物体边缘被重新生成色彩被过度改变抽象面板加入无关装饰标题脱离照片事实。因此约束文本不是结果保证。最终仍需要人工检查必要时还要通过图像对比确认照片区域是否被修改。2. “来源可追溯”仍然可能是主观判断抽象元素与原图之间的对应关系不一定能够完全自动验证。例如一条抽象曲线可能代表道路建筑轮廓人物动作光影边界模型自由创作。如果没有中间分析记录用户很难判断其具体来源。更严格的工作流可以保存原图 视觉事实清单 抽象元素说明 最终成品这样至少可以在视觉上进行人工审计。3. 不同模型的执行效果会不同Skill 只是规范不是模型本身。最终效果会受到以下因素影响模型的视觉理解能力是否支持图像输入是否支持版式控制是否能够遵守禁止项生成图片中的文字能力客户端对 Skill 的加载方式输出分辨率和裁切策略。因此不应该把某一次模型生成结果等同于 Skill 的稳定能力。4. 文字生成可能需要后处理图像模型生成英文标题时可能出现拼写错误字母变形字数超出要求文字位置不稳定字体和照片区域对比不足。如果最终作品对文字准确性要求较高可以采用两阶段流程模型生成照片与抽象面板 ↓ 使用排版工具添加标题这样更容易保证文字质量但需要确认后处理是否仍然符合项目工作流的输出约束。十一、许可证必须在使用前确认项目许可证面向个人学习 教育用途 研究用途 非商业使用商业使用则需要事先取得授权。这里的商业使用不能只理解为“直接卖这套 Skill”还可能包括商业客户项目付费设计服务企业内部生产流程商业 Agent付费课程或教程订阅制工作流包装后上架销售使用其 Prompt 或文档为客户交付成品。因此不建议使用以下表述免费商用海报 Skill 可直接接单的设计工作流 可以包装后上架更准确的说法是该项目适合在个人、教育和非商业研究场景中学习其约束设计商业使用需要根据许可证和作者授权另行确认。此外许可证只解决项目代码、文档或 Prompt 的使用条件不自动解决用户照片的版权、肖像权和隐私问题。使用他人照片前还应确认是否获得图片使用授权是否涉及可识别人物是否涉及未成年人是否包含私人场所或敏感信息是否允许将图片提交给第三方模型服务生成结果能否用于公开展示。十二、适合与不适合的人群适合拥有自己拍摄照片的个人创作者想研究照片与抽象设计关系的人需要制作非商业个人作品的人对内容来源和视觉可追溯性有要求的人想学习如何把设计规则写成 Agent Skill 的开发者。不适合希望一键生成网红封面的人需要重绘人物和修复背景的人想把他人照片改造成“原创插画”的人需要商业接单或客户交付的人希望自由套用示例图风格的人需要批量稳定生产广告素材的团队。它的定位不是“功能更多的图像滤镜”而是“限制更多、来源更明确的视觉编辑流程”。十三、如何把这类 Skill 设计得更可靠从工程角度看一个图像生成 Skill 如果希望具备可复用性至少应该包含以下结构输入定义 ↓ 内容来源约束 ↓ 视觉事实提取 ↓ 生成规则 ↓ 禁止事项 ↓ 输出格式 ↓ 人工验收标准其中最重要的是把“必须做什么”和“不能做什么”同时写清楚。例如必须 - 保留原始摄影区域 - 使用原图中的空间关系 - 根据可见事实生成标题 禁止 - 重画人物 - 扩展照片边界 - 复用示例图主题 - 添加无法追溯的主体 - 输出与交付无关的说明如果只写“请生成高级感作品”模型很难稳定复现。如果只写禁止事项又可能导致作品僵化。因此比较好的设计是核心约束固定 视觉参数可调 输出格式明确 质量检查可执行这也是photo-abstract-editorial值得参考的地方。结语真正的增量是约束而不是滤镜photo-abstract-editorial的核心价值不在于它使用了多少“高级感”形容词而在于它对图像生成过程提出了明确限制原图必须保留 抽象部分必须有来源 示例图不能替代用户内容 标题必须依据可见事实 商业使用需要遵守许可证这使它与普通风格化 Prompt 区分开来。它并没有承诺让任何照片都变成优秀设计也不能保证模型永远不会重画原图。它提供的是一套更加明确的编辑方法先识别照片中的事实 ↓ 再提取结构和色彩关系 ↓ 最后组织成新的版式如果你的目标是保留摄影内容同时增加一块具有抽象意味的编辑面板这套 Skill 值得研究。如果你的目标是修图、换脸、扩图、风格迁移或批量制作商业封面它可能并不适合。评价这类项目时最重要的问题不是效果看起来够不够“高级”而是生成结果是否仍然来自这张照片 抽象元素能否解释其来源 原图是否被未经授权地重画 项目许可证是否允许当前用途当这些问题都有明确答案时图像生成才不只是一次不可解释的 Prompt 调用而更接近一套可检查、可复用的创作流程。