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),)}
+3 -2
View File
@@ -63,8 +63,9 @@ function addVideoPreview(nodeType) {
const onExecuted = node.onExecuted;
node.onExecuted = function (output) {
onExecuted?.apply(this, arguments);
if (output?.gifs?.[0]) {
const g = output.gifs[0];
// custom key (see nodes_video.py) — core ignores it, so we render it once
const g = output?.universr_videos?.[0];
if (g) {
const params = new URLSearchParams({
filename: g.filename,
type: g.type || "temp",