ComfyUI 插件保姆级教程:SD Prompt Reader 节点详解
1. 插件简介
插件地址: https://github.com/receyuki/comfyui-prompt-reader-node
这个插件就像一个万能的"图片信息读取器"和"图片信息保存器"。你知道当你用 AI 画图软件生成图片时,软件会把你用的提示词、参数设置等信息偷偷藏在图片里吗?这个插件就是专门用来读取和保存这些隐藏信息的神器!
能给我们带来什么效果:
- 📖 读取图片信息:就像读书一样,能从任何 AI 生成的图片中读出当时用的提示词、种子值、步数等参数
- 💾 保存图片信息:就像给图片贴标签,确保你生成的图片包含完整的参数信息
- 🔄 格式转换:支持多种 AI 绘图软件的格式,让不同软件生成的图片都能互相识别
- 🎯 批量处理:一次性处理多张图片,省时省力
支持的软件格式: A1111 WebUI、NovelAI、InvokeAI、ComfyUI、Draw Things 等主流 AI 绘图软件
2. 如何安装
方法一:通过 ComfyUI Manager 安装(推荐)
- 打开 ComfyUI Manager(就像手机上的应用商店)
- 搜索 "SD Prompt Reader"
- 点击安装,等待完成即可
方法二:手动安装
- 打开终端(Windows 用户打开命令提示符)
- 进入 ComfyUI 的 custom_nodes 文件夹
- 运行以下命令:
git clone --recursive https://github.com/receyuki/comfyui-prompt-reader-node.git
cd comfyui-prompt-reader-node
pip install -r requirements.txt
3. 节点详细解析
本插件总共包含 10 个节点,本教程将逐一详细解析每个节点的功能和参数。
3.1 SD Prompt Reader 节点 - 图片信息读取器
这个节点就像一个"图片侦探",能从图片中读出所有隐藏的生成信息。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 图片 | image | 文件列表 | 任意图片 | 选择要读取信息的图片,就像选择要打开的书 | 输入需要解析元数据的图像文件 | 从下拉菜单选择图片,或拖拽图片到节点 |
| 参数索引 | parameter_index | 0-255 | 0 | 当图片有多套参数时选择第几套,就像选择第几页 | 用于选择多参数集合中的特定参数组 | 如果图片经过高分辨率修复,设为1读取修复参数 |
输出说明:
- IMAGE:读取的图片本身
- MASK:图片的透明度信息(如果有的话)
- POSITIVE:正面提示词(你想要的内容)
- NEGATIVE:负面提示词(你不想要的内容)
- SEED:种子值(决定随机性的数字)
- STEPS:生成步数
- CFG:提示词相关性强度
- WIDTH/HEIGHT:图片宽高
- MODEL_NAME:使用的模型名称
- FILENAME:文件名
- SETTINGS:所有设置信息的文本
3.2 SD Prompt Saver 节点 - 图片信息保存器
这个节点就像一个"信息打包机",把所有生成参数打包保存到图片里。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 图片 | images | IMAGE类型 | 必填 | 要保存的图片,就像要装进盒子的物品 | 输入需要保存的图像数据 | 连接生成图片的节点输出 |
| 文件名 | filename | 字符串 | ComfyUI_%time_%seed_%counter | 保存的文件名模板,就像给文件起名字的规则 | 文件命名模板,支持变量替换 | 可用%seed、%time等变量自动命名 |
| 路径 | path | 字符串 | %date/ | 保存路径,就像选择放在哪个文件夹 | 文件保存的目录路径 | %date/会按日期创建文件夹 |
| 模型名称 | model_name | 模型列表 | 当前模型 | 使用的AI模型,就像选择哪个画家来画画 | 指定使用的检查点模型 | 从下拉菜单选择对应模型 |
| VAE名称 | vae_name | VAE列表 | 当前VAE | 图片编码器,就像选择哪种画笔 | 指定使用的VAE模型 | 选择对应的VAE或使用默认 |
| 种子值 | seed | 0-最大整数 | 0 | 随机数种子,就像掷骰子的结果 | 控制生成随机性的数值 | 设置固定值可重现相同结果 |
| 步数 | steps | 1-10000 | 20 | 生成步数,就像画画的精细程度 | AI生成图像的迭代次数 | 一般20-50步,越多越精细但越慢 |
| CFG强度 | cfg | 0.0-100.0 | 8.0 | 提示词影响强度,就像调节音量大小 | 分类器自由引导强度 | 7-12为常用范围,越高越严格按提示词 |
| 采样器 | sampler_name | 采样器列表 | DPM++ 2M | 生成算法,就像选择不同的绘画技法 | 指定使用的采样算法 | DPM++系列较常用,效果好速度快 |
| 调度器 | scheduler | 调度器列表 | Karras | 步数安排方式,就像安排绘画的节奏 | 控制采样过程的调度策略 | Karras、exponential较常用 |
| Lora名称 | lora_name | 任意类型 | 无 | 风格插件,就像给画家换不同的画风 | LoRA模型链,用于风格调整 | 连接Lora加载器的输出 |
| 宽度 | width | 1-最大分辨率 | 1 | 图片宽度,就像画布的宽度 | 生成图像的像素宽度 | 常用512、768、1024等8的倍数 |
| 高度 | height | 1-最大分辨率 | 1 | 图片高度,就像画布的高度 | 生成图像的像素高度 | 常用512、768、1024等8的倍数 |
| 正面提示词 | positive | 多行文本 | 空 | 想要的内容描述,就像告诉画家要画什么 | 正向提示词文本 | 描述想要的画面内容和风格 |
| 负面提示词 | negative | 多行文本 | 空 | 不想要的内容,就像告诉画家不要画什么 | 负向提示词文本 | 描述要避免的内容和缺陷 |
| 文件格式 | extension | png/jpg/jpeg/webp | png | 保存格式,就像选择用什么材质的画布 | 输出图像的文件格式 | PNG支持透明度,JPG文件小 |
| 计算哈希值 | calculate_hash | 真/假 | 真 | 是否计算文件指纹,就像给文件做身份证 | 是否计算模型文件的哈希值 | 开启后可在网站自动识别模型 |
| 资源哈希值 | resource_hash | 真/假 | 真 | 是否保存资源指纹,用于网站识别 | 是否在元数据中包含资源哈希 | 配合calculate_hash使用 |
| 无损WebP | lossless_webp | 真/假 | 真 | WebP格式是否无损,就像选择画质 | WebP格式的压缩方式 | 无损质量好但文件大 |
| JPG/WebP质量 | jpg_webp_quality | 1-100 | 100 | 压缩质量,就像调节画面清晰度 | JPEG和WebP的压缩质量 | 100最高质量,80-95平衡质量和大小 |
| 日期格式 | date_format | 格式字符串 | %Y-%m-%d | 日期显示格式,就像选择日期写法 | 日期格式化字符串 | %Y年%m月%d日,如2024-03-15 |
| 时间格式 | time_format | 格式字符串 | %H%M%S | 时间显示格式,就像选择时间写法 | 时间格式化字符串 | %H时%M分%S秒,如143025 |
| 保存元数据文件 | save_metadata_file | 真/假 | 假 | 是否单独保存参数文件,就像保存说明书 | 是否生成独立的TXT元数据文件 | 开启后会生成同名txt文件 |
| 额外信息 | extra_info | 多行文本 | 空 | 自定义备注信息,就像写笔记 | 用户自定义的附加信息 | 可以写创作思路、版本号等 |
3.3 SD Parameter Generator 节点 - 参数生成控制台
这个节点就像一个"万能遥控器",可以控制所有生成参数,还能自动计算最佳分辨率。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型名称 | ckpt_name | 模型列表 | 任选 | 选择AI画家,就像选择哪个艺术家来画画 | 指定使用的检查点模型 | 从列表选择已安装的模型 |
| VAE名称 | vae_name | VAE列表 | baked VAE | 图片编码器,就像选择画笔类型 | 指定VAE模型或使用内置VAE | 一般用baked VAE即可 |
| 模型版本 | model_version | SDv1/SDv2/SDXL | SDv1 512px | 模型类型,决定最佳分辨率计算 | 用于计算最优分辨率的模型版本 | 根据实际使用的模型选择 |
| 配置文件 | config_name | 配置列表 | none | 模型配置文件,一般不需要改 | 模型的配置文件 | 通常保持none即可 |
| 种子值 | seed | -3到最大整数 | -1 | 随机种子,-1表示每次随机 | 控制生成随机性,负数有特殊含义 | -1随机,-2递增,-3递减 |
| 步数 | steps | 1-10000 | 20 | 生成步数,就像绘画的精细程度 | AI生成的迭代次数 | 20-50步较常用 |
| 精炼器开始 | refiner_start | 0.0-1.0 | 0.8 | 精炼器介入时机,就像画完80%再精修 | 精炼器开始工作的步数比例 | 0.8表示80%步数后开始精炼 |
| CFG强度 | cfg | 0.0-100.0 | 8.0 | 提示词影响强度,就像调节遵循度 | 分类器自由引导强度 | 7-12为常用范围 |
| 采样器 | sampler_name | 采样器列表 | 默认 | 生成算法,就像选择绘画技法 | 指定采样算法 | DPM++系列效果好 |
| 调度器 | scheduler | 调度器列表 | 默认 | 步数安排,就像安排绘画节奏 | 采样调度策略 | Karras较常用 |
| 正面美学分数 | positive_ascore | 0.0-1000.0 | 6.0 | SDXL专用,控制画面美观度 | SDXL模型的正向美学评分 | 仅SDXL模型有效,6.0为默认 |
| 负面美学分数 | negative_ascore | 0.0-1000.0 | 6.0 | SDXL专用,避免不美观内容 | SDXL模型的负向美学评分 | 仅SDXL模型有效,6.0为默认 |
| 宽高比 | aspect_ratio | 比例列表 | custom | 画面比例,会自动计算最佳分辨率 | 预设的宽高比选项 | 选择后自动设置最优宽高 |
| 宽度 | width | 16-最大分辨率 | 512 | 图片宽度,8的倍数效果最好 | 生成图像的像素宽度 | 建议使用8的倍数 |
| 高度 | height | 16-最大分辨率 | 512 | 图片高度,8的倍数效果最好 | 生成图像的像素高度 | 建议使用8的倍数 |
| 批次大小 | batch_size | 1-4096 | 1 | 一次生成几张图,就像一次画几幅画 | 单次生成的图像数量 | 根据显存大小调整 |
3.4 SD Prompt Merger 节点 - 提示词合并器
这个节点就像一个"文字拼接器",专门用来合并SDXL模型的两种提示词。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 全局提示词 | text_g | 多行文本 | 空 | SDXL的全局提示词,影响整体画面 | SDXL模型的全局文本输入 | 连接CLIP Text Encode的text_g输出 |
| 局部提示词 | text_l | 多行文本 | 空 | SDXL的局部提示词,影响细节 | SDXL模型的局部文本输入 | 连接CLIP Text Encode的text_l输出 |
3.5 SD Type Converter 节点 - 类型转换器
这个节点就像一个"翻译器",把特殊类型转换成普通文字。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型名称 | model_name | 模型类型 | 无 | 把模型选择转换成文字 | 将模型类型转换为字符串 | 连接其他节点的模型输出 |
| 采样器名称 | sampler_name | 采样器类型 | 无 | 把采样器选择转换成文字 | 将采样器类型转换为字符串 | 连接其他节点的采样器输出 |
| 调度器 | scheduler | 调度器类型 | 无 | 把调度器选择转换成文字 | 将调度器类型转换为字符串 | 连接其他节点的调度器输出 |
3.6 SD Any Converter 节点 - 万能转换器
这个节点就像一个"万能适配器",可以转换任何类型的数据。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 任意类型输入 | any_type_input | 任意类型 | 无 | 接收任何类型的数据并原样输出 | 通用类型转换器 | 用于连接不兼容的节点接口 |
3.7 SD Batch Loader 节点 - 批量加载器
这个节点就像一个"文件夹读取器",可以一次性加载多张图片。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 路径 | path | 字符串 | ./input/ | 图片文件夹路径,就像告诉程序去哪找图片 | 指定要加载图像的目录路径 | 可以是相对路径或绝对路径 |
| 图片加载限制 | image_load_limit | 0-无限 | 0 | 最多加载几张图,0表示全部加载 | 限制加载的图像数量 | 设为10只加载前10张图片 |
| 开始索引 | start_index | 0-无限 | 0 | 从第几张图开始加载,就像翻到第几页 | 指定开始加载的图像索引 | 设为5从第6张图开始加载 |
3.8 SD Parameter Extractor 节点 - 参数提取器
这个节点就像一个"信息挖掘机",能从设置文本中提取任何参数。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 设置信息 | settings | 多行文本 | 必填 | 包含所有参数的设置文本 | 从Prompt Reader获取的设置字符串 | 连接Prompt Reader的SETTINGS输出 |
| 参数名 | parameter | 参数列表 | 自动加载 | 要提取的具体参数名 | 从设置中提取的参数键名 | 运行后从下拉菜单选择参数 |
| 数值类型 | value_type | STRING/INT/FLOAT | STRING | 输出数据类型,就像选择数字还是文字 | 指定输出值的数据类型 | 数字参数选INT或FLOAT |
| 参数索引 | parameter_index | 0-255 | 0 | 当参数有多个值时选择第几个 | 多值参数的索引选择 | 如果参数是(1,2,3),索引1得到2 |
3.9 SD Lora Loader 节点 - Lora加载器
这个节点就像一个"风格插件安装器",用来加载Lora风格模型。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型 | model | MODEL类型 | 必填 | 基础AI模型,就像选择画家 | 输入的基础模型 | 连接模型加载器的输出 |
| CLIP | clip | CLIP类型 | 必填 | 文字理解器,就像画家的理解能力 | 输入的CLIP模型 | 连接模型加载器的CLIP输出 |
| Lora名称 | lora_name | Lora列表 | 任选 | 要加载的风格插件 | 指定要加载的LoRA文件 | 从下拉菜单选择Lora文件 |
| 模型强度 | strength_model | -20.0到20.0 | 1.0 | Lora对图片生成的影响强度 | LoRA对模型的影响权重 | 1.0为标准强度,可调节效果 |
| CLIP强度 | strength_clip | -20.0到20.0 | 1.0 | Lora对文字理解的影响强度 | LoRA对CLIP的影响权重 | 1.0为标准强度,可调节效果 |
| 上一个Lora | last_lora | 任意类型 | 无 | 用于连接多个Lora,就像串珠子 | 前一个LoRA节点的输出 | 多个Lora时连接使用 |
3.10 SD Lora Selector 节点 - Lora选择器
这个节点就像一个"风格标签器",只选择Lora不加载,用于记录信息。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Lora名称 | lora_name | Lora列表 | 任选 | 选择要记录的Lora名称 | 指定要选择的LoRA文件名 | 从下拉菜单选择Lora |
| 上一个Lora | last_lora | 任意类型 | 无 | 用于连接多个Lora选择器 | 前一个LoRA选择器的输出 | 多个Lora时连接使用 |
4. 使用技巧和建议
4.1 新手入门建议
- 从简单开始:先用 Prompt Reader 读取现有图片,熟悉各种参数的含义
- 配套使用:Prompt Reader 和 Prompt Saver 配合使用效果最佳
- 保持兼容:使用 Prompt Saver 确保生成的图片能被其他软件识别
4.2 高级使用技巧
- 批量处理:使用 Batch Loader 配合 Prompt Reader 批量读取图片信息
- 参数复用:用 Parameter Generator 作为控制面板,统一管理所有参数
- 多Lora管理:使用 Lora Loader 或 Lora Selector 链式连接管理多个风格
4.3 文件命名技巧
在 Prompt Saver 中可以使用以下变量:
%seed:种子值%time:时间%date:日期%model:模型名%counter:计数器%widthx%height:分辨率
示例:%model_%seed_%time 会生成类似 dreamshaper_12345_143025.png 的文件名
5. 常见问题解答
Q1:为什么读取不到图片信息?
A: 可能原因:
- 图片格式不支持(检查是否为支持的格式)
- 图片没有包含元数据(不是AI生成的图片)
- 工作流过于复杂(建议使用 Prompt Saver 重新保存)
Q2:保存的图片在其他软件中识别不了?
A: 确保:
- 开启了
calculate_hash选项 - 使用 PNG 格式保存(最佳兼容性)
- 正确设置了所有必要参数
Q3:批量处理时预览不更新?
A: 这是正常现象,批量处理时只显示最后一张图片的信息,但所有图片都会被正确处理。
Q4:SDXL 模型的提示词显示不正确?
A: SDXL 有两套提示词系统,使用 Prompt Merger 节点合并 text_g 和 text_l。
Q5:种子值设置为负数是什么意思?
A:
-1:每次随机生成新种子-2:在上次种子基础上加1-3:在上次种子基础上减1
6. 实用工作流示例
6.1 基础读取工作流
SD Prompt Reader → 查看图片信息
6.2 完整生成+保存工作流
SD Parameter Generator → KSampler → SD Prompt Saver
↓
VAE Decode
6.3 批量读取工作流
SD Batch Loader → SD Prompt Reader → SD Parameter Extractor
6.4 多Lora工作流
SD Lora Loader → SD Lora Loader → SD Prompt Saver
↓ ↓ ↑
(Lora1) (Lora2) (NEXT_LORA)
7. 总结
这个插件就像是 ComfyUI 的"信息管家",帮你管理所有的图片生成信息。无论是读取别人分享的图片参数,还是保存自己的创作记录,都能轻松搞定。
记住这几个要点:
- 📖 读信息用 Prompt Reader
- 💾 存信息用 Prompt Saver
- 🎛️ 控制参数用 Parameter Generator
- 📁 批量处理用 Batch Loader
- 🔧 提取特殊参数用 Parameter Extractor
现在你已经掌握了这个插件的所有功能,快去试试吧!记住,熟能生巧,多用几次就能完全掌握了。