diff --git a/README.md b/README.md index 4f92045..d005977 100644 --- a/README.md +++ b/README.md @@ -113,6 +113,26 @@ The node now supports NAI's V4 architecture through the nai-diffusion-4-curated- - Vibe transfer is not yet supported with V4 preview (will be available with full V4 release) - Full V4 feature support will come with the official V4 release + +### V4.5 Support (Curated Preview) + +Support has been added for **NAI Diffusion 4.5 Curated Preview**, an updated version of V4 with further improvements in detail, contrast, and prompt responsiveness. + +- **Model Name:** + ```python + model = "nai-diffusion-4-5-curated-preview" + ``` + +- **Availability:** + Selectable through `ModelOptionNAID` node under the name **NAI Diffusion 4.5 Curated Preview**. + +- **Compatibility Notes:** + - Works the same as V4 preview, with the same limitations: + - Inpainting will still default to V3 backend + - Vibe transfer is not yet supported + - Prompt formatting remains the same as for V4 (`V4BasePrompt` and `V4NegativePrompt` nodes are compatible) + + #### New Model Option NAI Diffusion V4 Curated Preview is now available in the ModelOptionNAID node: diff --git a/nodes.py b/nodes.py index 6d91bd0..da2b47d 100644 --- a/nodes.py +++ b/nodes.py @@ -40,7 +40,7 @@ class ModelOption: def INPUT_TYPES(s): return { "required": { - "model": (["nai-diffusion-2", "nai-diffusion-furry-3", "nai-diffusion-3", "nai-diffusion-4-curated-preview", "nai-diffusion-4-full"], { "default": "nai-diffusion-4-full" }), + "model": (["nai-diffusion-2", "nai-diffusion-furry-3", "nai-diffusion-3", "nai-diffusion-4-curated-preview", "nai-diffusion-4-full", "nai-diffusion-4-5-curated"], { "default": "nai-diffusion-4-5-curated" }), }, "optional": { "option": ("NAID_OPTION",) }, } @@ -256,7 +256,7 @@ class GenerateNAID: retry = option["retry"] if option and "retry" in option else None if limit_opus_free: - pixel_limit = 1024*1024 if model in ("nai-diffusion-2", "nai-diffusion-furry-3", "nai-diffusion-3", "nai-diffusion-4", "nai-diffusion-4-curated-preview", "nai-diffusion-4-full") else 640*640 + pixel_limit = 1024*1024 if model in ("nai-diffusion-2", "nai-diffusion-furry-3", "nai-diffusion-3", "nai-diffusion-4", "nai-diffusion-4-curated-preview", "nai-diffusion-4-full", "nai-diffusion-4-5-curated") else 640*640 if width * height > pixel_limit: max_width, max_height = calculate_resolution(pixel_limit, (width, height)) params["width"] = max_width @@ -267,10 +267,10 @@ class GenerateNAID: if variety: params["skip_cfg_above_sigma"] = calculate_skip_cfg_above_sigma(params["width"], params["height"]) - if sampler == "ddim" and model in ("nai-diffusion-furry-3", "nai-diffusion-3", "nai-diffusion-4-curated-preview", "nai-diffusion-4-full"): + if sampler == "ddim" and model in ("nai-diffusion-furry-3", "nai-diffusion-3", "nai-diffusion-4-curated-preview", "nai-diffusion-4-full", "nai-diffusion-4-5-curated"): params["sampler"] = "ddim_v3" - if action == "infill" and model != "nai-diffusion-2": + if action == "infill" and model != "nai-diffusion-4-5-curated": model = f"{model}-inpainting" image = blank_image()