mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2024-12-03 07:00:47 +08:00
53 lines
1.9 KiB
Python
53 lines
1.9 KiB
Python
|
|
||
|
from modules.processing import StableDiffusionProcessing, Processed, StableDiffusionProcessingTxt2Img, StableDiffusionProcessingImg2Img, process_images
|
||
|
from modules.shared import opts, cmd_opts
|
||
|
import modules.shared as shared
|
||
|
import modules.processing as processing
|
||
|
from modules.ui import plaintext_to_html
|
||
|
|
||
|
|
||
|
def txt2img(prompt: str, negative_prompt: str, steps: int, sampler_index: int, use_GFPGAN: bool, prompt_matrix: bool, n_iter: int, batch_size: int, cfg_scale: float, seed: int, height: int, width: int, code: str):
|
||
|
p = StableDiffusionProcessingTxt2Img(
|
||
|
sd_model=shared.sd_model,
|
||
|
outpath_samples=opts.outdir_samples or opts.outdir_txt2img_samples,
|
||
|
outpath_grids=opts.outdir_grids or opts.outdir_txt2img_grids,
|
||
|
prompt=prompt,
|
||
|
negative_prompt=negative_prompt,
|
||
|
seed=seed,
|
||
|
sampler_index=sampler_index,
|
||
|
batch_size=batch_size,
|
||
|
n_iter=n_iter,
|
||
|
steps=steps,
|
||
|
cfg_scale=cfg_scale,
|
||
|
width=width,
|
||
|
height=height,
|
||
|
prompt_matrix=prompt_matrix,
|
||
|
use_GFPGAN=use_GFPGAN
|
||
|
)
|
||
|
|
||
|
if code != '' and cmd_opts.allow_code:
|
||
|
p.do_not_save_grid = True
|
||
|
p.do_not_save_samples = True
|
||
|
|
||
|
display_result_data = [[], -1, ""]
|
||
|
|
||
|
def display(imgs, s=display_result_data[1], i=display_result_data[2]):
|
||
|
display_result_data[0] = imgs
|
||
|
display_result_data[1] = s
|
||
|
display_result_data[2] = i
|
||
|
|
||
|
from types import ModuleType
|
||
|
compiled = compile(code, '', 'exec')
|
||
|
module = ModuleType("testmodule")
|
||
|
module.__dict__.update(globals())
|
||
|
module.p = p
|
||
|
module.display = display
|
||
|
exec(compiled, module.__dict__)
|
||
|
|
||
|
processed = Processed(p, *display_result_data)
|
||
|
else:
|
||
|
processed = process_images(p)
|
||
|
|
||
|
return processed.images, processed.js(), plaintext_to_html(processed.info)
|
||
|
|