Git Product home page Git Product logo

stable-diffusion-prompt-reader's Introduction

Stable Diffusion Prompt Reader

GitHub releases GitHub GitHub release (latest by date)

简体中文 | English

A simple standalone viewer for reading prompt from Stable Diffusion generated image outside the webui.

Features

  • Support macOS, Windows and Linux.
  • Simple drag and drop interaction.
  • Copy prompt to clipboard.
  • Remove prompt from image.
  • Export prompt to text file.
  • Edit or import prompt to images
  • Vertical orientation display and sorting by alphabet
  • Detect generation tool.
  • Multiple formats support.
  • Dark and light mode support.

Supported Formats

PNG JPEG WEBP TXT*
A1111's webUI
Easy Diffusion
InvokeAI
NovelAI
ComfyUI*
Naifu(4chan)

* Limitations apply. See format limitations.

If you are using a tool or format that is not on this list, please help me to support your format by uploading the original file generated by your tool as a zip file to the issues, thx.

Download

For macOS and Windows users

Download executable from GitHub Releases

For Linux users (not regularly tested)

I'm pretty sure linux users can figure things out without an executable.

  1. The minimum version of Python required is 3.10
  2. Make sure you have the tkinter package installed in your Python. If not, install the python3-tk package with package managers.
    e.g. sudo apt-get install python3-tk for Debian-based distributions
  3. Clone this repo.
    git clone https://github.com/receyuki/stable-diffusion-prompt-reader.git
    or download repo as a zip.
  4. CD to the directory and install dependencies.
    cd stable-diffusion-prompt-reader  
    pip install -r requirements.txt
  5. Run.
    python main.py

Usage

Read prompt

  • Open the executable file (.exe or .app) and drag and drop the image into the window.

OR

  • Right click on the image and select open with SD Prompt Reader

OR

  • Drag and drop the image directly onto executable (.exe or .app).

Export prompt to a text file

  • Click "Export" will generate a txt file alongside the image file.
  • To save to another location, click the expand arrow and click "select directory".
    export

Remove prompt from image

  • Click "Clear" will generate a new image file with suffix "_data_removed" alongside the original image file.
  • To save to another location, click the expand arrow and click "select directory".
  • To overwrite the original image file, click the expand arrow and click "overwrite the original image".
    remove

Edit image

Please note that the edited image will be written in A1111 format, it meaning that image in any format will become A1111 format after editing.

  • Click "Edit" to enter edit mode.
  • Edit the prompt directly in the textbox or import a metadata file in txt format.
  • Click "Save" will generate a edited image file with suffix "_edited" alongside the original image file.
  • To save to another location, click the expand arrow and click "select directory".
  • To overwrite the original image file, click the expand arrow and click "overwrite the original image".
    save

Format Limitations

TXT

  1. Importing txt file is only allowed in edit mode.
  2. Only A1111 format txt files are supported. You can use txt files generated by the A1111 webui or use the SD prompt reader to export txt from A1111 images

ComfyUI

Support for comfyUI requires more testing. If you believe your image is not being displayed properly, please upload the original file generated by ComfyUI as a zip file to the issues.

  1. If there are multiple sets of data (seed, steps, CFG, etc.) in the setting box, this means that there are multiple KSampler nodes in the flowchart.
  2. Due to the nature of ComfyUI, all nodes and flowcharts in the workflow are stored in the image, including those that are not being used. Also, a flowchart can have multiple branches, inputs and outputs. (e.g. output hires. fixed image and original image simultaneously in a single flowchart) SD Prompt Reader will traverse all flowcharts and branches and display the longest branch with complete input and output.

Easy Diffusion

By default, Easy Diffusion does not write metadata to images. Please change the Metadata format in settings to embed to write the metadata to images

Common Issues

Malware Alert

The false positive reported by some anti-malwares is caused by the packaging tool pyinstaller which is a common issue for pyinstaller users. I spent a lot of time trying to fix the Windows Defender false positive before, but I couldn't do it for every antivirus software. So, you can either trust Windows Defender or use the instruction for Linux users to use this app.

"SD Prompt Reader.app" is damaged and can't be opend. You should move it to the Trash

This is a very common macOS issue when you run non appstore apps, and developers must pay $99 per year to Apple to eliminate this issue. You can choose to Allow Apps from Anywhere in security & privacy settings which can be dangerous. The way I prefer is to remove the quarantine attributes.

  1. Open Terminal from the Applications folder.

  2. Type in the following command and hit Enter.

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

    In my case it's

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

If you are still concerned about the security of the app you can use the instruction for Linux users to use this app.

TODO

  • Batch image processing tool

Credits

stable-diffusion-prompt-reader's People

Contributors

receyuki avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.