feat(video): wire scripts and control to video_interpolate field

Set p.video_interpolate at run() entry so process_images_inner picks up
the helper. Save calls keep their existing kwargs; the sentinel guard
skips re-interpolation when the helper already ran.

- animatediff, text2video, image2video, stablevideodiffusion route
  mp4_interpolate into p.video_interpolate
- modules/control/run.py routes the request video_interpolate arg
- xyz_grid intentionally untouched: its end-of-axis save_video stitches
  the cell slideshow, not per-cell videos; a future video_interpolate
  axis would set p.video_interpolate per cell via axis_options
This commit is contained in:
CalamitousFelicitousness
2026-04-26 03:09:27 +01:00
parent 6acde69467
commit 7d77b01c3d
5 changed files with 5 additions and 0 deletions
+1
View File
@@ -54,6 +54,7 @@ class ModelScopeScript(scripts_manager.Script):
def run(self, p: processing.StableDiffusionProcessing, model_name, use_default, num_frames, video_type, duration, gif_loop, mp4_pad, mp4_interpolate): # pylint: disable=arguments-differ, unused-argument
if model_name == 'None':
return None
p.video_interpolate = mp4_interpolate
model = [m for m in MODELS if m['name'] == model_name][0]
log.debug(f'Text2Video: model={model} defaults={use_default} frames={num_frames}, video={video_type} duration={duration} loop={gif_loop} pad={mp4_pad} interpolate={mp4_interpolate}')