diff --git a/CHANGELOG.md b/CHANGELOG.md index c53e8242d..8a3f6a527 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,8 @@ - refactor legacy processing loop - fix Wan 2.2-5B I2V workflow - fix OpenVINO + - fix video model vs pipeline mismatch + - fix video generic save frames - fix inpaint image metadata - fix processing image save loop - fix progress bar with refine/detailer diff --git a/cli/api-control.py b/cli/api-control.py index 79667a2e9..925c77599 100755 --- a/cli/api-control.py +++ b/cli/api-control.py @@ -108,6 +108,7 @@ def generate(args): # pylint: disable=redefined-outer-name if args.mask is not None: options['mask'] = encode(args.mask) + data = post('/sdapi/v1/control', options) t1 = time.time() if 'info' in data: diff --git a/extensions-builtin/sdnext-modernui b/extensions-builtin/sdnext-modernui index 43ed2ea51..9052df510 160000 --- a/extensions-builtin/sdnext-modernui +++ b/extensions-builtin/sdnext-modernui @@ -1 +1 @@ -Subproject commit 43ed2ea51049a5926fe553aed3e9a717657352a6 +Subproject commit 9052df510e9704ef952f1c4ebfa1fba28dc984a3 diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 41ed7834c..d809362e3 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -451,7 +451,13 @@ def update_pipeline(sd_model, p: processing.StableDiffusionProcessing): def validate_pipeline(p: processing.StableDiffusionProcessing): - is_video_model = ('video' in shared.sd_model_type.lower()) or ('video' in shared.sd_model.__class__.__name__.lower()) + from modules.video_models.models_def import models as video_models + models_cls = [] + for family in video_models: + for m in video_models[family]: + if m.repo_cls is not None: + models_cls.append(m.repo_cls.__name__) + is_video_model = shared.sd_model.__class__.__name__ in models_cls is_video_pipeline = 'video' in p.__class__.__name__.lower() if is_video_model and not is_video_pipeline: shared.log.error(f'Mismatch: type={shared.sd_model_type} cls={shared.sd_model.__class__.__name__} request={p.__class__.__name__} video model with non-video pipeline') diff --git a/modules/video_models/video_run.py b/modules/video_models/video_run.py index 01e3fd387..8e52ca2c1 100644 --- a/modules/video_models/video_run.py +++ b/modules/video_models/video_run.py @@ -52,6 +52,7 @@ def generate(*args, **kwargs): p.state = ui_state p.do_not_save_grid = True p.do_not_save_samples = not save_frames + p.outpath_samples = shared.opts.outdir_samples or shared.opts.outdir_video if 'I2V' in model: if init_image is None: return video_utils.queue_err('init image not set')