stable-diffusion-prompt-reader

stable-diffusion-prompt-reader

用于从 webui 之外的 Stable Diffusion 生成的图像中读取提示

一款简单独立的工具,支持在macOS、Windows和Linux平台上读取Stable Diffusion生成的图像提示符。提供图形界面和命令行界面,支持拖放操作、复制提示符、删除图像中的提示符、导出提示符到文本文件以及编辑或导入提示符。支持多种格式,并提供深色和浅色模式,同时兼容ComfyUI节点。

Stable DiffusionGUICLI多格式支持编辑图像Github开源项目
<div align="center"> <img alt="icon" src="https://yellow-cdn.veclightyear.com/35dd4d3f/88c6ace3-c37d-4c68-bae5-df189da618c0.png" width=20% height=20%> <h1>Stable Diffusion 提示读取器</h1> <a href="https://github.com/receyuki/stable-diffusion-prompt-reader/releases/latest"> <img alt="GitHub releases" src="https://yellow-cdn.veclightyear.com/35dd4d3f/1a2b7eb6-e3d3-425e-a354-393a5597aa06.png"></a> <a href="https://github.com/receyuki/stable-diffusion-prompt-reader/blob/master/LICENSE"> <img alt="GitHub" src="https://yellow-cdn.veclightyear.com/35dd4d3f/ff0b1dc3-9270-403d-b662-c607cd6f230c.png"></a> <a href="https://github.com/receyuki/stable-diffusion-prompt-reader/releases/latest"> <img alt="GitHub release (latest by date)" src="https://yellow-cdn.veclightyear.com/35dd4d3f/bc4aac25-4ec6-4cbb-965d-785652aa2153.png"></a> <a href="https://pypi.org/project/sd-prompt-reader/"> <img alt="PyPI" src="https://yellow-cdn.veclightyear.com/35dd4d3f/3b43b299-b471-4bca-8e8b-89a3cf374ee8.png"></a> <a href="https://github.com/psf/black"> <img alt="Code style: black" src="https://yellow-cdn.veclightyear.com/35dd4d3f/c50ed84d-65d8-400f-854d-469f22747bf4.svg"></a> <img alt="platform" src="https://yellow-cdn.veclightyear.com/35dd4d3f/f1039205-c7fc-454d-a8d4-53f51bdeb85c.png"> <br><br>

简体中文 | English

一个简单的独立查看器,用于在 webui 之外读取 Stable Diffusion 生成图片中的提示信息。 <br>

<p> <a href="#features">功能</a> • <a href="#supported-formats">支持的格式</a> • <a href="#download">下载</a> • <a href="#usage">使用</a> • <a href="#cli">CLI</a> • <a href="https://github.com/receyuki/comfyui-prompt-reader-node">ComfyUI 节点</a> • <a href="#faq">常见问题</a> • <a href="#credits">致谢</a> </p> <img src="https://yellow-cdn.veclightyear.com/35dd4d3f/9d651306-7a94-4f2d-bb74-2a556caf68c5.png"> </div>

[!提示] SD 提示读取器现在作为 ComfyUI 节点可用。查阅 ComfyUI 提示读取节点 了解更多信息。

功能

  • 支持 macOS、Windows 和 Linux。
  • 提供 GUI 和 CLI 两种界面
  • 简单的拖放互动。
  • 复制提示到剪贴板。
  • 从图片中移除提示。
  • 将提示导出为文本文件。
  • 编辑或导入提示到图片中
  • 竖屏显示和按字母顺序排列
  • 检测生成工具。
  • 支持多种格式。
  • 支持深色和浅色模式。

支持的格式

PNGJPEGWEBPTXT*
A1111 的 webUI
Easy Diffusion
StableSwarmUI*
StableSwarmUI (0.5.8-alpha 之前)*
Fooocus-MRE*
NovelAI (隐身 pnginfo)
NovelAI (传统)
InvokeAI
InvokeAI (2.3.5-post.2 之前)
InvokeAI (1.15 之前)
ComfyUI*
Draw Things
Naifu(4chan)

* 有限制。详见 格式限制.

[!注意] 如果你使用的工具或格式不在此列表中,请通过上传由你的工具生成的原始文件到 issues 来帮助我支持你的格式,谢谢。

[!提示] 对于 ComfyUI 用户,SD 提示读取器现已作为 ComfyUI 节点提供。 ComfyUI 提示读取节点 是此项目的一个子项目,建议将 Prompt Saver 节点 嵌入到 ComfyUI 提示读取节点 中以确保最大兼容性。

下载

对于 Windows 用户

GitHub Releases 下载可执行文件

对于 macOS 用户

GitHub Releases 下载可执行文件

通过 Homebrew Cask 安装

你也可以通过 Homebrew cask 安装 SD 提示读取器。

