diff options
Diffstat (limited to 'modules/txt2img.py')
-rw-r--r-- | modules/txt2img.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/modules/txt2img.py b/modules/txt2img.py new file mode 100644 index 00000000..d03a29f2 --- /dev/null +++ b/modules/txt2img.py @@ -0,0 +1,52 @@ +
+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)
+
|