diff --git a/CHANGELOG.md b/CHANGELOG.md index 690b06e1b..6f5d94a75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,13 @@ # Change Log for SD.Next -## Update for 2024-09-19 +## Update for 2024-09-21 - **flux** - avoid unet load if unchanged - mark specific unet as unavailable if load failed - fix diffusers local model name parsing - - full prompt parser will auto-select `xhinker` for flux models - - controlnet support for img2img and inpaint (in addition to previous txt2img controlnet) + - full prompt parser will auto-select `xhinker` for flux models + - controlnet support for img2img and inpaint (in addition to previous txt2img controlnet) - **xyz grid** full refactor - multi-mode: *selectable-script* and *alwayson-script* - allow usage combined with other scripts @@ -50,6 +50,7 @@ - **backend=original** is now marked as in maintenance-only mode - **python 3.12** improved compatibility, automatically handle `setuptools` - **control** persist/reapply units current state on server restart +- **video** add option `gradio_skip_video` to avoid gradio issues with displaying generated videos - massive log cleanup - minor ui optimizations diff --git a/modules/control/run.py b/modules/control/run.py index 170551bbb..522857a27 100644 --- a/modules/control/run.py +++ b/modules/control/run.py @@ -728,6 +728,8 @@ def control_run(units: List[unit.Unit] = [], inputs: List[Image.Image] = [], ini if video_type != 'None' and isinstance(output_images, list): p.do_not_save_grid = True # pylint: disable=attribute-defined-outside-init output_filename = images.save_video(p, filename=None, images=output_images, video_type=video_type, duration=video_duration, loop=video_loop, pad=video_pad, interpolate=video_interpolate, sync=True) + if shared.opts.gradio_skip_video: + output_filename = '' image_txt = f'| Frames {len(output_images)} | Size {output_images[0].width}x{output_images[0].height}' restore_pipeline() @@ -736,7 +738,6 @@ def control_run(units: List[unit.Unit] = [], inputs: List[Image.Image] = [], ini html_txt = f'
Ready {image_txt}
' if len(info_txt) > 0: html_txt = html_txt + infotext_to_html(info_txt[0]) - if is_generator: yield (output_images, blended_image, html_txt, output_filename) else: diff --git a/modules/shared.py b/modules/shared.py index 29aa7f31c..39898a628 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -649,6 +649,7 @@ options_templates.update(options_section(('saving-images', "Image Options"), { "save_images_before_color_correction": OptionInfo(False, "Save image before color correction"), "save_mask": OptionInfo(False, "Save inpainting mask"), "save_mask_composite": OptionInfo(False, "Save inpainting masked composite"), + "gradio_skip_video": OptionInfo(False, "Do not display video output in UI"), "image_sep_watermark": OptionInfo("