brew install --no-quarantine receyuki/sd-prompt-reader/sd-prompt-reader

使用 --no-quarantine 参数是因为 SD 提示读取器目前未经签名,具体说明见 此处

对于 Linux 用户(不定期测试)

我相信 Linux 用户自己能搞定。

  • Python 的最低版本要求是 3.10
  • 确保你已在 Python 中安装了 tkinter 包。
    如果没有,使用包管理器安装 python3-tk 包。
    例如 sudo apt-get install python3-tk 适用于基于 Debian 的发行版

你可以选择用 pip 安装或手动运行

用 pip 或 pipx 安装

pip install sd-prompt-reader

pipx install sd-prompt-reader

要启动 GUI 只需在终端中输入 sd-prompt-reader
对于 CLI,请使用 sd-prompt-reader-cli

手动运行源代码

  1. 克隆此仓库。
    git clone https://github.com/receyuki/stable-diffusion-prompt-reader.git
    或下载仓库为zip文件。
  2. 进入目录并安装依赖。
    cd stable-diffusion-prompt-reader pip install -r requirements.txt
  3. 运行。
    python -m sd_prompt_reader.app

使用

读取提示

  • 打开可执行文件 (.exe 或 .app) 并将图片拖放到窗口中。

  • 右键单击图片并选择使用 SD 提示读取器打开

  • 将图片直接拖放到可执行文件 (.exe 或 .app) 上。

导出提示到文本文件

  • 点击 "Export" 会在图片文件旁边生成一个 txt 文件。
  • 要保存到其他位置,点击展开箭头并点击 "select directory"。
    export

从图片中移除提示

  • 点击 "Clear" 会在原始图片文件旁边生成一个后缀为 "_data_removed" 的新图片文件。
  • 要保存到其他位置,点击展开箭头并点击 "select directory"。
  • 要覆盖原始图片文件,点击展开箭头并点击 "overwrite the original image"。
    remove

编辑图片

[!注意] 编辑后的图片将以 A1111 格式写入,这意味着任何格式的图片经过编辑后都将变成 A1111 格式。

  • 点击 "Edit" 进入编辑模式。
  • 直接在文本框中编辑提示或导入一个 txt 格式的元数据文件。
  • 点击 "Save" 会在原始图片文件旁边生成一个后缀为 "_edited" 的编辑图片文件。
  • 要保存到其他位置,点击展开箭头并点击 "select directory"。
  • 要覆盖原始图片文件,点击展开箭头并点击 "overwrite the original image"。
    save

复制为单行提示

复制图像提示和设置,以一种可被 从文件或文本框中的提示 读取的格式。 支持以下参数:

设置参数
Seed--seed
Variation seed strength--subseed_strength
Seed resize from--seed_resize_from_h
Seed resize from--seed_resize_from_w
Sampler--sampler_name
Steps--steps
CFG scale--cfg_scale
Size--width
Size--height
Face restoration--restore_faces
  • 点击展开箭头并点击 "single line prompt"。
  • 将其粘贴到 webui 脚本 "从文件或文本框中的提示" 下方的文本框中。
    single line prompt

ComfyUI SDXL 工作流

[!注意] SDXL 工作流不支持编辑。 如有必要,请在编辑前移除图片中的提示。

如果图像的工作流包含多组 SDXL 提示,即 Clip G(text_g)、Clip L(text_l) 和 Refiner,SD 提示读取器将切换到多组提示显示模式,如下图所示。 多组提示显示模式提供两种界面选项,你可以使用按钮在它们之间切换。
comfyui_sdxl.png

CLI

提供了一个用于读取、修改和清除元数据的CLI工具。

平台

对于Windows用户

SD Prompt Reader CLI.exe 将作为单独的可执行文件放置在zip包中。
例子: "SD Prompt Reader CLI.exe" -i example.png

对于macOS用户

可执行文件位于 SD Prompt Reader.app/Contents/MacOS/SD Prompt Reader
例子: /Applications/SD\ Prompt\ Reader.app/Contents/MacOS/SD\ Prompt\ Reader -i example.png

对于pip用户

例子: sd-prompt-reader-cli -i example.png

模式和选项

模式

  • 读取模式:通过 -r--read 标志激活。
  • 写入模式:通过 -w--write 标志激活。
  • 清除模式:通过 -c--clear 标志激活。

通用选项

  • -i, --input-path:输入图像文件或包含图像文件的目录路径,必需参数。
  • -o, --output-path:处理后文件将保存到的输出文件或目录路径。
  • -l, --log-level:指定日志详细级别(例如DEBUG, INFO, WARN, ERROR)。

读取选项

  • -f, --format-type:指定输出元数据格式,可选值为 "TXT" 或 "JSON"。默认格式为 "TXT"。

