Awesome
Description:
TL;DR: Lets the bot answer you with a picture!
Stable Diffusion API pictures for TextGen, v.1.2.0
An extension to oobabooga's textgen-webui allowing you to receive pics generated by Automatic1111's SD-WebUI API
<details> <summary>Interface overview</summary> </details>History & Roadmap
Note
Consider the version included with oobabooga's repository to be STABLE,
experimental developments and untested features are to be pushed in Brawlence/SD_api_pics
Lastest changes:
1.2.0 → 1.2.1 Implementation of recently added state_modifier(state)
function to override the streaming parameter while generating picture response
1.1.1 → 1.2.0 @GuizzyQC 's fix for mode on load, addition of Hires fix
with relevant settings; UI refinements
1.1.0 → 1.1.1 Fixed omitting Auto1111's metadata in received images
1.0.0 → 1.1.0 Lots of new features and fixes; introduction of Connection check & VRAM shuffler
0.0.0 → 1.0.0 Initial reliase
Planned features & changes
Installation & Usage
Prerequisites
One needs an available instance of Automatic1111's webui running with an --api
flag. Ain't tested with a notebook / cloud hosted one but should still be possible.
To run it locally in parallel on the same machine, specify custom --listen-port
for either Auto1111's or ooba's webUIs.
Warning
Attentions WSL users! Windows and WSL exibit troubles interacting via loopback.
Use your network address (ex.10.10.10.69
) instead oflocalhost
/127.0.0.1
Installation
The stable version is already included with your TextGen-webUI.
Load it in the --chat
mode with --extension sd_api_pictures
alongside send_pictures
(it's not really required, but completes the picture, pun intended).
To test the experimental version, you can clone this repository into the extensions
subfolder inside your text-generation-webui installation and change the parameters to include --extension SD_api_pics
.
Or you can simply copy script.py
and any other *.py
over the files in extensions/sd_api_pictures
subdirectory instead. Up to you.
Details
The image generation is triggered:
- manually through the 'Force the picture response' button while in
Manual
orImmersive/Interactive
modes OR - automatically in
Immersive/Interactive
mode if the words'send|main|message|me'
are followed by'image|pic|picture|photo|snap|snapshot|selfie|meme'
in the user's prompt - always on in
Picturebook/Adventure
mode (if not currently suppressed by 'Suppress the picture response')
Features overview
- Connection to API check (press enter in the address box)
- VRAM management (model shuffling)
- Three different operation modes (manual, interactive, always-on)
- User-defined persistent settings via settings.json
Connection check
Insert the Automatic1111's WebUI address and press Enter:
Green mark confirms the ability to communicate with Auto1111's API on this address. Red cross means something's not right (the ext won't work).
Persistents settings
Create or modify the settings.json
in the text-generation-webui
root directory to override the defaults
present in script.py, ex:
{
"sd_api_pictures-manage_VRAM": 1,
"sd_api_pictures-save_img": 1,
"sd_api_pictures-prompt_prefix": "(Masterpiece:1.1), detailed, intricate, colorful, (solo:1.1)",
"sd_api_pictures-sampler_name": "DPM++ 2M Karras"
}
will automatically set the Manage VRAM
& Keep original images
checkboxes and change the texts in Prompt Prefix
and Sampler name
on load.
Demonstrations:
Those are examples of the version 1.0.0, but the core functionality is still the same
<details> <summary>Conversation 1</summary></details> <details> <summary>Conversation 2</summary>
</details>