text-generation-webui/extensions/sd_api_pictures
2023-04-07 21:36:04 -03:00
..
README.MD SD Api Pics extension, v.1.1 (#596) 2023-04-07 21:36:04 -03:00
script.py SD Api Pics extension, v.1.1 (#596) 2023-04-07 21:36:04 -03:00

Description:

TL;DR: Lets the bot answer you with a picture!

Stable Diffusion API pictures for TextGen, v.1.1.0
An extension to oobabooga's textgen-webui allowing you to receive pics generated by Automatic1111's SD-WebUI API

Interface overview

Interface

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).

The image generation is triggered either:

  • manually through the 'Force the picture response' button while in Manual or Immersive/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')

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 be possible.
To run it locally in parallel on the same machine, specify custom --listen-port for either Auto1111's or ooba's webUIs.

Features:

  • API detection (press enter in the API box)
  • VRAM management (model shuffling)
  • Three different operation modes (manual, interactive, always-on)
  • persistent settings via settings.json

The model input is modified only in the interactive mode; other two are unaffected. The output pic description is presented differently for Picture-book / Adventure mode.

Connection check (insert the Auto1111's address and press Enter):
API-check

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

Conversation 1

EXA1 EXA2 EXA3 EXA4

Conversation 2

Hist1 Hist2 Hist3