Project Icon

stable-diffusion-prompt-reader

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

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

icon

Stable Diffusion 提示读取器

GitHub releases GitHub GitHub release (latest by date) PyPI Code style: black platform

简体中文 | English

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

功能支持的格式下载使用CLIComfyUI 节点常见问题致谢

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

功能

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

支持的格式

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

[!注意] 如果你使用的工具或格式不在此列表中,请通过上传由你的工具生成的原始文件到 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

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

鸣谢

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号