diff --git a/js/ltx_sequencer.js b/js/ltx_sequencer.js index 27b18f5..2df62a0 100644 --- a/js/ltx_sequencer.js +++ b/js/ltx_sequencer.js @@ -22,28 +22,47 @@ function toggleWidget(widget, visible) { } } -// --- NEW SYNC HELPER FUNCTION --- -// Finds all other LTXSequencer nodes globally and mirrors the value to them -function syncWidgetAcrossNodes(sourceNode, widgetName, value) { +/** + * FULL STATE SYNC: + * Instead of syncing one widget, we push the entire properties object + * to ensure no values are ever lost during subgraph transitions or deletions. + */ +function syncFullStateAcrossNodes(sourceNode) { if (!window._LTXSequencerGlobalNodes) return; for (const targetNode of window._LTXSequencerGlobalNodes) { - // Target all OTHER LTXSequencer nodes by direct object reference - if (targetNode !== sourceNode) { - - // 1. Always update the hidden properties cache so it remembers the sync - // even if the widget isn't currently visible (e.g. fewer images loaded right now) - targetNode.properties[widgetName] = value; - - // 2. If the widget is currently visible on the UI, update it visually - if (targetNode.widgets) { - const targetWidget = targetNode.widgets.find(w => w.name === widgetName); - if (targetWidget && targetWidget.value !== value) { - targetWidget.value = value; - targetNode.setDirtyCanvas(true, false); + if (targetNode === sourceNode) continue; + + // 1. Mirror the properties object completely + // We use a shallow copy to ensure we don't accidentally share object references + const newState = { ...sourceNode.properties }; + targetNode.properties = { ...targetNode.properties, ...newState }; + + // 2. Check if we need to rebuild the widget list (if num_images changed) + const targetImageCount = targetNode.properties["num_images"] || 0; + const currentVisibleCount = targetNode._currentImageCount; + + if (targetImageCount !== currentVisibleCount) { + targetNode._applyWidgetCount(targetImageCount); + } + + // 3. Update all existing widget values visually + if (targetNode.widgets) { + let modeChanged = false; + targetNode.widgets.forEach(w => { + const newValue = targetNode.properties[w.name]; + if (newValue !== undefined && w.value !== newValue) { + w.value = newValue; + if (w.name === "insert_mode") modeChanged = true; } + }); + + if (modeChanged && targetNode._updateVisibility) { + targetNode._updateVisibility(); } } + + targetNode.setDirtyCanvas(true, false); } } @@ -88,12 +107,76 @@ app.registerExtension({ node.widgets.splice(idx, 0, separator); } }; - setTimeout(moveSeparator, 50); // Small delay to ensure num_images is present + setTimeout(moveSeparator, 50); + + // Binds custom callbacks to python-schema generated widgets + node._hookStaticWidgets = function() { + if (!this.widgets) return; + const staticNames = ["num_images", "insert_mode", "frame_rate"]; + staticNames.forEach(name => { + const w = this.widgets.find(w => w.name === name); + if (w && !w._has_custom_callback) { + const orig = w.callback; + w.callback = (val) => { + this.properties[name] = val; + + if (name === "num_images") { + this._applyWidgetCount(val); + } + + // Push full state to siblings + syncFullStateAcrossNodes(this); + + if (name === "insert_mode") { + this._updateVisibility(); + } + if (orig) orig.apply(w, [val]); + }; + w._has_custom_callback = true; + } + }); + }; + + // Handles show/hiding widgets based on insertion method + node._updateVisibility = function() { + const mode = this.properties["insert_mode"] || "frames"; + if (!this.widgets) return; + + let changed = false; + for (const w of this.widgets) { + let shouldBeVisible = true; + + if (w.name.startsWith("insert_frame_")) { + shouldBeVisible = (mode === "frames"); + } else if (w.name.startsWith("insert_second_")) { + shouldBeVisible = (mode === "seconds"); + } + + const isHidden = (w.type === "hidden"); + if (shouldBeVisible && isHidden) { + toggleWidget(w, true); + changed = true; + } else if (!shouldBeVisible && !isHidden) { + toggleWidget(w, false); + changed = true; + } + } + + if (changed) { + this.setDirtyCanvas(true, true); + requestAnimationFrame(() => { + if (this.computeSize) { + this.setSize(this.computeSize()); + } + }); + } + }; // Core update: synchronize widget visibility to match imageCount node._applyWidgetCount = function(count) { + this._hookStaticWidgets(); + const isInitialLoad = this._currentImageCount === -1; - if (this._currentImageCount === count && !isInitialLoad) return; this._currentImageCount = count; @@ -104,20 +187,20 @@ app.registerExtension({ numWidget.value = Math.max(0, Math.min(count || 0, 50)); } - // 1. Store current widget values in properties BEFORE removing them - // We skip reading from `this.widgets` on the initial load because it might be scrambling. - if (!isInitialLoad && this.widgets) { + // 1. Update properties from current widget values before restructuring + if (this.widgets) { this.widgets.forEach(w => { - if (w.name.startsWith("insert_frame_") || w.name.startsWith("strength_")) { - this.properties[w.name] = w.value; + if (w.name.startsWith("insert_") || w.name.startsWith("strength_") || ["num_images", "insert_mode", "frame_rate"].includes(w.name)) { + if (w.type !== "hidden" && w.type !== "button") this.properties[w.name] = w.value; } }); } - // 2. Remove all existing dynamic insert_frame/strength/header widgets + // 2. Clear dynamic widgets if (this.widgets) { this.widgets = this.widgets.filter(w => !w.name.startsWith("insert_frame_") && + !w.name.startsWith("insert_second_") && !w.name.startsWith("strength_") && !w.name.startsWith("header_") ); @@ -125,9 +208,9 @@ app.registerExtension({ this.widgets = []; } - // 3. Add back exactly the right amount of widgets using the cached values + // 3. Rebuild precisely for (let i = 1; i <= count; i++) { - // Add header/separator widget for grouping + // Header const headerName = `header_${i}`; this.addCustomWidget({ name: headerName, @@ -137,279 +220,175 @@ app.registerExtension({ ctx.save(); const margin = 10; const topPadding = 15; - - // Subtle separator line ctx.strokeStyle = "#333"; ctx.lineWidth = 1; ctx.beginPath(); ctx.moveTo(margin, y + 5); ctx.lineTo(widget_width - margin, y + 5); ctx.stroke(); - - // Text label - ctx.fillStyle = "#dddddd"; // Light gray + ctx.fillStyle = "#dddddd"; ctx.font = "bold 12px Arial"; ctx.textAlign = "left"; ctx.fillText(`Image #${i}`, margin, y + topPadding + 10); ctx.restore(); }, - computeSize(width) { - return [width, 35]; // Vertical gap + label height - } + computeSize(width) { return [width, 35]; } }); - const insertFrameWidgetName = `insert_frame_${i}`; - const strengthWidgetName = `strength_${i}`; + // Helper to add widget with full sync + const addSyncedWidget = (type, name, def, options) => { + const saved = this.properties[name]; + return this.addWidget(type, name, saved !== undefined ? saved : def, (val) => { + this.properties[name] = val; + syncFullStateAcrossNodes(this); + }, options); + }; - // Add insert_frame widget with Sync Callback - const savedInsertFrameValue = this.properties[insertFrameWidgetName]; - this.addWidget("number", insertFrameWidgetName, - savedInsertFrameValue !== undefined ? savedInsertFrameValue : 0, - (value) => { - const rounded = Math.round(value); - this.properties[insertFrameWidgetName] = rounded; - syncWidgetAcrossNodes(this, insertFrameWidgetName, rounded); // Sync out - }, { min: -9999, max: 9999, step: 10, precision: 0 } - ); - - // Add strength widget with Sync Callback - const savedStrengthValue = this.properties[strengthWidgetName]; - this.addWidget("number", strengthWidgetName, - savedStrengthValue !== undefined ? savedStrengthValue : 1.0, - (value) => { - this.properties[strengthWidgetName] = value; - syncWidgetAcrossNodes(this, strengthWidgetName, value); // Sync out - }, { min: 0.0, max: 1.0, step: 0.01 } - ); + addSyncedWidget("number", `insert_frame_${i}`, 0, { min: -9999, max: 9999, step: 10, precision: 0 }); + addSyncedWidget("number", `insert_second_${i}`, 0.0, { min: 0.0, max: 9999.0, step: 0.1, precision: 2 }); + addSyncedWidget("number", `strength_${i}`, 1.0, { min: 0.0, max: 1.0, step: 0.01 }); } + this._updateVisibility(); this.setDirtyCanvas(true, true); requestAnimationFrame(() => { if (this.computeSize) { this.setSize(this.computeSize()); - this.size[0] = initialWidth; // keep width fixed when restructuring + this.size[0] = initialWidth; } }); }; - // --- STRICT ARRAY MAPPER: FIXES ALL SHIFTING FOREVER --- - // This runs the exact instant the node is loaded, before any UI widgets shift indices. - // It locks the perfectly mapped array values directly into our properties dictionary. const origConfigure = node.configure; node.configure = function(info) { - if (origConfigure) { - origConfigure.apply(this, arguments); - } + if (origConfigure) origConfigure.apply(this, arguments); if (this.widgets) { this.widgets.forEach(w => { - if (w.name === "num_images" || w.name.startsWith("insert_frame_") || w.name.startsWith("strength_")) { - this.properties[w.name] = w.value; + if (w.name.startsWith("insert_") || w.name.startsWith("strength_") || ["num_images", "insert_mode", "frame_rate"].includes(w.name)) { + if (w.type !== "button") this.properties[w.name] = w.value; } }); } }; - // Handle deserialization to load properties properly from JSON - const originalOnConfigure = node.onConfigure; node.onConfigure = function(info) { - if (originalOnConfigure) { - originalOnConfigure.apply(this, arguments); - } if (info.properties) { this.properties = { ...this.properties, ...info.properties }; } + this._hookStaticWidgets(); setTimeout(() => { const count = readSourceImageCount(this); - // Fallback to properties.num_images if source node disconnected let targetCount = count !== null ? count : (this.properties.num_images || 0); this._applyWidgetCount(targetCount); + this._updateVisibility(); }, 100); }; - // --- STRICT ARRAY GENERATOR --- - // Completely detach from ComfyUI's blind visual array saving. - // We construct an exact 101-element strict array that Python expects. - // This makes your node 100% immune to UI/Header index shifting. const originalOnSerialize = node.onSerialize; node.onSerialize = function(info) { - // Ensure properties are strictly synced with current widget values before building if (this.widgets) { this.widgets.forEach(w => { - if (w.name === "num_images" || w.name.startsWith("insert_frame_") || w.name.startsWith("strength_")) { - this.properties[w.name] = w.value; + if (w.name.startsWith("insert_") || w.name.startsWith("strength_") || ["num_images", "insert_mode", "frame_rate"].includes(w.name)) { + if (w.type !== "hidden" && w.type !== "button") this.properties[w.name] = w.value; } }); } - - if (originalOnSerialize) { - originalOnSerialize.apply(this, arguments); - } - + if (originalOnSerialize) originalOnSerialize.apply(this, arguments); info.properties = { ...this.properties }; - // Build the exact strict array that maps 1-to-1 to the Python backend const strictArray = []; - const numWidgetVal = this.properties["num_images"]; - strictArray.push(numWidgetVal !== undefined ? numWidgetVal : 1); + strictArray.push(this.properties["num_images"] !== undefined ? this.properties["num_images"] : 1); + strictArray.push(this.properties["insert_mode"] !== undefined ? this.properties["insert_mode"] : "frames"); + strictArray.push(this.properties["frame_rate"] !== undefined ? this.properties["frame_rate"] : 24); for (let i = 1; i <= 50; i++) { - const fVal = this.properties[`insert_frame_${i}`]; - const sVal = this.properties[`strength_${i}`]; - strictArray.push(fVal !== undefined ? fVal : 0); - strictArray.push(sVal !== undefined ? sVal : 1.0); + strictArray.push(this.properties[`insert_frame_${i}`] !== undefined ? this.properties[`insert_frame_${i}`] : 0); + strictArray.push(this.properties[`insert_second_${i}`] !== undefined ? this.properties[`insert_second_${i}`] : 0.0); + strictArray.push(this.properties[`strength_${i}`] !== undefined ? this.properties[`strength_${i}`] : 1.0); } - info.widgets_values = strictArray; }; - // Set up manual num_images widget callback - setTimeout(() => { - const numWidget = node.widgets?.find(w => w.name === "num_images"); - if (numWidget) { - numWidget.callback = (val) => { - node.properties["num_images"] = val; - node._applyWidgetCount(val); - }; - } - }, 100); - - // Exposed receiver for push-based notifications - node._syncImageCount = function(count) { - this._applyWidgetCount(count); - }; - - // Helper: read image count from a connected MultiImageLoader node function readSourceImageCount(self) { const multiInput = self.inputs?.find(inp => inp.name === "multi_input"); if (!multiInput || !multiInput.link) return null; - const nodeGraph = self.graph || app.graph; - // Helper to safely trace back through Reroutes and ComfyUI Group Nodes/Subgraphs function traceUpstream(graph, linkId, visited = new Set()) { if (!linkId || visited.has(linkId)) return null; visited.add(linkId); - const link = graph.links[linkId]; if (!link) return null; - const originNode = graph.getNodeById(link.origin_id); if (!originNode) return null; - - if (originNode.comfyClass === "MultiImageLoader") { - return originNode; - } - - // Traverse Reroute nodes + if (originNode.comfyClass === "MultiImageLoader") return originNode; if (originNode.type === "Reroute" || originNode.comfyClass === "Reroute") { - if (originNode.inputs && originNode.inputs.length > 0 && originNode.inputs[0].link) { - return traceUpstream(graph, originNode.inputs[0].link, visited); - } + if (originNode.inputs?.[0]?.link) return traceUpstream(graph, originNode.inputs[0].link, visited); } - - // Traverse standard ComfyUI Group Nodes (subgraphs) if (typeof originNode.getInnerNode === "function") { try { const innerNode = originNode.getInnerNode(link.origin_slot); - if (innerNode && innerNode.comfyClass === "MultiImageLoader") { - return innerNode; - } - } catch (e) { - console.warn("Could not trace inner node", e); - } + if (innerNode?.comfyClass === "MultiImageLoader") return innerNode; + } catch (e) {} } - return null; } let sourceNode = traceUpstream(nodeGraph, multiInput.link); - - // Helper to extract the count once we find a node function getCountFromNode(n) { if (typeof n._imageCount === "number") return n._imageCount; const pathsWidget = n.widgets?.find(w => w.name === "image_paths"); - if (pathsWidget) { - return (pathsWidget.value || "").split('\n').map(p => p.trim()).filter(p => p.length > 0).length; - } - return null; + return pathsWidget ? (pathsWidget.value || "").split('\n').filter(p => p.trim()).length : null; } - if (sourceNode) { - return getCountFromNode(sourceNode); - } + if (sourceNode) return getCountFromNode(sourceNode); - // Fallback Strategy: If it is connected to something, but we couldn't resolve it - // directly (e.g. complex nested 3rd party subgraphs), scan the entire UI. - // If there is EXACTLY ONE MultiImageLoader in the workspace, safely assume that's the one. let multiImageLoaders = []; function findAllLoaders(nodes) { if (!nodes) return; for (let n of nodes) { - if (n.comfyClass === "MultiImageLoader") { - multiImageLoaders.push(n); - } - if (n.subgraph && n.subgraph._nodes) { - findAllLoaders(n.subgraph._nodes); - } + if (n.comfyClass === "MultiImageLoader") multiImageLoaders.push(n); + if (n.subgraph?._nodes) findAllLoaders(n.subgraph._nodes); } } - if (app.graph && app.graph._nodes) { - findAllLoaders(app.graph._nodes); - } - - if (multiImageLoaders.length === 1) { - return getCountFromNode(multiImageLoaders[0]); - } - + if (app.graph?._nodes) findAllLoaders(app.graph._nodes); + if (multiImageLoaders.length === 1) return getCountFromNode(multiImageLoaders[0]); return null; } - // --- Backup polling via setInterval (4 Hz) --- const pollInterval = setInterval(() => { if (!node.graph) { clearInterval(pollInterval); return; } const count = readSourceImageCount(node); - if (count !== null) { + if (count !== null && count !== node._currentImageCount) { node._applyWidgetCount(count); + syncFullStateAcrossNodes(node); // Sync the new count to others } - }, 250); + }, 500); - // Clean up the interval when the node is deleted const origOnRemoved = node.onRemoved; node.onRemoved = function() { - // Unregister this node instance window._LTXSequencerGlobalNodes.delete(node); - clearInterval(pollInterval); if (origOnRemoved) origOnRemoved.apply(this, arguments); }; - // --- Connection change handler --- - const onConnectionsChange = node.onConnectionsChange; - node.onConnectionsChange = function(type, index, connected, link_info) { - if (onConnectionsChange) onConnectionsChange.apply(this, arguments); - - if (type === 1) { // 1 = Input - const input = this.inputs[index]; - if (input && input.name === "multi_input") { - if (connected) { - setTimeout(() => { - const count = readSourceImageCount(this); - this._applyWidgetCount(count !== null ? count : (this.properties.num_images || 0)); - }, 100); - } else { - this._applyWidgetCount(0); - } + node.onConnectionsChange = function(type, index, connected) { + if (type === 1 && this.inputs[index]?.name === "multi_input") { + if (connected) { + setTimeout(() => { + const count = readSourceImageCount(this); + this._applyWidgetCount(count !== null ? count : (this.properties.num_images || 0)); + }, 100); + } else { + this._applyWidgetCount(0); } } }; - // --- Initial sync when first placed on canvas --- - const origOnAdded = node.onAdded; node.onAdded = function() { - if (origOnAdded) origOnAdded.apply(this, arguments); setTimeout(() => { const count = readSourceImageCount(this); this._applyWidgetCount(count !== null ? count : (this.properties.num_images || 0)); diff --git a/js/multi_image_loader.js b/js/multi_image_loader.js index 9f04d9c..f8e8b7b 100644 --- a/js/multi_image_loader.js +++ b/js/multi_image_loader.js @@ -77,17 +77,28 @@ app.registerExtension({ // Permanently neutralize the DOM widget's built-in computeSize to prevent infinite LiteGraph loops galleryWidget.computeSize = () => [0, 0]; - // Find the paths widget and hide it + // --- BUG FIX --- + // Find the paths widget and properly hide it from LiteGraph const pathsWidget = node.widgets.find(w => w.name === "image_paths"); if (pathsWidget) { - pathsWidget.type = "hidden"; - if (pathsWidget.element) pathsWidget.element.style.display = "none"; + // Tell LiteGraph to ignore this widget for hit-testing and drawing + pathsWidget.hidden = true; + + // Return -4 to absorb LiteGraph's default 4px vertical margin between widgets, + // entirely eliminating its invisible "ghost" hitbox. + pathsWidget.computeSize = () => [0, -4]; + + // Hide the actual DOM element + if (pathsWidget.element) { + pathsWidget.element.style.display = "none"; + } } - const oldCallback = pathsWidget.callback; + const oldCallback = pathsWidget?.callback; // Centralized helper to prevent infinite loops when updating values internally function setWidgetValue(newPathsArray, isRearranging = false) { + if (!pathsWidget) return; const val = newPathsArray.join("\n"); // Temporarily silence the main callback @@ -145,7 +156,7 @@ app.registerExtension({ // 2D Square Packing Algorithm: Calculates the optimal grid sizes to fill empty space function optimizeGrid(nodeW, containerH) { - const paths = (pathsWidget.value || "").split(/\n|,/).map(s => s.trim()).filter(s => s); + const paths = (pathsWidget?.value || "").split(/\n|,/).map(s => s.trim()).filter(s => s); const N = paths.length; if (N === 0) { @@ -285,7 +296,7 @@ app.registerExtension({ function refreshGallery(isRearranging = false) { grid.innerHTML = ""; - const paths = (pathsWidget.value || "").split(/\n|,/).map(s => s.trim()).filter(s => s); + const paths = (pathsWidget?.value || "").split(/\n|,/).map(s => s.trim()).filter(s => s); if (!isRearranging) { syncOutputs(paths.length); @@ -377,7 +388,7 @@ app.registerExtension({ // The DOM visually reorders during dragover. Here we finalize it to data. const newPaths = Array.from(grid.children).map(n => n.dataset.path); - const currentVal = (pathsWidget.value || "").trim(); + const currentVal = (pathsWidget?.value || "").trim(); if (newPaths.join("\n") !== currentVal) { setWidgetValue(newPaths, true); } @@ -492,7 +503,7 @@ app.registerExtension({ } catch (e) { console.error("Upload error", e); } } if (uploaded.length > 0) { - const current = (pathsWidget.value || "").trim(); + const current = (pathsWidget?.value || "").trim(); const allPaths = current ? current.split('\n').concat(uploaded) : uploaded; setWidgetValue(allPaths, false); } @@ -551,10 +562,12 @@ app.registerExtension({ }; // Hooks the main callback for external state loads (e.g., undo/redo or initial graph load) - pathsWidget.callback = (v) => { - if (oldCallback) oldCallback.apply(pathsWidget, [v]); - refreshGallery(); - }; + if (pathsWidget) { + pathsWidget.callback = (v) => { + if (oldCallback) oldCallback.apply(pathsWidget, [v]); + refreshGallery(); + }; + } setTimeout(() => refreshGallery(), 100); } diff --git a/ltx_sequencer.py b/ltx_sequencer.py index 629afbc..aa49cf7 100644 --- a/ltx_sequencer.py +++ b/ltx_sequencer.py @@ -15,6 +15,10 @@ class LTXSequencer(LTXVAddGuide): ] inputs.append(io.Int.Input("num_images", default=1, min=0, max=50, step=1, display_name="images_loaded", tooltip="Select how many index/strength widgets to configure.")) + + # New global settings widgets + inputs.append(io.Combo.Input("insert_mode", options=["frames", "seconds"], default="frames", tooltip="Select the method for determining insertion points.")) + inputs.append(io.Int.Input("frame_rate", default=24, min=1, max=120, step=1, tooltip="Video FPS (used for calculating second insertions).")) for i in range(1, 51): # 1 to 50 images inputs.extend([ @@ -24,7 +28,16 @@ class LTXSequencer(LTXVAddGuide): min=-9999, max=9999, step=1, - tooltip=f"Frame insert_frame for image {i} (in pixel space).", + tooltip=f"Frame insert point for image {i} (in pixel space).", + optional=True, + ), + io.Float.Input( + f"insert_second_{i}", + default=0.0, + min=0.0, + max=9999.0, + step=0.1, + tooltip=f"Second insert point for image {i}.", optional=True, ), io.Float.Input( @@ -42,7 +55,7 @@ class LTXSequencer(LTXVAddGuide): node_id="LTXSequencer", display_name="LTX Sequencer", category="LTXVCustom", - description="Add multiple guide images at specified frame indices with strengths. Number of widgets is dynamically configured.", + description="Add multiple guide images at specified frame indices or seconds with strengths. Number of widgets is dynamically configured.", inputs=inputs, outputs=[ io.Conditioning.Output(display_name="positive"), @@ -72,6 +85,10 @@ class LTXSequencer(LTXVAddGuide): _, _, latent_length, latent_height, latent_width = latent_image.shape batch_size = multi_input.shape[0] if multi_input is not None else 0 + # Retrieve selected insertion settings + insert_mode = kwargs.get("insert_mode", "frames") + frame_rate = kwargs.get("frame_rate", 24) + # Process inputs up to num_images, extracting dynamic frame/strength values from kwargs for i in range(1, num_images + 1): # Skip if this image index exceeds the batch @@ -82,9 +99,18 @@ class LTXSequencer(LTXVAddGuide): if img is None: continue - f_idx = kwargs.get(f"insert_frame_{i}") + # Calculate the final frame index based on the chosen mode + f_idx = None + if insert_mode == "frames": + f_idx = kwargs.get(f"insert_frame_{i}") + elif insert_mode == "seconds": + sec = kwargs.get(f"insert_second_{i}") + if sec is not None: + f_idx = int(sec * frame_rate) + if f_idx is None: continue + strength = kwargs.get(f"strength_{i}", 1.0) # Execution logic mirrored from LTXVAddGuideMulti diff --git a/multi_image_loader.py b/multi_image_loader.py index c54eb4a..89798b2 100644 --- a/multi_image_loader.py +++ b/multi_image_loader.py @@ -1,9 +1,11 @@ import torch +import torch.nn.functional as F import numpy as np from PIL import Image, ImageOps import os import folder_paths import io +import comfy.utils class MultiImageLoader: @classmethod @@ -13,8 +15,9 @@ class MultiImageLoader: "image_paths": ("STRING", {"default": "", "multiline": True}), "width": ("INT", {"default": 0, "min": 0, "max": 8192, "step": 1}), "height": ("INT", {"default": 0, "min": 0, "max": 8192, "step": 1}), - "upscale_method": (["lanczos", "bilinear", "nearest-exact"],), - "divisible_by": ("INT", {"default": 32, "min": 1, "max": 512, "step": 1}), + "interpolation": (["lanczos", "nearest", "bilinear", "bicubic", "area", "nearest-exact"],), + "resize_method": (["keep proportion", "stretch", "pad", "crop"],), + "multiple_of": ("INT", {"default": 0, "min": 0, "max": 512, "step": 1}), "img_compression": ("INT", {"default": 18, "min": 0, "max": 100, "step": 1}), }, } @@ -25,13 +28,101 @@ class MultiImageLoader: FUNCTION = "load_images" CATEGORY = "image" - def load_images(self, image_paths, width, height, upscale_method, divisible_by, img_compression): + def resize_image(self, image, width, height, resize_method="keep proportion", interpolation="nearest", multiple_of=0): + MAX_RESOLUTION = 8192 + _, oh, ow, _ = image.shape + x = y = x2 = y2 = 0 + pad_left = pad_right = pad_top = pad_bottom = 0 + + if multiple_of > 1: + width = width - (width % multiple_of) + height = height - (height % multiple_of) + + if resize_method == 'keep proportion' or resize_method == 'pad': + if width == 0 and oh < height: + width = MAX_RESOLUTION + elif width == 0 and oh >= height: + width = ow + + if height == 0 and ow < width: + height = MAX_RESOLUTION + elif height == 0 and ow >= width: + height = oh + + ratio = min(width / ow, height / oh) + new_width = round(ow * ratio) + new_height = round(oh * ratio) + + if resize_method == 'pad': + pad_left = (width - new_width) // 2 + pad_right = width - new_width - pad_left + pad_top = (height - new_height) // 2 + pad_bottom = height - new_height - pad_top + + width = new_width + height = new_height + + elif resize_method == 'crop': + width = width if width > 0 else ow + height = height if height > 0 else oh + + ratio = max(width / ow, height / oh) + new_width = round(ow * ratio) + new_height = round(oh * ratio) + x = (new_width - width) // 2 + y = (new_height - height) // 2 + x2 = x + width + y2 = y + height + if x2 > new_width: + x -= (x2 - new_width) + if x < 0: + x = 0 + if y2 > new_height: + y -= (y2 - new_height) + if y < 0: + y = 0 + width = new_width + height = new_height + + else: + width = width if width > 0 else ow + height = height if height > 0 else oh + + # Always apply resize logic + outputs = image.permute(0, 3, 1, 2) + + if interpolation == "lanczos": + outputs = comfy.utils.lanczos(outputs, width, height) + else: + outputs = F.interpolate(outputs, size=(height, width), mode=interpolation) + + if resize_method == 'pad': + if pad_left > 0 or pad_right > 0 or pad_top > 0 or pad_bottom > 0: + outputs = F.pad(outputs, (pad_left, pad_right, pad_top, pad_bottom), value=0) + + outputs = outputs.permute(0, 2, 3, 1) + + if resize_method == 'crop': + if x > 0 or y > 0 or x2 > 0 or y2 > 0: + outputs = outputs[:, y:y2, x:x2, :] + + if multiple_of > 1 and (outputs.shape[2] % multiple_of != 0 or outputs.shape[1] % multiple_of != 0): + width = outputs.shape[2] + height = outputs.shape[1] + x = (width % multiple_of) // 2 + y = (height % multiple_of) // 2 + x2 = width - ((width % multiple_of) - x) + y2 = height - ((height % multiple_of) - y) + outputs = outputs[:, y:y2, x:x2, :] + + outputs = torch.clamp(outputs, 0, 1) + + return outputs + + def load_images(self, image_paths, width, height, interpolation, resize_method, multiple_of, img_compression): results = [] valid_paths = [p.strip() for p in image_paths.split("\n") if p.strip()] - # Track the dimensions of the first processed image - first_target_w, first_target_h = None, None - for path in valid_paths: try: # Resolve full path @@ -43,49 +134,42 @@ class MultiImageLoader: print(f"Warning: Image path not found: {path}") continue + # Load image image = Image.open(full_path) image = ImageOps.exif_transpose(image) image = image.convert("RGB") - orig_w, orig_h = image.size - target_w, target_h = width, height - - if target_w == 0 and target_h == 0: - target_w, target_h = orig_w, orig_h - elif target_w == 0: - target_w = int(orig_w * (target_h / orig_h)) - elif target_h == 0: - target_h = int(orig_h * (target_w / orig_w)) - - # Divisible by constraint - target_w = (target_w // divisible_by) * divisible_by - target_h = (target_h // divisible_by) * divisible_by - - # To prevent torch.cat errors, ALL images in the batch must match the dimensions - # of the first successfully loaded image. - if first_target_w is None: - first_target_w, first_target_h = target_w, target_h - else: - target_w, target_h = first_target_w, first_target_h - - if target_w != orig_w or target_h != orig_h: - resample = Image.LANCZOS if upscale_method == "lanczos" else Image.BILINEAR - image = image.resize((target_w, target_h), resample=resample) - - # Compression - if img_compression > 0: - img_byte_arr = io.BytesIO() - image.save(img_byte_arr, format="JPEG", quality=max(1, 100 - img_compression)) - image = Image.open(img_byte_arr) - + # Convert to Torch Tensor to prepare for Advanced Resize Logic image_np = np.array(image).astype(np.float32) / 255.0 - results.append(torch.from_numpy(image_np)[None,]) + image_tensor = torch.from_numpy(image_np)[None,] + + # Apply Advanced Resize + image_tensor = self.resize_image(image_tensor, width, height, resize_method, interpolation, multiple_of) + + # Compression (Applied after resize to accurately maintain the effect) + if img_compression > 0: + img_np = (image_tensor[0].numpy() * 255).clip(0, 255).astype(np.uint8) + img_pil = Image.fromarray(img_np) + img_byte_arr = io.BytesIO() + img_pil.save(img_byte_arr, format="JPEG", quality=max(1, 100 - img_compression)) + img_pil = Image.open(img_byte_arr) + image_tensor = torch.from_numpy(np.array(img_pil).astype(np.float32) / 255.0)[None,] + + results.append(image_tensor) except Exception as e: print(f"Error loading {path}: {e}") # Combine all successfully loaded images into a single batched tensor for multi_output if len(results) > 0: - multi_output = torch.cat(results, dim=0) + # Safety Check: Advanced resize methods might output differently sized tensors (e.g., 'keep proportion') + first_shape = results[0].shape + all_same_shape = all(r.shape == first_shape for r in results) + + if all_same_shape: + multi_output = torch.cat(results, dim=0) + else: + print("MultiImageLoader Warning: Images have different dimensions due to resize settings. Cannot batch into multi_output. Outputting zero tensor for the batch, but individual output nodes will still work fine.") + multi_output = torch.zeros((1, 64, 64, 3)) else: # Fallback empty tensor if no valid paths multi_output = torch.zeros((1, 64, 64, 3)) diff --git a/pyproject.toml b/pyproject.toml index 896c9df..4213f5e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "WhatDreamsCost-ComfyUI" description = "A variety of custom ComfyUI nodes and workflows for creatives." -version = "1.0.1" +version = "1.1.0" license = {file = "LICENSE"} # classifiers = [ # # For OS-independent nodes (works on all operating systems) diff --git a/workflows/LTX I2V First Last Frame 3 Stage Workflow v3.json b/workflows/LTX I2V First Last Frame 2 Stage Workflow v6.json similarity index 84% rename from workflows/LTX I2V First Last Frame 3 Stage Workflow v3.json rename to workflows/LTX I2V First Last Frame 2 Stage Workflow v6.json index 444a44b..4aa02ef 100644 --- a/workflows/LTX I2V First Last Frame 3 Stage Workflow v3.json +++ b/workflows/LTX I2V First Last Frame 2 Stage Workflow v6.json @@ -1,14 +1,14 @@ { - "id": "1143f409-9410-46d0-a303-318c1b2d0391", + "id": "a41dc75e-fc80-4307-897e-f3118e4fa21b", "revision": 0, - "last_node_id": 437, - "last_link_id": 1070, + "last_node_id": 443, + "last_link_id": 1080, "nodes": [ { "id": 4, "type": "LTXVConcatAVLatent", "pos": [ - 4190, + 4180, 6090 ], "size": [ @@ -59,7 +59,7 @@ "id": 5, "type": "SaveVideo", "pos": [ - 4950, + 4940, 5950 ], "size": [ @@ -97,83 +97,16 @@ "color": "#222", "bgcolor": "#000" }, - { - "id": 7, - "type": "2979f3eb-1c4c-45ff-8387-f1f4addb72f4", - "pos": [ - 4190, - 5950 - ], - "size": [ - 210, - 100 - ], - "flags": {}, - "order": 7, - "mode": 0, - "inputs": [ - { - "name": "image", - "type": "IMAGE", - "link": 1048 - }, - { - "label": "length_seconds", - "name": "length", - "type": "INT", - "widget": { - "name": "length" - }, - "link": 21 - }, - { - "name": "audio_vae", - "type": "VAE", - "link": 22 - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [ - 803 - ] - }, - { - "name": "Latent", - "type": "LATENT", - "links": [ - 12 - ] - } - ], - "properties": { - "proxyWidgets": [ - [ - "-1", - "length" - ] - ], - "cnr_id": "comfy-core", - "ver": "0.17.2" - }, - "widgets_values": [ - 1 - ], - "color": "#222", - "bgcolor": "#000" - }, { "id": 14, "type": "Note", "pos": [ - 4420, - 5810 + 4410, + 5780 ], "size": [ 210, - 88 + 110 ], "flags": {}, "order": 0, @@ -183,331 +116,40 @@ "title": "3 Stage Upscale Note", "properties": {}, "widgets_values": [ - "Stage 3 will default to 1.5x on the 3rd stage if false." + "Stage 3 will default to 1.5x on the 3rd stage if false.\n\nIf you want to disable Stage 3, simply bypass the 3rd stage in the subraph below." ], - "color": "#322", - "bgcolor": "#533" + "color": "#223", + "bgcolor": "#335" }, { - "id": 376, - "type": "LTXSequencer", + "id": 418, + "type": "Note", "pos": [ - 3890, - 5950 + 3080, + 5820 ], "size": [ - 270, - 152 - ], - "flags": {}, - "order": 8, - "mode": 0, - "inputs": [ - { - "name": "positive", - "type": "CONDITIONING", - "link": 796 - }, - { - "name": "negative", - "type": "CONDITIONING", - "link": 797 - }, - { - "name": "vae", - "type": "VAE", - "link": 798 - }, - { - "name": "latent", - "type": "LATENT", - "link": 803 - }, - { - "name": "multi_input", - "type": "IMAGE", - "link": 1047 - } - ], - "outputs": [ - { - "name": "positive", - "type": "CONDITIONING", - "links": [ - 799 - ] - }, - { - "name": "negative", - "type": "CONDITIONING", - "links": [ - 800 - ] - }, - { - "name": "latent", - "type": "LATENT", - "links": [ - 802 - ] - } - ], - "properties": { - "Node name for S&R": "LTXSequencer", - "num_images": 0, - "insert_frame_1": 0, - "strength_1": 1, - "insert_frame_2": 0, - "strength_2": 1, - "insert_frame_3": 0, - "strength_3": 1, - "insert_frame_4": 0, - "strength_4": 1, - "insert_frame_5": 0, - "strength_5": 1, - "insert_frame_6": 0, - "strength_6": 1, - "insert_frame_7": 0, - "strength_7": 1, - "insert_frame_8": 0, - "strength_8": 1, - "insert_frame_9": 0, - "strength_9": 1, - "insert_frame_10": 0, - "strength_10": 1, - "insert_frame_11": 0, - "strength_11": 1, - "insert_frame_12": 0, - "strength_12": 1, - "insert_frame_13": 0, - "strength_13": 1, - "insert_frame_14": 0, - "strength_14": 1, - "insert_frame_15": 0, - "strength_15": 1, - "insert_frame_16": 0, - "strength_16": 1, - "insert_frame_17": 0, - "strength_17": 1, - "insert_frame_18": 0, - "strength_18": 1, - "insert_frame_19": 0, - "strength_19": 1, - "insert_frame_20": 0, - "strength_20": 1, - "insert_frame_21": 0, - "strength_21": 1, - "insert_frame_22": 0, - "strength_22": 1, - "insert_frame_23": 0, - "strength_23": 1, - "insert_frame_24": 0, - "strength_24": 1, - "insert_frame_25": 0, - "strength_25": 1, - "insert_frame_26": 0, - "strength_26": 1, - "insert_frame_27": 0, - "strength_27": 1, - "insert_frame_28": 0, - "strength_28": 1, - "insert_frame_29": 0, - "strength_29": 1, - "insert_frame_30": 0, - "strength_30": 1, - "insert_frame_31": 0, - "strength_31": 1, - "insert_frame_32": 0, - "strength_32": 1, - "insert_frame_33": 0, - "strength_33": 1, - "insert_frame_34": 0, - "strength_34": 1, - "insert_frame_35": 0, - "strength_35": 1, - "insert_frame_36": 0, - "strength_36": 1, - "insert_frame_37": 0, - "strength_37": 1, - "insert_frame_38": 0, - "strength_38": 1, - "insert_frame_39": 0, - "strength_39": 1, - "insert_frame_40": 0, - "strength_40": 1, - "insert_frame_41": 0, - "strength_41": 1, - "insert_frame_42": 0, - "strength_42": 1, - "insert_frame_43": 0, - "strength_43": 1, - "insert_frame_44": 0, - "strength_44": 1, - "insert_frame_45": 0, - "strength_45": 1, - "insert_frame_46": 0, - "strength_46": 1, - "insert_frame_47": 0, - "strength_47": 1, - "insert_frame_48": 0, - "strength_48": 1, - "insert_frame_49": 0, - "strength_49": 1, - "insert_frame_50": 0, - "strength_50": 1 - }, - "widgets_values": [ - 0, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 1 - ], - "color": "#222", - "bgcolor": "#000" - }, - { - "id": 381, - "type": "MultiImageLoader", - "pos": [ - 3550, - 5950 - ], - "size": [ - 310, - 277 + 280, + 88 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], - "outputs": [ - { - "name": "multi_output", - "type": "IMAGE", - "links": [ - 1046, - 1047, - 1048 - ] - } - ], - "properties": { - "Node name for S&R": "MultiImageLoader" - }, + "outputs": [], + "title": "Model Loader Note", + "properties": {}, "widgets_values": [ - "", - 0, - 0, - "lanczos", - 32, - 18, - "" + "↓ Select your own models in this subgraph ↓" ], - "color": "#222", - "bgcolor": "#000" + "color": "#223", + "bgcolor": "#335" }, { "id": 16, "type": "Note", "pos": [ - 4680, + 4670, 6110 ], "size": [ @@ -519,42 +161,43 @@ "mode": 0, "inputs": [], "outputs": [], + "title": "Decode Note", "properties": {}, "widgets_values": [ "Enable optimized decoding to use tiled vae decoder." ], - "color": "#322", - "bgcolor": "#533" + "color": "#223", + "bgcolor": "#335" }, { - "id": 418, - "type": "Note", + "id": 439, + "type": "MarkdownNote", "pos": [ - 3110, - 5810 + 2680, + 6180 ], "size": [ - 220, - 88 + 370, + 320 ], "flags": {}, "order": 3, "mode": 0, "inputs": [], "outputs": [], - "title": "Model Loader Note", + "title": "FAQ", "properties": {}, "widgets_values": [ - "↓ Select your own models in here ↓" + "# FAQ\n\n**How do I set the length of the video?**\n\nYou can set the length of the video in the Model Loader Subgraph →\n\n**I keep getting errors when running this workflow!**\n\nDouble check that all of the correct models loaded. This is using the newest version of 2x upscaler (v1.1). You can change it to the older one under the Model Loader.\n\n**Where do I download these models??**\n\nThere is a good list of models and download links here: \n\nAlso the latest v1.1 spatial upscaler can be found here: \n\nThe tiny vae (taeltx2_3.safetensors) is found here:\n\n\n\n\n\n\n\n\n\n" ], - "color": "#322", - "bgcolor": "#533" + "color": "#432", + "bgcolor": "#653" }, { "id": 1, "type": "34d63160-e149-4935-ab1f-892ffe617fec", "pos": [ - 4680, + 4670, 5950 ], "size": [ @@ -616,157 +259,11 @@ "color": "#222", "bgcolor": "#000" }, - { - "id": 11, - "type": "360d64f7-96cd-42a6-9b13-6eb0387e17d9", - "pos": [ - 4420, - 5950 - ], - "size": [ - 230, - 315.671875 - ], - "flags": {}, - "order": 10, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 40 - }, - { - "name": "positive", - "type": "CONDITIONING", - "link": 799 - }, - { - "name": "negative", - "type": "CONDITIONING", - "link": 800 - }, - { - "name": "latent_image", - "type": "LATENT", - "link": 804 - }, - { - "name": "noise", - "type": "NOISE", - "link": 44 - }, - { - "label": "video_vae", - "name": "vae", - "type": "VAE", - "link": 45 - }, - { - "name": "image", - "type": "IMAGE", - "link": null - }, - { - "label": "upscale 2x on stage 3", - "name": "value", - "type": "BOOLEAN", - "widget": { - "name": "value" - }, - "link": null - }, - { - "name": "multi_input", - "type": "IMAGE", - "link": 1046 - }, - { - "label": "2x_upscale_model", - "name": "upscale_model", - "type": "LATENT_UPSCALE_MODEL", - "link": 1037 - } - ], - "outputs": [ - { - "label": "av_output", - "name": "output", - "type": "LATENT", - "links": [ - 47 - ] - } - ], - "properties": { - "proxyWidgets": [ - [ - "-1", - "value" - ] - ], - "cnr_id": "comfy-core", - "ver": "0.17.2" - }, - "widgets_values": [ - true - ], - "color": "#222", - "bgcolor": "#000" - }, - { - "id": 436, - "type": "MarkdownNote", - "pos": [ - 2680, - 6160 - ], - "size": [ - 370, - 320 - ], - "flags": {}, - "order": 4, - "mode": 0, - "inputs": [], - "outputs": [], - "title": "FAQ", - "properties": {}, - "widgets_values": [ - "# FAQ\n\n**How do I set the length of the video?**\n\nYou can set the length of the video under the Model Loader Subgraph →\n\n**I keep getting errors when running this workflow!**\n\nDouble check that all of the correct models loaded. This is using the newest version of 2x upscaler (v1.1). You can change it to the older one under the Model Loader.\n\n**When is the tutorial coming???**\n\nComing soon!\n\n" - ], - "color": "#432", - "bgcolor": "#653" - }, - { - "id": 15, - "type": "Note", - "pos": [ - 3890, - 5800 - ], - "size": [ - 210, - 88 - ], - "flags": {}, - "order": 5, - "mode": 0, - "inputs": [], - "outputs": [], - "title": "LTX Sequencer Note", - "properties": {}, - "widgets_values": [ - "Use one image at full strength for regular image to video.\n\nIf frame_insert is -1, it will be inserted at the last frame." - ], - "color": "#322", - "bgcolor": "#533" - }, { "id": 10, "type": "958b2c7a-1f75-4a30-84a8-892bddb9e426", "pos": [ - 3090, + 3080, 5950 ], "size": [ @@ -774,7 +271,7 @@ 550 ], "flags": {}, - "order": 6, + "order": 4, "mode": 0, "inputs": [ { @@ -854,7 +351,7 @@ ] }, { - "label": "2X_LATENT_UPSCALE_MODEL", + "label": "2x_spatial_upscale_model", "name": "LATENT_UPSCALE_MODEL", "type": "LATENT_UPSCALE_MODEL", "links": [ @@ -890,6 +387,721 @@ ], "color": "#222", "bgcolor": "#000" + }, + { + "id": 381, + "type": "MultiImageLoader", + "pos": [ + 3550, + 5950 + ], + "size": [ + 350, + 297 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "multi_output", + "type": "IMAGE", + "links": [ + 1046, + 1047, + 1048 + ] + } + ], + "properties": { + "cnr_id": "WhatDreamsCost-ComfyUI", + "ver": "ecd00e6b404f14b07c7b54b0b0033e8bccb32d24", + "Node name for S&R": "MultiImageLoader" + }, + "widgets_values": [ + "", + 0, + 0, + "lanczos", + "keep proportion", + 0, + 18, + "" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 7, + "type": "2979f3eb-1c4c-45ff-8387-f1f4addb72f4", + "pos": [ + 4180, + 5950 + ], + "size": [ + 210, + 100 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 1048 + }, + { + "label": "length_seconds", + "name": "length", + "type": "INT", + "widget": { + "name": "length" + }, + "link": 21 + }, + { + "name": "audio_vae", + "type": "VAE", + "link": 22 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 803 + ] + }, + { + "name": "Latent", + "type": "LATENT", + "links": [ + 12 + ] + } + ], + "properties": { + "proxyWidgets": [ + [ + "-1", + "length" + ] + ], + "cnr_id": "comfy-core", + "ver": "0.17.2" + }, + "widgets_values": [ + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 376, + "type": "LTXSequencer", + "pos": [ + 3920, + 5950 + ], + "size": [ + 240, + 200 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "link": 796 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 797 + }, + { + "name": "vae", + "type": "VAE", + "link": 798 + }, + { + "name": "latent", + "type": "LATENT", + "link": 803 + }, + { + "name": "multi_input", + "type": "IMAGE", + "link": 1047 + } + ], + "outputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 799 + ] + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 800 + ] + }, + { + "name": "latent", + "type": "LATENT", + "links": [ + 802 + ] + } + ], + "properties": { + "cnr_id": "WhatDreamsCost-ComfyUI", + "ver": "ecd00e6b404f14b07c7b54b0b0033e8bccb32d24", + "Node name for S&R": "LTXSequencer", + "num_images": 0, + "insert_frame_1": 0, + "strength_1": 1, + "insert_frame_2": 0, + "strength_2": 1, + "insert_frame_3": 0, + "strength_3": 1, + "insert_frame_4": 0, + "strength_4": 1, + "insert_frame_5": 0, + "strength_5": 1, + "insert_frame_6": 0, + "strength_6": 1, + "insert_frame_7": 0, + "strength_7": 1, + "insert_frame_8": 0, + "strength_8": 1, + "insert_frame_9": 0, + "strength_9": 0, + "insert_frame_10": 1, + "strength_10": 1, + "insert_frame_11": 0, + "strength_11": 0, + "insert_frame_12": 1, + "strength_12": 1, + "insert_frame_13": 0, + "strength_13": 0, + "insert_frame_14": 1, + "strength_14": 1, + "insert_frame_15": 0, + "strength_15": 0, + "insert_frame_16": 1, + "strength_16": 1, + "insert_frame_17": 0, + "strength_17": 0, + "insert_frame_18": 1, + "strength_18": 1, + "insert_frame_19": 0, + "strength_19": 0, + "insert_frame_20": 1, + "strength_20": 1, + "insert_frame_21": 0, + "strength_21": 0, + "insert_frame_22": 1, + "strength_22": 1, + "insert_frame_23": 0, + "strength_23": 0, + "insert_frame_24": 1, + "strength_24": 1, + "insert_frame_25": 0, + "strength_25": 0, + "insert_frame_26": 1, + "strength_26": 1, + "insert_frame_27": 0, + "strength_27": 0, + "insert_frame_28": 1, + "strength_28": 1, + "insert_frame_29": 0, + "strength_29": 0, + "insert_frame_30": 1, + "strength_30": 1, + "insert_frame_31": 0, + "strength_31": 0, + "insert_frame_32": 1, + "strength_32": 1, + "insert_frame_33": 0, + "strength_33": 1, + "insert_frame_34": 0, + "strength_34": 1, + "insert_frame_35": 0, + "strength_35": 1, + "insert_frame_36": 0, + "strength_36": 1, + "insert_frame_37": 0, + "strength_37": 1, + "insert_frame_38": 0, + "strength_38": 1, + "insert_frame_39": 0, + "strength_39": 1, + "insert_frame_40": 0, + "strength_40": 1, + "insert_frame_41": 0, + "strength_41": 1, + "insert_frame_42": 0, + "strength_42": 1, + "insert_frame_43": 0, + "strength_43": 1, + "insert_frame_44": 0, + "strength_44": 1, + "insert_frame_45": 0, + "strength_45": 1, + "insert_frame_46": 0, + "strength_46": 1, + "insert_frame_47": 0, + "strength_47": 1, + "insert_frame_48": 0, + "strength_48": 1, + "insert_frame_49": 0, + "strength_49": 1, + "insert_frame_50": 0, + "strength_50": 1, + "insert_mode": "frames", + "frame_rate": 24, + "insert_second_1": 0, + "insert_second_2": 0, + "insert_second_3": 0, + "insert_second_4": 0, + "insert_second_5": 0, + "insert_second_6": 0, + "insert_second_7": 0, + "insert_second_8": 0, + "insert_second_9": 1, + "insert_second_10": 0, + "insert_second_11": 1, + "insert_second_12": 0, + "insert_second_13": 1, + "insert_second_14": 0, + "insert_second_15": 1, + "insert_second_16": 0, + "insert_second_17": 1, + "insert_second_18": 0, + "insert_second_19": 1, + "insert_second_20": 0, + "insert_second_21": 1, + "insert_second_22": 0, + "insert_second_23": 1, + "insert_second_24": 0, + "insert_second_25": 1, + "insert_second_26": 0, + "insert_second_27": 1, + "insert_second_28": 0, + "insert_second_29": 1, + "insert_second_30": 0, + "insert_second_31": 1, + "insert_second_32": 0, + "insert_second_33": 1, + "insert_second_34": 0, + "insert_second_35": 0, + "insert_second_36": 0, + "insert_second_37": 0, + "insert_second_38": 0, + "insert_second_39": 0, + "insert_second_40": 0, + "insert_second_41": 0, + "insert_second_42": 0, + "insert_second_43": 0, + "insert_second_44": 0, + "insert_second_45": 0, + "insert_second_46": 0, + "insert_second_47": 0, + "insert_second_48": 0, + "insert_second_49": 0, + "insert_second_50": 0, + "insert_images_using": "frames", + "video_length": 1, + "insert_percentage_1": 0, + "insert_percentage_2": 1, + "insert_percentage_3": 0, + "insert_percentage_4": 0, + "insert_percentage_5": 0, + "insert_percentage_6": 0, + "insert_percentage_7": 0, + "insert_percentage_8": 0, + "insert_percentage_9": 0, + "insert_percentage_10": 0, + "insert_percentage_11": 0, + "insert_percentage_12": 0, + "insert_percentage_13": 0, + "insert_percentage_14": 0, + "insert_percentage_15": 0, + "insert_percentage_16": 0, + "insert_percentage_17": 0, + "insert_percentage_18": 0, + "insert_percentage_19": 0, + "insert_percentage_20": 0, + "insert_percentage_21": 0, + "insert_percentage_22": 0, + "insert_percentage_23": 0, + "insert_percentage_24": 0, + "insert_percentage_25": 0, + "insert_percentage_26": 0, + "insert_percentage_27": 0, + "insert_percentage_28": 0, + "insert_percentage_29": 0, + "insert_percentage_30": 0, + "insert_percentage_31": 0, + "insert_percentage_32": 0, + "insert_percentage_33": 0, + "insert_percentage_34": 0, + "insert_percentage_35": 0, + "insert_percentage_36": 0, + "insert_percentage_37": 0, + "insert_percentage_38": 0, + "insert_percentage_39": 0, + "insert_percentage_40": 0, + "insert_percentage_41": 0, + "insert_percentage_42": 0, + "insert_percentage_43": 0, + "insert_percentage_44": 0, + "insert_percentage_45": 0, + "insert_percentage_46": 0, + "insert_percentage_47": 0, + "insert_percentage_48": 0, + "insert_percentage_49": 0, + "insert_percentage_50": 0, + "insert_percent_1": 0, + "insert_percent_2": 50, + "insert_percent_3": 100, + "insert_percent_4": 0, + "insert_percent_5": 0, + "insert_percent_6": 0, + "insert_percent_7": 0, + "insert_percent_8": 0, + "insert_percent_9": 0, + "insert_percent_10": 0, + "insert_percent_11": 0, + "insert_percent_12": 0, + "insert_percent_13": 0, + "insert_percent_14": 0, + "insert_percent_15": 0, + "insert_percent_16": 0, + "insert_percent_17": 0, + "insert_percent_18": 0, + "insert_percent_19": 0, + "insert_percent_20": 0, + "insert_percent_21": 0, + "insert_percent_22": 0, + "insert_percent_23": 0, + "insert_percent_24": 0, + "insert_percent_25": 0, + "insert_percent_26": 0, + "insert_percent_27": 0, + "insert_percent_28": 0, + "insert_percent_29": 0, + "insert_percent_30": 0, + "insert_percent_31": 0, + "insert_percent_32": 0, + "insert_percent_33": 0, + "insert_percent_34": 0, + "insert_percent_35": 0, + "insert_percent_36": 0, + "insert_percent_37": 0, + "insert_percent_38": 0, + "insert_percent_39": 0, + "insert_percent_40": 0, + "insert_percent_41": 0, + "insert_percent_42": 0, + "insert_percent_43": 0, + "insert_percent_44": 0, + "insert_percent_45": 0, + "insert_percent_46": 0, + "insert_percent_47": 0, + "insert_percent_48": 0, + "insert_percent_49": 0, + "insert_percent_50": 0 + }, + "widgets_values": [ + 0, + "frames", + 24, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 15, + "type": "Note", + "pos": [ + 3920, + 5740 + ], + "size": [ + 250, + 150 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "LTX Sequencer Note", + "properties": {}, + "widgets_values": [ + "Use one image at full strength for regular image to video.\n\nIf frame_insert is -1, it will be inserted at the last frame.\n\nThe insert_mode allows to switch between inserting images by setting the exact frame or by setting the exact second." + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 11, + "type": "360d64f7-96cd-42a6-9b13-6eb0387e17d9", + "pos": [ + 4410, + 5950 + ], + "size": [ + 246.46875, + 322.233642578125 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 40 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 799 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 800 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 804 + }, + { + "name": "noise", + "type": "NOISE", + "link": 44 + }, + { + "label": "video_vae", + "name": "vae", + "type": "VAE", + "link": 45 + }, + { + "name": "image", + "type": "IMAGE", + "link": null + }, + { + "label": "Upscale 2x on Stage 3", + "name": "value", + "type": "BOOLEAN", + "widget": { + "name": "value" + }, + "link": null + }, + { + "name": "multi_input", + "type": "IMAGE", + "link": 1046 + }, + { + "label": "2x_spatial_upscale_model", + "name": "upscale_model", + "type": "LATENT_UPSCALE_MODEL", + "link": 1037 + } + ], + "outputs": [ + { + "label": "av_output", + "name": "output", + "type": "LATENT", + "links": [ + 47 + ] + } + ], + "properties": { + "proxyWidgets": [ + [ + "-1", + "value" + ] + ], + "cnr_id": "comfy-core", + "ver": "0.17.2" + }, + "widgets_values": [ + true + ], + "color": "#222", + "bgcolor": "#000" } ], "links": [ @@ -1078,8 +1290,8 @@ "version": 1, "state": { "lastGroupId": 33, - "lastNodeId": 437, - "lastLinkId": 1070, + "lastNodeId": 443, + "lastLinkId": 1080, "lastRerouteId": 0 }, "revision": 0, @@ -1172,118 +1384,6 @@ ], "widgets": [], "nodes": [ - { - "id": 330, - "type": "LTXVAudioVAEDecode", - "pos": [ - 1810, - 7290 - ], - "size": [ - 240, - 46 - ], - "flags": {}, - "order": 0, - "mode": 0, - "inputs": [ - { - "localized_name": "samples", - "name": "samples", - "type": "LATENT", - "link": 687 - }, - { - "label": "Audio VAE", - "localized_name": "audio_vae", - "name": "audio_vae", - "type": "VAE", - "link": 693 - } - ], - "outputs": [ - { - "localized_name": "Audio", - "name": "Audio", - "type": "AUDIO", - "links": [ - 697 - ] - } - ], - "properties": { - "cnr_id": "comfy-core", - "ver": "0.7.0", - "Node name for S&R": "LTXVAudioVAEDecode", - "enableTabs": false, - "tabWidth": 65, - "tabXOffset": 10, - "hasSecondTab": false, - "secondTabText": "Send Back", - "secondTabOffset": 80, - "secondTabWidth": 65 - }, - "widgets_values": [], - "color": "#222", - "bgcolor": "#000" - }, - { - "id": 334, - "type": "LTXVSeparateAVLatent", - "pos": [ - 1810, - 7190 - ], - "size": [ - 240, - 46 - ], - "flags": {}, - "order": 1, - "mode": 0, - "inputs": [ - { - "localized_name": "av_latent", - "name": "av_latent", - "type": "LATENT", - "link": 692 - } - ], - "outputs": [ - { - "localized_name": "video_latent", - "name": "video_latent", - "type": "LATENT", - "links": [ - 702, - 1059 - ] - }, - { - "localized_name": "audio_latent", - "name": "audio_latent", - "type": "LATENT", - "links": [ - 687 - ] - } - ], - "properties": { - "cnr_id": "comfy-core", - "ver": "0.5.1", - "Node name for S&R": "LTXVSeparateAVLatent", - "enableTabs": false, - "tabWidth": 65, - "tabXOffset": 10, - "hasSecondTab": false, - "secondTabText": "Send Back", - "secondTabOffset": 80, - "secondTabWidth": 65 - }, - "widgets_values": [], - "color": "#222", - "bgcolor": "#000" - }, { "id": 337, "type": "LazySwitchKJ", @@ -1446,12 +1546,124 @@ "color": "#222", "bgcolor": "#000" }, + { + "id": 334, + "type": "LTXVSeparateAVLatent", + "pos": [ + 1820, + 7190 + ], + "size": [ + 240, + 46 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "localized_name": "av_latent", + "name": "av_latent", + "type": "LATENT", + "link": 692 + } + ], + "outputs": [ + { + "localized_name": "video_latent", + "name": "video_latent", + "type": "LATENT", + "links": [ + 702, + 1059 + ] + }, + { + "localized_name": "audio_latent", + "name": "audio_latent", + "type": "LATENT", + "links": [ + 687 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.5.1", + "Node name for S&R": "LTXVSeparateAVLatent", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 330, + "type": "LTXVAudioVAEDecode", + "pos": [ + 1820, + 7280 + ], + "size": [ + 240, + 46 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [ + { + "localized_name": "samples", + "name": "samples", + "type": "LATENT", + "link": 687 + }, + { + "label": "Audio VAE", + "localized_name": "audio_vae", + "name": "audio_vae", + "type": "VAE", + "link": 693 + } + ], + "outputs": [ + { + "localized_name": "Audio", + "name": "Audio", + "type": "AUDIO", + "links": [ + 697 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.7.0", + "Node name for S&R": "LTXVAudioVAEDecode", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, { "id": 340, "type": "VAEDecode", "pos": [ - 2230, - 7230 + 2110, + 7190 ], "size": [ 150, @@ -1498,7 +1710,7 @@ "type": "VAEDecodeTiled", "pos": [ 2110, - 7350 + 7320 ], "size": [ 270, @@ -1670,8 +1882,8 @@ "version": 1, "state": { "lastGroupId": 33, - "lastNodeId": 437, - "lastLinkId": 1070, + "lastNodeId": 443, + "lastLinkId": 1080, "lastRerouteId": 0 }, "revision": 0, @@ -2179,8 +2391,8 @@ "version": 1, "state": { "lastGroupId": 33, - "lastNodeId": 437, - "lastLinkId": 1070, + "lastNodeId": 443, + "lastLinkId": 1080, "lastRerouteId": 0 }, "revision": 0, @@ -2191,7 +2403,7 @@ "bounding": [ 280, 7113, - 124.45245361328125, + 125.224609375, 240 ] }, @@ -2214,7 +2426,7 @@ 686 ], "pos": [ - 384.45245361328125, + 385.224609375, 7133 ] }, @@ -2226,7 +2438,7 @@ 703 ], "pos": [ - 384.45245361328125, + 385.224609375, 7153 ] }, @@ -2238,7 +2450,7 @@ 704 ], "pos": [ - 384.45245361328125, + 385.224609375, 7173 ] }, @@ -2250,7 +2462,7 @@ 688 ], "pos": [ - 384.45245361328125, + 385.224609375, 7193 ] }, @@ -2264,7 +2476,7 @@ ], "label": "video_vae", "pos": [ - 384.45245361328125, + 385.224609375, 7213 ] }, @@ -2274,7 +2486,7 @@ "type": "IMAGE", "linkIds": [], "pos": [ - 384.45245361328125, + 385.224609375, 7233 ] }, @@ -2287,7 +2499,7 @@ ], "label": "video_latent", "pos": [ - 384.45245361328125, + 385.224609375, 7253 ] }, @@ -2299,7 +2511,7 @@ 700 ], "pos": [ - 384.45245361328125, + 385.224609375, 7273 ] }, @@ -2311,7 +2523,7 @@ 1004 ], "pos": [ - 384.45245361328125, + 385.224609375, 7293 ] }, @@ -2323,7 +2535,7 @@ 1035 ], "pos": [ - 384.45245361328125, + 385.224609375, 7313 ] } @@ -2610,8 +2822,8 @@ 7140 ], "size": [ - 270, - 152 + 210, + 200 ], "flags": {}, "order": 8, @@ -2677,6 +2889,8 @@ } ], "properties": { + "cnr_id": "WhatDreamsCost-ComfyUI", + "ver": "ecd00e6b404f14b07c7b54b0b0033e8bccb32d24", "Node name for S&R": "LTXSequencer", "num_images": 0, "insert_frame_1": 0, @@ -2687,7 +2901,7 @@ "strength_3": 1, "insert_frame_4": 0, "strength_4": 1, - "insert_frame_5": 200, + "insert_frame_5": 0, "strength_5": 1, "insert_frame_6": 0, "strength_6": 1, @@ -2696,52 +2910,52 @@ "insert_frame_8": 0, "strength_8": 1, "insert_frame_9": 0, - "strength_9": 1, - "insert_frame_10": 0, + "strength_9": 0, + "insert_frame_10": 1, "strength_10": 1, "insert_frame_11": 0, - "strength_11": 1, - "insert_frame_12": 0, + "strength_11": 0, + "insert_frame_12": 1, "strength_12": 1, "insert_frame_13": 0, - "strength_13": 1, - "insert_frame_14": 0, + "strength_13": 0, + "insert_frame_14": 1, "strength_14": 1, "insert_frame_15": 0, - "strength_15": 1, - "insert_frame_16": 0, + "strength_15": 0, + "insert_frame_16": 1, "strength_16": 1, "insert_frame_17": 0, - "strength_17": 1, - "insert_frame_18": 0, + "strength_17": 0, + "insert_frame_18": 1, "strength_18": 1, "insert_frame_19": 0, - "strength_19": 1, - "insert_frame_20": 0, + "strength_19": 0, + "insert_frame_20": 1, "strength_20": 1, "insert_frame_21": 0, - "strength_21": 1, - "insert_frame_22": 0, + "strength_21": 0, + "insert_frame_22": 1, "strength_22": 1, "insert_frame_23": 0, - "strength_23": 1, - "insert_frame_24": 0, + "strength_23": 0, + "insert_frame_24": 1, "strength_24": 1, "insert_frame_25": 0, - "strength_25": 1, - "insert_frame_26": 0, + "strength_25": 0, + "insert_frame_26": 1, "strength_26": 1, "insert_frame_27": 0, - "strength_27": 1, - "insert_frame_28": 0, + "strength_27": 0, + "insert_frame_28": 1, "strength_28": 1, "insert_frame_29": 0, - "strength_29": 1, - "insert_frame_30": 0, + "strength_29": 0, + "insert_frame_30": 1, "strength_30": 1, "insert_frame_31": 0, - "strength_31": 1, - "insert_frame_32": 0, + "strength_31": 0, + "insert_frame_32": 1, "strength_32": 1, "insert_frame_33": 0, "strength_33": 1, @@ -2778,21 +2992,189 @@ "insert_frame_49": 0, "strength_49": 1, "insert_frame_50": 0, - "strength_50": 1 + "strength_50": 1, + "insert_mode": "frames", + "frame_rate": 24, + "insert_second_1": 0, + "insert_second_2": 0, + "insert_second_3": 0, + "insert_second_4": 0, + "insert_second_5": 0, + "insert_second_6": 0, + "insert_second_7": 0, + "insert_second_8": 0, + "insert_second_9": 1, + "insert_second_10": 0, + "insert_second_11": 1, + "insert_second_12": 0, + "insert_second_13": 1, + "insert_second_14": 0, + "insert_second_15": 1, + "insert_second_16": 0, + "insert_second_17": 1, + "insert_second_18": 0, + "insert_second_19": 1, + "insert_second_20": 0, + "insert_second_21": 1, + "insert_second_22": 0, + "insert_second_23": 1, + "insert_second_24": 0, + "insert_second_25": 1, + "insert_second_26": 0, + "insert_second_27": 1, + "insert_second_28": 0, + "insert_second_29": 1, + "insert_second_30": 0, + "insert_second_31": 1, + "insert_second_32": 0, + "insert_second_33": 1, + "insert_second_34": 0, + "insert_second_35": 0, + "insert_second_36": 0, + "insert_second_37": 0, + "insert_second_38": 0, + "insert_second_39": 0, + "insert_second_40": 0, + "insert_second_41": 0, + "insert_second_42": 0, + "insert_second_43": 0, + "insert_second_44": 0, + "insert_second_45": 0, + "insert_second_46": 0, + "insert_second_47": 0, + "insert_second_48": 0, + "insert_second_49": 0, + "insert_second_50": 0, + "insert_images_using": "frames", + "video_length": 1, + "insert_percentage_1": 0, + "insert_percentage_2": 1, + "insert_percentage_3": 0, + "insert_percentage_4": 0, + "insert_percentage_5": 0, + "insert_percentage_6": 0, + "insert_percentage_7": 0, + "insert_percentage_8": 0, + "insert_percentage_9": 0, + "insert_percentage_10": 0, + "insert_percentage_11": 0, + "insert_percentage_12": 0, + "insert_percentage_13": 0, + "insert_percentage_14": 0, + "insert_percentage_15": 0, + "insert_percentage_16": 0, + "insert_percentage_17": 0, + "insert_percentage_18": 0, + "insert_percentage_19": 0, + "insert_percentage_20": 0, + "insert_percentage_21": 0, + "insert_percentage_22": 0, + "insert_percentage_23": 0, + "insert_percentage_24": 0, + "insert_percentage_25": 0, + "insert_percentage_26": 0, + "insert_percentage_27": 0, + "insert_percentage_28": 0, + "insert_percentage_29": 0, + "insert_percentage_30": 0, + "insert_percentage_31": 0, + "insert_percentage_32": 0, + "insert_percentage_33": 0, + "insert_percentage_34": 0, + "insert_percentage_35": 0, + "insert_percentage_36": 0, + "insert_percentage_37": 0, + "insert_percentage_38": 0, + "insert_percentage_39": 0, + "insert_percentage_40": 0, + "insert_percentage_41": 0, + "insert_percentage_42": 0, + "insert_percentage_43": 0, + "insert_percentage_44": 0, + "insert_percentage_45": 0, + "insert_percentage_46": 0, + "insert_percentage_47": 0, + "insert_percentage_48": 0, + "insert_percentage_49": 0, + "insert_percentage_50": 0, + "insert_percent_1": 0, + "insert_percent_2": 50, + "insert_percent_3": 100, + "insert_percent_4": 0, + "insert_percent_5": 0, + "insert_percent_6": 0, + "insert_percent_7": 0, + "insert_percent_8": 0, + "insert_percent_9": 0, + "insert_percent_10": 0, + "insert_percent_11": 0, + "insert_percent_12": 0, + "insert_percent_13": 0, + "insert_percent_14": 0, + "insert_percent_15": 0, + "insert_percent_16": 0, + "insert_percent_17": 0, + "insert_percent_18": 0, + "insert_percent_19": 0, + "insert_percent_20": 0, + "insert_percent_21": 0, + "insert_percent_22": 0, + "insert_percent_23": 0, + "insert_percent_24": 0, + "insert_percent_25": 0, + "insert_percent_26": 0, + "insert_percent_27": 0, + "insert_percent_28": 0, + "insert_percent_29": 0, + "insert_percent_30": 0, + "insert_percent_31": 0, + "insert_percent_32": 0, + "insert_percent_33": 0, + "insert_percent_34": 0, + "insert_percent_35": 0, + "insert_percent_36": 0, + "insert_percent_37": 0, + "insert_percent_38": 0, + "insert_percent_39": 0, + "insert_percent_40": 0, + "insert_percent_41": 0, + "insert_percent_42": 0, + "insert_percent_43": 0, + "insert_percent_44": 0, + "insert_percent_45": 0, + "insert_percent_46": 0, + "insert_percent_47": 0, + "insert_percent_48": 0, + "insert_percent_49": 0, + "insert_percent_50": 0 }, "widgets_values": [ + 0, + "frames", + 24, 0, 0, 1, 0, - 1, 0, 1, 0, + 0, 1, - 200, + 0, + 0, 1, 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, 1, 0, 1, @@ -2868,19 +3250,57 @@ 1, 0, 1, + 1, + 0, 0, 1, 0, - 1, 0, 1, 0, - 1, 0, 1, 0, + 0, 1, 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, 1 ], "color": "#222", @@ -3080,7 +3500,7 @@ "type": "LTXVLatentUpsampler", "pos": [ 480, - 7470 + 7370 ], "size": [ 320, @@ -3364,8 +3784,8 @@ "version": 1, "state": { "lastGroupId": 33, - "lastNodeId": 437, - "lastLinkId": 1070, + "lastNodeId": 443, + "lastLinkId": 1080, "lastRerouteId": 0 }, "revision": 0, @@ -3798,8 +4218,8 @@ "version": 1, "state": { "lastGroupId": 33, - "lastNodeId": 437, - "lastLinkId": 1070, + "lastNodeId": 443, + "lastLinkId": 1080, "lastRerouteId": 0 }, "revision": 0, @@ -3810,7 +4230,7 @@ "bounding": [ -370, 7030, - 143.67706298828125, + 144.56640625, 260 ] }, @@ -3833,7 +4253,7 @@ 686 ], "pos": [ - -246.32293701171875, + -245.43359375, 7050 ] }, @@ -3845,7 +4265,7 @@ 919 ], "pos": [ - -246.32293701171875, + -245.43359375, 7070 ] }, @@ -3857,7 +4277,7 @@ 920 ], "pos": [ - -246.32293701171875, + -245.43359375, 7090 ] }, @@ -3869,7 +4289,7 @@ 688 ], "pos": [ - -246.32293701171875, + -245.43359375, 7110 ] }, @@ -3884,7 +4304,7 @@ ], "label": "video_vae", "pos": [ - -246.32293701171875, + -245.43359375, 7130 ] }, @@ -3894,7 +4314,7 @@ "type": "IMAGE", "linkIds": [], "pos": [ - -246.32293701171875, + -245.43359375, 7150 ] }, @@ -3907,7 +4327,7 @@ ], "label": "video_latent", "pos": [ - -246.32293701171875, + -245.43359375, 7170 ] }, @@ -3919,7 +4339,7 @@ 700 ], "pos": [ - -246.32293701171875, + -245.43359375, 7190 ] }, @@ -3932,7 +4352,7 @@ ], "label": "use 2x on stage 3", "pos": [ - -246.32293701171875, + -245.43359375, 7210 ] }, @@ -3944,7 +4364,7 @@ 1005 ], "pos": [ - -246.32293701171875, + -245.43359375, 7230 ] }, @@ -3957,7 +4377,7 @@ ], "label": "2x_upscale_model", "pos": [ - -246.32293701171875, + -245.43359375, 7250 ] } @@ -4267,53 +4687,6 @@ "color": "#222", "bgcolor": "#000" }, - { - "id": 339, - "type": "PrimitiveBoolean", - "pos": [ - 180, - 7520 - ], - "size": [ - 290, - 60 - ], - "flags": {}, - "order": 10, - "mode": 0, - "inputs": [ - { - "localized_name": "value", - "name": "value", - "type": "BOOLEAN", - "widget": { - "name": "value" - }, - "link": 719 - } - ], - "outputs": [ - { - "localized_name": "BOOLEAN", - "name": "BOOLEAN", - "type": "BOOLEAN", - "links": [ - 718 - ] - } - ], - "title": "3rd Stage: False = 1.5x, True = 2x", - "properties": { - "cnr_id": "comfy-core", - "ver": "0.17.2", - "Node name for S&R": "PrimitiveBoolean" - }, - "widgets_values": [ - true - ], - "color": "#222", - "bgcolor": "#000" - }, { "id": 411, "type": "LTXSequencer", @@ -4322,8 +4695,8 @@ 7110 ], "size": [ - 270, - 152 + 210, + 200 ], "flags": {}, "order": 11, @@ -4387,6 +4760,8 @@ } ], "properties": { + "cnr_id": "WhatDreamsCost-ComfyUI", + "ver": "ecd00e6b404f14b07c7b54b0b0033e8bccb32d24", "Node name for S&R": "LTXSequencer", "num_images": 0, "insert_frame_1": 0, @@ -4397,7 +4772,7 @@ "strength_3": 1, "insert_frame_4": 0, "strength_4": 1, - "insert_frame_5": 200, + "insert_frame_5": 0, "strength_5": 1, "insert_frame_6": 0, "strength_6": 1, @@ -4406,52 +4781,52 @@ "insert_frame_8": 0, "strength_8": 1, "insert_frame_9": 0, - "strength_9": 1, - "insert_frame_10": 0, + "strength_9": 0, + "insert_frame_10": 1, "strength_10": 1, "insert_frame_11": 0, - "strength_11": 1, - "insert_frame_12": 0, + "strength_11": 0, + "insert_frame_12": 1, "strength_12": 1, "insert_frame_13": 0, - "strength_13": 1, - "insert_frame_14": 0, + "strength_13": 0, + "insert_frame_14": 1, "strength_14": 1, "insert_frame_15": 0, - "strength_15": 1, - "insert_frame_16": 0, + "strength_15": 0, + "insert_frame_16": 1, "strength_16": 1, "insert_frame_17": 0, - "strength_17": 1, - "insert_frame_18": 0, + "strength_17": 0, + "insert_frame_18": 1, "strength_18": 1, "insert_frame_19": 0, - "strength_19": 1, - "insert_frame_20": 0, + "strength_19": 0, + "insert_frame_20": 1, "strength_20": 1, "insert_frame_21": 0, - "strength_21": 1, - "insert_frame_22": 0, + "strength_21": 0, + "insert_frame_22": 1, "strength_22": 1, "insert_frame_23": 0, - "strength_23": 1, - "insert_frame_24": 0, + "strength_23": 0, + "insert_frame_24": 1, "strength_24": 1, "insert_frame_25": 0, - "strength_25": 1, - "insert_frame_26": 0, + "strength_25": 0, + "insert_frame_26": 1, "strength_26": 1, "insert_frame_27": 0, - "strength_27": 1, - "insert_frame_28": 0, + "strength_27": 0, + "insert_frame_28": 1, "strength_28": 1, "insert_frame_29": 0, - "strength_29": 1, - "insert_frame_30": 0, + "strength_29": 0, + "insert_frame_30": 1, "strength_30": 1, "insert_frame_31": 0, - "strength_31": 1, - "insert_frame_32": 0, + "strength_31": 0, + "insert_frame_32": 1, "strength_32": 1, "insert_frame_33": 0, "strength_33": 1, @@ -4488,21 +4863,189 @@ "insert_frame_49": 0, "strength_49": 1, "insert_frame_50": 0, - "strength_50": 1 + "strength_50": 1, + "insert_mode": "frames", + "frame_rate": 24, + "insert_second_1": 0, + "insert_second_2": 0, + "insert_second_3": 0, + "insert_second_4": 0, + "insert_second_5": 0, + "insert_second_6": 0, + "insert_second_7": 0, + "insert_second_8": 0, + "insert_second_9": 1, + "insert_second_10": 0, + "insert_second_11": 1, + "insert_second_12": 0, + "insert_second_13": 1, + "insert_second_14": 0, + "insert_second_15": 1, + "insert_second_16": 0, + "insert_second_17": 1, + "insert_second_18": 0, + "insert_second_19": 1, + "insert_second_20": 0, + "insert_second_21": 1, + "insert_second_22": 0, + "insert_second_23": 1, + "insert_second_24": 0, + "insert_second_25": 1, + "insert_second_26": 0, + "insert_second_27": 1, + "insert_second_28": 0, + "insert_second_29": 1, + "insert_second_30": 0, + "insert_second_31": 1, + "insert_second_32": 0, + "insert_second_33": 1, + "insert_second_34": 0, + "insert_second_35": 0, + "insert_second_36": 0, + "insert_second_37": 0, + "insert_second_38": 0, + "insert_second_39": 0, + "insert_second_40": 0, + "insert_second_41": 0, + "insert_second_42": 0, + "insert_second_43": 0, + "insert_second_44": 0, + "insert_second_45": 0, + "insert_second_46": 0, + "insert_second_47": 0, + "insert_second_48": 0, + "insert_second_49": 0, + "insert_second_50": 0, + "insert_images_using": "frames", + "video_length": 1, + "insert_percentage_1": 0, + "insert_percentage_2": 1, + "insert_percentage_3": 0, + "insert_percentage_4": 0, + "insert_percentage_5": 0, + "insert_percentage_6": 0, + "insert_percentage_7": 0, + "insert_percentage_8": 0, + "insert_percentage_9": 0, + "insert_percentage_10": 0, + "insert_percentage_11": 0, + "insert_percentage_12": 0, + "insert_percentage_13": 0, + "insert_percentage_14": 0, + "insert_percentage_15": 0, + "insert_percentage_16": 0, + "insert_percentage_17": 0, + "insert_percentage_18": 0, + "insert_percentage_19": 0, + "insert_percentage_20": 0, + "insert_percentage_21": 0, + "insert_percentage_22": 0, + "insert_percentage_23": 0, + "insert_percentage_24": 0, + "insert_percentage_25": 0, + "insert_percentage_26": 0, + "insert_percentage_27": 0, + "insert_percentage_28": 0, + "insert_percentage_29": 0, + "insert_percentage_30": 0, + "insert_percentage_31": 0, + "insert_percentage_32": 0, + "insert_percentage_33": 0, + "insert_percentage_34": 0, + "insert_percentage_35": 0, + "insert_percentage_36": 0, + "insert_percentage_37": 0, + "insert_percentage_38": 0, + "insert_percentage_39": 0, + "insert_percentage_40": 0, + "insert_percentage_41": 0, + "insert_percentage_42": 0, + "insert_percentage_43": 0, + "insert_percentage_44": 0, + "insert_percentage_45": 0, + "insert_percentage_46": 0, + "insert_percentage_47": 0, + "insert_percentage_48": 0, + "insert_percentage_49": 0, + "insert_percentage_50": 0, + "insert_percent_1": 0, + "insert_percent_2": 50, + "insert_percent_3": 100, + "insert_percent_4": 0, + "insert_percent_5": 0, + "insert_percent_6": 0, + "insert_percent_7": 0, + "insert_percent_8": 0, + "insert_percent_9": 0, + "insert_percent_10": 0, + "insert_percent_11": 0, + "insert_percent_12": 0, + "insert_percent_13": 0, + "insert_percent_14": 0, + "insert_percent_15": 0, + "insert_percent_16": 0, + "insert_percent_17": 0, + "insert_percent_18": 0, + "insert_percent_19": 0, + "insert_percent_20": 0, + "insert_percent_21": 0, + "insert_percent_22": 0, + "insert_percent_23": 0, + "insert_percent_24": 0, + "insert_percent_25": 0, + "insert_percent_26": 0, + "insert_percent_27": 0, + "insert_percent_28": 0, + "insert_percent_29": 0, + "insert_percent_30": 0, + "insert_percent_31": 0, + "insert_percent_32": 0, + "insert_percent_33": 0, + "insert_percent_34": 0, + "insert_percent_35": 0, + "insert_percent_36": 0, + "insert_percent_37": 0, + "insert_percent_38": 0, + "insert_percent_39": 0, + "insert_percent_40": 0, + "insert_percent_41": 0, + "insert_percent_42": 0, + "insert_percent_43": 0, + "insert_percent_44": 0, + "insert_percent_45": 0, + "insert_percent_46": 0, + "insert_percent_47": 0, + "insert_percent_48": 0, + "insert_percent_49": 0, + "insert_percent_50": 0 }, "widgets_values": [ + 0, + "frames", + 24, 0, 0, 1, 0, - 1, 0, 1, 0, + 0, 1, - 200, + 0, + 0, 1, 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, 1, 0, 1, @@ -4578,19 +5121,57 @@ 1, 0, 1, + 1, + 0, 0, 1, 0, - 1, 0, 1, 0, - 1, 0, 1, 0, + 0, 1, 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, 1 ], "color": "#222", @@ -4934,6 +5515,53 @@ ], "color": "#222", "bgcolor": "#000" + }, + { + "id": 339, + "type": "PrimitiveBoolean", + "pos": [ + 160, + 7520 + ], + "size": [ + 290, + 60 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "localized_name": "value", + "name": "value", + "type": "BOOLEAN", + "widget": { + "name": "value" + }, + "link": 719 + } + ], + "outputs": [ + { + "localized_name": "BOOLEAN", + "name": "BOOLEAN", + "type": "BOOLEAN", + "links": [ + 718 + ] + } + ], + "title": "3rd Stage: False = 1.5x, True = 2x", + "properties": { + "cnr_id": "comfy-core", + "ver": "0.17.2", + "Node name for S&R": "PrimitiveBoolean" + }, + "widgets_values": [ + true + ], + "color": "#222", + "bgcolor": "#000" } ], "groups": [], @@ -5204,8 +5832,8 @@ "version": 1, "state": { "lastGroupId": 33, - "lastNodeId": 437, - "lastLinkId": 1070, + "lastNodeId": 443, + "lastLinkId": 1080, "lastRerouteId": 0 }, "revision": 0, @@ -5216,7 +5844,7 @@ "bounding": [ 2340, 6080, - 135.15625, + 135.654296875, 80 ] }, @@ -5225,7 +5853,7 @@ "bounding": [ 3560, 5580, - 214.68814086914062, + 187.052734375, 200 ] }, @@ -5239,7 +5867,7 @@ ], "label": "Prompt", "pos": [ - 2455.15625, + 2455.654296875, 6100 ] }, @@ -5252,7 +5880,7 @@ ], "label": "length (seconds)", "pos": [ - 2455.15625, + 2455.654296875, 6120 ] } @@ -5353,7 +5981,7 @@ "linkIds": [ 1034 ], - "label": "2X_LATENT_UPSCALE_MODEL", + "label": "2x_spatial_upscale_model", "pos": [ 3580, 5740 @@ -5490,7 +6118,7 @@ 88 ], "flags": {}, - "order": 10, + "order": 13, "mode": 0, "inputs": [ { @@ -5533,148 +6161,6 @@ "color": "#222", "bgcolor": "#000" }, - { - "id": 419, - "type": "LatentUpscaleModelLoader", - "pos": [ - 2560, - 6110 - ], - "size": [ - 330, - 58 - ], - "flags": {}, - "order": 3, - "mode": 0, - "inputs": [], - "outputs": [ - { - "localized_name": "LATENT_UPSCALE_MODEL", - "name": "LATENT_UPSCALE_MODEL", - "type": "LATENT_UPSCALE_MODEL", - "links": [ - 1034 - ] - } - ], - "properties": { - "cnr_id": "comfy-core", - "ver": "0.16.4", - "Node name for S&R": "LatentUpscaleModelLoader" - }, - "widgets_values": [ - "ltx-2.3-spatial-upscaler-x2-1.0.safetensors" - ], - "color": "#222", - "bgcolor": "#000" - }, - { - "id": 426, - "type": "CheckpointLoaderSimple", - "pos": [ - 2560, - 5490 - ], - "size": [ - 270, - 98 - ], - "flags": {}, - "order": 4, - "mode": 0, - "inputs": [], - "outputs": [ - { - "localized_name": "MODEL", - "name": "MODEL", - "type": "MODEL", - "links": [ - 1068 - ] - }, - { - "localized_name": "CLIP", - "name": "CLIP", - "type": "CLIP", - "links": null - }, - { - "localized_name": "VAE", - "name": "VAE", - "type": "VAE", - "links": null - } - ], - "properties": { - "cnr_id": "comfy-core", - "ver": "0.17.2", - "Node name for S&R": "CheckpointLoaderSimple" - }, - "widgets_values": [ - "ltx-2.3-22b-dev-fp8.safetensors" - ], - "color": "#222", - "bgcolor": "#000" - }, - { - "id": 429, - "type": "LoraLoaderModelOnly", - "pos": [ - 2850, - 5500 - ], - "size": [ - 340, - 82 - ], - "flags": {}, - "order": 6, - "mode": 0, - "inputs": [ - { - "localized_name": "model", - "name": "model", - "type": "MODEL", - "link": 1068 - } - ], - "outputs": [ - { - "localized_name": "MODEL", - "name": "MODEL", - "type": "MODEL", - "links": [ - 1067 - ] - } - ], - "properties": { - "cnr_id": "comfy-core", - "ver": "0.3.75", - "Node name for S&R": "LoraLoaderModelOnly", - "enableTabs": false, - "tabWidth": 65, - "tabXOffset": 10, - "hasSecondTab": false, - "secondTabText": "Send Back", - "secondTabOffset": 80, - "secondTabWidth": 65, - "models": [ - { - "name": "ltx-2.3-22b-distilled-lora-384.safetensors", - "url": "https://huggingface.co/Lightricks/LTX-2.3/resolve/main/ltx-2.3-22b-distilled-lora-384.safetensors", - "directory": "loras" - } - ] - }, - "widgets_values": [ - "ltx2\\ltx-2.3-22b-distilled-lora-dynamic_fro09_avg_rank_105_bf16.safetensors", - 0.5 - ], - "color": "#222", - "bgcolor": "#000" - }, { "id": 361, "type": "ConditioningZeroOut", @@ -5687,7 +6173,7 @@ 26 ], "flags": {}, - "order": 7, + "order": 10, "mode": 0, "inputs": [ { @@ -5735,7 +6221,7 @@ 80 ], "flags": {}, - "order": 8, + "order": 11, "mode": 0, "inputs": [ { @@ -5787,11 +6273,47 @@ "color": "#222", "bgcolor": "#000" }, + { + "id": 419, + "type": "LatentUpscaleModelLoader", + "pos": [ + 2560, + 6110 + ], + "size": [ + 330, + 58 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "LATENT_UPSCALE_MODEL", + "name": "LATENT_UPSCALE_MODEL", + "type": "LATENT_UPSCALE_MODEL", + "links": [ + 1034 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.16.4", + "Node name for S&R": "LatentUpscaleModelLoader" + }, + "widgets_values": [ + "ltx-2.3-spatial-upscaler-x2-1.1.safetensors" + ], + "color": "#222", + "bgcolor": "#000" + }, { "id": 364, "type": "RandomNoise", "pos": [ - 2870, + 2860, 5750 ], "size": [ @@ -5799,7 +6321,7 @@ 82 ], "flags": {}, - "order": 5, + "order": 4, "mode": 0, "inputs": [ { @@ -5846,7 +6368,7 @@ "id": 365, "type": "07609e03-45f4-49c7-a233-a933ebf95094", "pos": [ - 2880, + 2860, 5640 ], "size": [ @@ -5854,7 +6376,7 @@ 58 ], "flags": {}, - "order": 9, + "order": 12, "mode": 0, "inputs": [ { @@ -5892,6 +6414,232 @@ ], "color": "#222", "bgcolor": "#000" + }, + { + "id": 443, + "type": "VAELoaderKJ", + "pos": [ + 2560, + 5470 + ], + "size": [ + 270, + 110 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "VAE", + "name": "VAE", + "type": "VAE", + "links": [ + 1072 + ] + } + ], + "title": "Tiny VAELoader KJ", + "properties": { + "cnr_id": "comfyui-kjnodes", + "ver": "1.2.5", + "Node name for S&R": "VAELoaderKJ" + }, + "widgets_values": [ + "taeltx2_3.safetensors", + "main_device", + "bf16" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 442, + "type": "LTX2SamplingPreviewOverride", + "pos": [ + 2850, + 5470 + ], + "size": [ + 270, + 100 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "localized_name": "model", + "name": "model", + "type": "MODEL", + "link": 1073 + }, + { + "localized_name": "latent_upscale_model", + "name": "latent_upscale_model", + "shape": 7, + "type": "LATENT_UPSCALE_MODEL", + "link": null + }, + { + "localized_name": "vae", + "name": "vae", + "shape": 7, + "type": "VAE", + "link": 1072 + } + ], + "outputs": [ + { + "localized_name": "MODEL", + "name": "MODEL", + "type": "MODEL", + "links": [ + 1074 + ] + } + ], + "properties": { + "cnr_id": "comfyui-kjnodes", + "ver": "1.3.4", + "Node name for S&R": "LTX2SamplingPreviewOverride" + }, + "widgets_values": [ + 16 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 426, + "type": "CheckpointLoaderSimple", + "pos": [ + 2560, + 5330 + ], + "size": [ + 270, + 98 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "MODEL", + "name": "MODEL", + "type": "MODEL", + "links": [ + 1073 + ] + }, + { + "localized_name": "CLIP", + "name": "CLIP", + "type": "CLIP", + "links": null + }, + { + "localized_name": "VAE", + "name": "VAE", + "type": "VAE", + "links": null + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.17.2", + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "ltx-2.3-22b-dev-fp8.safetensors" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 429, + "type": "LoraLoaderModelOnly", + "pos": [ + 3140, + 5480 + ], + "size": [ + 260, + 82 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "localized_name": "model", + "name": "model", + "type": "MODEL", + "link": 1074 + } + ], + "outputs": [ + { + "localized_name": "MODEL", + "name": "MODEL", + "type": "MODEL", + "links": [ + 1067 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.75", + "Node name for S&R": "LoraLoaderModelOnly", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65, + "models": [ + { + "name": "ltx-2.3-22b-distilled-lora-384.safetensors", + "url": "https://huggingface.co/Lightricks/LTX-2.3/resolve/main/ltx-2.3-22b-distilled-lora-384.safetensors", + "directory": "loras" + } + ] + }, + "widgets_values": [ + "ltx2\\ltx-2.3-22b-distilled-lora-dynamic_fro09_avg_rank_105_bf16.safetensors", + 0.5 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 441, + "type": "MarkdownNote", + "pos": [ + 2160, + 5500 + ], + "size": [ + 370, + 320 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "FAQ", + "properties": {}, + "widgets_values": [ + "# FAQ\n\n**How do I set the length of the video?**\n\nYou can set the length of the video in the Model Loader Subgraph →\n\n**I keep getting errors when running this workflow!**\n\nDouble check that all of the correct models loaded. This is using the newest version of 2x upscaler (v1.1). You can change it to the older one under the Model Loader.\n\n**Where do I download these models??**\n\nThere is a good list of models and download links here: \n\nAlso the latest v1.1 spatial upscaler can be found here: \n\nThe tiny vae (taeltx2_3.safetensors) is found here:\n\n\n\n\n\n\n\n\n\n" + ], + "color": "#432", + "bgcolor": "#653" } ], "groups": [], @@ -6009,9 +6757,25 @@ "type": "MODEL" }, { - "id": 1068, + "id": 1072, + "origin_id": 443, + "origin_slot": 0, + "target_id": 442, + "target_slot": 2, + "type": "VAE" + }, + { + "id": 1073, "origin_id": 426, "origin_slot": 0, + "target_id": 442, + "target_slot": 0, + "type": "MODEL" + }, + { + "id": 1074, + "origin_id": 442, + "origin_slot": 0, "target_id": 429, "target_slot": 0, "type": "MODEL" @@ -6026,8 +6790,8 @@ "version": 1, "state": { "lastGroupId": 33, - "lastNodeId": 437, - "lastLinkId": 1070, + "lastNodeId": 443, + "lastLinkId": 1080, "lastRerouteId": 0 }, "revision": 0, @@ -6057,7 +6821,7 @@ "name": "value", "type": "INT", "linkIds": [ - 1070 + 1071 ], "label": "Seconds", "pos": [ @@ -6197,7 +6961,7 @@ "widget": { "name": "value" }, - "link": 1070 + "link": 1071 } ], "outputs": [ @@ -6249,7 +7013,7 @@ "type": "INT" }, { - "id": 1070, + "id": 1071, "origin_id": -10, "origin_slot": 0, "target_id": 139, @@ -6266,8 +7030,8 @@ "version": 1, "state": { "lastGroupId": 33, - "lastNodeId": 437, - "lastLinkId": 1070, + "lastNodeId": 443, + "lastLinkId": 1080, "lastRerouteId": 0 }, "revision": 0, @@ -6276,9 +7040,9 @@ "inputNode": { "id": -10, "bounding": [ - 4360, + 4330, 5940, - 164.869140625, + 187.052734375, 240 ] }, @@ -6302,7 +7066,7 @@ 23 ], "pos": [ - 4504.869140625, + 4497.052734375, 5960 ] }, @@ -6316,7 +7080,7 @@ 871 ], "pos": [ - 4504.869140625, + 4497.052734375, 5980 ] }, @@ -6330,7 +7094,7 @@ 872 ], "pos": [ - 4504.869140625, + 4497.052734375, 6000 ] }, @@ -6342,7 +7106,7 @@ 6 ], "pos": [ - 4504.869140625, + 4497.052734375, 6020 ] }, @@ -6356,7 +7120,7 @@ 26 ], "pos": [ - 4504.869140625, + 4497.052734375, 6040 ] }, @@ -6370,7 +7134,7 @@ ], "label": "video_vae", "pos": [ - 4504.869140625, + 4497.052734375, 6060 ] }, @@ -6383,7 +7147,7 @@ 30 ], "pos": [ - 4504.869140625, + 4497.052734375, 6080 ] }, @@ -6394,9 +7158,9 @@ "linkIds": [ 40 ], - "label": "upscale 2x on stage 3", + "label": "Upscale 2x on Stage 3", "pos": [ - 4504.869140625, + 4497.052734375, 6100 ] }, @@ -6409,7 +7173,7 @@ 1007 ], "pos": [ - 4504.869140625, + 4497.052734375, 6120 ] }, @@ -6421,9 +7185,9 @@ 1036, 1039 ], - "label": "2x_upscale_model", + "label": "2x_spatial_upscale_model", "pos": [ - 4504.869140625, + 4497.052734375, 6140 ] } @@ -6457,7 +7221,7 @@ 46 ], "flags": {}, - "order": 3, + "order": 4, "mode": 0, "inputs": [ { @@ -6470,7 +7234,7 @@ "localized_name": "audio_latent", "name": "audio_latent", "type": "LATENT", - "link": 1043 + "link": 1080 } ], "outputs": [ @@ -6504,7 +7268,7 @@ 70 ], "flags": {}, - "order": 4, + "order": 5, "mode": 0, "inputs": [ { @@ -6557,6 +7321,95 @@ "color": "#222", "bgcolor": "#000" }, + { + "id": 2, + "type": "afa29944-eb58-40a5-8e76-484f2503fa0c", + "pos": [ + 4540, + 5950 + ], + "size": [ + 190, + 195.734375 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 3 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 4 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 5 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 6 + }, + { + "name": "noise", + "type": "NOISE", + "link": 7 + } + ], + "outputs": [ + { + "name": "video_latent", + "type": "LATENT", + "links": [ + 837 + ] + }, + { + "name": "audio_latent", + "type": "LATENT", + "links": [ + 794 + ] + } + ], + "properties": { + "proxyWidgets": [], + "cnr_id": "comfy-core", + "ver": "0.17.2" + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 440, + "type": "Note", + "pos": [ + 4970, + 5810 + ], + "size": [ + 210, + 88 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": {}, + "widgets_values": [ + "Bypass Stage #3 to skip the 2nd upscale stage." + ], + "color": "#223", + "bgcolor": "#335" + }, { "id": 8, "type": "535e663f-da59-47c1-aab5-c78ff202cb16", @@ -6569,8 +7422,8 @@ 330.9668884277344 ], "flags": {}, - "order": 2, - "mode": 0, + "order": 3, + "mode": 4, "inputs": [ { "name": "model", @@ -6612,7 +7465,7 @@ { "name": "audio_latent", "type": "LATENT", - "link": 28 + "link": 1079 }, { "label": "use 2x on stage 3", @@ -6647,9 +7500,7 @@ { "name": "audio_latent", "type": "LATENT", - "links": [ - 1043 - ] + "links": [] } ], "properties": { @@ -6680,7 +7531,7 @@ 299.71875 ], "flags": {}, - "order": 1, + "order": 2, "mode": 0, "inputs": [ { @@ -6748,7 +7599,8 @@ "name": "audio_latent", "type": "LATENT", "links": [ - 28 + 1079, + 1080 ] }, { @@ -6776,72 +7628,6 @@ "widgets_values": [], "color": "#222", "bgcolor": "#000" - }, - { - "id": 2, - "type": "afa29944-eb58-40a5-8e76-484f2503fa0c", - "pos": [ - 4540, - 5950 - ], - "size": [ - 190, - 195.734375 - ], - "flags": {}, - "order": 0, - "mode": 0, - "inputs": [ - { - "name": "model", - "type": "MODEL", - "link": 3 - }, - { - "name": "positive", - "type": "CONDITIONING", - "link": 4 - }, - { - "name": "negative", - "type": "CONDITIONING", - "link": 5 - }, - { - "name": "latent_image", - "type": "LATENT", - "link": 6 - }, - { - "name": "noise", - "type": "NOISE", - "link": 7 - } - ], - "outputs": [ - { - "name": "video_latent", - "type": "LATENT", - "links": [ - 837 - ] - }, - { - "name": "audio_latent", - "type": "LATENT", - "links": [ - 794 - ] - } - ], - "properties": { - "proxyWidgets": [], - "cnr_id": "comfy-core", - "ver": "0.17.2" - }, - "widgets_values": [], - "color": "#222", - "bgcolor": "#000" } ], "groups": [], @@ -6854,14 +7640,6 @@ "target_slot": 6, "type": "LATENT" }, - { - "id": 28, - "origin_id": 6, - "origin_slot": 1, - "target_id": 8, - "target_slot": 7, - "type": "LATENT" - }, { "id": 3, "origin_id": -10, @@ -7095,8 +7873,16 @@ "type": "LATENT_UPSCALE_MODEL" }, { - "id": 1043, - "origin_id": 8, + "id": 1079, + "origin_id": 6, + "origin_slot": 1, + "target_id": 8, + "target_slot": 7, + "type": "LATENT" + }, + { + "id": 1080, + "origin_id": 6, "origin_slot": 1, "target_id": 371, "target_slot": 1, @@ -7120,8 +7906,8 @@ "ds": { "scale": 1, "offset": [ - -2742.877149125813, - -5602.752240706775 + -3243, + -5621 ] } }, diff --git a/workflows/LTX I2V First Last Frame 3 Stage Workflow v3.png b/workflows/LTX I2V First Last Frame 3 Stage Workflow v3.png deleted file mode 100644 index dd31dd8..0000000 Binary files a/workflows/LTX I2V First Last Frame 3 Stage Workflow v3.png and /dev/null differ diff --git a/workflows/LTX I2V First Last Frame 3 Stage Workflow v6.json b/workflows/LTX I2V First Last Frame 3 Stage Workflow v6.json new file mode 100644 index 0000000..735c6d8 --- /dev/null +++ b/workflows/LTX I2V First Last Frame 3 Stage Workflow v6.json @@ -0,0 +1,7916 @@ +{ + "id": "a41dc75e-fc80-4307-897e-f3118e4fa21b", + "revision": 0, + "last_node_id": 443, + "last_link_id": 1079, + "nodes": [ + { + "id": 4, + "type": "LTXVConcatAVLatent", + "pos": [ + 4180, + 6090 + ], + "size": [ + 210, + 60 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "video_latent", + "type": "LATENT", + "link": 802 + }, + { + "name": "audio_latent", + "type": "LATENT", + "link": 12 + } + ], + "outputs": [ + { + "name": "latent", + "type": "LATENT", + "links": [ + 804 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.7.0", + "Node name for S&R": "LTXVConcatAVLatent", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 5, + "type": "SaveVideo", + "pos": [ + 4940, + 5950 + ], + "size": [ + 660, + 440 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "video", + "type": "VIDEO", + "link": 13 + } + ], + "outputs": [], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.5.1", + "Node name for S&R": "SaveVideo", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + "video/LTX", + "auto", + "auto" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 14, + "type": "Note", + "pos": [ + 4410, + 5780 + ], + "size": [ + 210, + 110 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "3 Stage Upscale Note", + "properties": {}, + "widgets_values": [ + "Stage 3 will default to 1.5x on the 3rd stage if false.\n\nIf you want to disable Stage 3, simply bypass the 3rd stage in the subraph below." + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 418, + "type": "Note", + "pos": [ + 3080, + 5820 + ], + "size": [ + 280, + 88 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "Model Loader Note", + "properties": {}, + "widgets_values": [ + "↓ Select your own models in this subgraph ↓" + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 16, + "type": "Note", + "pos": [ + 4670, + 6110 + ], + "size": [ + 210, + 88 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "Decode Note", + "properties": {}, + "widgets_values": [ + "Enable optimized decoding to use tiled vae decoder." + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 439, + "type": "MarkdownNote", + "pos": [ + 2680, + 6180 + ], + "size": [ + 370, + 320 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "FAQ", + "properties": {}, + "widgets_values": [ + "# FAQ\n\n**How do I set the length of the video?**\n\nYou can set the length of the video in the Model Loader Subgraph →\n\n**I keep getting errors when running this workflow!**\n\nDouble check that all of the correct models loaded. This is using the newest version of 2x upscaler (v1.1). You can change it to the older one under the Model Loader.\n\n**Where do I download these models??**\n\nThere is a good list of models and download links here: \n\nAlso the latest v1.1 spatial upscaler can be found here: \n\nThe tiny vae (taeltx2_3.safetensors) is found here:\n\n\n\n\n\n\n\n\n\n" + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 1, + "type": "34d63160-e149-4935-ab1f-892ffe617fec", + "pos": [ + 4670, + 5950 + ], + "size": [ + 244.98828125, + 114 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "av_latent", + "type": "LATENT", + "link": 47 + }, + { + "name": "audio_vae", + "type": "VAE", + "link": 2 + }, + { + "label": "video_vae", + "name": "vae", + "type": "VAE", + "link": 31 + }, + { + "label": "Use Optimized Decoding", + "name": "value", + "type": "BOOLEAN", + "widget": { + "name": "value" + }, + "link": null + } + ], + "outputs": [ + { + "name": "VIDEO", + "type": "VIDEO", + "links": [ + 13 + ] + } + ], + "properties": { + "proxyWidgets": [ + [ + "-1", + "value" + ] + ], + "cnr_id": "comfy-core", + "ver": "0.17.2" + }, + "widgets_values": [ + false + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 10, + "type": "958b2c7a-1f75-4a30-84a8-892bddb9e426", + "pos": [ + 3080, + 5950 + ], + "size": [ + 440, + 550 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "label": "Prompt", + "name": "value", + "type": "STRING", + "widget": { + "name": "value" + }, + "link": null + }, + { + "label": "length (seconds)", + "name": "value_1", + "type": "INT", + "widget": { + "name": "value_1" + }, + "link": null + } + ], + "outputs": [ + { + "name": "optimized_model", + "type": "MODEL", + "links": [ + 40 + ] + }, + { + "label": "video_vae", + "name": "VAE", + "type": "VAE", + "links": [ + 31, + 45, + 798 + ] + }, + { + "label": "audio_vae", + "name": "VAE_1", + "type": "VAE", + "links": [ + 2, + 22 + ] + }, + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 796 + ] + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 797 + ] + }, + { + "label": "length_seconds", + "name": "INT", + "type": "INT", + "links": [ + 21 + ] + }, + { + "label": "noise", + "name": "NOISE", + "type": "NOISE", + "links": [ + 44 + ] + }, + { + "label": "2x_spatial_upscale_model", + "name": "LATENT_UPSCALE_MODEL", + "type": "LATENT_UPSCALE_MODEL", + "links": [ + 1037 + ] + } + ], + "properties": { + "proxyWidgets": [ + [ + "-1", + "value" + ], + [ + "-1", + "value_1" + ], + [ + "364", + "noise_seed" + ], + [ + "364", + "control_after_generate" + ] + ], + "cnr_id": "comfy-core", + "ver": "0.17.2" + }, + "widgets_values": [ + "", + 5 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 381, + "type": "MultiImageLoader", + "pos": [ + 3550, + 5950 + ], + "size": [ + 350, + 297 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "multi_output", + "type": "IMAGE", + "links": [ + 1046, + 1047, + 1048 + ] + } + ], + "properties": { + "cnr_id": "WhatDreamsCost-ComfyUI", + "ver": "ecd00e6b404f14b07c7b54b0b0033e8bccb32d24", + "Node name for S&R": "MultiImageLoader" + }, + "widgets_values": [ + "", + 0, + 0, + "lanczos", + "keep proportion", + 0, + 18, + "" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 11, + "type": "360d64f7-96cd-42a6-9b13-6eb0387e17d9", + "pos": [ + 4410, + 5950 + ], + "size": [ + 246.46875, + 322.233642578125 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 40 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 799 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 800 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 804 + }, + { + "name": "noise", + "type": "NOISE", + "link": 44 + }, + { + "label": "video_vae", + "name": "vae", + "type": "VAE", + "link": 45 + }, + { + "name": "image", + "type": "IMAGE", + "link": null + }, + { + "label": "Upscale 2x on Stage 3", + "name": "value", + "type": "BOOLEAN", + "widget": { + "name": "value" + }, + "link": null + }, + { + "name": "multi_input", + "type": "IMAGE", + "link": 1046 + }, + { + "label": "2x_spatial_upscale_model", + "name": "upscale_model", + "type": "LATENT_UPSCALE_MODEL", + "link": 1037 + } + ], + "outputs": [ + { + "label": "av_output", + "name": "output", + "type": "LATENT", + "links": [ + 47 + ] + } + ], + "properties": { + "proxyWidgets": [ + [ + "-1", + "value" + ] + ], + "cnr_id": "comfy-core", + "ver": "0.17.2" + }, + "widgets_values": [ + true + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 7, + "type": "2979f3eb-1c4c-45ff-8387-f1f4addb72f4", + "pos": [ + 4180, + 5950 + ], + "size": [ + 210, + 100 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 1048 + }, + { + "label": "length_seconds", + "name": "length", + "type": "INT", + "widget": { + "name": "length" + }, + "link": 21 + }, + { + "name": "audio_vae", + "type": "VAE", + "link": 22 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 803 + ] + }, + { + "name": "Latent", + "type": "LATENT", + "links": [ + 12 + ] + } + ], + "properties": { + "proxyWidgets": [ + [ + "-1", + "length" + ] + ], + "cnr_id": "comfy-core", + "ver": "0.17.2" + }, + "widgets_values": [ + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 376, + "type": "LTXSequencer", + "pos": [ + 3920, + 5950 + ], + "size": [ + 240, + 200 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "link": 796 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 797 + }, + { + "name": "vae", + "type": "VAE", + "link": 798 + }, + { + "name": "latent", + "type": "LATENT", + "link": 803 + }, + { + "name": "multi_input", + "type": "IMAGE", + "link": 1047 + } + ], + "outputs": [ + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 799 + ] + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 800 + ] + }, + { + "name": "latent", + "type": "LATENT", + "links": [ + 802 + ] + } + ], + "properties": { + "cnr_id": "WhatDreamsCost-ComfyUI", + "ver": "ecd00e6b404f14b07c7b54b0b0033e8bccb32d24", + "Node name for S&R": "LTXSequencer", + "num_images": 0, + "insert_frame_1": 0, + "strength_1": 1, + "insert_frame_2": 0, + "strength_2": 1, + "insert_frame_3": 0, + "strength_3": 1, + "insert_frame_4": 0, + "strength_4": 1, + "insert_frame_5": 0, + "strength_5": 1, + "insert_frame_6": 0, + "strength_6": 1, + "insert_frame_7": 0, + "strength_7": 1, + "insert_frame_8": 0, + "strength_8": 1, + "insert_frame_9": 0, + "strength_9": 0, + "insert_frame_10": 1, + "strength_10": 1, + "insert_frame_11": 0, + "strength_11": 0, + "insert_frame_12": 1, + "strength_12": 1, + "insert_frame_13": 0, + "strength_13": 0, + "insert_frame_14": 1, + "strength_14": 1, + "insert_frame_15": 0, + "strength_15": 0, + "insert_frame_16": 1, + "strength_16": 1, + "insert_frame_17": 0, + "strength_17": 0, + "insert_frame_18": 1, + "strength_18": 1, + "insert_frame_19": 0, + "strength_19": 0, + "insert_frame_20": 1, + "strength_20": 1, + "insert_frame_21": 0, + "strength_21": 0, + "insert_frame_22": 1, + "strength_22": 1, + "insert_frame_23": 0, + "strength_23": 0, + "insert_frame_24": 1, + "strength_24": 1, + "insert_frame_25": 0, + "strength_25": 0, + "insert_frame_26": 1, + "strength_26": 1, + "insert_frame_27": 0, + "strength_27": 0, + "insert_frame_28": 1, + "strength_28": 1, + "insert_frame_29": 0, + "strength_29": 0, + "insert_frame_30": 1, + "strength_30": 1, + "insert_frame_31": 0, + "strength_31": 0, + "insert_frame_32": 1, + "strength_32": 1, + "insert_frame_33": 0, + "strength_33": 1, + "insert_frame_34": 0, + "strength_34": 1, + "insert_frame_35": 0, + "strength_35": 1, + "insert_frame_36": 0, + "strength_36": 1, + "insert_frame_37": 0, + "strength_37": 1, + "insert_frame_38": 0, + "strength_38": 1, + "insert_frame_39": 0, + "strength_39": 1, + "insert_frame_40": 0, + "strength_40": 1, + "insert_frame_41": 0, + "strength_41": 1, + "insert_frame_42": 0, + "strength_42": 1, + "insert_frame_43": 0, + "strength_43": 1, + "insert_frame_44": 0, + "strength_44": 1, + "insert_frame_45": 0, + "strength_45": 1, + "insert_frame_46": 0, + "strength_46": 1, + "insert_frame_47": 0, + "strength_47": 1, + "insert_frame_48": 0, + "strength_48": 1, + "insert_frame_49": 0, + "strength_49": 1, + "insert_frame_50": 0, + "strength_50": 1, + "insert_mode": "frames", + "frame_rate": 24, + "insert_second_1": 0, + "insert_second_2": 0, + "insert_second_3": 0, + "insert_second_4": 0, + "insert_second_5": 0, + "insert_second_6": 0, + "insert_second_7": 0, + "insert_second_8": 0, + "insert_second_9": 1, + "insert_second_10": 0, + "insert_second_11": 1, + "insert_second_12": 0, + "insert_second_13": 1, + "insert_second_14": 0, + "insert_second_15": 1, + "insert_second_16": 0, + "insert_second_17": 1, + "insert_second_18": 0, + "insert_second_19": 1, + "insert_second_20": 0, + "insert_second_21": 1, + "insert_second_22": 0, + "insert_second_23": 1, + "insert_second_24": 0, + "insert_second_25": 1, + "insert_second_26": 0, + "insert_second_27": 1, + "insert_second_28": 0, + "insert_second_29": 1, + "insert_second_30": 0, + "insert_second_31": 1, + "insert_second_32": 0, + "insert_second_33": 1, + "insert_second_34": 0, + "insert_second_35": 0, + "insert_second_36": 0, + "insert_second_37": 0, + "insert_second_38": 0, + "insert_second_39": 0, + "insert_second_40": 0, + "insert_second_41": 0, + "insert_second_42": 0, + "insert_second_43": 0, + "insert_second_44": 0, + "insert_second_45": 0, + "insert_second_46": 0, + "insert_second_47": 0, + "insert_second_48": 0, + "insert_second_49": 0, + "insert_second_50": 0, + "insert_images_using": "frames", + "video_length": 1, + "insert_percentage_1": 0, + "insert_percentage_2": 1, + "insert_percentage_3": 0, + "insert_percentage_4": 0, + "insert_percentage_5": 0, + "insert_percentage_6": 0, + "insert_percentage_7": 0, + "insert_percentage_8": 0, + "insert_percentage_9": 0, + "insert_percentage_10": 0, + "insert_percentage_11": 0, + "insert_percentage_12": 0, + "insert_percentage_13": 0, + "insert_percentage_14": 0, + "insert_percentage_15": 0, + "insert_percentage_16": 0, + "insert_percentage_17": 0, + "insert_percentage_18": 0, + "insert_percentage_19": 0, + "insert_percentage_20": 0, + "insert_percentage_21": 0, + "insert_percentage_22": 0, + "insert_percentage_23": 0, + "insert_percentage_24": 0, + "insert_percentage_25": 0, + "insert_percentage_26": 0, + "insert_percentage_27": 0, + "insert_percentage_28": 0, + "insert_percentage_29": 0, + "insert_percentage_30": 0, + "insert_percentage_31": 0, + "insert_percentage_32": 0, + "insert_percentage_33": 0, + "insert_percentage_34": 0, + "insert_percentage_35": 0, + "insert_percentage_36": 0, + "insert_percentage_37": 0, + "insert_percentage_38": 0, + "insert_percentage_39": 0, + "insert_percentage_40": 0, + "insert_percentage_41": 0, + "insert_percentage_42": 0, + "insert_percentage_43": 0, + "insert_percentage_44": 0, + "insert_percentage_45": 0, + "insert_percentage_46": 0, + "insert_percentage_47": 0, + "insert_percentage_48": 0, + "insert_percentage_49": 0, + "insert_percentage_50": 0, + "insert_percent_1": 0, + "insert_percent_2": 50, + "insert_percent_3": 100, + "insert_percent_4": 0, + "insert_percent_5": 0, + "insert_percent_6": 0, + "insert_percent_7": 0, + "insert_percent_8": 0, + "insert_percent_9": 0, + "insert_percent_10": 0, + "insert_percent_11": 0, + "insert_percent_12": 0, + "insert_percent_13": 0, + "insert_percent_14": 0, + "insert_percent_15": 0, + "insert_percent_16": 0, + "insert_percent_17": 0, + "insert_percent_18": 0, + "insert_percent_19": 0, + "insert_percent_20": 0, + "insert_percent_21": 0, + "insert_percent_22": 0, + "insert_percent_23": 0, + "insert_percent_24": 0, + "insert_percent_25": 0, + "insert_percent_26": 0, + "insert_percent_27": 0, + "insert_percent_28": 0, + "insert_percent_29": 0, + "insert_percent_30": 0, + "insert_percent_31": 0, + "insert_percent_32": 0, + "insert_percent_33": 0, + "insert_percent_34": 0, + "insert_percent_35": 0, + "insert_percent_36": 0, + "insert_percent_37": 0, + "insert_percent_38": 0, + "insert_percent_39": 0, + "insert_percent_40": 0, + "insert_percent_41": 0, + "insert_percent_42": 0, + "insert_percent_43": 0, + "insert_percent_44": 0, + "insert_percent_45": 0, + "insert_percent_46": 0, + "insert_percent_47": 0, + "insert_percent_48": 0, + "insert_percent_49": 0, + "insert_percent_50": 0 + }, + "widgets_values": [ + 0, + "frames", + 24, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 15, + "type": "Note", + "pos": [ + 3920, + 5740 + ], + "size": [ + 250, + 150 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "LTX Sequencer Note", + "properties": {}, + "widgets_values": [ + "Use one image at full strength for regular image to video.\n\nIf frame_insert is -1, it will be inserted at the last frame.\n\nThe insert_mode allows to switch between inserting images by setting the exact frame or by setting the exact second." + ], + "color": "#223", + "bgcolor": "#335" + } + ], + "links": [ + [ + 2, + 10, + 2, + 1, + 1, + "VAE" + ], + [ + 12, + 7, + 1, + 4, + 1, + "LATENT" + ], + [ + 13, + 1, + 0, + 5, + 0, + "VIDEO" + ], + [ + 21, + 10, + 5, + 7, + 1, + "INT" + ], + [ + 22, + 10, + 2, + 7, + 2, + "VAE" + ], + [ + 31, + 10, + 1, + 1, + 2, + "VAE" + ], + [ + 40, + 10, + 0, + 11, + 0, + "MODEL" + ], + [ + 44, + 10, + 6, + 11, + 4, + "NOISE" + ], + [ + 45, + 10, + 1, + 11, + 5, + "VAE" + ], + [ + 47, + 11, + 0, + 1, + 0, + "LATENT" + ], + [ + 796, + 10, + 3, + 376, + 0, + "CONDITIONING" + ], + [ + 797, + 10, + 4, + 376, + 1, + "CONDITIONING" + ], + [ + 798, + 10, + 1, + 376, + 2, + "VAE" + ], + [ + 799, + 376, + 0, + 11, + 1, + "CONDITIONING" + ], + [ + 800, + 376, + 1, + 11, + 2, + "CONDITIONING" + ], + [ + 802, + 376, + 2, + 4, + 0, + "LATENT" + ], + [ + 803, + 7, + 0, + 376, + 3, + "LATENT" + ], + [ + 804, + 4, + 0, + 11, + 3, + "LATENT" + ], + [ + 1037, + 10, + 7, + 11, + 9, + "LATENT_UPSCALE_MODEL" + ], + [ + 1046, + 381, + 0, + 11, + 8, + "IMAGE" + ], + [ + 1047, + 381, + 0, + 376, + 4, + "IMAGE" + ], + [ + 1048, + 381, + 0, + 7, + 0, + "IMAGE" + ] + ], + "groups": [], + "definitions": { + "subgraphs": [ + { + "id": "34d63160-e149-4935-ab1f-892ffe617fec", + "version": 1, + "state": { + "lastGroupId": 33, + "lastNodeId": 443, + "lastLinkId": 1079, + "lastRerouteId": 0 + }, + "revision": 0, + "config": {}, + "name": "Decode", + "inputNode": { + "id": -10, + "bounding": [ + 1610, + 7190, + 180.98828125, + 120 + ] + }, + "outputNode": { + "id": -20, + "bounding": [ + 2970, + 7320, + 120, + 60 + ] + }, + "inputs": [ + { + "id": "1d567d10-9078-49fc-a4a1-67e6d4b5744f", + "name": "av_latent", + "type": "LATENT", + "linkIds": [ + 692 + ], + "pos": [ + 1770.98828125, + 7210 + ] + }, + { + "id": "bef9341f-4429-46af-9bca-11e025bec4d0", + "name": "audio_vae", + "type": "VAE", + "linkIds": [ + 693 + ], + "pos": [ + 1770.98828125, + 7230 + ] + }, + { + "id": "4588ee3d-96a4-46a8-b829-a78181f6c305", + "name": "vae", + "type": "VAE", + "linkIds": [ + 703, + 1060 + ], + "label": "video_vae", + "pos": [ + 1770.98828125, + 7250 + ] + }, + { + "id": "1bd3842b-729d-4c3d-9927-cd508bccb1b1", + "name": "value", + "type": "BOOLEAN", + "linkIds": [ + 708 + ], + "label": "Use Optimized Decoding", + "pos": [ + 1770.98828125, + 7270 + ] + } + ], + "outputs": [ + { + "id": "7e889c1c-e185-47d7-a0f7-c5f1d971c6fe", + "name": "VIDEO", + "type": "VIDEO", + "linkIds": [ + 704 + ], + "pos": [ + 2990, + 7340 + ] + } + ], + "widgets": [], + "nodes": [ + { + "id": 337, + "type": "LazySwitchKJ", + "pos": [ + 2450, + 7340 + ], + "size": [ + 270, + 78 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "localized_name": "on_false", + "name": "on_false", + "type": "*", + "link": 701 + }, + { + "localized_name": "on_true", + "name": "on_true", + "type": "*", + "link": 1058 + }, + { + "localized_name": "switch", + "name": "switch", + "type": "BOOLEAN", + "widget": { + "name": "switch" + }, + "link": 707 + } + ], + "outputs": [ + { + "localized_name": "*", + "name": "*", + "type": "*", + "links": [ + 698 + ] + } + ], + "properties": { + "cnr_id": "comfyui-kjnodes", + "ver": "1.3.4", + "Node name for S&R": "LazySwitchKJ" + }, + "widgets_values": [ + false + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 336, + "type": "CreateVideo", + "pos": [ + 2740, + 7340 + ], + "size": [ + 210, + 78 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "localized_name": "images", + "name": "images", + "type": "IMAGE", + "link": 698 + }, + { + "localized_name": "audio", + "name": "audio", + "shape": 7, + "type": "AUDIO", + "link": 697 + } + ], + "outputs": [ + { + "localized_name": "VIDEO", + "name": "VIDEO", + "type": "VIDEO", + "links": [ + 704 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.5.1", + "Node name for S&R": "CreateVideo", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + 24 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 341, + "type": "PrimitiveBoolean", + "pos": [ + 2450, + 7230 + ], + "size": [ + 230, + 58 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "localized_name": "value", + "name": "value", + "type": "BOOLEAN", + "widget": { + "name": "value" + }, + "link": 708 + } + ], + "outputs": [ + { + "localized_name": "BOOLEAN", + "name": "BOOLEAN", + "type": "BOOLEAN", + "links": [ + 707 + ] + } + ], + "title": "Use Optimized Decoding", + "properties": { + "cnr_id": "comfy-core", + "ver": "0.17.2", + "Node name for S&R": "PrimitiveBoolean" + }, + "widgets_values": [ + false + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 334, + "type": "LTXVSeparateAVLatent", + "pos": [ + 1820, + 7190 + ], + "size": [ + 240, + 46 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "localized_name": "av_latent", + "name": "av_latent", + "type": "LATENT", + "link": 692 + } + ], + "outputs": [ + { + "localized_name": "video_latent", + "name": "video_latent", + "type": "LATENT", + "links": [ + 702, + 1059 + ] + }, + { + "localized_name": "audio_latent", + "name": "audio_latent", + "type": "LATENT", + "links": [ + 687 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.5.1", + "Node name for S&R": "LTXVSeparateAVLatent", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 330, + "type": "LTXVAudioVAEDecode", + "pos": [ + 1820, + 7280 + ], + "size": [ + 240, + 46 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [ + { + "localized_name": "samples", + "name": "samples", + "type": "LATENT", + "link": 687 + }, + { + "label": "Audio VAE", + "localized_name": "audio_vae", + "name": "audio_vae", + "type": "VAE", + "link": 693 + } + ], + "outputs": [ + { + "localized_name": "Audio", + "name": "Audio", + "type": "AUDIO", + "links": [ + 697 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.7.0", + "Node name for S&R": "LTXVAudioVAEDecode", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 340, + "type": "VAEDecode", + "pos": [ + 2110, + 7190 + ], + "size": [ + 150, + 50 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "localized_name": "samples", + "name": "samples", + "type": "LATENT", + "link": 702 + }, + { + "localized_name": "vae", + "name": "vae", + "type": "VAE", + "link": 703 + } + ], + "outputs": [ + { + "localized_name": "IMAGE", + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 701 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.17.2", + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 432, + "type": "VAEDecodeTiled", + "pos": [ + 2110, + 7320 + ], + "size": [ + 270, + 150 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "localized_name": "samples", + "name": "samples", + "type": "LATENT", + "link": 1059 + }, + { + "localized_name": "vae", + "name": "vae", + "type": "VAE", + "link": 1060 + } + ], + "outputs": [ + { + "localized_name": "IMAGE", + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1058 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.17.2", + "Node name for S&R": "VAEDecodeTiled" + }, + "widgets_values": [ + 768, + 128, + 128, + 8 + ], + "color": "#222", + "bgcolor": "#000" + } + ], + "groups": [], + "links": [ + { + "id": 687, + "origin_id": 334, + "origin_slot": 1, + "target_id": 330, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 692, + "origin_id": -10, + "origin_slot": 0, + "target_id": 334, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 693, + "origin_id": -10, + "origin_slot": 1, + "target_id": 330, + "target_slot": 1, + "type": "VAE" + }, + { + "id": 697, + "origin_id": 330, + "origin_slot": 0, + "target_id": 336, + "target_slot": 1, + "type": "AUDIO" + }, + { + "id": 698, + "origin_id": 337, + "origin_slot": 0, + "target_id": 336, + "target_slot": 0, + "type": "IMAGE" + }, + { + "id": 701, + "origin_id": 340, + "origin_slot": 0, + "target_id": 337, + "target_slot": 0, + "type": "IMAGE" + }, + { + "id": 702, + "origin_id": 334, + "origin_slot": 0, + "target_id": 340, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 703, + "origin_id": -10, + "origin_slot": 2, + "target_id": 340, + "target_slot": 1, + "type": "VAE" + }, + { + "id": 704, + "origin_id": 336, + "origin_slot": 0, + "target_id": -20, + "target_slot": 0, + "type": "VIDEO" + }, + { + "id": 707, + "origin_id": 341, + "origin_slot": 0, + "target_id": 337, + "target_slot": 2, + "type": "BOOLEAN" + }, + { + "id": 708, + "origin_id": -10, + "origin_slot": 3, + "target_id": 341, + "target_slot": 0, + "type": "BOOLEAN" + }, + { + "id": 1058, + "origin_id": 432, + "origin_slot": 0, + "target_id": 337, + "target_slot": 1, + "type": "IMAGE" + }, + { + "id": 1059, + "origin_id": 334, + "origin_slot": 0, + "target_id": 432, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 1060, + "origin_id": -10, + "origin_slot": 2, + "target_id": 432, + "target_slot": 1, + "type": "VAE" + } + ], + "extra": { + "workflowRendererVersion": "LG" + } + }, + { + "id": "afa29944-eb58-40a5-8e76-484f2503fa0c", + "version": 1, + "state": { + "lastGroupId": 33, + "lastNodeId": 443, + "lastLinkId": 1079, + "lastRerouteId": 0 + }, + "revision": 0, + "config": {}, + "name": "Stage #1", + "inputNode": { + "id": -10, + "bounding": [ + 280, + 7113, + 120, + 140 + ] + }, + "outputNode": { + "id": -20, + "bounding": [ + 1150, + 6970, + 120, + 80 + ] + }, + "inputs": [ + { + "id": "e760d60a-9b49-4b40-8f39-3c81f29c08d8", + "name": "model", + "type": "MODEL", + "linkIds": [ + 683, + 686 + ], + "pos": [ + 380, + 7133 + ] + }, + { + "id": "6ab6641e-8318-4330-8b01-43ce43648dcf", + "name": "positive", + "type": "CONDITIONING", + "linkIds": [ + 786 + ], + "pos": [ + 380, + 7153 + ] + }, + { + "id": "e1e7e2f6-49fb-4754-92ab-b71442b03da7", + "name": "negative", + "type": "CONDITIONING", + "linkIds": [ + 787 + ], + "pos": [ + 380, + 7173 + ] + }, + { + "id": "5c9d4c86-ec46-4099-b7e1-41a9288a00d0", + "name": "latent_image", + "type": "LATENT", + "linkIds": [ + 687 + ], + "pos": [ + 380, + 7193 + ] + }, + { + "id": "0a89214b-81f0-4fa9-86fa-5f77079ddb7b", + "name": "noise", + "type": "NOISE", + "linkIds": [ + 688 + ], + "pos": [ + 380, + 7213 + ] + } + ], + "outputs": [ + { + "id": "b6f80403-e98c-41ad-a692-270973783381", + "name": "video_latent", + "type": "LATENT", + "linkIds": [ + 689 + ], + "pos": [ + 1170, + 6990 + ] + }, + { + "id": "f54a00fd-f0db-4e4e-9205-9c9d3e955032", + "name": "audio_latent", + "type": "LATENT", + "linkIds": [ + 690 + ], + "pos": [ + 1170, + 7010 + ] + } + ], + "widgets": [], + "nodes": [ + { + "id": 325, + "type": "KSamplerSelect", + "pos": [ + 460, + 7120 + ], + "size": [ + 210, + 60 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "SAMPLER", + "name": "SAMPLER", + "type": "SAMPLER", + "links": [ + 680 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.56", + "Node name for S&R": "KSamplerSelect", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + "euler" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 326, + "type": "BasicScheduler", + "pos": [ + 460, + 7220 + ], + "size": [ + 210, + 106 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "localized_name": "model", + "name": "model", + "type": "MODEL", + "link": 686 + } + ], + "outputs": [ + { + "localized_name": "SIGMAS", + "name": "SIGMAS", + "type": "SIGMAS", + "links": [ + 681 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.16.4", + "Node name for S&R": "BasicScheduler" + }, + "widgets_values": [ + "linear_quadratic", + 8, + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 322, + "type": "SamplerCustomAdvanced", + "pos": [ + 690, + 6980 + ], + "size": [ + 212.3638671875, + 204.64497833251954 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "localized_name": "noise", + "name": "noise", + "type": "NOISE", + "link": 688 + }, + { + "localized_name": "guider", + "name": "guider", + "type": "GUIDER", + "link": 679 + }, + { + "localized_name": "sampler", + "name": "sampler", + "type": "SAMPLER", + "link": 680 + }, + { + "localized_name": "sigmas", + "name": "sigmas", + "type": "SIGMAS", + "link": 681 + }, + { + "localized_name": "latent_image", + "name": "latent_image", + "type": "LATENT", + "link": 687 + } + ], + "outputs": [ + { + "localized_name": "output", + "name": "output", + "type": "LATENT", + "links": [ + 682 + ] + }, + { + "localized_name": "denoised_output", + "name": "denoised_output", + "type": "LATENT", + "links": [] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.60", + "Node name for S&R": "SamplerCustomAdvanced", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 323, + "type": "LTXVSeparateAVLatent", + "pos": [ + 920, + 6980 + ], + "size": [ + 193.2916015625, + 46 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "localized_name": "av_latent", + "name": "av_latent", + "type": "LATENT", + "link": 682 + } + ], + "outputs": [ + { + "localized_name": "video_latent", + "name": "video_latent", + "type": "LATENT", + "links": [ + 689 + ] + }, + { + "localized_name": "audio_latent", + "name": "audio_latent", + "type": "LATENT", + "links": [ + 690 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.5.1", + "Node name for S&R": "LTXVSeparateAVLatent", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 324, + "type": "CFGGuider", + "pos": [ + 460, + 6990 + ], + "size": [ + 210, + 98 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "localized_name": "model", + "name": "model", + "type": "MODEL", + "link": 683 + }, + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "link": 786 + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "link": 787 + } + ], + "outputs": [ + { + "localized_name": "GUIDER", + "name": "GUIDER", + "type": "GUIDER", + "links": [ + 679 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.64", + "Node name for S&R": "CFGGuider", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + 1 + ], + "color": "#222", + "bgcolor": "#000" + } + ], + "groups": [], + "links": [ + { + "id": 679, + "origin_id": 324, + "origin_slot": 0, + "target_id": 322, + "target_slot": 1, + "type": "GUIDER" + }, + { + "id": 680, + "origin_id": 325, + "origin_slot": 0, + "target_id": 322, + "target_slot": 2, + "type": "SAMPLER" + }, + { + "id": 681, + "origin_id": 326, + "origin_slot": 0, + "target_id": 322, + "target_slot": 3, + "type": "SIGMAS" + }, + { + "id": 682, + "origin_id": 322, + "origin_slot": 0, + "target_id": 323, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 683, + "origin_id": -10, + "origin_slot": 0, + "target_id": 324, + "target_slot": 0, + "type": "MODEL" + }, + { + "id": 686, + "origin_id": -10, + "origin_slot": 0, + "target_id": 326, + "target_slot": 0, + "type": "MODEL" + }, + { + "id": 687, + "origin_id": -10, + "origin_slot": 3, + "target_id": 322, + "target_slot": 4, + "type": "LATENT" + }, + { + "id": 688, + "origin_id": -10, + "origin_slot": 4, + "target_id": 322, + "target_slot": 0, + "type": "NOISE" + }, + { + "id": 689, + "origin_id": 323, + "origin_slot": 0, + "target_id": -20, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 690, + "origin_id": 323, + "origin_slot": 1, + "target_id": -20, + "target_slot": 1, + "type": "LATENT" + }, + { + "id": 786, + "origin_id": -10, + "origin_slot": 1, + "target_id": 324, + "target_slot": 1, + "type": "CONDITIONING" + }, + { + "id": 787, + "origin_id": -10, + "origin_slot": 2, + "target_id": 324, + "target_slot": 2, + "type": "CONDITIONING" + } + ], + "extra": { + "workflowRendererVersion": "LG" + } + }, + { + "id": "ce8f7842-cb03-41b4-9b1e-8d032b2a4e72", + "version": 1, + "state": { + "lastGroupId": 33, + "lastNodeId": 443, + "lastLinkId": 1079, + "lastRerouteId": 0 + }, + "revision": 0, + "config": {}, + "name": "Stage #2", + "inputNode": { + "id": -10, + "bounding": [ + 280, + 7113, + 125.224609375, + 240 + ] + }, + "outputNode": { + "id": -20, + "bounding": [ + 1820, + 7130, + 120, + 120 + ] + }, + "inputs": [ + { + "id": "e760d60a-9b49-4b40-8f39-3c81f29c08d8", + "name": "model", + "type": "MODEL", + "linkIds": [ + 683, + 686 + ], + "pos": [ + 385.224609375, + 7133 + ] + }, + { + "id": "6ab6641e-8318-4330-8b01-43ce43648dcf", + "name": "positive", + "type": "CONDITIONING", + "linkIds": [ + 703 + ], + "pos": [ + 385.224609375, + 7153 + ] + }, + { + "id": "e1e7e2f6-49fb-4754-92ab-b71442b03da7", + "name": "negative", + "type": "CONDITIONING", + "linkIds": [ + 704 + ], + "pos": [ + 385.224609375, + 7173 + ] + }, + { + "id": "0a89214b-81f0-4fa9-86fa-5f77079ddb7b", + "name": "noise", + "type": "NOISE", + "linkIds": [ + 688 + ], + "pos": [ + 385.224609375, + 7193 + ] + }, + { + "id": "d8824343-6b21-42aa-9eaf-65d1b267662d", + "name": "vae", + "type": "VAE", + "linkIds": [ + 706, + 990 + ], + "label": "video_vae", + "pos": [ + 385.224609375, + 7213 + ] + }, + { + "id": "6ea10719-25f1-449a-9d2d-bb395d89609d", + "name": "image", + "type": "IMAGE", + "linkIds": [], + "pos": [ + 385.224609375, + 7233 + ] + }, + { + "id": "6c54f923-7ccc-4832-86ca-38d39cfcc656", + "name": "samples", + "type": "LATENT", + "linkIds": [ + 705 + ], + "label": "video_latent", + "pos": [ + 385.224609375, + 7253 + ] + }, + { + "id": "5ce3a92e-d38a-4078-bc1f-7426a38fa1ff", + "name": "audio_latent", + "type": "LATENT", + "linkIds": [ + 700 + ], + "pos": [ + 385.224609375, + 7273 + ] + }, + { + "id": "6a8ebcb1-8f4b-4558-893c-1b6be5c462ec", + "name": "multi_input", + "type": "IMAGE", + "linkIds": [ + 1004 + ], + "pos": [ + 385.224609375, + 7293 + ] + }, + { + "id": "7443af4e-2549-4707-813a-a7e7efa13046", + "name": "upscale_model", + "type": "LATENT_UPSCALE_MODEL", + "linkIds": [ + 1035 + ], + "pos": [ + 385.224609375, + 7313 + ] + } + ], + "outputs": [ + { + "id": "b6f80403-e98c-41ad-a692-270973783381", + "name": "video_latent", + "type": "LATENT", + "linkIds": [ + 843 + ], + "pos": [ + 1840, + 7150 + ] + }, + { + "id": "f54a00fd-f0db-4e4e-9205-9c9d3e955032", + "name": "audio_latent", + "type": "LATENT", + "linkIds": [ + 690 + ], + "pos": [ + 1840, + 7170 + ] + }, + { + "id": "3ecaa920-05d1-4c39-8ea0-b7b21e2df49b", + "name": "positive", + "type": "CONDITIONING", + "linkIds": [ + 985 + ], + "pos": [ + 1840, + 7190 + ] + }, + { + "id": "d1c64c87-487c-4677-9f80-d4a7ef6cdcc6", + "name": "negative", + "type": "CONDITIONING", + "linkIds": [ + 986 + ], + "pos": [ + 1840, + 7210 + ] + } + ], + "widgets": [], + "nodes": [ + { + "id": 326, + "type": "BasicScheduler", + "pos": [ + 480, + 7210 + ], + "size": [ + 210, + 106 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "localized_name": "model", + "name": "model", + "type": "MODEL", + "link": 686 + } + ], + "outputs": [ + { + "localized_name": "SIGMAS", + "name": "SIGMAS", + "type": "SIGMAS", + "links": [ + 681 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.16.4", + "Node name for S&R": "BasicScheduler" + }, + "widgets_values": [ + "linear_quadratic", + 6, + 0.42 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 325, + "type": "KSamplerSelect", + "pos": [ + 480, + 7110 + ], + "size": [ + 210, + 60 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "SAMPLER", + "name": "SAMPLER", + "type": "SAMPLER", + "links": [ + 680 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.56", + "Node name for S&R": "KSamplerSelect", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + "euler" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 322, + "type": "SamplerCustomAdvanced", + "pos": [ + 1370, + 7130 + ], + "size": [ + 212.3638671875, + 204.64497833251954 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "localized_name": "noise", + "name": "noise", + "type": "NOISE", + "link": 688 + }, + { + "localized_name": "guider", + "name": "guider", + "type": "GUIDER", + "link": 679 + }, + { + "localized_name": "sampler", + "name": "sampler", + "type": "SAMPLER", + "link": 680 + }, + { + "localized_name": "sigmas", + "name": "sigmas", + "type": "SIGMAS", + "link": 681 + }, + { + "localized_name": "latent_image", + "name": "latent_image", + "type": "LATENT", + "link": 697 + } + ], + "outputs": [ + { + "localized_name": "output", + "name": "output", + "type": "LATENT", + "links": [ + 682 + ] + }, + { + "localized_name": "denoised_output", + "name": "denoised_output", + "type": "LATENT", + "links": [] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.60", + "Node name for S&R": "SamplerCustomAdvanced", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 323, + "type": "LTXVSeparateAVLatent", + "pos": [ + 1600, + 7140 + ], + "size": [ + 193.2916015625, + 46 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "localized_name": "av_latent", + "name": "av_latent", + "type": "LATENT", + "link": 682 + } + ], + "outputs": [ + { + "localized_name": "video_latent", + "name": "video_latent", + "type": "LATENT", + "links": [ + 843 + ] + }, + { + "localized_name": "audio_latent", + "name": "audio_latent", + "type": "LATENT", + "links": [ + 690 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.5.1", + "Node name for S&R": "LTXVSeparateAVLatent", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 409, + "type": "LTXSequencer", + "pos": [ + 850, + 7140 + ], + "size": [ + 210, + 200 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "link": 988 + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "link": 989 + }, + { + "localized_name": "vae", + "name": "vae", + "type": "VAE", + "link": 990 + }, + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "link": 991 + }, + { + "localized_name": "multi_input", + "name": "multi_input", + "type": "IMAGE", + "link": 1004 + } + ], + "outputs": [ + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "links": [ + 983, + 985 + ] + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "links": [ + 984, + 986 + ] + }, + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "links": [ + 987 + ] + } + ], + "properties": { + "cnr_id": "WhatDreamsCost-ComfyUI", + "ver": "ecd00e6b404f14b07c7b54b0b0033e8bccb32d24", + "Node name for S&R": "LTXSequencer", + "num_images": 0, + "insert_frame_1": 0, + "strength_1": 1, + "insert_frame_2": 0, + "strength_2": 1, + "insert_frame_3": 0, + "strength_3": 1, + "insert_frame_4": 0, + "strength_4": 1, + "insert_frame_5": 0, + "strength_5": 1, + "insert_frame_6": 0, + "strength_6": 1, + "insert_frame_7": 0, + "strength_7": 1, + "insert_frame_8": 0, + "strength_8": 1, + "insert_frame_9": 0, + "strength_9": 0, + "insert_frame_10": 1, + "strength_10": 1, + "insert_frame_11": 0, + "strength_11": 0, + "insert_frame_12": 1, + "strength_12": 1, + "insert_frame_13": 0, + "strength_13": 0, + "insert_frame_14": 1, + "strength_14": 1, + "insert_frame_15": 0, + "strength_15": 0, + "insert_frame_16": 1, + "strength_16": 1, + "insert_frame_17": 0, + "strength_17": 0, + "insert_frame_18": 1, + "strength_18": 1, + "insert_frame_19": 0, + "strength_19": 0, + "insert_frame_20": 1, + "strength_20": 1, + "insert_frame_21": 0, + "strength_21": 0, + "insert_frame_22": 1, + "strength_22": 1, + "insert_frame_23": 0, + "strength_23": 0, + "insert_frame_24": 1, + "strength_24": 1, + "insert_frame_25": 0, + "strength_25": 0, + "insert_frame_26": 1, + "strength_26": 1, + "insert_frame_27": 0, + "strength_27": 0, + "insert_frame_28": 1, + "strength_28": 1, + "insert_frame_29": 0, + "strength_29": 0, + "insert_frame_30": 1, + "strength_30": 1, + "insert_frame_31": 0, + "strength_31": 0, + "insert_frame_32": 1, + "strength_32": 1, + "insert_frame_33": 0, + "strength_33": 1, + "insert_frame_34": 0, + "strength_34": 1, + "insert_frame_35": 0, + "strength_35": 1, + "insert_frame_36": 0, + "strength_36": 1, + "insert_frame_37": 0, + "strength_37": 1, + "insert_frame_38": 0, + "strength_38": 1, + "insert_frame_39": 0, + "strength_39": 1, + "insert_frame_40": 0, + "strength_40": 1, + "insert_frame_41": 0, + "strength_41": 1, + "insert_frame_42": 0, + "strength_42": 1, + "insert_frame_43": 0, + "strength_43": 1, + "insert_frame_44": 0, + "strength_44": 1, + "insert_frame_45": 0, + "strength_45": 1, + "insert_frame_46": 0, + "strength_46": 1, + "insert_frame_47": 0, + "strength_47": 1, + "insert_frame_48": 0, + "strength_48": 1, + "insert_frame_49": 0, + "strength_49": 1, + "insert_frame_50": 0, + "strength_50": 1, + "insert_mode": "frames", + "frame_rate": 24, + "insert_second_1": 0, + "insert_second_2": 0, + "insert_second_3": 0, + "insert_second_4": 0, + "insert_second_5": 0, + "insert_second_6": 0, + "insert_second_7": 0, + "insert_second_8": 0, + "insert_second_9": 1, + "insert_second_10": 0, + "insert_second_11": 1, + "insert_second_12": 0, + "insert_second_13": 1, + "insert_second_14": 0, + "insert_second_15": 1, + "insert_second_16": 0, + "insert_second_17": 1, + "insert_second_18": 0, + "insert_second_19": 1, + "insert_second_20": 0, + "insert_second_21": 1, + "insert_second_22": 0, + "insert_second_23": 1, + "insert_second_24": 0, + "insert_second_25": 1, + "insert_second_26": 0, + "insert_second_27": 1, + "insert_second_28": 0, + "insert_second_29": 1, + "insert_second_30": 0, + "insert_second_31": 1, + "insert_second_32": 0, + "insert_second_33": 1, + "insert_second_34": 0, + "insert_second_35": 0, + "insert_second_36": 0, + "insert_second_37": 0, + "insert_second_38": 0, + "insert_second_39": 0, + "insert_second_40": 0, + "insert_second_41": 0, + "insert_second_42": 0, + "insert_second_43": 0, + "insert_second_44": 0, + "insert_second_45": 0, + "insert_second_46": 0, + "insert_second_47": 0, + "insert_second_48": 0, + "insert_second_49": 0, + "insert_second_50": 0, + "insert_images_using": "frames", + "video_length": 1, + "insert_percentage_1": 0, + "insert_percentage_2": 1, + "insert_percentage_3": 0, + "insert_percentage_4": 0, + "insert_percentage_5": 0, + "insert_percentage_6": 0, + "insert_percentage_7": 0, + "insert_percentage_8": 0, + "insert_percentage_9": 0, + "insert_percentage_10": 0, + "insert_percentage_11": 0, + "insert_percentage_12": 0, + "insert_percentage_13": 0, + "insert_percentage_14": 0, + "insert_percentage_15": 0, + "insert_percentage_16": 0, + "insert_percentage_17": 0, + "insert_percentage_18": 0, + "insert_percentage_19": 0, + "insert_percentage_20": 0, + "insert_percentage_21": 0, + "insert_percentage_22": 0, + "insert_percentage_23": 0, + "insert_percentage_24": 0, + "insert_percentage_25": 0, + "insert_percentage_26": 0, + "insert_percentage_27": 0, + "insert_percentage_28": 0, + "insert_percentage_29": 0, + "insert_percentage_30": 0, + "insert_percentage_31": 0, + "insert_percentage_32": 0, + "insert_percentage_33": 0, + "insert_percentage_34": 0, + "insert_percentage_35": 0, + "insert_percentage_36": 0, + "insert_percentage_37": 0, + "insert_percentage_38": 0, + "insert_percentage_39": 0, + "insert_percentage_40": 0, + "insert_percentage_41": 0, + "insert_percentage_42": 0, + "insert_percentage_43": 0, + "insert_percentage_44": 0, + "insert_percentage_45": 0, + "insert_percentage_46": 0, + "insert_percentage_47": 0, + "insert_percentage_48": 0, + "insert_percentage_49": 0, + "insert_percentage_50": 0, + "insert_percent_1": 0, + "insert_percent_2": 50, + "insert_percent_3": 100, + "insert_percent_4": 0, + "insert_percent_5": 0, + "insert_percent_6": 0, + "insert_percent_7": 0, + "insert_percent_8": 0, + "insert_percent_9": 0, + "insert_percent_10": 0, + "insert_percent_11": 0, + "insert_percent_12": 0, + "insert_percent_13": 0, + "insert_percent_14": 0, + "insert_percent_15": 0, + "insert_percent_16": 0, + "insert_percent_17": 0, + "insert_percent_18": 0, + "insert_percent_19": 0, + "insert_percent_20": 0, + "insert_percent_21": 0, + "insert_percent_22": 0, + "insert_percent_23": 0, + "insert_percent_24": 0, + "insert_percent_25": 0, + "insert_percent_26": 0, + "insert_percent_27": 0, + "insert_percent_28": 0, + "insert_percent_29": 0, + "insert_percent_30": 0, + "insert_percent_31": 0, + "insert_percent_32": 0, + "insert_percent_33": 0, + "insert_percent_34": 0, + "insert_percent_35": 0, + "insert_percent_36": 0, + "insert_percent_37": 0, + "insert_percent_38": 0, + "insert_percent_39": 0, + "insert_percent_40": 0, + "insert_percent_41": 0, + "insert_percent_42": 0, + "insert_percent_43": 0, + "insert_percent_44": 0, + "insert_percent_45": 0, + "insert_percent_46": 0, + "insert_percent_47": 0, + "insert_percent_48": 0, + "insert_percent_49": 0, + "insert_percent_50": 0 + }, + "widgets_values": [ + 0, + "frames", + 24, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 331, + "type": "LTXVCropGuides", + "pos": [ + 490, + 7000 + ], + "size": [ + 152.7134765625, + 66 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "link": 703 + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "link": 704 + }, + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "link": 705 + } + ], + "outputs": [ + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "links": [ + 828, + 846, + 988 + ] + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "links": [ + 829, + 847, + 989 + ] + }, + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "links": [ + 850 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.16.4", + "Node name for S&R": "LTXVCropGuides" + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 329, + "type": "LTXVConcatAVLatent", + "pos": [ + 1140, + 7270 + ], + "size": [ + 187.5, + 60 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "localized_name": "video_latent", + "name": "video_latent", + "type": "LATENT", + "link": 987 + }, + { + "localized_name": "audio_latent", + "name": "audio_latent", + "type": "LATENT", + "link": 700 + } + ], + "outputs": [ + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "links": [ + 697 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.7.0", + "Node name for S&R": "LTXVConcatAVLatent", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 324, + "type": "CFGGuider", + "pos": [ + 1140, + 7130 + ], + "size": [ + 210, + 98 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "localized_name": "model", + "name": "model", + "type": "MODEL", + "link": 683 + }, + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "link": 983 + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "link": 984 + } + ], + "outputs": [ + { + "localized_name": "GUIDER", + "name": "GUIDER", + "type": "GUIDER", + "links": [ + 679 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.64", + "Node name for S&R": "CFGGuider", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 328, + "type": "LTXVLatentUpsampler", + "pos": [ + 480, + 7370 + ], + "size": [ + 320, + 66 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "localized_name": "samples", + "name": "samples", + "type": "LATENT", + "link": 850 + }, + { + "localized_name": "upscale_model", + "name": "upscale_model", + "type": "LATENT_UPSCALE_MODEL", + "link": 1035 + }, + { + "localized_name": "vae", + "name": "vae", + "type": "VAE", + "link": 706 + } + ], + "outputs": [ + { + "localized_name": "LATENT", + "name": "LATENT", + "type": "LATENT", + "links": [ + 991 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.14.1", + "Node name for S&R": "LTXVLatentUpsampler", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + } + ], + "groups": [], + "links": [ + { + "id": 679, + "origin_id": 324, + "origin_slot": 0, + "target_id": 322, + "target_slot": 1, + "type": "GUIDER" + }, + { + "id": 680, + "origin_id": 325, + "origin_slot": 0, + "target_id": 322, + "target_slot": 2, + "type": "SAMPLER" + }, + { + "id": 681, + "origin_id": 326, + "origin_slot": 0, + "target_id": 322, + "target_slot": 3, + "type": "SIGMAS" + }, + { + "id": 682, + "origin_id": 322, + "origin_slot": 0, + "target_id": 323, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 683, + "origin_id": -10, + "origin_slot": 0, + "target_id": 324, + "target_slot": 0, + "type": "MODEL" + }, + { + "id": 686, + "origin_id": -10, + "origin_slot": 0, + "target_id": 326, + "target_slot": 0, + "type": "MODEL" + }, + { + "id": 688, + "origin_id": -10, + "origin_slot": 3, + "target_id": 322, + "target_slot": 0, + "type": "NOISE" + }, + { + "id": 690, + "origin_id": 323, + "origin_slot": 1, + "target_id": -20, + "target_slot": 1, + "type": "LATENT" + }, + { + "id": 697, + "origin_id": 329, + "origin_slot": 0, + "target_id": 322, + "target_slot": 4, + "type": "LATENT" + }, + { + "id": 700, + "origin_id": -10, + "origin_slot": 7, + "target_id": 329, + "target_slot": 1, + "type": "LATENT" + }, + { + "id": 703, + "origin_id": -10, + "origin_slot": 1, + "target_id": 331, + "target_slot": 0, + "type": "CONDITIONING" + }, + { + "id": 704, + "origin_id": -10, + "origin_slot": 2, + "target_id": 331, + "target_slot": 1, + "type": "CONDITIONING" + }, + { + "id": 705, + "origin_id": -10, + "origin_slot": 6, + "target_id": 331, + "target_slot": 2, + "type": "LATENT" + }, + { + "id": 706, + "origin_id": -10, + "origin_slot": 4, + "target_id": 328, + "target_slot": 2, + "type": "VAE" + }, + { + "id": 843, + "origin_id": 323, + "origin_slot": 0, + "target_id": -20, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 850, + "origin_id": 331, + "origin_slot": 2, + "target_id": 328, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 983, + "origin_id": 409, + "origin_slot": 0, + "target_id": 324, + "target_slot": 1, + "type": "CONDITIONING" + }, + { + "id": 984, + "origin_id": 409, + "origin_slot": 1, + "target_id": 324, + "target_slot": 2, + "type": "CONDITIONING" + }, + { + "id": 985, + "origin_id": 409, + "origin_slot": 0, + "target_id": -20, + "target_slot": 2, + "type": "CONDITIONING" + }, + { + "id": 986, + "origin_id": 409, + "origin_slot": 1, + "target_id": -20, + "target_slot": 3, + "type": "CONDITIONING" + }, + { + "id": 987, + "origin_id": 409, + "origin_slot": 2, + "target_id": 329, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 988, + "origin_id": 331, + "origin_slot": 0, + "target_id": 409, + "target_slot": 0, + "type": "CONDITIONING" + }, + { + "id": 989, + "origin_id": 331, + "origin_slot": 1, + "target_id": 409, + "target_slot": 1, + "type": "CONDITIONING" + }, + { + "id": 990, + "origin_id": -10, + "origin_slot": 4, + "target_id": 409, + "target_slot": 2, + "type": "VAE" + }, + { + "id": 991, + "origin_id": 328, + "origin_slot": 0, + "target_id": 409, + "target_slot": 3, + "type": "LATENT" + }, + { + "id": 1004, + "origin_id": -10, + "origin_slot": 8, + "target_id": 409, + "target_slot": 4, + "type": "IMAGE" + }, + { + "id": 1035, + "origin_id": -10, + "origin_slot": 9, + "target_id": 328, + "target_slot": 1, + "type": "LATENT_UPSCALE_MODEL" + } + ], + "extra": { + "workflowRendererVersion": "LG" + } + }, + { + "id": "2979f3eb-1c4c-45ff-8387-f1f4addb72f4", + "version": 1, + "state": { + "lastGroupId": 33, + "lastNodeId": 443, + "lastLinkId": 1079, + "lastRerouteId": 0 + }, + "revision": 0, + "config": {}, + "name": "Process Latents", + "inputNode": { + "id": -10, + "bounding": [ + 2630, + 6303, + 128.998046875, + 100 + ] + }, + "outputNode": { + "id": -20, + "bounding": [ + 3500, + 6303, + 120, + 80 + ] + }, + "inputs": [ + { + "id": "f9d3f39d-4628-4ef2-a464-ffb98c1fb4bc", + "name": "image", + "type": "IMAGE", + "linkIds": [ + 713 + ], + "localized_name": "image", + "pos": [ + 2738.998046875, + 6323 + ] + }, + { + "id": "6c61b79c-c6a2-4cd9-96a7-72073d3603c1", + "name": "length", + "type": "INT", + "linkIds": [ + 708, + 709 + ], + "localized_name": "length", + "label": "length_seconds", + "pos": [ + 2738.998046875, + 6343 + ] + }, + { + "id": "610c02c9-497c-45ac-b603-ea5bd91aec4c", + "name": "audio_vae", + "type": "VAE", + "linkIds": [ + 714 + ], + "pos": [ + 2738.998046875, + 6363 + ] + } + ], + "outputs": [ + { + "id": "2cf8b0ee-4e7a-4045-a1ee-bbd4b878068e", + "name": "LATENT", + "type": "LATENT", + "linkIds": [ + 710 + ], + "localized_name": "LATENT", + "pos": [ + 3520, + 6323 + ] + }, + { + "id": "44e92917-679f-4cc3-aa57-51b4a6ef24a8", + "name": "Latent", + "type": "LATENT", + "linkIds": [ + 705 + ], + "localized_name": "Latent", + "pos": [ + 3520, + 6343 + ] + } + ], + "widgets": [], + "nodes": [ + { + "id": 356, + "type": "GetImageSize", + "pos": [ + 3030, + 6210 + ], + "size": [ + 170, + 70 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "localized_name": "image", + "name": "image", + "type": "IMAGE", + "link": 711 + } + ], + "outputs": [ + { + "localized_name": "width", + "name": "width", + "type": "INT", + "links": [ + 706 + ] + }, + { + "localized_name": "height", + "name": "height", + "type": "INT", + "links": [ + 707 + ] + }, + { + "localized_name": "batch_size", + "name": "batch_size", + "type": "INT", + "links": null + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.7.0", + "Node name for S&R": "GetImageSize", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 352, + "type": "EmptyLTXVLatentVideo", + "pos": [ + 3210, + 6210 + ], + "size": [ + 210, + 130 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [ + { + "localized_name": "width", + "name": "width", + "type": "INT", + "widget": { + "name": "width" + }, + "link": 706 + }, + { + "localized_name": "height", + "name": "height", + "type": "INT", + "widget": { + "name": "height" + }, + "link": 707 + }, + { + "localized_name": "length", + "name": "length", + "type": "INT", + "widget": { + "name": "length" + }, + "link": 708 + } + ], + "outputs": [ + { + "localized_name": "LATENT", + "name": "LATENT", + "type": "LATENT", + "links": [ + 710 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.60", + "Node name for S&R": "EmptyLTXVLatentVideo", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + 768, + 512, + 1, + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 353, + "type": "LTXVEmptyLatentAudio", + "pos": [ + 3210, + 6380 + ], + "size": [ + 210, + 106 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "localized_name": "audio_vae", + "name": "audio_vae", + "type": "VAE", + "link": 714 + }, + { + "localized_name": "frames_number", + "name": "frames_number", + "type": "INT", + "widget": { + "name": "frames_number" + }, + "link": 709 + } + ], + "outputs": [ + { + "localized_name": "Latent", + "name": "Latent", + "type": "LATENT", + "links": [ + 705 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.68", + "Node name for S&R": "LTXVEmptyLatentAudio", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + 1, + 24, + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 357, + "type": "ImageScaleBy", + "pos": [ + 2810, + 6210 + ], + "size": [ + 210, + 82 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "localized_name": "image", + "name": "image", + "type": "IMAGE", + "link": 713 + } + ], + "outputs": [ + { + "localized_name": "IMAGE", + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 711 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.5.1", + "Node name for S&R": "ImageScaleBy", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65, + "ue_properties": { + "version": "7.0.1", + "widget_ue_connectable": {} + } + }, + "widgets_values": [ + "bilinear", + 0.5 + ], + "color": "#222", + "bgcolor": "#000" + } + ], + "groups": [], + "links": [ + { + "id": 711, + "origin_id": 357, + "origin_slot": 0, + "target_id": 356, + "target_slot": 0, + "type": "IMAGE" + }, + { + "id": 706, + "origin_id": 356, + "origin_slot": 0, + "target_id": 352, + "target_slot": 0, + "type": "INT" + }, + { + "id": 707, + "origin_id": 356, + "origin_slot": 1, + "target_id": 352, + "target_slot": 1, + "type": "INT" + }, + { + "id": 713, + "origin_id": -10, + "origin_slot": 0, + "target_id": 357, + "target_slot": 0, + "type": "IMAGE" + }, + { + "id": 708, + "origin_id": -10, + "origin_slot": 1, + "target_id": 352, + "target_slot": 2, + "type": "INT" + }, + { + "id": 709, + "origin_id": -10, + "origin_slot": 1, + "target_id": 353, + "target_slot": 1, + "type": "INT" + }, + { + "id": 710, + "origin_id": 352, + "origin_slot": 0, + "target_id": -20, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 705, + "origin_id": 353, + "origin_slot": 0, + "target_id": -20, + "target_slot": 1, + "type": "LATENT" + }, + { + "id": 714, + "origin_id": -10, + "origin_slot": 2, + "target_id": 353, + "target_slot": 0, + "type": "VAE" + } + ], + "extra": { + "workflowRendererVersion": "LG" + } + }, + { + "id": "535e663f-da59-47c1-aab5-c78ff202cb16", + "version": 1, + "state": { + "lastGroupId": 33, + "lastNodeId": 443, + "lastLinkId": 1079, + "lastRerouteId": 0 + }, + "revision": 0, + "config": {}, + "name": "Stage #3", + "inputNode": { + "id": -10, + "bounding": [ + -370, + 7030, + 144.56640625, + 260 + ] + }, + "outputNode": { + "id": -20, + "bounding": [ + 1680, + 7090, + 120, + 80 + ] + }, + "inputs": [ + { + "id": "e760d60a-9b49-4b40-8f39-3c81f29c08d8", + "name": "model", + "type": "MODEL", + "linkIds": [ + 683, + 686 + ], + "pos": [ + -245.43359375, + 7050 + ] + }, + { + "id": "6ab6641e-8318-4330-8b01-43ce43648dcf", + "name": "positive", + "type": "CONDITIONING", + "linkIds": [ + 919 + ], + "pos": [ + -245.43359375, + 7070 + ] + }, + { + "id": "e1e7e2f6-49fb-4754-92ab-b71442b03da7", + "name": "negative", + "type": "CONDITIONING", + "linkIds": [ + 920 + ], + "pos": [ + -245.43359375, + 7090 + ] + }, + { + "id": "0a89214b-81f0-4fa9-86fa-5f77079ddb7b", + "name": "noise", + "type": "NOISE", + "linkIds": [ + 688 + ], + "pos": [ + -245.43359375, + 7110 + ] + }, + { + "id": "d8824343-6b21-42aa-9eaf-65d1b267662d", + "name": "vae", + "type": "VAE", + "linkIds": [ + 716, + 717, + 1002 + ], + "label": "video_vae", + "pos": [ + -245.43359375, + 7130 + ] + }, + { + "id": "6ea10719-25f1-449a-9d2d-bb395d89609d", + "name": "image", + "type": "IMAGE", + "linkIds": [], + "pos": [ + -245.43359375, + 7150 + ] + }, + { + "id": "d57f8c01-0dc1-48da-b7a2-166839b09d2b", + "name": "samples", + "type": "LATENT", + "linkIds": [ + 708 + ], + "label": "video_latent", + "pos": [ + -245.43359375, + 7170 + ] + }, + { + "id": "9f9730e3-9739-4813-953f-4c27da077f21", + "name": "audio_latent", + "type": "LATENT", + "linkIds": [ + 700 + ], + "pos": [ + -245.43359375, + 7190 + ] + }, + { + "id": "6f44ac03-cf13-4dc0-be74-7ec92e492d88", + "name": "value", + "type": "BOOLEAN", + "linkIds": [ + 719 + ], + "label": "use 2x on stage 3", + "pos": [ + -245.43359375, + 7210 + ] + }, + { + "id": "9951f766-4866-4ed1-bab3-39a03ca4ae6a", + "name": "multi_input", + "type": "IMAGE", + "linkIds": [ + 1005 + ], + "pos": [ + -245.43359375, + 7230 + ] + }, + { + "id": "265429c2-c78b-4c5d-80d7-6e272aa96a36", + "name": "upscale_model", + "type": "LATENT_UPSCALE_MODEL", + "linkIds": [ + 1038 + ], + "label": "2x_upscale_model", + "pos": [ + -245.43359375, + 7250 + ] + } + ], + "outputs": [ + { + "id": "7b177753-a22f-47a0-9ff8-7f4022516b5c", + "name": "output", + "type": "LATENT", + "linkIds": [ + 1024 + ], + "label": "video_latent", + "pos": [ + 1700, + 7110 + ] + }, + { + "id": "51232fd0-325e-4090-bcc9-4ecbdb0b9e27", + "name": "audio_latent", + "type": "LATENT", + "linkIds": [ + 1025 + ], + "pos": [ + 1700, + 7130 + ] + } + ], + "widgets": [], + "nodes": [ + { + "id": 331, + "type": "LTXVCropGuides", + "pos": [ + -190, + 6940 + ], + "size": [ + 152.7134765625, + 66 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "link": 919 + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "link": 920 + }, + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "link": 708 + } + ], + "outputs": [ + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "links": [ + 999 + ] + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "links": [ + 1000 + ] + }, + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "links": [ + 877, + 878 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.16.4", + "Node name for S&R": "LTXVCropGuides" + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 325, + "type": "KSamplerSelect", + "pos": [ + -190, + 7050 + ], + "size": [ + 210, + 60 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "SAMPLER", + "name": "SAMPLER", + "type": "SAMPLER", + "links": [ + 680 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.56", + "Node name for S&R": "KSamplerSelect", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + "euler" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 326, + "type": "BasicScheduler", + "pos": [ + -190, + 7150 + ], + "size": [ + 210, + 106 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "localized_name": "model", + "name": "model", + "type": "MODEL", + "link": 686 + } + ], + "outputs": [ + { + "localized_name": "SIGMAS", + "name": "SIGMAS", + "type": "SIGMAS", + "links": [ + 681 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.16.4", + "Node name for S&R": "BasicScheduler" + }, + "widgets_values": [ + "linear_quadratic", + 4, + 0.42 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 334, + "type": "LTXVLatentUpsampler", + "pos": [ + 160, + 7300 + ], + "size": [ + 320, + 66 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "localized_name": "samples", + "name": "samples", + "type": "LATENT", + "link": 877 + }, + { + "localized_name": "upscale_model", + "name": "upscale_model", + "type": "LATENT_UPSCALE_MODEL", + "link": 710 + }, + { + "localized_name": "vae", + "name": "vae", + "type": "VAE", + "link": 716 + } + ], + "outputs": [ + { + "localized_name": "LATENT", + "name": "LATENT", + "type": "LATENT", + "links": [ + 712 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.14.1", + "Node name for S&R": "LTXVLatentUpsampler", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 332, + "type": "LazySwitchKJ", + "pos": [ + 500, + 7360 + ], + "size": [ + 210, + 78 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "localized_name": "on_false", + "name": "on_false", + "type": "*", + "link": 712 + }, + { + "localized_name": "on_true", + "name": "on_true", + "type": "*", + "link": 713 + }, + { + "localized_name": "switch", + "name": "switch", + "type": "BOOLEAN", + "widget": { + "name": "switch" + }, + "link": 718 + } + ], + "outputs": [ + { + "localized_name": "*", + "name": "*", + "type": "*", + "links": [ + 1001 + ] + } + ], + "properties": { + "cnr_id": "comfyui-kjnodes", + "ver": "1.3.4", + "Node name for S&R": "LazySwitchKJ" + }, + "widgets_values": [ + false + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 411, + "type": "LTXSequencer", + "pos": [ + 720, + 7110 + ], + "size": [ + 210, + 200 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "link": 999 + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "link": 1000 + }, + { + "localized_name": "vae", + "name": "vae", + "type": "VAE", + "link": 1002 + }, + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "link": 1001 + }, + { + "localized_name": "multi_input", + "name": "multi_input", + "type": "IMAGE", + "link": 1005 + } + ], + "outputs": [ + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "links": [ + 996 + ] + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "links": [ + 997 + ] + }, + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "links": [ + 998 + ] + } + ], + "properties": { + "cnr_id": "WhatDreamsCost-ComfyUI", + "ver": "ecd00e6b404f14b07c7b54b0b0033e8bccb32d24", + "Node name for S&R": "LTXSequencer", + "num_images": 0, + "insert_frame_1": 0, + "strength_1": 1, + "insert_frame_2": 0, + "strength_2": 1, + "insert_frame_3": 0, + "strength_3": 1, + "insert_frame_4": 0, + "strength_4": 1, + "insert_frame_5": 0, + "strength_5": 1, + "insert_frame_6": 0, + "strength_6": 1, + "insert_frame_7": 0, + "strength_7": 1, + "insert_frame_8": 0, + "strength_8": 1, + "insert_frame_9": 0, + "strength_9": 0, + "insert_frame_10": 1, + "strength_10": 1, + "insert_frame_11": 0, + "strength_11": 0, + "insert_frame_12": 1, + "strength_12": 1, + "insert_frame_13": 0, + "strength_13": 0, + "insert_frame_14": 1, + "strength_14": 1, + "insert_frame_15": 0, + "strength_15": 0, + "insert_frame_16": 1, + "strength_16": 1, + "insert_frame_17": 0, + "strength_17": 0, + "insert_frame_18": 1, + "strength_18": 1, + "insert_frame_19": 0, + "strength_19": 0, + "insert_frame_20": 1, + "strength_20": 1, + "insert_frame_21": 0, + "strength_21": 0, + "insert_frame_22": 1, + "strength_22": 1, + "insert_frame_23": 0, + "strength_23": 0, + "insert_frame_24": 1, + "strength_24": 1, + "insert_frame_25": 0, + "strength_25": 0, + "insert_frame_26": 1, + "strength_26": 1, + "insert_frame_27": 0, + "strength_27": 0, + "insert_frame_28": 1, + "strength_28": 1, + "insert_frame_29": 0, + "strength_29": 0, + "insert_frame_30": 1, + "strength_30": 1, + "insert_frame_31": 0, + "strength_31": 0, + "insert_frame_32": 1, + "strength_32": 1, + "insert_frame_33": 0, + "strength_33": 1, + "insert_frame_34": 0, + "strength_34": 1, + "insert_frame_35": 0, + "strength_35": 1, + "insert_frame_36": 0, + "strength_36": 1, + "insert_frame_37": 0, + "strength_37": 1, + "insert_frame_38": 0, + "strength_38": 1, + "insert_frame_39": 0, + "strength_39": 1, + "insert_frame_40": 0, + "strength_40": 1, + "insert_frame_41": 0, + "strength_41": 1, + "insert_frame_42": 0, + "strength_42": 1, + "insert_frame_43": 0, + "strength_43": 1, + "insert_frame_44": 0, + "strength_44": 1, + "insert_frame_45": 0, + "strength_45": 1, + "insert_frame_46": 0, + "strength_46": 1, + "insert_frame_47": 0, + "strength_47": 1, + "insert_frame_48": 0, + "strength_48": 1, + "insert_frame_49": 0, + "strength_49": 1, + "insert_frame_50": 0, + "strength_50": 1, + "insert_mode": "frames", + "frame_rate": 24, + "insert_second_1": 0, + "insert_second_2": 0, + "insert_second_3": 0, + "insert_second_4": 0, + "insert_second_5": 0, + "insert_second_6": 0, + "insert_second_7": 0, + "insert_second_8": 0, + "insert_second_9": 1, + "insert_second_10": 0, + "insert_second_11": 1, + "insert_second_12": 0, + "insert_second_13": 1, + "insert_second_14": 0, + "insert_second_15": 1, + "insert_second_16": 0, + "insert_second_17": 1, + "insert_second_18": 0, + "insert_second_19": 1, + "insert_second_20": 0, + "insert_second_21": 1, + "insert_second_22": 0, + "insert_second_23": 1, + "insert_second_24": 0, + "insert_second_25": 1, + "insert_second_26": 0, + "insert_second_27": 1, + "insert_second_28": 0, + "insert_second_29": 1, + "insert_second_30": 0, + "insert_second_31": 1, + "insert_second_32": 0, + "insert_second_33": 1, + "insert_second_34": 0, + "insert_second_35": 0, + "insert_second_36": 0, + "insert_second_37": 0, + "insert_second_38": 0, + "insert_second_39": 0, + "insert_second_40": 0, + "insert_second_41": 0, + "insert_second_42": 0, + "insert_second_43": 0, + "insert_second_44": 0, + "insert_second_45": 0, + "insert_second_46": 0, + "insert_second_47": 0, + "insert_second_48": 0, + "insert_second_49": 0, + "insert_second_50": 0, + "insert_images_using": "frames", + "video_length": 1, + "insert_percentage_1": 0, + "insert_percentage_2": 1, + "insert_percentage_3": 0, + "insert_percentage_4": 0, + "insert_percentage_5": 0, + "insert_percentage_6": 0, + "insert_percentage_7": 0, + "insert_percentage_8": 0, + "insert_percentage_9": 0, + "insert_percentage_10": 0, + "insert_percentage_11": 0, + "insert_percentage_12": 0, + "insert_percentage_13": 0, + "insert_percentage_14": 0, + "insert_percentage_15": 0, + "insert_percentage_16": 0, + "insert_percentage_17": 0, + "insert_percentage_18": 0, + "insert_percentage_19": 0, + "insert_percentage_20": 0, + "insert_percentage_21": 0, + "insert_percentage_22": 0, + "insert_percentage_23": 0, + "insert_percentage_24": 0, + "insert_percentage_25": 0, + "insert_percentage_26": 0, + "insert_percentage_27": 0, + "insert_percentage_28": 0, + "insert_percentage_29": 0, + "insert_percentage_30": 0, + "insert_percentage_31": 0, + "insert_percentage_32": 0, + "insert_percentage_33": 0, + "insert_percentage_34": 0, + "insert_percentage_35": 0, + "insert_percentage_36": 0, + "insert_percentage_37": 0, + "insert_percentage_38": 0, + "insert_percentage_39": 0, + "insert_percentage_40": 0, + "insert_percentage_41": 0, + "insert_percentage_42": 0, + "insert_percentage_43": 0, + "insert_percentage_44": 0, + "insert_percentage_45": 0, + "insert_percentage_46": 0, + "insert_percentage_47": 0, + "insert_percentage_48": 0, + "insert_percentage_49": 0, + "insert_percentage_50": 0, + "insert_percent_1": 0, + "insert_percent_2": 50, + "insert_percent_3": 100, + "insert_percent_4": 0, + "insert_percent_5": 0, + "insert_percent_6": 0, + "insert_percent_7": 0, + "insert_percent_8": 0, + "insert_percent_9": 0, + "insert_percent_10": 0, + "insert_percent_11": 0, + "insert_percent_12": 0, + "insert_percent_13": 0, + "insert_percent_14": 0, + "insert_percent_15": 0, + "insert_percent_16": 0, + "insert_percent_17": 0, + "insert_percent_18": 0, + "insert_percent_19": 0, + "insert_percent_20": 0, + "insert_percent_21": 0, + "insert_percent_22": 0, + "insert_percent_23": 0, + "insert_percent_24": 0, + "insert_percent_25": 0, + "insert_percent_26": 0, + "insert_percent_27": 0, + "insert_percent_28": 0, + "insert_percent_29": 0, + "insert_percent_30": 0, + "insert_percent_31": 0, + "insert_percent_32": 0, + "insert_percent_33": 0, + "insert_percent_34": 0, + "insert_percent_35": 0, + "insert_percent_36": 0, + "insert_percent_37": 0, + "insert_percent_38": 0, + "insert_percent_39": 0, + "insert_percent_40": 0, + "insert_percent_41": 0, + "insert_percent_42": 0, + "insert_percent_43": 0, + "insert_percent_44": 0, + "insert_percent_45": 0, + "insert_percent_46": 0, + "insert_percent_47": 0, + "insert_percent_48": 0, + "insert_percent_49": 0, + "insert_percent_50": 0 + }, + "widgets_values": [ + 0, + "frames", + 24, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 324, + "type": "CFGGuider", + "pos": [ + 1010, + 7110 + ], + "size": [ + 210, + 98 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "localized_name": "model", + "name": "model", + "type": "MODEL", + "link": 683 + }, + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "link": 996 + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "link": 997 + } + ], + "outputs": [ + { + "localized_name": "GUIDER", + "name": "GUIDER", + "type": "GUIDER", + "links": [ + 679 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.64", + "Node name for S&R": "CFGGuider", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + 1 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 329, + "type": "LTXVConcatAVLatent", + "pos": [ + 1010, + 7250 + ], + "size": [ + 187.5, + 60 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "localized_name": "video_latent", + "name": "video_latent", + "type": "LATENT", + "link": 998 + }, + { + "localized_name": "audio_latent", + "name": "audio_latent", + "type": "LATENT", + "link": 700 + } + ], + "outputs": [ + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "links": [ + 697 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.7.0", + "Node name for S&R": "LTXVConcatAVLatent", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 322, + "type": "SamplerCustomAdvanced", + "pos": [ + 1230, + 7100 + ], + "size": [ + 212.3638671875, + 204.64497833251954 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "localized_name": "noise", + "name": "noise", + "type": "NOISE", + "link": 688 + }, + { + "localized_name": "guider", + "name": "guider", + "type": "GUIDER", + "link": 679 + }, + { + "localized_name": "sampler", + "name": "sampler", + "type": "SAMPLER", + "link": 680 + }, + { + "localized_name": "sigmas", + "name": "sigmas", + "type": "SIGMAS", + "link": 681 + }, + { + "localized_name": "latent_image", + "name": "latent_image", + "type": "LATENT", + "link": 697 + } + ], + "outputs": [ + { + "localized_name": "output", + "name": "output", + "type": "LATENT", + "links": [ + 1023 + ] + }, + { + "localized_name": "denoised_output", + "name": "denoised_output", + "type": "LATENT", + "links": [] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.60", + "Node name for S&R": "SamplerCustomAdvanced", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 417, + "type": "LTXVSeparateAVLatent", + "pos": [ + 1450, + 7100 + ], + "size": [ + 193.2916015625, + 46 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "localized_name": "av_latent", + "name": "av_latent", + "type": "LATENT", + "link": 1023 + } + ], + "outputs": [ + { + "localized_name": "video_latent", + "name": "video_latent", + "type": "LATENT", + "links": [ + 1024 + ] + }, + { + "localized_name": "audio_latent", + "name": "audio_latent", + "type": "LATENT", + "links": [ + 1025 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.17.2", + "Node name for S&R": "LTXVSeparateAVLatent" + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 336, + "type": "LTXVLatentUpsampler", + "pos": [ + 160, + 7410 + ], + "size": [ + 320, + 66 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "localized_name": "samples", + "name": "samples", + "type": "LATENT", + "link": 878 + }, + { + "localized_name": "upscale_model", + "name": "upscale_model", + "type": "LATENT_UPSCALE_MODEL", + "link": 1038 + }, + { + "localized_name": "vae", + "name": "vae", + "type": "VAE", + "link": 717 + } + ], + "outputs": [ + { + "localized_name": "LATENT", + "name": "LATENT", + "type": "LATENT", + "links": [ + 713 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.14.1", + "Node name for S&R": "LTXVLatentUpsampler", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 333, + "type": "LatentUpscaleModelLoader", + "pos": [ + -200, + 7300 + ], + "size": [ + 330, + 58 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "LATENT_UPSCALE_MODEL", + "name": "LATENT_UPSCALE_MODEL", + "type": "LATENT_UPSCALE_MODEL", + "links": [ + 710 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.16.4", + "Node name for S&R": "LatentUpscaleModelLoader" + }, + "widgets_values": [ + "ltx-2.3-spatial-upscaler-x1.5-1.0.safetensors" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 339, + "type": "PrimitiveBoolean", + "pos": [ + 160, + 7520 + ], + "size": [ + 290, + 60 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "localized_name": "value", + "name": "value", + "type": "BOOLEAN", + "widget": { + "name": "value" + }, + "link": 719 + } + ], + "outputs": [ + { + "localized_name": "BOOLEAN", + "name": "BOOLEAN", + "type": "BOOLEAN", + "links": [ + 718 + ] + } + ], + "title": "3rd Stage: False = 1.5x, True = 2x", + "properties": { + "cnr_id": "comfy-core", + "ver": "0.17.2", + "Node name for S&R": "PrimitiveBoolean" + }, + "widgets_values": [ + true + ], + "color": "#222", + "bgcolor": "#000" + } + ], + "groups": [], + "links": [ + { + "id": 679, + "origin_id": 324, + "origin_slot": 0, + "target_id": 322, + "target_slot": 1, + "type": "GUIDER" + }, + { + "id": 680, + "origin_id": 325, + "origin_slot": 0, + "target_id": 322, + "target_slot": 2, + "type": "SAMPLER" + }, + { + "id": 681, + "origin_id": 326, + "origin_slot": 0, + "target_id": 322, + "target_slot": 3, + "type": "SIGMAS" + }, + { + "id": 683, + "origin_id": -10, + "origin_slot": 0, + "target_id": 324, + "target_slot": 0, + "type": "MODEL" + }, + { + "id": 686, + "origin_id": -10, + "origin_slot": 0, + "target_id": 326, + "target_slot": 0, + "type": "MODEL" + }, + { + "id": 688, + "origin_id": -10, + "origin_slot": 3, + "target_id": 322, + "target_slot": 0, + "type": "NOISE" + }, + { + "id": 697, + "origin_id": 329, + "origin_slot": 0, + "target_id": 322, + "target_slot": 4, + "type": "LATENT" + }, + { + "id": 700, + "origin_id": -10, + "origin_slot": 7, + "target_id": 329, + "target_slot": 1, + "type": "LATENT" + }, + { + "id": 708, + "origin_id": -10, + "origin_slot": 6, + "target_id": 331, + "target_slot": 2, + "type": "LATENT" + }, + { + "id": 710, + "origin_id": 333, + "origin_slot": 0, + "target_id": 334, + "target_slot": 1, + "type": "LATENT_UPSCALE_MODEL" + }, + { + "id": 712, + "origin_id": 334, + "origin_slot": 0, + "target_id": 332, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 713, + "origin_id": 336, + "origin_slot": 0, + "target_id": 332, + "target_slot": 1, + "type": "LATENT" + }, + { + "id": 716, + "origin_id": -10, + "origin_slot": 4, + "target_id": 334, + "target_slot": 2, + "type": "VAE" + }, + { + "id": 717, + "origin_id": -10, + "origin_slot": 4, + "target_id": 336, + "target_slot": 2, + "type": "VAE" + }, + { + "id": 718, + "origin_id": 339, + "origin_slot": 0, + "target_id": 332, + "target_slot": 2, + "type": "BOOLEAN" + }, + { + "id": 719, + "origin_id": -10, + "origin_slot": 8, + "target_id": 339, + "target_slot": 0, + "type": "BOOLEAN" + }, + { + "id": 877, + "origin_id": 331, + "origin_slot": 2, + "target_id": 334, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 878, + "origin_id": 331, + "origin_slot": 2, + "target_id": 336, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 919, + "origin_id": -10, + "origin_slot": 1, + "target_id": 331, + "target_slot": 0, + "type": "CONDITIONING" + }, + { + "id": 920, + "origin_id": -10, + "origin_slot": 2, + "target_id": 331, + "target_slot": 1, + "type": "CONDITIONING" + }, + { + "id": 996, + "origin_id": 411, + "origin_slot": 0, + "target_id": 324, + "target_slot": 1, + "type": "CONDITIONING" + }, + { + "id": 997, + "origin_id": 411, + "origin_slot": 1, + "target_id": 324, + "target_slot": 2, + "type": "CONDITIONING" + }, + { + "id": 998, + "origin_id": 411, + "origin_slot": 2, + "target_id": 329, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 999, + "origin_id": 331, + "origin_slot": 0, + "target_id": 411, + "target_slot": 0, + "type": "CONDITIONING" + }, + { + "id": 1000, + "origin_id": 331, + "origin_slot": 1, + "target_id": 411, + "target_slot": 1, + "type": "CONDITIONING" + }, + { + "id": 1001, + "origin_id": 332, + "origin_slot": 0, + "target_id": 411, + "target_slot": 3, + "type": "LATENT" + }, + { + "id": 1002, + "origin_id": -10, + "origin_slot": 4, + "target_id": 411, + "target_slot": 2, + "type": "VAE" + }, + { + "id": 1005, + "origin_id": -10, + "origin_slot": 9, + "target_id": 411, + "target_slot": 4, + "type": "IMAGE" + }, + { + "id": 1023, + "origin_id": 322, + "origin_slot": 0, + "target_id": 417, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 1024, + "origin_id": 417, + "origin_slot": 0, + "target_id": -20, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 1025, + "origin_id": 417, + "origin_slot": 1, + "target_id": -20, + "target_slot": 1, + "type": "LATENT" + }, + { + "id": 1038, + "origin_id": -10, + "origin_slot": 10, + "target_id": 336, + "target_slot": 1, + "type": "LATENT_UPSCALE_MODEL" + } + ], + "extra": { + "workflowRendererVersion": "LG" + } + }, + { + "id": "958b2c7a-1f75-4a30-84a8-892bddb9e426", + "version": 1, + "state": { + "lastGroupId": 33, + "lastNodeId": 443, + "lastLinkId": 1079, + "lastRerouteId": 0 + }, + "revision": 0, + "config": {}, + "name": "Model Loader", + "inputNode": { + "id": -10, + "bounding": [ + 2340, + 6080, + 135.654296875, + 80 + ] + }, + "outputNode": { + "id": -20, + "bounding": [ + 3560, + 5580, + 187.052734375, + 200 + ] + }, + "inputs": [ + { + "id": "9ae347e5-8a40-4407-bec5-7781d672dd85", + "name": "value", + "type": "STRING", + "linkIds": [ + 1064 + ], + "label": "Prompt", + "pos": [ + 2455.654296875, + 6100 + ] + }, + { + "id": "32b8ff31-4396-4336-aeaf-ff84d858a4d9", + "name": "value_1", + "type": "INT", + "linkIds": [ + 1018 + ], + "label": "length (seconds)", + "pos": [ + 2455.654296875, + 6120 + ] + } + ], + "outputs": [ + { + "id": "a72640aa-8055-45bb-8cbb-f68ec7413515", + "name": "optimized_model", + "type": "MODEL", + "linkIds": [ + 1067 + ], + "pos": [ + 3580, + 5600 + ] + }, + { + "id": "cfb48567-9b75-46f5-8b71-385f3388173c", + "name": "VAE", + "type": "VAE", + "linkIds": [ + 721 + ], + "label": "video_vae", + "pos": [ + 3580, + 5620 + ] + }, + { + "id": "4e095394-8a92-47e4-8993-49fb4ce73bd8", + "name": "VAE_1", + "type": "VAE", + "linkIds": [ + 722 + ], + "label": "audio_vae", + "pos": [ + 3580, + 5640 + ] + }, + { + "id": "8bbe34b1-d094-40a3-9c04-5a19cd7b2af2", + "name": "positive", + "type": "CONDITIONING", + "linkIds": [ + 726 + ], + "pos": [ + 3580, + 5660 + ] + }, + { + "id": "dac0ad69-373b-4e47-b0cd-eb8fd18e1c07", + "name": "negative", + "type": "CONDITIONING", + "linkIds": [ + 727 + ], + "pos": [ + 3580, + 5680 + ] + }, + { + "id": "b4d0868d-86e8-42ba-83fc-44c5324ac35d", + "name": "INT", + "type": "INT", + "linkIds": [ + 729 + ], + "label": "length_seconds", + "pos": [ + 3580, + 5700 + ] + }, + { + "id": "12a111ff-cd34-4b59-bca3-4c5f24626a62", + "name": "NOISE", + "type": "NOISE", + "linkIds": [ + 730 + ], + "label": "noise", + "pos": [ + 3580, + 5720 + ] + }, + { + "id": "9f03af49-218d-4431-a2e9-891d16a8eb05", + "name": "LATENT_UPSCALE_MODEL", + "type": "LATENT_UPSCALE_MODEL", + "linkIds": [ + 1034 + ], + "label": "2x_spatial_upscale_model", + "pos": [ + 3580, + 5740 + ] + } + ], + "widgets": [], + "nodes": [ + { + "id": 338, + "type": "VAELoaderKJ", + "pos": [ + 2560, + 5780 + ], + "size": [ + 270, + 106 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "VAE", + "name": "VAE", + "type": "VAE", + "links": [ + 722 + ] + } + ], + "title": "Audio VAELoader KJ", + "properties": { + "cnr_id": "comfyui-kjnodes", + "ver": "487c7d86a0230aae3d8c0a37d517159b73834f85", + "Node name for S&R": "VAELoaderKJ" + }, + "widgets_values": [ + "LTX23_audio_vae_bf16.safetensors", + "main_device", + "bf16" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 337, + "type": "VAELoaderKJ", + "pos": [ + 2560, + 5630 + ], + "size": [ + 270, + 106 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "VAE", + "name": "VAE", + "type": "VAE", + "links": [ + 721 + ] + } + ], + "title": "Video VAELoader KJ", + "properties": { + "cnr_id": "comfyui-kjnodes", + "ver": "1.2.5", + "Node name for S&R": "VAELoaderKJ" + }, + "widgets_values": [ + "LTX23_video_vae_bf16.safetensors", + "main_device", + "bf16" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 413, + "type": "LTXAVTextEncoderLoader", + "pos": [ + 2560, + 5940 + ], + "size": [ + 318.444921875, + 122 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "CLIP", + "name": "CLIP", + "type": "CLIP", + "links": [ + 1054 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.14.1", + "Node name for S&R": "LTXAVTextEncoderLoader" + }, + "widgets_values": [ + "gemma_3_12B_it_fp4_mixed.safetensors", + "ltx-2.3-22b-dev-fp8.safetensors", + "default" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 430, + "type": "CLIPTextEncode", + "pos": [ + 2910, + 5950 + ], + "size": [ + 274.3658203125, + 88 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "localized_name": "clip", + "name": "clip", + "type": "CLIP", + "link": 1054 + }, + { + "localized_name": "text", + "name": "text", + "type": "STRING", + "widget": { + "name": "text" + }, + "link": 1064 + } + ], + "outputs": [ + { + "localized_name": "CONDITIONING", + "name": "CONDITIONING", + "type": "CONDITIONING", + "slot_index": 0, + "links": [ + 1062, + 1063 + ] + } + ], + "title": "CLIP Text Encode (Positive Prompt)", + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.28", + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 361, + "type": "ConditioningZeroOut", + "pos": [ + 2920, + 6090 + ], + "size": [ + 204.134765625, + 26 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "localized_name": "conditioning", + "name": "conditioning", + "type": "CONDITIONING", + "link": 1063 + } + ], + "outputs": [ + { + "localized_name": "CONDITIONING", + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 725 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.7.0", + "Node name for S&R": "ConditioningZeroOut", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 363, + "type": "LTXVConditioning", + "pos": [ + 3210, + 5960 + ], + "size": [ + 210, + 80 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "link": 1062 + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "link": 725 + } + ], + "outputs": [ + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "links": [ + 726 + ] + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "links": [ + 727 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.56", + "Node name for S&R": "LTXVConditioning", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + 24 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 419, + "type": "LatentUpscaleModelLoader", + "pos": [ + 2560, + 6110 + ], + "size": [ + 330, + 58 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "LATENT_UPSCALE_MODEL", + "name": "LATENT_UPSCALE_MODEL", + "type": "LATENT_UPSCALE_MODEL", + "links": [ + 1034 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.16.4", + "Node name for S&R": "LatentUpscaleModelLoader" + }, + "widgets_values": [ + "ltx-2.3-spatial-upscaler-x2-1.1.safetensors" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 364, + "type": "RandomNoise", + "pos": [ + 2860, + 5750 + ], + "size": [ + 210, + 82 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "label": "noise_seed", + "localized_name": "noise_seed", + "name": "noise_seed", + "type": "INT", + "widget": { + "name": "noise_seed" + }, + "link": null + } + ], + "outputs": [ + { + "localized_name": "NOISE", + "name": "NOISE", + "type": "NOISE", + "links": [ + 730 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.56", + "Node name for S&R": "RandomNoise", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65 + }, + "widgets_values": [ + 0, + "fixed" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 365, + "type": "07609e03-45f4-49c7-a233-a933ebf95094", + "pos": [ + 2860, + 5640 + ], + "size": [ + 210, + 58 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "label": "Seconds", + "name": "value", + "type": "INT", + "widget": { + "name": "value" + }, + "link": 1018 + } + ], + "outputs": [ + { + "localized_name": "INT", + "name": "INT", + "type": "INT", + "links": [ + 729 + ] + } + ], + "properties": { + "proxyWidgets": [ + [ + "-1", + "value" + ] + ], + "cnr_id": "comfy-core", + "ver": "0.16.4" + }, + "widgets_values": [ + 5 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 443, + "type": "VAELoaderKJ", + "pos": [ + 2560, + 5470 + ], + "size": [ + 270, + 110 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "VAE", + "name": "VAE", + "type": "VAE", + "links": [ + 1072 + ] + } + ], + "title": "Tiny VAELoader KJ", + "properties": { + "cnr_id": "comfyui-kjnodes", + "ver": "1.2.5", + "Node name for S&R": "VAELoaderKJ" + }, + "widgets_values": [ + "taeltx2_3.safetensors", + "main_device", + "bf16" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 442, + "type": "LTX2SamplingPreviewOverride", + "pos": [ + 2850, + 5470 + ], + "size": [ + 270, + 100 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "localized_name": "model", + "name": "model", + "type": "MODEL", + "link": 1073 + }, + { + "localized_name": "latent_upscale_model", + "name": "latent_upscale_model", + "shape": 7, + "type": "LATENT_UPSCALE_MODEL", + "link": null + }, + { + "localized_name": "vae", + "name": "vae", + "shape": 7, + "type": "VAE", + "link": 1072 + } + ], + "outputs": [ + { + "localized_name": "MODEL", + "name": "MODEL", + "type": "MODEL", + "links": [ + 1074 + ] + } + ], + "properties": { + "cnr_id": "comfyui-kjnodes", + "ver": "1.3.4", + "Node name for S&R": "LTX2SamplingPreviewOverride" + }, + "widgets_values": [ + 16 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 426, + "type": "CheckpointLoaderSimple", + "pos": [ + 2560, + 5330 + ], + "size": [ + 270, + 98 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "localized_name": "MODEL", + "name": "MODEL", + "type": "MODEL", + "links": [ + 1073 + ] + }, + { + "localized_name": "CLIP", + "name": "CLIP", + "type": "CLIP", + "links": null + }, + { + "localized_name": "VAE", + "name": "VAE", + "type": "VAE", + "links": null + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.17.2", + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "ltx-2.3-22b-dev-fp8.safetensors" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 429, + "type": "LoraLoaderModelOnly", + "pos": [ + 3140, + 5480 + ], + "size": [ + 260, + 82 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "localized_name": "model", + "name": "model", + "type": "MODEL", + "link": 1074 + } + ], + "outputs": [ + { + "localized_name": "MODEL", + "name": "MODEL", + "type": "MODEL", + "links": [ + 1067 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.75", + "Node name for S&R": "LoraLoaderModelOnly", + "enableTabs": false, + "tabWidth": 65, + "tabXOffset": 10, + "hasSecondTab": false, + "secondTabText": "Send Back", + "secondTabOffset": 80, + "secondTabWidth": 65, + "models": [ + { + "name": "ltx-2.3-22b-distilled-lora-384.safetensors", + "url": "https://huggingface.co/Lightricks/LTX-2.3/resolve/main/ltx-2.3-22b-distilled-lora-384.safetensors", + "directory": "loras" + } + ] + }, + "widgets_values": [ + "ltx2\\ltx-2.3-22b-distilled-lora-dynamic_fro09_avg_rank_105_bf16.safetensors", + 0.5 + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 441, + "type": "MarkdownNote", + "pos": [ + 2160, + 5500 + ], + "size": [ + 370, + 320 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "FAQ", + "properties": {}, + "widgets_values": [ + "# FAQ\n\n**How do I set the length of the video?**\n\nYou can set the length of the video in the Model Loader Subgraph →\n\n**I keep getting errors when running this workflow!**\n\nDouble check that all of the correct models loaded. This is using the newest version of 2x upscaler (v1.1). You can change it to the older one under the Model Loader.\n\n**Where do I download these models??**\n\nThere is a good list of models and download links here: \n\nAlso the latest v1.1 spatial upscaler can be found here: \n\nThe tiny vae (taeltx2_3.safetensors) is found here:\n\n\n\n\n\n\n\n\n\n" + ], + "color": "#432", + "bgcolor": "#653" + } + ], + "groups": [], + "links": [ + { + "id": 721, + "origin_id": 337, + "origin_slot": 0, + "target_id": -20, + "target_slot": 1, + "type": "VAE" + }, + { + "id": 722, + "origin_id": 338, + "origin_slot": 0, + "target_id": -20, + "target_slot": 2, + "type": "VAE" + }, + { + "id": 725, + "origin_id": 361, + "origin_slot": 0, + "target_id": 363, + "target_slot": 1, + "type": "CONDITIONING" + }, + { + "id": 726, + "origin_id": 363, + "origin_slot": 0, + "target_id": -20, + "target_slot": 3, + "type": "CONDITIONING" + }, + { + "id": 727, + "origin_id": 363, + "origin_slot": 1, + "target_id": -20, + "target_slot": 4, + "type": "CONDITIONING" + }, + { + "id": 729, + "origin_id": 365, + "origin_slot": 0, + "target_id": -20, + "target_slot": 5, + "type": "INT" + }, + { + "id": 730, + "origin_id": 364, + "origin_slot": 0, + "target_id": -20, + "target_slot": 6, + "type": "NOISE" + }, + { + "id": 1018, + "origin_id": -10, + "origin_slot": 1, + "target_id": 365, + "target_slot": 0, + "type": "INT" + }, + { + "id": 1034, + "origin_id": 419, + "origin_slot": 0, + "target_id": -20, + "target_slot": 7, + "type": "LATENT_UPSCALE_MODEL" + }, + { + "id": 1054, + "origin_id": 413, + "origin_slot": 0, + "target_id": 430, + "target_slot": 0, + "type": "CLIP" + }, + { + "id": 1062, + "origin_id": 430, + "origin_slot": 0, + "target_id": 363, + "target_slot": 0, + "type": "CONDITIONING" + }, + { + "id": 1063, + "origin_id": 430, + "origin_slot": 0, + "target_id": 361, + "target_slot": 0, + "type": "CONDITIONING" + }, + { + "id": 1064, + "origin_id": -10, + "origin_slot": 0, + "target_id": 430, + "target_slot": 1, + "type": "STRING" + }, + { + "id": 1067, + "origin_id": 429, + "origin_slot": 0, + "target_id": -20, + "target_slot": 0, + "type": "MODEL" + }, + { + "id": 1072, + "origin_id": 443, + "origin_slot": 0, + "target_id": 442, + "target_slot": 2, + "type": "VAE" + }, + { + "id": 1073, + "origin_id": 426, + "origin_slot": 0, + "target_id": 442, + "target_slot": 0, + "type": "MODEL" + }, + { + "id": 1074, + "origin_id": 442, + "origin_slot": 0, + "target_id": 429, + "target_slot": 0, + "type": "MODEL" + } + ], + "extra": { + "workflowRendererVersion": "LG" + } + }, + { + "id": "07609e03-45f4-49c7-a233-a933ebf95094", + "version": 1, + "state": { + "lastGroupId": 33, + "lastNodeId": 443, + "lastLinkId": 1079, + "lastRerouteId": 0 + }, + "revision": 0, + "config": {}, + "name": "length (seconds)", + "inputNode": { + "id": -10, + "bounding": [ + -662.1270448096031, + 4310.82566166648, + 120, + 60 + ] + }, + "outputNode": { + "id": -20, + "bounding": [ + 255.79328565979654, + 4300.82566166648, + 120, + 60 + ] + }, + "inputs": [ + { + "id": "df88c383-3299-420f-8c75-fd0d6a39a9af", + "name": "value", + "type": "INT", + "linkIds": [ + 1071 + ], + "label": "Seconds", + "pos": [ + -562.1270448096031, + 4330.82566166648 + ] + } + ], + "outputs": [ + { + "id": "9b5a4dc0-bb87-45a3-bd3d-551edc18c371", + "name": "INT", + "type": "INT", + "linkIds": [ + 359 + ], + "localized_name": "INT", + "pos": [ + 275.79328565979654, + 4320.82566166648 + ] + } + ], + "widgets": [], + "nodes": [ + { + "id": 137, + "type": "easy mathInt", + "pos": [ + -244.96788124271472, + 4296.913950056486 + ], + "size": [ + 210, + 106 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [ + { + "localized_name": "a", + "name": "a", + "type": "INT", + "widget": { + "name": "a" + }, + "link": 360 + } + ], + "outputs": [ + { + "localized_name": "INT", + "name": "INT", + "type": "INT", + "links": [ + 358 + ] + } + ], + "properties": { + "cnr_id": "comfyui-easy-use", + "ver": "1.3.4", + "Node name for S&R": "easy mathInt" + }, + "widgets_values": [ + 0, + 24, + "multiply" + ] + }, + { + "id": 138, + "type": "easy mathInt", + "pos": [ + -14.206714340203394, + 4288.737373276474 + ], + "size": [ + 210, + 106 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "localized_name": "a", + "name": "a", + "type": "INT", + "widget": { + "name": "a" + }, + "link": 358 + } + ], + "outputs": [ + { + "localized_name": "INT", + "name": "INT", + "type": "INT", + "links": [ + 359 + ] + } + ], + "properties": { + "cnr_id": "comfyui-easy-use", + "ver": "1.3.4", + "Node name for S&R": "easy mathInt" + }, + "widgets_values": [ + 0, + 1, + "add" + ] + }, + { + "id": 139, + "type": "PrimitiveInt", + "pos": [ + -482.12704480960315, + 4310.54157802317 + ], + "size": [ + 210, + 87.4510511866738 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "localized_name": "value", + "name": "value", + "type": "INT", + "widget": { + "name": "value" + }, + "link": 1071 + } + ], + "outputs": [ + { + "localized_name": "INT", + "name": "INT", + "type": "INT", + "links": [ + 360 + ] + } + ], + "title": "Seconds", + "properties": { + "cnr_id": "comfy-core", + "ver": "0.16.4", + "Node name for S&R": "PrimitiveInt" + }, + "widgets_values": [ + 5, + "fixed" + ] + } + ], + "groups": [], + "links": [ + { + "id": 360, + "origin_id": 139, + "origin_slot": 0, + "target_id": 137, + "target_slot": 0, + "type": "INT" + }, + { + "id": 358, + "origin_id": 137, + "origin_slot": 0, + "target_id": 138, + "target_slot": 0, + "type": "INT" + }, + { + "id": 359, + "origin_id": 138, + "origin_slot": 0, + "target_id": -20, + "target_slot": 0, + "type": "INT" + }, + { + "id": 1071, + "origin_id": -10, + "origin_slot": 0, + "target_id": 139, + "target_slot": 0, + "type": "INT" + } + ], + "extra": { + "workflowRendererVersion": "LG" + } + }, + { + "id": "360d64f7-96cd-42a6-9b13-6eb0387e17d9", + "version": 1, + "state": { + "lastGroupId": 33, + "lastNodeId": 443, + "lastLinkId": 1079, + "lastRerouteId": 0 + }, + "revision": 0, + "config": {}, + "name": "3 Stage Upscale", + "inputNode": { + "id": -10, + "bounding": [ + 4330, + 5940, + 187.052734375, + 240 + ] + }, + "outputNode": { + "id": -20, + "bounding": [ + 5670, + 5940, + 120, + 60 + ] + }, + "inputs": [ + { + "id": "f3d52cbc-fafe-46a6-978c-2eaff2c185c3", + "name": "model", + "type": "MODEL", + "linkIds": [ + 3, + 14, + 23 + ], + "pos": [ + 4497.052734375, + 5960 + ] + }, + { + "id": "d0e8f1b7-b19b-49cd-8a2b-aa4a639857b3", + "name": "positive", + "type": "CONDITIONING", + "linkIds": [ + 4, + 15, + 871 + ], + "pos": [ + 4497.052734375, + 5980 + ] + }, + { + "id": "36e3ff32-f9b2-41d9-94de-9d8d9a91f1a6", + "name": "negative", + "type": "CONDITIONING", + "linkIds": [ + 5, + 16, + 872 + ], + "pos": [ + 4497.052734375, + 6000 + ] + }, + { + "id": "3f2a7956-c7c2-4478-99ad-2487644cbbc2", + "name": "latent_image", + "type": "LATENT", + "linkIds": [ + 6 + ], + "pos": [ + 4497.052734375, + 6020 + ] + }, + { + "id": "cc2edb71-c53a-4056-8a85-5d8199e79c72", + "name": "noise", + "type": "NOISE", + "linkIds": [ + 7, + 17, + 26 + ], + "pos": [ + 4497.052734375, + 6040 + ] + }, + { + "id": "d162c9e7-24cc-4421-a6fb-d253bfae8883", + "name": "vae", + "type": "VAE", + "linkIds": [ + 32, + 33 + ], + "label": "video_vae", + "pos": [ + 4497.052734375, + 6060 + ] + }, + { + "id": "e9cd552e-a79c-4b6e-8508-4ad3a9f4218b", + "name": "image", + "type": "IMAGE", + "linkIds": [ + 29, + 30 + ], + "pos": [ + 4497.052734375, + 6080 + ] + }, + { + "id": "46ddf61f-c9f3-48d0-9f11-6e64e8521966", + "name": "value", + "type": "BOOLEAN", + "linkIds": [ + 40 + ], + "label": "Upscale 2x on Stage 3", + "pos": [ + 4497.052734375, + 6100 + ] + }, + { + "id": "45629d5b-0676-4430-aa3d-8b0cf516de0a", + "name": "multi_input", + "type": "IMAGE", + "linkIds": [ + 1006, + 1007 + ], + "pos": [ + 4497.052734375, + 6120 + ] + }, + { + "id": "b380a19f-38a6-41ca-be93-072da1e263f3", + "name": "upscale_model", + "type": "LATENT_UPSCALE_MODEL", + "linkIds": [ + 1036, + 1039 + ], + "label": "2x_spatial_upscale_model", + "pos": [ + 4497.052734375, + 6140 + ] + } + ], + "outputs": [ + { + "id": "2fae6e6d-6667-450e-933b-b16e88c7968f", + "name": "output", + "type": "LATENT", + "linkIds": [ + 765 + ], + "label": "av_output", + "pos": [ + 5690, + 5960 + ] + } + ], + "widgets": [], + "nodes": [ + { + "id": 371, + "type": "LTXVConcatAVLatent", + "pos": [ + 5470, + 5950 + ], + "size": [ + 181.308203125, + 46 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "localized_name": "video_latent", + "name": "video_latent", + "type": "LATENT", + "link": 852 + }, + { + "localized_name": "audio_latent", + "name": "audio_latent", + "type": "LATENT", + "link": 1078 + } + ], + "outputs": [ + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "links": [ + 765 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.17.2", + "Node name for S&R": "LTXVConcatAVLatent" + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 383, + "type": "LTXVCropGuides", + "pos": [ + 5200, + 5950 + ], + "size": [ + 260, + 70 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "link": 871 + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "link": 872 + }, + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "link": 1026 + } + ], + "outputs": [ + { + "localized_name": "positive", + "name": "positive", + "type": "CONDITIONING", + "links": null + }, + { + "localized_name": "negative", + "name": "negative", + "type": "CONDITIONING", + "links": null + }, + { + "localized_name": "latent", + "name": "latent", + "type": "LATENT", + "links": [ + 852 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.17.2", + "Node name for S&R": "LTXVCropGuides" + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 2, + "type": "afa29944-eb58-40a5-8e76-484f2503fa0c", + "pos": [ + 4540, + 5950 + ], + "size": [ + 190, + 195.734375 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 3 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 4 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 5 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 6 + }, + { + "name": "noise", + "type": "NOISE", + "link": 7 + } + ], + "outputs": [ + { + "name": "video_latent", + "type": "LATENT", + "links": [ + 837 + ] + }, + { + "name": "audio_latent", + "type": "LATENT", + "links": [ + 794 + ] + } + ], + "properties": { + "proxyWidgets": [], + "cnr_id": "comfy-core", + "ver": "0.17.2" + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 440, + "type": "Note", + "pos": [ + 4970, + 5810 + ], + "size": [ + 210, + 88 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": {}, + "widgets_values": [ + "Bypass Stage #3 to skip the 2nd upscale stage." + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 6, + "type": "ce8f7842-cb03-41b4-9b1e-8d032b2a4e72", + "pos": [ + 4750, + 5950 + ], + "size": [ + 200, + 299.71875 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 14 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 15 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 16 + }, + { + "name": "noise", + "type": "NOISE", + "link": 17 + }, + { + "label": "video_vae", + "name": "vae", + "type": "VAE", + "link": 32 + }, + { + "name": "image", + "type": "IMAGE", + "link": 29 + }, + { + "label": "video_latent", + "name": "samples", + "type": "LATENT", + "link": 837 + }, + { + "name": "audio_latent", + "type": "LATENT", + "link": 794 + }, + { + "name": "multi_input", + "type": "IMAGE", + "link": 1006 + }, + { + "name": "upscale_model", + "type": "LATENT_UPSCALE_MODEL", + "link": 1036 + } + ], + "outputs": [ + { + "name": "video_latent", + "type": "LATENT", + "links": [ + 27 + ] + }, + { + "name": "audio_latent", + "type": "LATENT", + "links": [ + 1079 + ] + }, + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 855, + 875 + ] + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 856, + 876 + ] + } + ], + "properties": { + "proxyWidgets": [], + "cnr_id": "comfy-core", + "ver": "0.17.2" + }, + "widgets_values": [], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 8, + "type": "535e663f-da59-47c1-aab5-c78ff202cb16", + "pos": [ + 4970, + 5950 + ], + "size": [ + 218.19140625, + 330.9668884277344 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 23 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 875 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 876 + }, + { + "name": "noise", + "type": "NOISE", + "link": 26 + }, + { + "label": "video_vae", + "name": "vae", + "type": "VAE", + "link": 33 + }, + { + "name": "image", + "type": "IMAGE", + "link": 30 + }, + { + "label": "video_latent", + "name": "samples", + "type": "LATENT", + "link": 27 + }, + { + "name": "audio_latent", + "type": "LATENT", + "link": 1079 + }, + { + "label": "use 2x on stage 3", + "name": "value", + "type": "BOOLEAN", + "widget": { + "name": "value" + }, + "link": 40 + }, + { + "name": "multi_input", + "type": "IMAGE", + "link": 1007 + }, + { + "label": "2x_upscale_model", + "name": "upscale_model", + "type": "LATENT_UPSCALE_MODEL", + "link": 1039 + } + ], + "outputs": [ + { + "label": "video_latent", + "name": "output", + "type": "LATENT", + "links": [ + 1026 + ] + }, + { + "name": "audio_latent", + "type": "LATENT", + "links": [ + 1078 + ] + } + ], + "properties": { + "proxyWidgets": [ + [ + "-1", + "value" + ] + ], + "cnr_id": "comfy-core", + "ver": "0.17.2" + }, + "widgets_values": [ + true + ], + "color": "#222", + "bgcolor": "#000" + } + ], + "groups": [], + "links": [ + { + "id": 27, + "origin_id": 6, + "origin_slot": 0, + "target_id": 8, + "target_slot": 6, + "type": "LATENT" + }, + { + "id": 3, + "origin_id": -10, + "origin_slot": 0, + "target_id": 2, + "target_slot": 0, + "type": "MODEL" + }, + { + "id": 14, + "origin_id": -10, + "origin_slot": 0, + "target_id": 6, + "target_slot": 0, + "type": "MODEL" + }, + { + "id": 23, + "origin_id": -10, + "origin_slot": 0, + "target_id": 8, + "target_slot": 0, + "type": "MODEL" + }, + { + "id": 4, + "origin_id": -10, + "origin_slot": 1, + "target_id": 2, + "target_slot": 1, + "type": "CONDITIONING" + }, + { + "id": 15, + "origin_id": -10, + "origin_slot": 1, + "target_id": 6, + "target_slot": 1, + "type": "CONDITIONING" + }, + { + "id": 5, + "origin_id": -10, + "origin_slot": 2, + "target_id": 2, + "target_slot": 2, + "type": "CONDITIONING" + }, + { + "id": 16, + "origin_id": -10, + "origin_slot": 2, + "target_id": 6, + "target_slot": 2, + "type": "CONDITIONING" + }, + { + "id": 6, + "origin_id": -10, + "origin_slot": 3, + "target_id": 2, + "target_slot": 3, + "type": "LATENT" + }, + { + "id": 7, + "origin_id": -10, + "origin_slot": 4, + "target_id": 2, + "target_slot": 4, + "type": "NOISE" + }, + { + "id": 17, + "origin_id": -10, + "origin_slot": 4, + "target_id": 6, + "target_slot": 3, + "type": "NOISE" + }, + { + "id": 26, + "origin_id": -10, + "origin_slot": 4, + "target_id": 8, + "target_slot": 3, + "type": "NOISE" + }, + { + "id": 32, + "origin_id": -10, + "origin_slot": 5, + "target_id": 6, + "target_slot": 4, + "type": "VAE" + }, + { + "id": 33, + "origin_id": -10, + "origin_slot": 5, + "target_id": 8, + "target_slot": 4, + "type": "VAE" + }, + { + "id": 29, + "origin_id": -10, + "origin_slot": 6, + "target_id": 6, + "target_slot": 5, + "type": "IMAGE" + }, + { + "id": 30, + "origin_id": -10, + "origin_slot": 6, + "target_id": 8, + "target_slot": 5, + "type": "IMAGE" + }, + { + "id": 40, + "origin_id": -10, + "origin_slot": 7, + "target_id": 8, + "target_slot": 8, + "type": "BOOLEAN" + }, + { + "id": 765, + "origin_id": 371, + "origin_slot": 0, + "target_id": -20, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 794, + "origin_id": 2, + "origin_slot": 1, + "target_id": 6, + "target_slot": 7, + "type": "LATENT" + }, + { + "id": 837, + "origin_id": 2, + "origin_slot": 0, + "target_id": 6, + "target_slot": 6, + "type": "LATENT" + }, + { + "id": 852, + "origin_id": 383, + "origin_slot": 2, + "target_id": 371, + "target_slot": 0, + "type": "LATENT" + }, + { + "id": 871, + "origin_id": -10, + "origin_slot": 1, + "target_id": 383, + "target_slot": 0, + "type": "CONDITIONING" + }, + { + "id": 872, + "origin_id": -10, + "origin_slot": 2, + "target_id": 383, + "target_slot": 1, + "type": "CONDITIONING" + }, + { + "id": 875, + "origin_id": 6, + "origin_slot": 2, + "target_id": 8, + "target_slot": 1, + "type": "CONDITIONING" + }, + { + "id": 876, + "origin_id": 6, + "origin_slot": 3, + "target_id": 8, + "target_slot": 2, + "type": "CONDITIONING" + }, + { + "id": 1006, + "origin_id": -10, + "origin_slot": 8, + "target_id": 6, + "target_slot": 8, + "type": "IMAGE" + }, + { + "id": 1007, + "origin_id": -10, + "origin_slot": 8, + "target_id": 8, + "target_slot": 9, + "type": "IMAGE" + }, + { + "id": 1026, + "origin_id": 8, + "origin_slot": 0, + "target_id": 383, + "target_slot": 2, + "type": "LATENT" + }, + { + "id": 1036, + "origin_id": -10, + "origin_slot": 9, + "target_id": 6, + "target_slot": 9, + "type": "LATENT_UPSCALE_MODEL" + }, + { + "id": 1039, + "origin_id": -10, + "origin_slot": 9, + "target_id": 8, + "target_slot": 10, + "type": "LATENT_UPSCALE_MODEL" + }, + { + "id": 1078, + "origin_id": 8, + "origin_slot": 1, + "target_id": 371, + "target_slot": 1, + "type": "LATENT" + }, + { + "id": 1079, + "origin_id": 6, + "origin_slot": 1, + "target_id": 8, + "target_slot": 7, + "type": "LATENT" + } + ], + "extra": { + "workflowRendererVersion": "LG" + } + } + ] + }, + "config": {}, + "extra": { + "frontendVersion": "1.39.19", + "workflowRendererVersion": "LG", + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true, + "ds": { + "scale": 1, + "offset": [ + -2780.1305165727445, + -5466.757245059522 + ] + } + }, + "version": 0.4 +} \ No newline at end of file