Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions comfy/cli_args.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,13 @@ class LatentPreviewMethod(enum.Enum):
Latent2RGB = "latent2rgb"
TAESD = "taesd"

@classmethod
def from_string(cls, value: str):
for member in cls:
if member.value == value:
return member
return None

parser.add_argument("--preview-method", type=LatentPreviewMethod, default=LatentPreviewMethod.NoPreviews, help="Default preview method for sampler nodes.", action=EnumAction)

parser.add_argument("--preview-size", type=int, default=512, help="Sets the maximum preview size for sampler nodes.")
Expand Down
3 changes: 3 additions & 0 deletions execution.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import torch

import comfy.model_management
from latent_preview import set_preview_method
import nodes
from comfy_execution.caching import (
BasicCache,
Expand Down Expand Up @@ -669,6 +670,8 @@ def execute(self, prompt, prompt_id, extra_data={}, execute_outputs=[]):
asyncio.run(self.execute_async(prompt, prompt_id, extra_data, execute_outputs))

async def execute_async(self, prompt, prompt_id, extra_data={}, execute_outputs=[]):
set_preview_method(extra_data.get("preview_method"))

nodes.interrupt_processing(False)

if "client_id" in extra_data:
Expand Down
10 changes: 10 additions & 0 deletions latent_preview.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import comfy.utils
import logging

default_preview_method = args.preview_method

MAX_PREVIEW_RESOLUTION = args.preview_size
VIDEO_TAES = ["taehv", "lighttaew2_2", "lighttaew2_1", "lighttaehy1_5"]

Expand Down Expand Up @@ -125,3 +127,11 @@ def callback(step, x0, x, total_steps):
pbar.update_absolute(step + 1, total_steps, preview_bytes)
return callback

def set_preview_method(override: str = None):
if override and override != "default":
method = LatentPreviewMethod.from_string(override)
if method is not None:
args.preview_method = method
return
args.preview_method = default_preview_method

Loading