fix(video): double preview on the upload loader

ComfyUI core (frontend 1.42.x) natively renders a node's `ui.gifs` output
as a media preview, so our own JS preview widget produced a second one.
Return the preview under a custom `universr_videos` key that core ignores;
our web extension is now the only thing that renders it — single preview.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-01 13:46:29 +02:00
parent fd5922b1cd
commit 9a901adcc5
2 changed files with 9 additions and 6 deletions
+6 -4
View File
@@ -136,8 +136,10 @@ def _load_video_audio(video_path: str, start_time: float, duration: float) -> di
temp_name = _temp_preview_symlink(video_path)
ext = (os.path.splitext(video_path)[1] or ".mp4").lstrip(".")
return {"ui": {"gifs": [{"filename": temp_name, "subfolder": "", "type": "temp",
"format": f"video/{ext}"}]},
# Custom key (not "gifs") so ComfyUI core doesn't ALSO render it — our web
# extension is the only thing that previews it, avoiding a double preview.
return {"ui": {"universr_videos": [{"filename": temp_name, "subfolder": "", "type": "temp",
"format": f"video/{ext}"}]},
"result": (info, audio)}
@@ -318,8 +320,8 @@ class UniverSRVideoCombiner:
subfolder = os.path.relpath(full_folder, out_dir)
if subfolder == ".":
subfolder = ""
ui = {"gifs": [{"filename": out_name, "subfolder": subfolder, "type": out_type,
"format": f"video/{src_ext.lstrip('.')}"}]}
ui = {"universr_videos": [{"filename": out_name, "subfolder": subfolder, "type": out_type,
"format": f"video/{src_ext.lstrip('.')}"}]}
return {"ui": ui, "result": (str(out_path),)}