aboutsummaryrefslogtreecommitdiff
path: root/modules/api/api.py
diff options
context:
space:
mode:
authorevshiron <evshiron@gmail.com>2022-10-30 17:02:47 +0800
committerevshiron <evshiron@gmail.com>2022-10-30 17:02:47 +0800
commit1a4ff2de6a835cd8cc1590bbc1a8dedb5ad37e5b (patch)
tree6ed5745ac792a5c8623d4ac22396c7363528fed4 /modules/api/api.py
parentbe27fd4690b1eb6c74da1e31c9696a0f1901fbba (diff)
fix current image in progress api when parallel processing enabled
Diffstat (limited to 'modules/api/api.py')
-rw-r--r--modules/api/api.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/modules/api/api.py b/modules/api/api.py
index 6c06d449..97497f3f 100644
--- a/modules/api/api.py
+++ b/modules/api/api.py
@@ -3,10 +3,9 @@ import uvicorn
from gradio.processing_utils import encode_pil_to_base64, decode_base64_to_file, decode_base64_to_image
from fastapi import APIRouter, Depends, HTTPException
import modules.shared as shared
-from modules import devices
from modules.api.models import *
from modules.processing import StableDiffusionProcessingTxt2Img, StableDiffusionProcessingImg2Img, process_images
-from modules.sd_samplers import all_samplers
+from modules.sd_samplers import all_samplers, sample_to_image, samples_to_image_grid
from modules.extras import run_extras, run_pnginfo
@@ -170,6 +169,16 @@ class Api:
progress = min(progress, 1)
+ # copy from check_progress_call of ui.py
+
+ if shared.parallel_processing_allowed:
+ if shared.state.sampling_step - shared.state.current_image_sampling_step >= shared.opts.show_progress_every_n_steps and shared.state.current_latent is not None:
+ if shared.opts.show_progress_grid:
+ shared.state.current_image = samples_to_image_grid(shared.state.current_latent)
+ else:
+ shared.state.current_image = sample_to_image(shared.state.current_latent)
+ shared.state.current_image_sampling_step = shared.state.sampling_step
+
current_image = None
if shared.state.current_image and not req.skip_current_image:
current_image = encode_pil_to_base64(shared.state.current_image)