写入选项

  • -m, --metadata:提供一个用于写入的元数据文件。
  • -p, --positive:提供一个用于写入的积极提示字符串。
  • -n, --negative:提供一个用于写入的消极提示字符串。
  • -s, --setting:提供一个用于写入的设置字符串。

基本用法

  • 如果未指定输出路径,则修改后的图像将保存在当前目录中,文件名会添加后缀。
  • 要覆盖源文件,请将输出路径设置为输入路径。
  • 写入模式仅支持对单个图像进行修改。

读取模式

  • 从图像中读取元数据。
  • 用法:
    sd-prompt-reader-cli [-r] -i <input_path> [--format-type <format>] [-o <output_path>]
  • 例子:
    sd-prompt-reader-cli -i example.png
    sd-prompt-reader-cli -i example.png -o metadata.txt
    sd-prompt-reader-cli -r -i example.png -f TXT -o output_folder/
    sd-prompt-reader-cli -r -i input_folder/ -f JSON -o output_folder/

写入模式

  • 将元数据写入图像。
  • 用法:
    sd-prompt-reader-cli -w -i <input_path> -m <metadata_path> [-o <output_path>]
  • 例子:
    sd-prompt-reader-cli -w -i example.png -m new_metadata.txt
    sd-prompt-reader-cli -w -i example.png -m new_metadata.txt -o output.png
    sd-prompt-reader-cli -w -i example.png -m new_metadata.json -o output_folder/

清除模式

  • 删除图像中的所有元数据。
  • 用法:
    sd-prompt-reader-cli -c -i <input_path> [-o <output_path>]
  • 例子:
    sd-prompt-reader-cli -c -i example.png
    sd-prompt-reader-cli -c -i example.png -o output.png
    sd-prompt-reader-cli -c -i example.png -o output_folder/
    sd-prompt-reader-cli -c -i input_folder/ -o output_folder/

格式限制

TXT

  1. txt文件仅允许在编辑模式下导入。
  2. 仅支持A1111格式的txt文件。您可以使用A1111 webui生成的txt文件,或使用SD Prompt Reader从A1111图像中导出txt。

StableSwarmUI

[!重要] StableSwarmUI仍处于Alpha测试阶段,其格式可能会在未来发生变化。我会持续跟踪StableSwarmUI的更新。

ComfyUI

[!重要] 当使用自定义节点或工作流程过于复杂时,很可能无法正确读取元数据。这是因为ComfyUI不存储元数据,只存储完整的工作流程。SD Prompt Reader只能处理基本的工作流程。 建议在您的工作流程中嵌入Prompt Saver节点以确保最大的兼容性。

  1. 如果设置框中有多组数据(种子,步骤,CFG等),这意味着流程图中有多个KSampler节点。
  2. 由于ComfyUI的特性,工作流程中的所有节点和流程图都存储在图像中,包括那些未被使用的。此外,一个流程图可以有多个分支、输入和输出。 (例如,在单个流程图中同时输出高分辨率固定图像和原始图像) SD Prompt Reader将遍历所有流程图和分支,并显示具有完整输入和输出的最长分支。
  3. ComfyUI SDXL工作流

Easy Diffusion

默认情况下,Easy Diffusion不会在图像中写入元数据。请在设置中将_Metadata format_ 更改为_embed_以将元数据写入图像。

Fooocus-MRE

由于原版Fooocus不支持将元数据写入图像文件,SD Prompt Reader仅支持由Fooocus MoonRide Edition生成的图像。

常见问题

恶意软件警报

[!警告] 某些反恶意软件报告的误报是由打包工具_pyinstaller_引起的,这是_pyinstaller_用户的常见问题。我花了很多时间试图修复Windows Defender的误报,但无法对每个杀毒软件进行修复。所以,您可以选择信任Windows Defender或使用Linux用户的说明来使用此应用程序。

"SD Prompt Reader.app"已损坏,无法打开。你应该将它移到废纸篓中。

[!重要] 这是运行未签名的非App Store应用程序时非常常见的macOS问题,开发者必须每年支付$99给苹果以消除这个问题。您可以选择在安全性与隐私设置中允许任何来源的应用程序,这可能是危险的。我更喜欢的方法是删除隔离属性。

  1. 从应用程序文件夹中打开终端。

  2. 输入以下命令并按Enter键。

    xattr -r -d com.apple.quarantine /path/to/app.app

    以我的情况为例

    xattr -r -d com.apple.quarantine /Applications/SD\ Prompt\ Reader.app

如果您仍然担心应用程序的安全性,可以使用Linux用户的说明来使用此应用程序。

TODO

  • 批量图像处理工具
  • 画廊/文件夹视图
  • 用户偏好设置

鸣谢

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多