ComfyUI Photoshoot 节点:一次构建人物,拍摄完整系列
一组 ComfyUI 节点,通过 44 个字段一次构建人物,然后生成完整系列照片:构图、姿势、表情和宽高比各不相同,人物保持不变。
Photoshoot:一次构建一个人,然后拍摄她的 40 张照片(来源:ralksta/ComfyUI-Photoshoot)
Person Builder(人物构建器)
Person Builder 通过选择标签,在六个选项卡上的 44 个字段(身体、面部、头发、妆容、服装)中描述一个人;节点会自行编写英文描述。相关字段共享同一行(头发及其颜色、眼形和眼睛颜色、嘴唇及妆效),因为它们会合并为一个短语。设置了 19 个字段的人物会组合成一个提示词字符串:
a woman, in her late 20s, Scandinavian features, very fair skin, with natural
texture and visible pores, tall, athletic, toned physique, athletic defined
shoulders, long wavy copper red hair, high, pronounced cheekbones, a straight
nose, almond-shaped grayish green eyes, matte dusty rose lipstick, freckles,
wearing a charcoal wool coat, bare legs, wearing black combat boots人物会以名称保存,并在下次会话中恢复,因此角色可以在不同工作流和项目中重复使用。
服装选项卡上的 Person Builder:每个选项卡的计数器、成对字段以及随点击实时更新的组合句子。
Photoshoot 系列节点
Photoshoot Series 节点在六个维度上变化。每个维度都可以关闭(保持静止不变),或限制在某一类别内:仅站立姿势、仅平静情绪、仅特写镜头。
| 维度 | 变化内容 |
|---|---|
| 相机(Camera) | 7 种构图,从极特写到广角镜头 |
| 姿势(Pose) | 4 个类别中的 18 种姿态,外加位置、朝向、手臂、腿部、张力 |
| 表情(Expression) | 9 个类别中的 90 种情绪,外加眼睛、视线、嘴巴、眉毛、头部倾斜 |
| 焦点(Focus) | 12 个焦点,与构图联动 |
| 比例(Ratio) | 固定像素数下的 9 种宽高比,与构图联动 |
| 噪波(Noise) | 每张照片一个全新种子,或整个系列共用一个种子 |
两个机制让这成为一个系列,而不是 40 张随机图像。节点依次遍历组合而非随机抽取,因此第 7 次运行总是产生相同的照片,系列之后可以复现和扩展。此外,人物会随距离而缩小:广角镜头会去掉口红、眼线和眉形,只保留轮廓,否则相机无法解析的标记会把构图拉到头部。
同一系列的八次运行,未经润色:头发、雀斑、外套和靴子来自 Person Builder,不会发生漂移,而构图、姿势、表情和宽高比会变化。
节点只输出文本以及宽度、高度和种子,从不接触模型,因此该系列适用于任何提示词驱动的模型:Flux、SD 3.5、Qwen-Image 或 Krea 2。附带的示例工作流针对 Krea 2(Comfy-Org 发布的 checkpoint)进行了配置,使用两遍采样器:完整 denoise 下 8 步,1.5 倍 Latent 放大,然后在 denoise 0.44 下 4 步。在节点面板中点击 Start shooting(开始拍摄) 即可自动将整个系列加入队列。
还有一个 anchor-set(锚定集) 变体,用于构建可在其他地方使用的一致角色:它禁用噪波维度、固定一个种子、将情绪限制在单个类别,并渲染六种构图(面部特写,全身以展示服装和体型),是 LoRA 训练集或参考图像的现成基础。
安装
- ComfyUI Manager:搜索 Photoshoot 并安装。
- 手动安装:将
git clone https://github.com/ralksta/ComfyUI-Photoshoot克隆到ComfyUI/custom_nodes/,然后重新启动 ComfyUI。节点会出现在 Photoshoot 类别下。除 ComfyUI 本身外,没有其他依赖关系。
获取方式
- 代码:ralksta/ComfyUI-Photoshoot(GitHub)
- 工作流:
example_workflows/中的photoshoot-series.json和photoshoot-anchor-set.json - 文档:仓库中的节点参考和测量数据
评论
使用 GitHub 登录后即可参与讨论。