From eb3f1c9a6124fc589e9bbd464725579805aa6b2b Mon Sep 17 00:00:00 2001 From: Alexander Eichhorn Date: Mon, 1 Dec 2025 00:22:32 +0100 Subject: [PATCH 1/9] feat: Add Z-Image-Turbo model support Add comprehensive support for Z-Image-Turbo (S3-DiT) models including: Backend: - New BaseModelType.ZImage in taxonomy - Z-Image model config classes (ZImageTransformerConfig, Qwen3TextEncoderConfig) - Model loader for Z-Image transformer and Qwen3 text encoder - Z-Image conditioning data structures - Step callback support for Z-Image with FLUX latent RGB factors Invocations: - z_image_model_loader: Load Z-Image transformer and Qwen3 encoder - z_image_text_encoder: Encode prompts using Qwen3 with chat template - z_image_denoise: Flow matching denoising with time-shifted sigmas - z_image_image_to_latents: Encode images to 16-channel latents - z_image_latents_to_image: Decode latents using FLUX VAE Frontend: - Z-Image graph builder for text-to-image generation - Model picker and validation updates for z-image base type - CFG scale now allows 0 (required for Z-Image-Turbo) - Clip skip disabled for Z-Image (uses Qwen3, not CLIP) - Optimal dimension settings for Z-Image (1024x1024) Technical details: - Uses Qwen3 text encoder (not CLIP/T5) - 16 latent channels with FLUX-compatible VAE - Flow matching scheduler with dynamic time shift - 8 inference steps recommended for Turbo variant - bfloat16 inference dtype --- invokeai/app/api/dependencies.py | 2 + invokeai/app/invocations/fields.py | 8 + invokeai/app/invocations/metadata.py | 4 + invokeai/app/invocations/model.py | 7 + invokeai/app/invocations/primitives.py | 12 + invokeai/app/invocations/z_image_denoise.py | 351 +++++++++++++ .../invocations/z_image_image_to_latents.py | 76 +++ .../invocations/z_image_latents_to_image.py | 80 +++ .../app/invocations/z_image_model_loader.py | 56 +++ .../app/invocations/z_image_text_encoder.py | 113 +++++ invokeai/app/util/step_callback.py | 3 + .../backend/model_manager/configs/factory.py | 2 + .../backend/model_manager/configs/main.py | 27 + .../load/model_loaders/z_image.py | 59 +++ invokeai/backend/model_manager/taxonomy.py | 2 + .../diffusion/conditioning_data.py | 13 + .../listeners/setDefaultSettings.ts | 2 +- .../web/src/features/modelManagerV2/models.ts | 14 +- .../web/src/features/nodes/types/common.ts | 3 +- .../web/src/features/nodes/types/constants.ts | 2 + .../util/graph/generation/addImageToImage.ts | 13 +- .../nodes/util/graph/generation/addInpaint.ts | 9 +- .../util/graph/generation/addOutpaint.ts | 7 +- .../util/graph/generation/addTextToImage.ts | 11 +- .../util/graph/generation/buildZImageGraph.ts | 196 ++++++++ .../nodes/util/graph/graphBuilderUtils.ts | 6 +- .../src/features/nodes/util/graph/types.ts | 17 +- .../components/Core/ParamCFGScale.tsx | 4 +- .../parameters/components/ModelPicker.tsx | 2 +- .../features/parameters/types/constants.ts | 4 + .../parameters/types/parameterSchemas.ts | 3 +- .../parameters/util/optimalDimension.ts | 6 +- .../features/queue/hooks/useEnqueueCanvas.ts | 3 + .../queue/hooks/useEnqueueGenerate.ts | 3 + .../frontend/web/src/services/api/schema.ts | 468 +++++++++++++++++- pyproject.toml | 2 +- 36 files changed, 1542 insertions(+), 48 deletions(-) create mode 100644 invokeai/app/invocations/z_image_denoise.py create mode 100644 invokeai/app/invocations/z_image_image_to_latents.py create mode 100644 invokeai/app/invocations/z_image_latents_to_image.py create mode 100644 invokeai/app/invocations/z_image_model_loader.py create mode 100644 invokeai/app/invocations/z_image_text_encoder.py create mode 100644 invokeai/backend/model_manager/load/model_loaders/z_image.py create mode 100644 invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts diff --git a/invokeai/app/api/dependencies.py b/invokeai/app/api/dependencies.py index 1307a7e46c5..466a57f804c 100644 --- a/invokeai/app/api/dependencies.py +++ b/invokeai/app/api/dependencies.py @@ -49,6 +49,7 @@ FLUXConditioningInfo, SD3ConditioningInfo, SDXLConditioningInfo, + ZImageConditioningInfo, ) from invokeai.backend.util.logging import InvokeAILogger from invokeai.version.invokeai_version import __version__ @@ -129,6 +130,7 @@ def initialize( FLUXConditioningInfo, SD3ConditioningInfo, CogView4ConditioningInfo, + ZImageConditioningInfo, ], ephemeral=True, ), diff --git a/invokeai/app/invocations/fields.py b/invokeai/app/invocations/fields.py index 1bca7ec3f53..0973d23ce3b 100644 --- a/invokeai/app/invocations/fields.py +++ b/invokeai/app/invocations/fields.py @@ -154,6 +154,7 @@ class FieldDescriptions: clip = "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count" t5_encoder = "T5 tokenizer and text encoder" glm_encoder = "GLM (THUDM) tokenizer and text encoder" + qwen3_encoder = "Qwen3 tokenizer and text encoder" clip_embed_model = "CLIP Embed loader" clip_g_model = "CLIP-G Embed loader" unet = "UNet (scheduler, LoRAs)" @@ -169,6 +170,7 @@ class FieldDescriptions: flux_model = "Flux model (Transformer) to load" sd3_model = "SD3 model (MMDiTX) to load" cogview4_model = "CogView4 model (Transformer) to load" + z_image_model = "Z-Image model (Transformer) to load" sdxl_main_model = "SDXL Main model (UNet, VAE, CLIP1, CLIP2) to load" sdxl_refiner_model = "SDXL Refiner Main Modde (UNet, VAE, CLIP2) to load" onnx_main_model = "ONNX Main model (UNet, VAE, CLIP) to load" @@ -321,6 +323,12 @@ class CogView4ConditioningField(BaseModel): conditioning_name: str = Field(description="The name of conditioning tensor") +class ZImageConditioningField(BaseModel): + """A Z-Image conditioning tensor primitive value""" + + conditioning_name: str = Field(description="The name of conditioning tensor") + + class ConditioningField(BaseModel): """A conditioning tensor primitive value""" diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index d9bcc734060..36b29e656ae 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -158,6 +158,10 @@ def invoke(self, context: InvocationContext) -> MetadataOutput: "cogview4_img2img", "cogview4_inpaint", "cogview4_outpaint", + "z_image_txt2img", + "z_image_img2img", + "z_image_inpaint", + "z_image_outpaint", ] diff --git a/invokeai/app/invocations/model.py b/invokeai/app/invocations/model.py index 753ae77c559..9b2b3ba8e1e 100644 --- a/invokeai/app/invocations/model.py +++ b/invokeai/app/invocations/model.py @@ -72,6 +72,13 @@ class GlmEncoderField(BaseModel): text_encoder: ModelIdentifierField = Field(description="Info to load text_encoder submodel") +class Qwen3EncoderField(BaseModel): + """Field for Qwen3 text encoder used by Z-Image models.""" + + tokenizer: ModelIdentifierField = Field(description="Info to load tokenizer submodel") + text_encoder: ModelIdentifierField = Field(description="Info to load text_encoder submodel") + + class VAEField(BaseModel): vae: ModelIdentifierField = Field(description="Info to load vae submodel") seamless_axes: List[str] = Field(default_factory=list, description='Axes("x" and "y") to which apply seamless') diff --git a/invokeai/app/invocations/primitives.py b/invokeai/app/invocations/primitives.py index 10703a620cd..dcb1fc6a45f 100644 --- a/invokeai/app/invocations/primitives.py +++ b/invokeai/app/invocations/primitives.py @@ -27,6 +27,7 @@ SD3ConditioningField, TensorField, UIComponent, + ZImageConditioningField, ) from invokeai.app.services.images.images_common import ImageDTO from invokeai.app.services.shared.invocation_context import InvocationContext @@ -461,6 +462,17 @@ def build(cls, conditioning_name: str) -> "CogView4ConditioningOutput": return cls(conditioning=CogView4ConditioningField(conditioning_name=conditioning_name)) +@invocation_output("z_image_conditioning_output") +class ZImageConditioningOutput(BaseInvocationOutput): + """Base class for nodes that output a Z-Image text conditioning tensor.""" + + conditioning: ZImageConditioningField = OutputField(description=FieldDescriptions.cond) + + @classmethod + def build(cls, conditioning_name: str) -> "ZImageConditioningOutput": + return cls(conditioning=ZImageConditioningField(conditioning_name=conditioning_name)) + + @invocation_output("conditioning_output") class ConditioningOutput(BaseInvocationOutput): """Base class for nodes that output a single conditioning tensor""" diff --git a/invokeai/app/invocations/z_image_denoise.py b/invokeai/app/invocations/z_image_denoise.py new file mode 100644 index 00000000000..482f2f24bab --- /dev/null +++ b/invokeai/app/invocations/z_image_denoise.py @@ -0,0 +1,351 @@ +from typing import Callable, Optional + +import torch +import torchvision.transforms as tv_transforms +from torchvision.transforms.functional import resize as tv_resize +from tqdm import tqdm + +from invokeai.app.invocations.baseinvocation import BaseInvocation, Classification, invocation +from invokeai.app.invocations.constants import LATENT_SCALE_FACTOR +from invokeai.app.invocations.fields import ( + DenoiseMaskField, + FieldDescriptions, + Input, + InputField, + LatentsField, + WithBoard, + WithMetadata, + ZImageConditioningField, +) +from invokeai.app.invocations.model import TransformerField +from invokeai.app.invocations.primitives import LatentsOutput +from invokeai.app.services.shared.invocation_context import InvocationContext +from invokeai.backend.model_manager.taxonomy import BaseModelType +from invokeai.backend.rectified_flow.rectified_flow_inpaint_extension import RectifiedFlowInpaintExtension +from invokeai.backend.stable_diffusion.diffusers_pipeline import PipelineIntermediateState +from invokeai.backend.stable_diffusion.diffusion.conditioning_data import ZImageConditioningInfo +from invokeai.backend.util.devices import TorchDevice + + +@invocation( + "z_image_denoise", + title="Denoise - Z-Image", + tags=["image", "z-image"], + category="image", + version="1.0.0", + classification=Classification.Prototype, +) +class ZImageDenoiseInvocation(BaseInvocation, WithMetadata, WithBoard): + """Run the denoising process with a Z-Image model.""" + + # If latents is provided, this means we are doing image-to-image. + latents: Optional[LatentsField] = InputField( + default=None, description=FieldDescriptions.latents, input=Input.Connection + ) + # denoise_mask is used for image-to-image inpainting. Only the masked region is modified. + denoise_mask: Optional[DenoiseMaskField] = InputField( + default=None, description=FieldDescriptions.denoise_mask, input=Input.Connection + ) + denoising_start: float = InputField(default=0.0, ge=0, le=1, description=FieldDescriptions.denoising_start) + denoising_end: float = InputField(default=1.0, ge=0, le=1, description=FieldDescriptions.denoising_end) + transformer: TransformerField = InputField( + description=FieldDescriptions.z_image_model, input=Input.Connection, title="Transformer" + ) + positive_conditioning: ZImageConditioningField = InputField( + description=FieldDescriptions.positive_cond, input=Input.Connection + ) + negative_conditioning: Optional[ZImageConditioningField] = InputField( + default=None, description=FieldDescriptions.negative_cond, input=Input.Connection + ) + # Z-Image-Turbo uses guidance_scale=0.0 by default (no CFG) + guidance_scale: float = InputField( + default=0.0, + ge=0.0, + description="Guidance scale for classifier-free guidance. Use 0.0 for Z-Image-Turbo.", + title="Guidance Scale", + ) + width: int = InputField(default=1024, multiple_of=16, description="Width of the generated image.") + height: int = InputField(default=1024, multiple_of=16, description="Height of the generated image.") + # Z-Image-Turbo uses 8 steps by default + steps: int = InputField(default=8, gt=0, description="Number of denoising steps. 8 recommended for Z-Image-Turbo.") + seed: int = InputField(default=0, description="Randomness seed for reproducibility.") + + @torch.no_grad() + def invoke(self, context: InvocationContext) -> LatentsOutput: + latents = self._run_diffusion(context) + latents = latents.detach().to("cpu") + + name = context.tensors.save(tensor=latents) + return LatentsOutput.build(latents_name=name, latents=latents, seed=None) + + def _prep_inpaint_mask(self, context: InvocationContext, latents: torch.Tensor) -> torch.Tensor | None: + """Prepare the inpaint mask.""" + if self.denoise_mask is None: + return None + mask = context.tensors.load(self.denoise_mask.mask_name) + + # Invert mask: 0.0 = regions to denoise, 1.0 = regions to preserve + mask = 1.0 - mask + + _, _, latent_height, latent_width = latents.shape + mask = tv_resize( + img=mask, + size=[latent_height, latent_width], + interpolation=tv_transforms.InterpolationMode.BILINEAR, + antialias=False, + ) + + mask = mask.to(device=latents.device, dtype=latents.dtype) + return mask + + def _load_text_conditioning( + self, + context: InvocationContext, + conditioning_name: str, + dtype: torch.dtype, + device: torch.device, + ) -> torch.Tensor: + """Load Z-Image text conditioning.""" + cond_data = context.conditioning.load(conditioning_name) + assert len(cond_data.conditionings) == 1 + z_image_conditioning = cond_data.conditionings[0] + assert isinstance(z_image_conditioning, ZImageConditioningInfo) + z_image_conditioning = z_image_conditioning.to(dtype=dtype, device=device) + return z_image_conditioning.prompt_embeds + + def _get_noise( + self, + batch_size: int, + num_channels_latents: int, + height: int, + width: int, + dtype: torch.dtype, + device: torch.device, + seed: int, + ) -> torch.Tensor: + """Generate initial noise tensor.""" + rand_device = "cpu" + rand_dtype = torch.float16 + + return torch.randn( + batch_size, + num_channels_latents, + int(height) // LATENT_SCALE_FACTOR, + int(width) // LATENT_SCALE_FACTOR, + device=rand_device, + dtype=rand_dtype, + generator=torch.Generator(device=rand_device).manual_seed(seed), + ).to(device=device, dtype=dtype) + + def _calculate_shift( + self, + image_seq_len: int, + base_image_seq_len: int = 256, + max_image_seq_len: int = 4096, + base_shift: float = 0.5, + max_shift: float = 1.15, + ) -> float: + """Calculate timestep shift based on image sequence length. + + Based on diffusers ZImagePipeline.calculate_shift method. + """ + m = (max_shift - base_shift) / (max_image_seq_len - base_image_seq_len) + b = base_shift - m * base_image_seq_len + mu = image_seq_len * m + b + return mu + + def _get_sigmas(self, mu: float, num_steps: int) -> list[float]: + """Generate sigma schedule with time shift. + + Based on FlowMatchEulerDiscreteScheduler with shift. + Generates num_steps + 1 sigma values (including terminal 0.0). + """ + import math + + def time_shift(mu: float, sigma: float, t: float) -> float: + """Apply time shift to a single timestep value.""" + if t <= 0: + return 0.0 + if t >= 1: + return 1.0 + return math.exp(mu) / (math.exp(mu) + (1 / t - 1) ** sigma) + + # Generate linearly spaced values from 1 to 0 (excluding endpoints for safety) + # then apply time shift + sigmas = [] + for i in range(num_steps + 1): + t = 1.0 - i / num_steps # Goes from 1.0 to 0.0 + sigma = time_shift(mu, 1.0, t) + sigmas.append(sigma) + + return sigmas + + def _run_diffusion(self, context: InvocationContext) -> torch.Tensor: + inference_dtype = torch.bfloat16 + device = TorchDevice.choose_torch_device() + + transformer_info = context.models.load(self.transformer.transformer) + + # Load positive conditioning + pos_prompt_embeds = self._load_text_conditioning( + context=context, + conditioning_name=self.positive_conditioning.conditioning_name, + dtype=inference_dtype, + device=device, + ) + + # Load negative conditioning if provided and guidance_scale > 0 + neg_prompt_embeds: torch.Tensor | None = None + do_classifier_free_guidance = self.guidance_scale > 0.0 and self.negative_conditioning is not None + if do_classifier_free_guidance: + assert self.negative_conditioning is not None + neg_prompt_embeds = self._load_text_conditioning( + context=context, + conditioning_name=self.negative_conditioning.conditioning_name, + dtype=inference_dtype, + device=device, + ) + + # Calculate image sequence length for timestep shifting + patch_size = 2 # Z-Image uses patch_size=2 + image_seq_len = ((self.height // LATENT_SCALE_FACTOR) * (self.width // LATENT_SCALE_FACTOR)) // (patch_size**2) + + # Calculate shift based on image sequence length + mu = self._calculate_shift(image_seq_len) + + # Generate sigma schedule with time shift + sigmas = self._get_sigmas(mu, self.steps) + + # Apply denoising_start and denoising_end clipping + if self.denoising_start > 0 or self.denoising_end < 1: + # Calculate start and end indices based on denoising range + total_sigmas = len(sigmas) + start_idx = int(self.denoising_start * (total_sigmas - 1)) + end_idx = int(self.denoising_end * (total_sigmas - 1)) + 1 + sigmas = sigmas[start_idx:end_idx] + + total_steps = len(sigmas) - 1 + + # Load input latents if provided (image-to-image) + init_latents = context.tensors.load(self.latents.latents_name) if self.latents else None + if init_latents is not None: + init_latents = init_latents.to(device=device, dtype=inference_dtype) + + # Generate initial noise + num_channels_latents = 16 # Z-Image uses 16 latent channels + noise = self._get_noise( + batch_size=1, + num_channels_latents=num_channels_latents, + height=self.height, + width=self.width, + dtype=inference_dtype, + device=device, + seed=self.seed, + ) + + # Prepare input latent image + if init_latents is not None: + s_0 = sigmas[0] + latents = s_0 * noise + (1.0 - s_0) * init_latents + else: + if self.denoising_start > 1e-5: + raise ValueError("denoising_start should be 0 when initial latents are not provided.") + latents = noise + + # Short-circuit if no denoising steps + if total_steps <= 0: + return latents + + # Prepare inpaint extension + inpaint_mask = self._prep_inpaint_mask(context, latents) + inpaint_extension: RectifiedFlowInpaintExtension | None = None + if inpaint_mask is not None: + assert init_latents is not None + inpaint_extension = RectifiedFlowInpaintExtension( + init_latents=init_latents, + inpaint_mask=inpaint_mask, + noise=noise, + ) + + step_callback = self._build_step_callback(context) + step_callback( + PipelineIntermediateState( + step=0, + order=1, + total_steps=total_steps, + timestep=int(sigmas[0] * 1000), + latents=latents, + ), + ) + + with transformer_info.model_on_device() as (_, transformer): + # Denoising loop + for step_idx in tqdm(range(total_steps)): + sigma_curr = sigmas[step_idx] + sigma_prev = sigmas[step_idx + 1] + + # Timestep tensor for Z-Image model + # The model expects t=0 at start (noise) and t=1 at end (clean) + # Sigma goes from 1 (noise) to 0 (clean), so model_t = 1 - sigma + model_t = 1.0 - sigma_curr + timestep = torch.tensor([model_t], device=device, dtype=inference_dtype).expand(latents.shape[0]) + + # Run transformer for positive prediction + # Z-Image transformer expects: x as list of [C, 1, H, W] tensors, t, cap_feats as list + # Prepare latent input: [B, C, H, W] -> [B, C, 1, H, W] -> list of [C, 1, H, W] + latent_model_input = latents.to(transformer.dtype) + latent_model_input = latent_model_input.unsqueeze(2) # Add frame dimension + latent_model_input_list = list(latent_model_input.unbind(dim=0)) + + # Transformer returns (List[torch.Tensor], dict) - we only need the tensor list + model_output = transformer( + x=latent_model_input_list, + t=timestep, + cap_feats=[pos_prompt_embeds], + ) + model_out_list = model_output[0] # Extract list of tensors from tuple + noise_pred_cond = torch.stack([t.float() for t in model_out_list], dim=0) + noise_pred_cond = noise_pred_cond.squeeze(2) # Remove frame dimension + noise_pred_cond = -noise_pred_cond # Z-Image uses v-prediction with negation + + # Apply CFG if enabled + if do_classifier_free_guidance and neg_prompt_embeds is not None: + model_output_uncond = transformer( + x=latent_model_input_list, + t=timestep, + cap_feats=[neg_prompt_embeds], + ) + model_out_list_uncond = model_output_uncond[0] # Extract list of tensors from tuple + noise_pred_uncond = torch.stack([t.float() for t in model_out_list_uncond], dim=0) + noise_pred_uncond = noise_pred_uncond.squeeze(2) + noise_pred_uncond = -noise_pred_uncond + noise_pred = noise_pred_uncond + self.guidance_scale * (noise_pred_cond - noise_pred_uncond) + else: + noise_pred = noise_pred_cond + + # Euler step + latents_dtype = latents.dtype + latents = latents.to(dtype=torch.float32) + latents = latents + (sigma_prev - sigma_curr) * noise_pred + latents = latents.to(dtype=latents_dtype) + + if inpaint_extension is not None: + latents = inpaint_extension.merge_intermediate_latents_with_init_latents(latents, sigma_prev) + + step_callback( + PipelineIntermediateState( + step=step_idx + 1, + order=1, + total_steps=total_steps, + timestep=int(sigma_curr * 1000), + latents=latents, + ), + ) + + return latents + + def _build_step_callback(self, context: InvocationContext) -> Callable[[PipelineIntermediateState], None]: + def step_callback(state: PipelineIntermediateState) -> None: + context.util.sd_step_callback(state, BaseModelType.ZImage) + + return step_callback diff --git a/invokeai/app/invocations/z_image_image_to_latents.py b/invokeai/app/invocations/z_image_image_to_latents.py new file mode 100644 index 00000000000..637729d040c --- /dev/null +++ b/invokeai/app/invocations/z_image_image_to_latents.py @@ -0,0 +1,76 @@ +import einops +import torch +from diffusers.models.autoencoders.autoencoder_kl import AutoencoderKL + +from invokeai.app.invocations.baseinvocation import BaseInvocation, Classification, invocation +from invokeai.app.invocations.fields import ( + FieldDescriptions, + ImageField, + Input, + InputField, + WithBoard, + WithMetadata, +) +from invokeai.app.invocations.model import VAEField +from invokeai.app.invocations.primitives import LatentsOutput +from invokeai.app.services.shared.invocation_context import InvocationContext +from invokeai.backend.model_manager.load.load_base import LoadedModel +from invokeai.backend.stable_diffusion.diffusers_pipeline import image_resized_to_grid_as_tensor +from invokeai.backend.util.devices import TorchDevice + + +@invocation( + "z_image_i2l", + title="Image to Latents - Z-Image", + tags=["image", "latents", "vae", "i2l", "z-image"], + category="image", + version="1.0.0", + classification=Classification.Prototype, +) +class ZImageImageToLatentsInvocation(BaseInvocation, WithMetadata, WithBoard): + """Generates latents from an image using Z-Image VAE.""" + + image: ImageField = InputField(description="The image to encode.") + vae: VAEField = InputField(description=FieldDescriptions.vae, input=Input.Connection) + + @staticmethod + def vae_encode(vae_info: LoadedModel, image_tensor: torch.Tensor) -> torch.Tensor: + assert isinstance(vae_info.model, AutoencoderKL) + + with vae_info.model_on_device() as (_, vae): + assert isinstance(vae, AutoencoderKL) + + vae.disable_tiling() + + image_tensor = image_tensor.to(device=TorchDevice.choose_torch_device(), dtype=vae.dtype) + with torch.inference_mode(): + image_tensor_dist = vae.encode(image_tensor).latent_dist + latents: torch.Tensor = image_tensor_dist.sample().to(dtype=vae.dtype) + + # Apply scaling_factor and shift_factor from VAE config + # Z-Image uses: latents = (latents - shift_factor) * scaling_factor + scaling_factor = vae.config.scaling_factor + shift_factor = getattr(vae.config, "shift_factor", None) + + if shift_factor is not None: + latents = latents - shift_factor + latents = latents * scaling_factor + + return latents + + @torch.no_grad() + def invoke(self, context: InvocationContext) -> LatentsOutput: + image = context.images.get_pil(self.image.image_name) + + image_tensor = image_resized_to_grid_as_tensor(image.convert("RGB")) + if image_tensor.dim() == 3: + image_tensor = einops.rearrange(image_tensor, "c h w -> 1 c h w") + + vae_info = context.models.load(self.vae.vae) + assert isinstance(vae_info.model, AutoencoderKL) + + latents = self.vae_encode(vae_info=vae_info, image_tensor=image_tensor) + + latents = latents.to("cpu") + name = context.tensors.save(tensor=latents) + return LatentsOutput.build(latents_name=name, latents=latents, seed=None) diff --git a/invokeai/app/invocations/z_image_latents_to_image.py b/invokeai/app/invocations/z_image_latents_to_image.py new file mode 100644 index 00000000000..f5a3f77b52d --- /dev/null +++ b/invokeai/app/invocations/z_image_latents_to_image.py @@ -0,0 +1,80 @@ +from contextlib import nullcontext + +import torch +from diffusers.models.autoencoders.autoencoder_kl import AutoencoderKL +from einops import rearrange +from PIL import Image + +from invokeai.app.invocations.baseinvocation import BaseInvocation, Classification, invocation +from invokeai.app.invocations.fields import ( + FieldDescriptions, + Input, + InputField, + LatentsField, + WithBoard, + WithMetadata, +) +from invokeai.app.invocations.model import VAEField +from invokeai.app.invocations.primitives import ImageOutput +from invokeai.app.services.shared.invocation_context import InvocationContext +from invokeai.backend.stable_diffusion.extensions.seamless import SeamlessExt +from invokeai.backend.util.devices import TorchDevice + + +@invocation( + "z_image_l2i", + title="Latents to Image - Z-Image", + tags=["latents", "image", "vae", "l2i", "z-image"], + category="latents", + version="1.0.0", + classification=Classification.Prototype, +) +class ZImageLatentsToImageInvocation(BaseInvocation, WithMetadata, WithBoard): + """Generates an image from latents using Z-Image VAE.""" + + latents: LatentsField = InputField(description=FieldDescriptions.latents, input=Input.Connection) + vae: VAEField = InputField(description=FieldDescriptions.vae, input=Input.Connection) + + @torch.no_grad() + def invoke(self, context: InvocationContext) -> ImageOutput: + latents = context.tensors.load(self.latents.latents_name) + + vae_info = context.models.load(self.vae.vae) + assert isinstance(vae_info.model, AutoencoderKL) + + with ( + SeamlessExt.static_patch_model(vae_info.model, self.vae.seamless_axes), + vae_info.model_on_device() as (_, vae), + ): + context.util.signal_progress("Running VAE") + assert isinstance(vae, AutoencoderKL) + latents = latents.to(device=TorchDevice.choose_torch_device(), dtype=vae.dtype) + + vae.disable_tiling() + + tiling_context = nullcontext() + + # Clear memory as VAE decode can request a lot + TorchDevice.empty_cache() + + with torch.inference_mode(), tiling_context: + # Apply scaling_factor and shift_factor from VAE config + # Z-Image uses: latents = latents / scaling_factor + shift_factor + scaling_factor = vae.config.scaling_factor + shift_factor = getattr(vae.config, "shift_factor", None) + + latents = latents / scaling_factor + if shift_factor is not None: + latents = latents + shift_factor + + img = vae.decode(latents, return_dict=False)[0] + + img = img.clamp(-1, 1) + img = rearrange(img[0], "c h w -> h w c") + img_pil = Image.fromarray((127.5 * (img + 1.0)).byte().cpu().numpy()) + + TorchDevice.empty_cache() + + image_dto = context.images.save(image=img_pil) + + return ImageOutput.build(image_dto) diff --git a/invokeai/app/invocations/z_image_model_loader.py b/invokeai/app/invocations/z_image_model_loader.py new file mode 100644 index 00000000000..e357a24f173 --- /dev/null +++ b/invokeai/app/invocations/z_image_model_loader.py @@ -0,0 +1,56 @@ +from invokeai.app.invocations.baseinvocation import ( + BaseInvocation, + BaseInvocationOutput, + Classification, + invocation, + invocation_output, +) +from invokeai.app.invocations.fields import FieldDescriptions, Input, InputField, OutputField +from invokeai.app.invocations.model import ( + ModelIdentifierField, + Qwen3EncoderField, + TransformerField, + VAEField, +) +from invokeai.app.services.shared.invocation_context import InvocationContext +from invokeai.backend.model_manager.taxonomy import BaseModelType, ModelType, SubModelType + + +@invocation_output("z_image_model_loader_output") +class ZImageModelLoaderOutput(BaseInvocationOutput): + """Z-Image base model loader output.""" + + transformer: TransformerField = OutputField(description=FieldDescriptions.transformer, title="Transformer") + qwen3_encoder: Qwen3EncoderField = OutputField(description=FieldDescriptions.qwen3_encoder, title="Qwen3 Encoder") + vae: VAEField = OutputField(description=FieldDescriptions.vae, title="VAE") + + +@invocation( + "z_image_model_loader", + title="Main Model - Z-Image", + tags=["model", "z-image"], + category="model", + version="1.0.0", + classification=Classification.Prototype, +) +class ZImageModelLoaderInvocation(BaseInvocation): + """Loads a Z-Image base model, outputting its submodels.""" + + model: ModelIdentifierField = InputField( + description=FieldDescriptions.z_image_model, + input=Input.Direct, + ui_model_base=BaseModelType.ZImage, + ui_model_type=ModelType.Main, + ) + + def invoke(self, context: InvocationContext) -> ZImageModelLoaderOutput: + transformer = self.model.model_copy(update={"submodel_type": SubModelType.Transformer}) + vae = self.model.model_copy(update={"submodel_type": SubModelType.VAE}) + qwen3_tokenizer = self.model.model_copy(update={"submodel_type": SubModelType.Tokenizer}) + qwen3_encoder = self.model.model_copy(update={"submodel_type": SubModelType.TextEncoder}) + + return ZImageModelLoaderOutput( + transformer=TransformerField(transformer=transformer, loras=[]), + qwen3_encoder=Qwen3EncoderField(tokenizer=qwen3_tokenizer, text_encoder=qwen3_encoder), + vae=VAEField(vae=vae), + ) diff --git a/invokeai/app/invocations/z_image_text_encoder.py b/invokeai/app/invocations/z_image_text_encoder.py new file mode 100644 index 00000000000..ccfe473b5ad --- /dev/null +++ b/invokeai/app/invocations/z_image_text_encoder.py @@ -0,0 +1,113 @@ +import torch +from transformers import PreTrainedModel, PreTrainedTokenizerBase + +from invokeai.app.invocations.baseinvocation import BaseInvocation, Classification, invocation +from invokeai.app.invocations.fields import FieldDescriptions, Input, InputField, UIComponent +from invokeai.app.invocations.model import Qwen3EncoderField +from invokeai.app.invocations.primitives import ZImageConditioningOutput +from invokeai.app.services.shared.invocation_context import InvocationContext +from invokeai.backend.stable_diffusion.diffusion.conditioning_data import ( + ConditioningFieldData, + ZImageConditioningInfo, +) +from invokeai.backend.util.devices import TorchDevice + +# Z-Image max sequence length based on diffusers default +Z_IMAGE_MAX_SEQ_LEN = 512 + + +@invocation( + "z_image_text_encoder", + title="Prompt - Z-Image", + tags=["prompt", "conditioning", "z-image"], + category="conditioning", + version="1.0.0", + classification=Classification.Prototype, +) +class ZImageTextEncoderInvocation(BaseInvocation): + """Encodes and preps a prompt for a Z-Image image.""" + + prompt: str = InputField(description="Text prompt to encode.", ui_component=UIComponent.Textarea) + qwen3_encoder: Qwen3EncoderField = InputField( + title="Qwen3 Encoder", + description=FieldDescriptions.qwen3_encoder, + input=Input.Connection, + ) + + @torch.no_grad() + def invoke(self, context: InvocationContext) -> ZImageConditioningOutput: + prompt_embeds = self._encode_prompt(context, max_seq_len=Z_IMAGE_MAX_SEQ_LEN) + conditioning_data = ConditioningFieldData(conditionings=[ZImageConditioningInfo(prompt_embeds=prompt_embeds)]) + conditioning_name = context.conditioning.save(conditioning_data) + return ZImageConditioningOutput.build(conditioning_name) + + def _encode_prompt(self, context: InvocationContext, max_seq_len: int) -> torch.Tensor: + """Encode prompt using Qwen3 text encoder. + + Based on the ZImagePipeline._encode_prompt method from diffusers. + """ + prompt = self.prompt + + with ( + context.models.load(self.qwen3_encoder.text_encoder).model_on_device() as (_, text_encoder), + context.models.load(self.qwen3_encoder.tokenizer).model_on_device() as (_, tokenizer), + ): + context.util.signal_progress("Running Qwen3 text encoder") + assert isinstance(text_encoder, PreTrainedModel) + assert isinstance(tokenizer, PreTrainedTokenizerBase) + + # Apply chat template similar to diffusers ZImagePipeline + # The chat template formats the prompt for the Qwen3 model + prompt_formatted = tokenizer.apply_chat_template( + [{"role": "user", "content": prompt}], + tokenize=False, + add_generation_prompt=True, + enable_thinking=True, + ) + + # Tokenize the formatted prompt + text_inputs = tokenizer( + prompt_formatted, + padding="max_length", + max_length=max_seq_len, + truncation=True, + return_attention_mask=True, + return_tensors="pt", + ) + + text_input_ids = text_inputs.input_ids + attention_mask = text_inputs.attention_mask + assert isinstance(text_input_ids, torch.Tensor) + assert isinstance(attention_mask, torch.Tensor) + + # Check for truncation + untruncated_ids = tokenizer(prompt_formatted, padding="longest", return_tensors="pt").input_ids + if untruncated_ids.shape[-1] >= text_input_ids.shape[-1] and not torch.equal( + text_input_ids, untruncated_ids + ): + removed_text = tokenizer.batch_decode(untruncated_ids[:, max_seq_len - 1 : -1]) + context.logger.warning( + f"The following part of your input was truncated because `max_sequence_length` is set to " + f"{max_seq_len} tokens: {removed_text}" + ) + + device = TorchDevice.choose_torch_device() + + # Get hidden states from the text encoder + # Use the second-to-last hidden state like diffusers does + prompt_mask = attention_mask.to(device).bool() + outputs = text_encoder( + text_input_ids.to(device), + attention_mask=prompt_mask, + output_hidden_states=True, + ) + prompt_embeds = outputs.hidden_states[-2] + + # Z-Image expects a 2D tensor [seq_len, hidden_dim] with only valid tokens + # Based on diffusers ZImagePipeline implementation: + # embeddings_list.append(prompt_embeds[i][prompt_masks[i]]) + # Since batch_size=1, we take the first item and filter by mask + prompt_embeds = prompt_embeds[0][prompt_mask[0]] + + assert isinstance(prompt_embeds, torch.Tensor) + return prompt_embeds diff --git a/invokeai/app/util/step_callback.py b/invokeai/app/util/step_callback.py index 1a6570f6aea..90417e9a42a 100644 --- a/invokeai/app/util/step_callback.py +++ b/invokeai/app/util/step_callback.py @@ -164,6 +164,9 @@ def diffusion_step_callback( latent_rgb_factors = COGVIEW4_LATENT_RGB_FACTORS elif base_model == BaseModelType.Flux: latent_rgb_factors = FLUX_LATENT_RGB_FACTORS + elif base_model == BaseModelType.ZImage: + # Z-Image uses FLUX-compatible VAE with 16 latent channels + latent_rgb_factors = FLUX_LATENT_RGB_FACTORS else: raise ValueError(f"Unsupported base model: {base_model}") diff --git a/invokeai/backend/model_manager/configs/factory.py b/invokeai/backend/model_manager/configs/factory.py index e596c960953..46e03eeb0f5 100644 --- a/invokeai/backend/model_manager/configs/factory.py +++ b/invokeai/backend/model_manager/configs/factory.py @@ -64,6 +64,7 @@ Main_Diffusers_SD3_Config, Main_Diffusers_SDXL_Config, Main_Diffusers_SDXLRefiner_Config, + Main_Diffusers_ZImage_Config, Main_GGUF_FLUX_Config, MainModelDefaultSettings, ) @@ -138,6 +139,7 @@ Annotated[Main_Diffusers_SDXLRefiner_Config, Main_Diffusers_SDXLRefiner_Config.get_tag()], Annotated[Main_Diffusers_SD3_Config, Main_Diffusers_SD3_Config.get_tag()], Annotated[Main_Diffusers_CogView4_Config, Main_Diffusers_CogView4_Config.get_tag()], + Annotated[Main_Diffusers_ZImage_Config, Main_Diffusers_ZImage_Config.get_tag()], # Main (Pipeline) - checkpoint format Annotated[Main_Checkpoint_SD1_Config, Main_Checkpoint_SD1_Config.get_tag()], Annotated[Main_Checkpoint_SD2_Config, Main_Checkpoint_SD2_Config.get_tag()], diff --git a/invokeai/backend/model_manager/configs/main.py b/invokeai/backend/model_manager/configs/main.py index 03c44e1a778..5ebe5f9661c 100644 --- a/invokeai/backend/model_manager/configs/main.py +++ b/invokeai/backend/model_manager/configs/main.py @@ -657,3 +657,30 @@ def from_model_on_disk(cls, mod: ModelOnDisk, override_fields: dict[str, Any]) - **override_fields, repo_variant=repo_variant, ) + + +class Main_Diffusers_ZImage_Config(Diffusers_Config_Base, Main_Config_Base, Config_Base): + """Model config for Z-Image diffusers models (Z-Image-Turbo, Z-Image-Base, Z-Image-Edit).""" + + base: Literal[BaseModelType.ZImage] = Field(BaseModelType.ZImage) + + @classmethod + def from_model_on_disk(cls, mod: ModelOnDisk, override_fields: dict[str, Any]) -> Self: + raise_if_not_dir(mod) + + raise_for_override_fields(cls, override_fields) + + # This check implies the base type - no further validation needed. + raise_for_class_name( + common_config_paths(mod.path), + { + "ZImagePipeline", + }, + ) + + repo_variant = override_fields.get("repo_variant") or cls._get_repo_variant_or_raise(mod) + + return cls( + **override_fields, + repo_variant=repo_variant, + ) diff --git a/invokeai/backend/model_manager/load/model_loaders/z_image.py b/invokeai/backend/model_manager/load/model_loaders/z_image.py new file mode 100644 index 00000000000..6b94240105f --- /dev/null +++ b/invokeai/backend/model_manager/load/model_loaders/z_image.py @@ -0,0 +1,59 @@ +# Copyright (c) 2024, Lincoln D. Stein and the InvokeAI Development Team +"""Class for Z-Image model loading in InvokeAI.""" + +from pathlib import Path +from typing import Optional + +import torch + +from invokeai.backend.model_manager.configs.base import Checkpoint_Config_Base, Diffusers_Config_Base +from invokeai.backend.model_manager.configs.factory import AnyModelConfig +from invokeai.backend.model_manager.load.model_loader_registry import ModelLoaderRegistry +from invokeai.backend.model_manager.load.model_loaders.generic_diffusers import GenericDiffusersLoader +from invokeai.backend.model_manager.taxonomy import ( + AnyModel, + BaseModelType, + ModelFormat, + ModelType, + SubModelType, +) + + +@ModelLoaderRegistry.register(base=BaseModelType.ZImage, type=ModelType.Main, format=ModelFormat.Diffusers) +class ZImageDiffusersModel(GenericDiffusersLoader): + """Class to load Z-Image main models (Z-Image-Turbo, Z-Image-Base, Z-Image-Edit).""" + + def _load_model( + self, + config: AnyModelConfig, + submodel_type: Optional[SubModelType] = None, + ) -> AnyModel: + if isinstance(config, Checkpoint_Config_Base): + raise NotImplementedError("CheckpointConfigBase is not implemented for Z-Image models.") + + if submodel_type is None: + raise Exception("A submodel type must be provided when loading main pipelines.") + + model_path = Path(config.path) + load_class = self.get_hf_load_class(model_path, submodel_type) + repo_variant = config.repo_variant if isinstance(config, Diffusers_Config_Base) else None + variant = repo_variant.value if repo_variant else None + model_path = model_path / submodel_type.value + + # Z-Image requires bfloat16 for correct inference. + dtype = torch.bfloat16 + try: + result: AnyModel = load_class.from_pretrained( + model_path, + torch_dtype=dtype, + variant=variant, + ) + except OSError as e: + if variant and "no file named" in str( + e + ): # try without the variant, just in case user's preferences changed + result = load_class.from_pretrained(model_path, torch_dtype=dtype) + else: + raise e + + return result diff --git a/invokeai/backend/model_manager/taxonomy.py b/invokeai/backend/model_manager/taxonomy.py index 38afd44fcb6..a88f4867a3f 100644 --- a/invokeai/backend/model_manager/taxonomy.py +++ b/invokeai/backend/model_manager/taxonomy.py @@ -48,6 +48,8 @@ class BaseModelType(str, Enum): """Indicates the model is associated with FLUX.1 model architecture, including FLUX Dev, Schnell and Fill.""" CogView4 = "cogview4" """Indicates the model is associated with CogView 4 model architecture.""" + ZImage = "z-image" + """Indicates the model is associated with Z-Image model architecture, including Z-Image-Turbo.""" Unknown = "unknown" """Indicates the model's base architecture is unknown.""" diff --git a/invokeai/backend/stable_diffusion/diffusion/conditioning_data.py b/invokeai/backend/stable_diffusion/diffusion/conditioning_data.py index aa87dd130d8..9d1bd676174 100644 --- a/invokeai/backend/stable_diffusion/diffusion/conditioning_data.py +++ b/invokeai/backend/stable_diffusion/diffusion/conditioning_data.py @@ -76,6 +76,18 @@ def to(self, device: torch.device | None = None, dtype: torch.dtype | None = Non return self +@dataclass +class ZImageConditioningInfo: + """Z-Image text conditioning information from Qwen3 text encoder.""" + + prompt_embeds: torch.Tensor + """Text embeddings from Qwen3 encoder. Shape: (batch_size, seq_len, hidden_size).""" + + def to(self, device: torch.device | None = None, dtype: torch.dtype | None = None): + self.prompt_embeds = self.prompt_embeds.to(device=device, dtype=dtype) + return self + + @dataclass class ConditioningFieldData: # If you change this class, adding more types, you _must_ update the instantiation of ObjectSerializerDisk in @@ -87,6 +99,7 @@ class ConditioningFieldData: | List[FLUXConditioningInfo] | List[SD3ConditioningInfo] | List[CogView4ConditioningInfo] + | List[ZImageConditioningInfo] ) diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/setDefaultSettings.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/setDefaultSettings.ts index f568bfe10c4..1ebad3a0694 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/setDefaultSettings.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/setDefaultSettings.ts @@ -84,7 +84,7 @@ export const addSetDefaultSettingsListener = (startAppListening: AppStartListeni } } - if (cfg_scale) { + if (!isNil(cfg_scale)) { if (isParameterCFGScale(cfg_scale)) { dispatch(setCfgScale(cfg_scale)); } diff --git a/invokeai/frontend/web/src/features/modelManagerV2/models.ts b/invokeai/frontend/web/src/features/modelManagerV2/models.ts index 11b19b3937f..00fcf167757 100644 --- a/invokeai/frontend/web/src/features/modelManagerV2/models.ts +++ b/invokeai/frontend/web/src/features/modelManagerV2/models.ts @@ -135,6 +135,7 @@ export const MODEL_BASE_TO_COLOR: Record = { 'sdxl-refiner': 'invokeBlue', flux: 'gold', cogview4: 'red', + 'z-image': 'cyan', unknown: 'red', }; @@ -173,6 +174,7 @@ export const MODEL_BASE_TO_LONG_NAME: Record = { 'sdxl-refiner': 'Stable Diffusion XL Refiner', flux: 'FLUX', cogview4: 'CogView4', + 'z-image': 'Z-Image', unknown: 'Unknown', }; @@ -188,6 +190,7 @@ export const MODEL_BASE_TO_SHORT_NAME: Record = { 'sdxl-refiner': 'SDXLR', flux: 'FLUX', cogview4: 'CogView4', + 'z-image': 'Z-Image', unknown: 'Unknown', }; @@ -219,8 +222,15 @@ export const MODEL_FORMAT_TO_LONG_NAME: Record = { unknown: 'Unknown', }; -export const SUPPORTS_OPTIMIZED_DENOISING_BASE_MODELS: BaseModelType[] = ['flux', 'sd-3']; +export const SUPPORTS_OPTIMIZED_DENOISING_BASE_MODELS: BaseModelType[] = ['flux', 'sd-3', 'z-image']; export const SUPPORTS_REF_IMAGES_BASE_MODELS: BaseModelType[] = ['sd-1', 'sdxl', 'flux']; -export const SUPPORTS_NEGATIVE_PROMPT_BASE_MODELS: BaseModelType[] = ['sd-1', 'sd-2', 'sdxl', 'cogview4', 'sd-3']; +export const SUPPORTS_NEGATIVE_PROMPT_BASE_MODELS: BaseModelType[] = [ + 'sd-1', + 'sd-2', + 'sdxl', + 'cogview4', + 'sd-3', + 'z-image', +]; diff --git a/invokeai/frontend/web/src/features/nodes/types/common.ts b/invokeai/frontend/web/src/features/nodes/types/common.ts index 97c7fff795d..5dc9caa9acc 100644 --- a/invokeai/frontend/web/src/features/nodes/types/common.ts +++ b/invokeai/frontend/web/src/features/nodes/types/common.ts @@ -72,10 +72,11 @@ export const zBaseModelType = z.enum([ 'sdxl-refiner', 'flux', 'cogview4', + 'z-image', 'unknown', ]); export type BaseModelType = z.infer; -export const zMainModelBase = z.enum(['sd-1', 'sd-2', 'sd-3', 'sdxl', 'flux', 'cogview4']); +export const zMainModelBase = z.enum(['sd-1', 'sd-2', 'sd-3', 'sdxl', 'flux', 'cogview4', 'z-image']); type MainModelBase = z.infer; export const isMainModelBase = (base: unknown): base is MainModelBase => zMainModelBase.safeParse(base).success; export const zModelType = z.enum([ diff --git a/invokeai/frontend/web/src/features/nodes/types/constants.ts b/invokeai/frontend/web/src/features/nodes/types/constants.ts index a8ab6d231e3..80a467ac646 100644 --- a/invokeai/frontend/web/src/features/nodes/types/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/types/constants.ts @@ -54,6 +54,7 @@ export const FIELD_COLORS: { [key: string]: string } = { FluxMainModelField: 'teal.500', SD3MainModelField: 'teal.500', CogView4MainModelField: 'teal.500', + ZImageMainModelField: 'teal.500', SDXLMainModelField: 'teal.500', SDXLRefinerModelField: 'teal.500', SpandrelImageToImageModelField: 'teal.500', @@ -62,6 +63,7 @@ export const FIELD_COLORS: { [key: string]: string } = { T2IAdapterModelField: 'teal.500', UNetField: 'red.500', T5EncoderField: 'green.500', + Qwen3EncoderField: 'green.500', TransformerField: 'red.500', VAEField: 'blue.500', VAEModelField: 'teal.500', diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addImageToImage.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addImageToImage.ts index 8d284f8988b..7b944a69460 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addImageToImage.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addImageToImage.ts @@ -21,7 +21,7 @@ type AddImageToImageArg = { state: RootState; manager: CanvasManager; l2i: Invocation; - i2l: Invocation<'i2l' | 'flux_vae_encode' | 'sd3_i2l' | 'cogview4_i2l'>; + i2l: Invocation<'i2l' | 'flux_vae_encode' | 'sd3_i2l' | 'cogview4_i2l' | 'z_image_i2l'>; noise?: Invocation<'noise'>; denoise: Invocation; vaeSource: Invocation; @@ -36,14 +36,21 @@ export const addImageToImage = async ({ noise, denoise, vaeSource, -}: AddImageToImageArg): Promise> => { +}: AddImageToImageArg): Promise< + Invocation<'img_resize' | 'l2i' | 'flux_vae_decode' | 'sd3_l2i' | 'cogview4_l2i' | 'z_image_l2i'> +> => { const { denoising_start, denoising_end } = getDenoisingStartAndEnd(state); denoise.denoising_start = denoising_start; denoise.denoising_end = denoising_end; const { originalSize, scaledSize, rect } = getOriginalAndScaledSizesForOtherModes(state); - if (denoise.type === 'cogview4_denoise' || denoise.type === 'flux_denoise' || denoise.type === 'sd3_denoise') { + if ( + denoise.type === 'cogview4_denoise' || + denoise.type === 'flux_denoise' || + denoise.type === 'sd3_denoise' || + denoise.type === 'z_image_denoise' + ) { denoise.width = scaledSize.width; denoise.height = scaledSize.height; } else { diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addInpaint.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addInpaint.ts index ac71ec4b0cb..39b548576c7 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addInpaint.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addInpaint.ts @@ -24,7 +24,7 @@ type AddInpaintArg = { state: RootState; manager: CanvasManager; l2i: Invocation; - i2l: Invocation<'i2l' | 'flux_vae_encode' | 'sd3_i2l' | 'cogview4_i2l'>; + i2l: Invocation<'i2l' | 'flux_vae_encode' | 'sd3_i2l' | 'cogview4_i2l' | 'z_image_i2l'>; noise?: Invocation<'noise'>; denoise: Invocation; vaeSource: Invocation; @@ -53,7 +53,12 @@ export const addInpaint = async ({ const { originalSize, scaledSize, rect } = getOriginalAndScaledSizesForOtherModes(state); - if (denoise.type === 'cogview4_denoise' || denoise.type === 'flux_denoise' || denoise.type === 'sd3_denoise') { + if ( + denoise.type === 'cogview4_denoise' || + denoise.type === 'flux_denoise' || + denoise.type === 'sd3_denoise' || + denoise.type === 'z_image_denoise' + ) { denoise.width = scaledSize.width; denoise.height = scaledSize.height; } else { diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addOutpaint.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addOutpaint.ts index 3a74c4c0edc..995b319a596 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addOutpaint.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addOutpaint.ts @@ -55,7 +55,12 @@ export const addOutpaint = async ({ const { originalSize, scaledSize, rect } = getOriginalAndScaledSizesForOtherModes(state); - if (denoise.type === 'cogview4_denoise' || denoise.type === 'flux_denoise' || denoise.type === 'sd3_denoise') { + if ( + denoise.type === 'cogview4_denoise' || + denoise.type === 'flux_denoise' || + denoise.type === 'sd3_denoise' || + denoise.type === 'z_image_denoise' + ) { denoise.width = scaledSize.width; denoise.height = scaledSize.height; } else { diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addTextToImage.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addTextToImage.ts index c9844b51eba..bb1130f71aa 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addTextToImage.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addTextToImage.ts @@ -21,13 +21,20 @@ export const addTextToImage = ({ noise, denoise, l2i, -}: AddTextToImageArg): Invocation<'img_resize' | 'l2i' | 'flux_vae_decode' | 'sd3_l2i' | 'cogview4_l2i'> => { +}: AddTextToImageArg): Invocation< + 'img_resize' | 'l2i' | 'flux_vae_decode' | 'sd3_l2i' | 'cogview4_l2i' | 'z_image_l2i' +> => { denoise.denoising_start = 0; denoise.denoising_end = 1; const { originalSize, scaledSize } = getOriginalAndScaledSizesForTextToImage(state); - if (denoise.type === 'cogview4_denoise' || denoise.type === 'flux_denoise' || denoise.type === 'sd3_denoise') { + if ( + denoise.type === 'cogview4_denoise' || + denoise.type === 'flux_denoise' || + denoise.type === 'sd3_denoise' || + denoise.type === 'z_image_denoise' + ) { denoise.width = scaledSize.width; denoise.height = scaledSize.height; } else { diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts new file mode 100644 index 00000000000..94aaaea8eea --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts @@ -0,0 +1,196 @@ +import { logger } from 'app/logging/logger'; +import { getPrefixedId } from 'features/controlLayers/konva/util'; +import { selectMainModelConfig, selectParamsSlice } from 'features/controlLayers/store/paramsSlice'; +import { selectCanvasMetadata } from 'features/controlLayers/store/selectors'; +import { fetchModelConfigWithTypeGuard } from 'features/metadata/util/modelFetchingHelpers'; +import { addImageToImage } from 'features/nodes/util/graph/generation/addImageToImage'; +import { addInpaint } from 'features/nodes/util/graph/generation/addInpaint'; +import { addNSFWChecker } from 'features/nodes/util/graph/generation/addNSFWChecker'; +import { addOutpaint } from 'features/nodes/util/graph/generation/addOutpaint'; +import { addTextToImage } from 'features/nodes/util/graph/generation/addTextToImage'; +import { addWatermarker } from 'features/nodes/util/graph/generation/addWatermarker'; +import { Graph } from 'features/nodes/util/graph/generation/Graph'; +import { selectCanvasOutputFields, selectPresetModifiedPrompts } from 'features/nodes/util/graph/graphBuilderUtils'; +import type { GraphBuilderArg, GraphBuilderReturn, ImageOutputNodes } from 'features/nodes/util/graph/types'; +import { selectActiveTab } from 'features/ui/store/uiSelectors'; +import type { Invocation } from 'services/api/types'; +import { isNonRefinerMainModelConfig } from 'services/api/types'; +import type { Equals } from 'tsafe'; +import { assert } from 'tsafe'; + +const log = logger('system'); + +export const buildZImageGraph = async (arg: GraphBuilderArg): Promise => { + const { generationMode, state, manager } = arg; + + log.debug({ generationMode, manager: manager?.id }, 'Building Z-Image graph'); + + const model = selectMainModelConfig(state); + assert(model, 'No model selected'); + assert(model.base === 'z-image', 'Selected model is not a Z-Image model'); + + const params = selectParamsSlice(state); + + // Z-Image-Turbo uses guidance_scale (stored as cfgScale), defaults to 0.0 for no CFG + const { cfgScale: guidance_scale, steps } = params; + + const prompts = selectPresetModifiedPrompts(state); + + const g = new Graph(getPrefixedId('z_image_graph')); + + const modelLoader = g.addNode({ + type: 'z_image_model_loader', + id: getPrefixedId('z_image_model_loader'), + model, + }); + + const positivePrompt = g.addNode({ + id: getPrefixedId('positive_prompt'), + type: 'string', + }); + const posCond = g.addNode({ + type: 'z_image_text_encoder', + id: getPrefixedId('pos_prompt'), + }); + + // Z-Image supports negative conditioning when guidance_scale > 0 + const negCond = g.addNode({ + type: 'z_image_text_encoder', + id: getPrefixedId('neg_prompt'), + prompt: prompts.negative, + }); + + const seed = g.addNode({ + id: getPrefixedId('seed'), + type: 'integer', + }); + const denoise = g.addNode({ + type: 'z_image_denoise', + id: getPrefixedId('denoise_latents'), + guidance_scale, + steps, + }); + const l2i = g.addNode({ + type: 'z_image_l2i', + id: getPrefixedId('l2i'), + }); + + g.addEdge(modelLoader, 'transformer', denoise, 'transformer'); + g.addEdge(modelLoader, 'qwen3_encoder', posCond, 'qwen3_encoder'); + g.addEdge(modelLoader, 'qwen3_encoder', negCond, 'qwen3_encoder'); + g.addEdge(modelLoader, 'vae', l2i, 'vae'); + + g.addEdge(positivePrompt, 'value', posCond, 'prompt'); + g.addEdge(posCond, 'conditioning', denoise, 'positive_conditioning'); + + // Only add negative conditioning edge if guidance_scale > 0 + if (guidance_scale > 0) { + g.addEdge(negCond, 'conditioning', denoise, 'negative_conditioning'); + } + + g.addEdge(seed, 'value', denoise, 'seed'); + g.addEdge(denoise, 'latents', l2i, 'latents'); + + const modelConfig = await fetchModelConfigWithTypeGuard(model.key, isNonRefinerMainModelConfig); + assert(modelConfig.base === 'z-image'); + + g.upsertMetadata({ + cfg_scale: guidance_scale, + negative_prompt: prompts.negative, + model: Graph.getModelMetadataField(modelConfig), + steps, + }); + g.addEdgeToMetadata(seed, 'value', 'seed'); + g.addEdgeToMetadata(positivePrompt, 'value', 'positive_prompt'); + + let canvasOutput: Invocation = l2i; + + if (generationMode === 'txt2img') { + canvasOutput = addTextToImage({ + g, + state, + denoise, + l2i, + }); + g.upsertMetadata({ generation_mode: 'z_image_txt2img' }); + } else if (generationMode === 'img2img') { + assert(manager !== null); + const i2l = g.addNode({ + type: 'z_image_i2l', + id: getPrefixedId('z_image_i2l'), + }); + + canvasOutput = await addImageToImage({ + g, + state, + manager, + denoise, + l2i, + i2l, + vaeSource: modelLoader, + }); + g.upsertMetadata({ generation_mode: 'z_image_img2img' }); + } else if (generationMode === 'inpaint') { + assert(manager !== null); + const i2l = g.addNode({ + type: 'z_image_i2l', + id: getPrefixedId('z_image_i2l'), + }); + + canvasOutput = await addInpaint({ + g, + state, + manager, + l2i, + i2l, + denoise, + vaeSource: modelLoader, + modelLoader, + seed, + }); + g.upsertMetadata({ generation_mode: 'z_image_inpaint' }); + } else if (generationMode === 'outpaint') { + assert(manager !== null); + const i2l = g.addNode({ + type: 'z_image_i2l', + id: getPrefixedId('z_image_i2l'), + }); + + canvasOutput = await addOutpaint({ + g, + state, + manager, + l2i, + i2l, + denoise, + vaeSource: modelLoader, + modelLoader, + seed, + }); + g.upsertMetadata({ generation_mode: 'z_image_outpaint' }); + } else { + assert>(false); + } + + if (state.system.shouldUseNSFWChecker) { + canvasOutput = addNSFWChecker(g, canvasOutput); + } + + if (state.system.shouldUseWatermarker) { + canvasOutput = addWatermarker(g, canvasOutput); + } + + g.updateNode(canvasOutput, selectCanvasOutputFields(state)); + + if (selectActiveTab(state) === 'canvas') { + g.upsertMetadata(selectCanvasMetadata(state)); + } + + g.setMetadataReceivingNode(canvasOutput); + + return { + g, + seed, + positivePrompt, + }; +}; diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/graphBuilderUtils.ts b/invokeai/frontend/web/src/features/nodes/util/graph/graphBuilderUtils.ts index bbfb82e2e22..0ab1690089e 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/graphBuilderUtils.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/graphBuilderUtils.ts @@ -211,7 +211,8 @@ export const isMainModelWithoutUnet = (modelLoader: Invocation>[] = []; // Add groups in the original order - for (const groupId of ['api', 'flux', 'cogview4', 'sdxl', 'sd-3', 'sd-2', 'sd-1']) { + for (const groupId of ['api', 'flux', 'z-image', 'cogview4', 'sdxl', 'sd-3', 'sd-2', 'sd-1']) { const group = groups[groupId]; if (group) { // Sort options within each group so starred ones come first diff --git a/invokeai/frontend/web/src/features/parameters/types/constants.ts b/invokeai/frontend/web/src/features/parameters/types/constants.ts index b14e566d3d1..8bace52e556 100644 --- a/invokeai/frontend/web/src/features/parameters/types/constants.ts +++ b/invokeai/frontend/web/src/features/parameters/types/constants.ts @@ -37,6 +37,10 @@ export const CLIP_SKIP_MAP: { [key in BaseModelType]?: { maxClip: number; marker maxClip: 0, markers: [], }, + 'z-image': { + maxClip: 0, + markers: [], + }, }; /** diff --git a/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts b/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts index 57d4e8acb50..ad24aa5aea4 100644 --- a/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts +++ b/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts @@ -39,7 +39,8 @@ export type ParameterSteps = z.infer; // #endregion // #region CFG scale parameter -export const [zParameterCFGScale, isParameterCFGScale] = buildParameter(z.number().min(1)); +// Z-Image-Turbo uses guidance_scale=0.0 (no CFG), so we allow 0 +export const [zParameterCFGScale, isParameterCFGScale] = buildParameter(z.number().min(0)); export type ParameterCFGScale = z.infer; // #endregion diff --git a/invokeai/frontend/web/src/features/parameters/util/optimalDimension.ts b/invokeai/frontend/web/src/features/parameters/util/optimalDimension.ts index 7fe7311db93..7157ba84931 100644 --- a/invokeai/frontend/web/src/features/parameters/util/optimalDimension.ts +++ b/invokeai/frontend/web/src/features/parameters/util/optimalDimension.ts @@ -3,7 +3,7 @@ import type { BaseModelType } from 'features/nodes/types/common'; /** * Gets the optimal dimension for a given base model: * - sd-1, sd-2: 512 - * - sdxl, flux, sd-3, cogview4: 1024 + * - sdxl, flux, sd-3, cogview4, z-image: 1024 * - default: 1024 * @param base The base model * @returns The optimal dimension for the model, defaulting to 1024 @@ -17,6 +17,7 @@ export const getOptimalDimension = (base?: BaseModelType | null): number => { case 'flux': case 'sd-3': case 'cogview4': + case 'z-image': default: return 1024; } @@ -59,7 +60,7 @@ export const isInSDXLTrainingDimensions = (width: number, height: number): boole /** * Gets the grid size for a given base model. For Flux, the grid size is 16, otherwise it is 8. * - sd-1, sd-2, sdxl: 8 - * - flux, sd-3: 16 + * - flux, sd-3, z-image: 16 * - cogview4: 32 * - default: 8 * @param base The base model @@ -71,6 +72,7 @@ export const getGridSize = (base?: BaseModelType | null): number => { return 32; case 'flux': case 'sd-3': + case 'z-image': return 16; case 'sd-1': case 'sd-2': diff --git a/invokeai/frontend/web/src/features/queue/hooks/useEnqueueCanvas.ts b/invokeai/frontend/web/src/features/queue/hooks/useEnqueueCanvas.ts index c4791289b39..cfdd7927374 100644 --- a/invokeai/frontend/web/src/features/queue/hooks/useEnqueueCanvas.ts +++ b/invokeai/frontend/web/src/features/queue/hooks/useEnqueueCanvas.ts @@ -13,6 +13,7 @@ import { buildFLUXGraph } from 'features/nodes/util/graph/generation/buildFLUXGr import { buildSD1Graph } from 'features/nodes/util/graph/generation/buildSD1Graph'; import { buildSD3Graph } from 'features/nodes/util/graph/generation/buildSD3Graph'; import { buildSDXLGraph } from 'features/nodes/util/graph/generation/buildSDXLGraph'; +import { buildZImageGraph } from 'features/nodes/util/graph/generation/buildZImageGraph'; import { selectCanvasDestination } from 'features/nodes/util/graph/graphBuilderUtils'; import type { GraphBuilderArg } from 'features/nodes/util/graph/types'; import { UnsupportedGenerationModeError } from 'features/nodes/util/graph/types'; @@ -55,6 +56,8 @@ const enqueueCanvas = async (store: AppStore, canvasManager: CanvasManager, prep return await buildFLUXGraph(graphBuilderArg); case 'cogview4': return await buildCogView4Graph(graphBuilderArg); + case 'z-image': + return await buildZImageGraph(graphBuilderArg); default: assert(false, `No graph builders for base ${base}`); } diff --git a/invokeai/frontend/web/src/features/queue/hooks/useEnqueueGenerate.ts b/invokeai/frontend/web/src/features/queue/hooks/useEnqueueGenerate.ts index f8ae1251e01..215f35d035e 100644 --- a/invokeai/frontend/web/src/features/queue/hooks/useEnqueueGenerate.ts +++ b/invokeai/frontend/web/src/features/queue/hooks/useEnqueueGenerate.ts @@ -11,6 +11,7 @@ import { buildFLUXGraph } from 'features/nodes/util/graph/generation/buildFLUXGr import { buildSD1Graph } from 'features/nodes/util/graph/generation/buildSD1Graph'; import { buildSD3Graph } from 'features/nodes/util/graph/generation/buildSD3Graph'; import { buildSDXLGraph } from 'features/nodes/util/graph/generation/buildSDXLGraph'; +import { buildZImageGraph } from 'features/nodes/util/graph/generation/buildZImageGraph'; import type { GraphBuilderArg } from 'features/nodes/util/graph/types'; import { UnsupportedGenerationModeError } from 'features/nodes/util/graph/types'; import { toast } from 'features/toast/toast'; @@ -48,6 +49,8 @@ const enqueueGenerate = async (store: AppStore, prepend: boolean) => { return await buildFLUXGraph(graphBuilderArg); case 'cogview4': return await buildCogView4Graph(graphBuilderArg); + case 'z-image': + return await buildZImageGraph(graphBuilderArg); default: assert(false, `No graph builders for base ${base}`); } diff --git a/invokeai/frontend/web/src/services/api/schema.ts b/invokeai/frontend/web/src/services/api/schema.ts index c52d6f1744c..9381fd2c337 100644 --- a/invokeai/frontend/web/src/services/api/schema.ts +++ b/invokeai/frontend/web/src/services/api/schema.ts @@ -2012,7 +2012,7 @@ export type components = { */ type: "alpha_mask_to_tensor"; }; - AnyModelConfig: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + AnyModelConfig: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; /** * AppVersion * @description App Version Response @@ -2164,7 +2164,7 @@ export type components = { * fallback/null value `BaseModelType.Any` for these models, instead of making the model base optional. * @enum {string} */ - BaseModelType: "any" | "sd-1" | "sd-2" | "sd-3" | "sdxl" | "sdxl-refiner" | "flux" | "cogview4" | "unknown"; + BaseModelType: "any" | "sd-1" | "sd-2" | "sd-3" | "sdxl" | "sdxl-refiner" | "flux" | "cogview4" | "z-image" | "unknown"; /** Batch */ Batch: { /** @@ -5645,7 +5645,7 @@ export type components = { * @description The generation mode that output this image * @default null */ - generation_mode?: ("txt2img" | "img2img" | "inpaint" | "outpaint" | "sdxl_txt2img" | "sdxl_img2img" | "sdxl_inpaint" | "sdxl_outpaint" | "flux_txt2img" | "flux_img2img" | "flux_inpaint" | "flux_outpaint" | "sd3_txt2img" | "sd3_img2img" | "sd3_inpaint" | "sd3_outpaint" | "cogview4_txt2img" | "cogview4_img2img" | "cogview4_inpaint" | "cogview4_outpaint") | null; + generation_mode?: ("txt2img" | "img2img" | "inpaint" | "outpaint" | "sdxl_txt2img" | "sdxl_img2img" | "sdxl_inpaint" | "sdxl_outpaint" | "flux_txt2img" | "flux_img2img" | "flux_inpaint" | "flux_outpaint" | "sd3_txt2img" | "sd3_img2img" | "sd3_inpaint" | "sd3_outpaint" | "cogview4_txt2img" | "cogview4_img2img" | "cogview4_inpaint" | "cogview4_outpaint" | "z_image_txt2img" | "z_image_img2img" | "z_image_inpaint" | "z_image_outpaint") | null; /** * Positive Prompt * @description The positive prompt parameter @@ -9221,7 +9221,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: components["schemas"]["AddInvocation"] | components["schemas"]["AlphaMaskToTensorInvocation"] | components["schemas"]["ApplyMaskTensorToImageInvocation"] | components["schemas"]["ApplyMaskToImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BoundingBoxInvocation"] | components["schemas"]["CLIPSkipInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["CalculateImageTilesEvenSplitInvocation"] | components["schemas"]["CalculateImageTilesInvocation"] | components["schemas"]["CalculateImageTilesMinimumOverlapInvocation"] | components["schemas"]["CannyEdgeDetectionInvocation"] | components["schemas"]["CanvasPasteBackInvocation"] | components["schemas"]["CanvasV2MaskAndCropInvocation"] | components["schemas"]["CenterPadCropInvocation"] | components["schemas"]["CogView4DenoiseInvocation"] | components["schemas"]["CogView4ImageToLatentsInvocation"] | components["schemas"]["CogView4LatentsToImageInvocation"] | components["schemas"]["CogView4ModelLoaderInvocation"] | components["schemas"]["CogView4TextEncoderInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ColorMapInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ContentShuffleInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["CoreMetadataInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["CreateGradientMaskInvocation"] | components["schemas"]["CropImageToBoundingBoxInvocation"] | components["schemas"]["CropLatentsCoreInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["DWOpenposeDetectionInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["DenoiseLatentsMetaInvocation"] | components["schemas"]["DepthAnythingDepthEstimationInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["ExpandMaskWithFadeInvocation"] | components["schemas"]["FLUXLoRACollectionLoader"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FloatBatchInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["FloatGenerator"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["FluxControlLoRALoaderInvocation"] | components["schemas"]["FluxControlNetInvocation"] | components["schemas"]["FluxDenoiseInvocation"] | components["schemas"]["FluxDenoiseLatentsMetaInvocation"] | components["schemas"]["FluxFillInvocation"] | components["schemas"]["FluxIPAdapterInvocation"] | components["schemas"]["FluxKontextConcatenateImagesInvocation"] | components["schemas"]["FluxKontextInvocation"] | components["schemas"]["FluxLoRALoaderInvocation"] | components["schemas"]["FluxModelLoaderInvocation"] | components["schemas"]["FluxReduxInvocation"] | components["schemas"]["FluxTextEncoderInvocation"] | components["schemas"]["FluxVaeDecodeInvocation"] | components["schemas"]["FluxVaeEncodeInvocation"] | components["schemas"]["FreeUInvocation"] | components["schemas"]["GetMaskBoundingBoxInvocation"] | components["schemas"]["GroundingDinoInvocation"] | components["schemas"]["HEDEdgeDetectionInvocation"] | components["schemas"]["HeuristicResizeInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["IdealSizeInvocation"] | components["schemas"]["ImageBatchInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImageGenerator"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageMaskToTensorInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageNoiseInvocation"] | components["schemas"]["ImagePanelLayoutInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["IntegerBatchInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["IntegerGenerator"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["InvertTensorMaskInvocation"] | components["schemas"]["InvokeAdjustImageHuePlusInvocation"] | components["schemas"]["InvokeEquivalentAchromaticLightnessInvocation"] | components["schemas"]["InvokeImageBlendInvocation"] | components["schemas"]["InvokeImageCompositorInvocation"] | components["schemas"]["InvokeImageDilateOrErodeInvocation"] | components["schemas"]["InvokeImageEnhanceInvocation"] | components["schemas"]["InvokeImageValueThresholdsInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["LineartAnimeEdgeDetectionInvocation"] | components["schemas"]["LineartEdgeDetectionInvocation"] | components["schemas"]["LlavaOnevisionVllmInvocation"] | components["schemas"]["LoRACollectionLoader"] | components["schemas"]["LoRALoaderInvocation"] | components["schemas"]["LoRASelectorInvocation"] | components["schemas"]["MLSDDetectionInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["MaskFromIDInvocation"] | components["schemas"]["MaskTensorToImageInvocation"] | components["schemas"]["MediaPipeFaceDetectionInvocation"] | components["schemas"]["MergeMetadataInvocation"] | components["schemas"]["MergeTilesToImageInvocation"] | components["schemas"]["MetadataFieldExtractorInvocation"] | components["schemas"]["MetadataFromImageInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataItemLinkedInvocation"] | components["schemas"]["MetadataToBoolCollectionInvocation"] | components["schemas"]["MetadataToBoolInvocation"] | components["schemas"]["MetadataToControlnetsInvocation"] | components["schemas"]["MetadataToFloatCollectionInvocation"] | components["schemas"]["MetadataToFloatInvocation"] | components["schemas"]["MetadataToIPAdaptersInvocation"] | components["schemas"]["MetadataToIntegerCollectionInvocation"] | components["schemas"]["MetadataToIntegerInvocation"] | components["schemas"]["MetadataToLorasCollectionInvocation"] | components["schemas"]["MetadataToLorasInvocation"] | components["schemas"]["MetadataToModelInvocation"] | components["schemas"]["MetadataToSDXLLorasInvocation"] | components["schemas"]["MetadataToSDXLModelInvocation"] | components["schemas"]["MetadataToSchedulerInvocation"] | components["schemas"]["MetadataToStringCollectionInvocation"] | components["schemas"]["MetadataToStringInvocation"] | components["schemas"]["MetadataToT2IAdaptersInvocation"] | components["schemas"]["MetadataToVAEInvocation"] | components["schemas"]["ModelIdentifierInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["NormalMapInvocation"] | components["schemas"]["PairTileImageInvocation"] | components["schemas"]["PasteImageIntoBoundingBoxInvocation"] | components["schemas"]["PiDiNetEdgeDetectionInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RectangleMaskInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["SD3DenoiseInvocation"] | components["schemas"]["SD3ImageToLatentsInvocation"] | components["schemas"]["SD3LatentsToImageInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLLoRACollectionLoader"] | components["schemas"]["SDXLLoRALoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["Sd3ModelLoaderInvocation"] | components["schemas"]["Sd3TextEncoderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SegmentAnythingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["SpandrelImageToImageAutoscaleInvocation"] | components["schemas"]["SpandrelImageToImageInvocation"] | components["schemas"]["StringBatchInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["StringGenerator"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["TileToPropertiesInvocation"] | components["schemas"]["TiledMultiDiffusionDenoiseLatents"] | components["schemas"]["UnsharpMaskInvocation"] | components["schemas"]["VAELoaderInvocation"]; + [key: string]: components["schemas"]["AddInvocation"] | components["schemas"]["AlphaMaskToTensorInvocation"] | components["schemas"]["ApplyMaskTensorToImageInvocation"] | components["schemas"]["ApplyMaskToImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BoundingBoxInvocation"] | components["schemas"]["CLIPSkipInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["CalculateImageTilesEvenSplitInvocation"] | components["schemas"]["CalculateImageTilesInvocation"] | components["schemas"]["CalculateImageTilesMinimumOverlapInvocation"] | components["schemas"]["CannyEdgeDetectionInvocation"] | components["schemas"]["CanvasPasteBackInvocation"] | components["schemas"]["CanvasV2MaskAndCropInvocation"] | components["schemas"]["CenterPadCropInvocation"] | components["schemas"]["CogView4DenoiseInvocation"] | components["schemas"]["CogView4ImageToLatentsInvocation"] | components["schemas"]["CogView4LatentsToImageInvocation"] | components["schemas"]["CogView4ModelLoaderInvocation"] | components["schemas"]["CogView4TextEncoderInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ColorMapInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ContentShuffleInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["CoreMetadataInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["CreateGradientMaskInvocation"] | components["schemas"]["CropImageToBoundingBoxInvocation"] | components["schemas"]["CropLatentsCoreInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["DWOpenposeDetectionInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["DenoiseLatentsMetaInvocation"] | components["schemas"]["DepthAnythingDepthEstimationInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["ExpandMaskWithFadeInvocation"] | components["schemas"]["FLUXLoRACollectionLoader"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FloatBatchInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["FloatGenerator"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["FluxControlLoRALoaderInvocation"] | components["schemas"]["FluxControlNetInvocation"] | components["schemas"]["FluxDenoiseInvocation"] | components["schemas"]["FluxDenoiseLatentsMetaInvocation"] | components["schemas"]["FluxFillInvocation"] | components["schemas"]["FluxIPAdapterInvocation"] | components["schemas"]["FluxKontextConcatenateImagesInvocation"] | components["schemas"]["FluxKontextInvocation"] | components["schemas"]["FluxLoRALoaderInvocation"] | components["schemas"]["FluxModelLoaderInvocation"] | components["schemas"]["FluxReduxInvocation"] | components["schemas"]["FluxTextEncoderInvocation"] | components["schemas"]["FluxVaeDecodeInvocation"] | components["schemas"]["FluxVaeEncodeInvocation"] | components["schemas"]["FreeUInvocation"] | components["schemas"]["GetMaskBoundingBoxInvocation"] | components["schemas"]["GroundingDinoInvocation"] | components["schemas"]["HEDEdgeDetectionInvocation"] | components["schemas"]["HeuristicResizeInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["IdealSizeInvocation"] | components["schemas"]["ImageBatchInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImageGenerator"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageMaskToTensorInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageNoiseInvocation"] | components["schemas"]["ImagePanelLayoutInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["IntegerBatchInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["IntegerGenerator"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["InvertTensorMaskInvocation"] | components["schemas"]["InvokeAdjustImageHuePlusInvocation"] | components["schemas"]["InvokeEquivalentAchromaticLightnessInvocation"] | components["schemas"]["InvokeImageBlendInvocation"] | components["schemas"]["InvokeImageCompositorInvocation"] | components["schemas"]["InvokeImageDilateOrErodeInvocation"] | components["schemas"]["InvokeImageEnhanceInvocation"] | components["schemas"]["InvokeImageValueThresholdsInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["LineartAnimeEdgeDetectionInvocation"] | components["schemas"]["LineartEdgeDetectionInvocation"] | components["schemas"]["LlavaOnevisionVllmInvocation"] | components["schemas"]["LoRACollectionLoader"] | components["schemas"]["LoRALoaderInvocation"] | components["schemas"]["LoRASelectorInvocation"] | components["schemas"]["MLSDDetectionInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["MaskFromIDInvocation"] | components["schemas"]["MaskTensorToImageInvocation"] | components["schemas"]["MediaPipeFaceDetectionInvocation"] | components["schemas"]["MergeMetadataInvocation"] | components["schemas"]["MergeTilesToImageInvocation"] | components["schemas"]["MetadataFieldExtractorInvocation"] | components["schemas"]["MetadataFromImageInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataItemLinkedInvocation"] | components["schemas"]["MetadataToBoolCollectionInvocation"] | components["schemas"]["MetadataToBoolInvocation"] | components["schemas"]["MetadataToControlnetsInvocation"] | components["schemas"]["MetadataToFloatCollectionInvocation"] | components["schemas"]["MetadataToFloatInvocation"] | components["schemas"]["MetadataToIPAdaptersInvocation"] | components["schemas"]["MetadataToIntegerCollectionInvocation"] | components["schemas"]["MetadataToIntegerInvocation"] | components["schemas"]["MetadataToLorasCollectionInvocation"] | components["schemas"]["MetadataToLorasInvocation"] | components["schemas"]["MetadataToModelInvocation"] | components["schemas"]["MetadataToSDXLLorasInvocation"] | components["schemas"]["MetadataToSDXLModelInvocation"] | components["schemas"]["MetadataToSchedulerInvocation"] | components["schemas"]["MetadataToStringCollectionInvocation"] | components["schemas"]["MetadataToStringInvocation"] | components["schemas"]["MetadataToT2IAdaptersInvocation"] | components["schemas"]["MetadataToVAEInvocation"] | components["schemas"]["ModelIdentifierInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["NormalMapInvocation"] | components["schemas"]["PairTileImageInvocation"] | components["schemas"]["PasteImageIntoBoundingBoxInvocation"] | components["schemas"]["PiDiNetEdgeDetectionInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RectangleMaskInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["SD3DenoiseInvocation"] | components["schemas"]["SD3ImageToLatentsInvocation"] | components["schemas"]["SD3LatentsToImageInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLLoRACollectionLoader"] | components["schemas"]["SDXLLoRALoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["Sd3ModelLoaderInvocation"] | components["schemas"]["Sd3TextEncoderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SegmentAnythingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["SpandrelImageToImageAutoscaleInvocation"] | components["schemas"]["SpandrelImageToImageInvocation"] | components["schemas"]["StringBatchInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["StringGenerator"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["TileToPropertiesInvocation"] | components["schemas"]["TiledMultiDiffusionDenoiseLatents"] | components["schemas"]["UnsharpMaskInvocation"] | components["schemas"]["VAELoaderInvocation"] | components["schemas"]["ZImageDenoiseInvocation"] | components["schemas"]["ZImageImageToLatentsInvocation"] | components["schemas"]["ZImageLatentsToImageInvocation"] | components["schemas"]["ZImageModelLoaderInvocation"] | components["schemas"]["ZImageTextEncoderInvocation"]; }; /** * Edges @@ -9258,7 +9258,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: components["schemas"]["BooleanCollectionOutput"] | components["schemas"]["BooleanOutput"] | components["schemas"]["BoundingBoxCollectionOutput"] | components["schemas"]["BoundingBoxOutput"] | components["schemas"]["CLIPOutput"] | components["schemas"]["CLIPSkipInvocationOutput"] | components["schemas"]["CalculateImageTilesOutput"] | components["schemas"]["CogView4ConditioningOutput"] | components["schemas"]["CogView4ModelLoaderOutput"] | components["schemas"]["CollectInvocationOutput"] | components["schemas"]["ColorCollectionOutput"] | components["schemas"]["ColorOutput"] | components["schemas"]["ConditioningCollectionOutput"] | components["schemas"]["ConditioningOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["DenoiseMaskOutput"] | components["schemas"]["FaceMaskOutput"] | components["schemas"]["FaceOffOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["FloatGeneratorOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["FluxConditioningCollectionOutput"] | components["schemas"]["FluxConditioningOutput"] | components["schemas"]["FluxControlLoRALoaderOutput"] | components["schemas"]["FluxControlNetOutput"] | components["schemas"]["FluxFillOutput"] | components["schemas"]["FluxKontextOutput"] | components["schemas"]["FluxLoRALoaderOutput"] | components["schemas"]["FluxModelLoaderOutput"] | components["schemas"]["FluxReduxOutput"] | components["schemas"]["GradientMaskOutput"] | components["schemas"]["IPAdapterOutput"] | components["schemas"]["IdealSizeOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["ImageGeneratorOutput"] | components["schemas"]["ImageOutput"] | components["schemas"]["ImagePanelCoordinateOutput"] | components["schemas"]["IntegerCollectionOutput"] | components["schemas"]["IntegerGeneratorOutput"] | components["schemas"]["IntegerOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["LatentsCollectionOutput"] | components["schemas"]["LatentsMetaOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["LoRALoaderOutput"] | components["schemas"]["LoRASelectorOutput"] | components["schemas"]["MDControlListOutput"] | components["schemas"]["MDIPAdapterListOutput"] | components["schemas"]["MDT2IAdapterListOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["MetadataItemOutput"] | components["schemas"]["MetadataOutput"] | components["schemas"]["MetadataToLorasCollectionOutput"] | components["schemas"]["MetadataToModelOutput"] | components["schemas"]["MetadataToSDXLModelOutput"] | components["schemas"]["ModelIdentifierOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["PairTileImageOutput"] | components["schemas"]["SD3ConditioningOutput"] | components["schemas"]["SDXLLoRALoaderOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["SchedulerOutput"] | components["schemas"]["Sd3ModelLoaderOutput"] | components["schemas"]["SeamlessModeOutput"] | components["schemas"]["String2Output"] | components["schemas"]["StringCollectionOutput"] | components["schemas"]["StringGeneratorOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["StringPosNegOutput"] | components["schemas"]["T2IAdapterOutput"] | components["schemas"]["TileToPropertiesOutput"] | components["schemas"]["UNetOutput"] | components["schemas"]["VAEOutput"]; + [key: string]: components["schemas"]["BooleanCollectionOutput"] | components["schemas"]["BooleanOutput"] | components["schemas"]["BoundingBoxCollectionOutput"] | components["schemas"]["BoundingBoxOutput"] | components["schemas"]["CLIPOutput"] | components["schemas"]["CLIPSkipInvocationOutput"] | components["schemas"]["CalculateImageTilesOutput"] | components["schemas"]["CogView4ConditioningOutput"] | components["schemas"]["CogView4ModelLoaderOutput"] | components["schemas"]["CollectInvocationOutput"] | components["schemas"]["ColorCollectionOutput"] | components["schemas"]["ColorOutput"] | components["schemas"]["ConditioningCollectionOutput"] | components["schemas"]["ConditioningOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["DenoiseMaskOutput"] | components["schemas"]["FaceMaskOutput"] | components["schemas"]["FaceOffOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["FloatGeneratorOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["FluxConditioningCollectionOutput"] | components["schemas"]["FluxConditioningOutput"] | components["schemas"]["FluxControlLoRALoaderOutput"] | components["schemas"]["FluxControlNetOutput"] | components["schemas"]["FluxFillOutput"] | components["schemas"]["FluxKontextOutput"] | components["schemas"]["FluxLoRALoaderOutput"] | components["schemas"]["FluxModelLoaderOutput"] | components["schemas"]["FluxReduxOutput"] | components["schemas"]["GradientMaskOutput"] | components["schemas"]["IPAdapterOutput"] | components["schemas"]["IdealSizeOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["ImageGeneratorOutput"] | components["schemas"]["ImageOutput"] | components["schemas"]["ImagePanelCoordinateOutput"] | components["schemas"]["IntegerCollectionOutput"] | components["schemas"]["IntegerGeneratorOutput"] | components["schemas"]["IntegerOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["LatentsCollectionOutput"] | components["schemas"]["LatentsMetaOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["LoRALoaderOutput"] | components["schemas"]["LoRASelectorOutput"] | components["schemas"]["MDControlListOutput"] | components["schemas"]["MDIPAdapterListOutput"] | components["schemas"]["MDT2IAdapterListOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["MetadataItemOutput"] | components["schemas"]["MetadataOutput"] | components["schemas"]["MetadataToLorasCollectionOutput"] | components["schemas"]["MetadataToModelOutput"] | components["schemas"]["MetadataToSDXLModelOutput"] | components["schemas"]["ModelIdentifierOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["PairTileImageOutput"] | components["schemas"]["SD3ConditioningOutput"] | components["schemas"]["SDXLLoRALoaderOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["SchedulerOutput"] | components["schemas"]["Sd3ModelLoaderOutput"] | components["schemas"]["SeamlessModeOutput"] | components["schemas"]["String2Output"] | components["schemas"]["StringCollectionOutput"] | components["schemas"]["StringGeneratorOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["StringPosNegOutput"] | components["schemas"]["T2IAdapterOutput"] | components["schemas"]["TileToPropertiesOutput"] | components["schemas"]["UNetOutput"] | components["schemas"]["VAEOutput"] | components["schemas"]["ZImageConditioningOutput"] | components["schemas"]["ZImageModelLoaderOutput"]; }; /** * Errors @@ -12392,7 +12392,7 @@ export type components = { * Invocation * @description The ID of the invocation */ - invocation: components["schemas"]["AddInvocation"] | components["schemas"]["AlphaMaskToTensorInvocation"] | components["schemas"]["ApplyMaskTensorToImageInvocation"] | components["schemas"]["ApplyMaskToImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BoundingBoxInvocation"] | components["schemas"]["CLIPSkipInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["CalculateImageTilesEvenSplitInvocation"] | components["schemas"]["CalculateImageTilesInvocation"] | components["schemas"]["CalculateImageTilesMinimumOverlapInvocation"] | components["schemas"]["CannyEdgeDetectionInvocation"] | components["schemas"]["CanvasPasteBackInvocation"] | components["schemas"]["CanvasV2MaskAndCropInvocation"] | components["schemas"]["CenterPadCropInvocation"] | components["schemas"]["CogView4DenoiseInvocation"] | components["schemas"]["CogView4ImageToLatentsInvocation"] | components["schemas"]["CogView4LatentsToImageInvocation"] | components["schemas"]["CogView4ModelLoaderInvocation"] | components["schemas"]["CogView4TextEncoderInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ColorMapInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ContentShuffleInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["CoreMetadataInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["CreateGradientMaskInvocation"] | components["schemas"]["CropImageToBoundingBoxInvocation"] | components["schemas"]["CropLatentsCoreInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["DWOpenposeDetectionInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["DenoiseLatentsMetaInvocation"] | components["schemas"]["DepthAnythingDepthEstimationInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["ExpandMaskWithFadeInvocation"] | components["schemas"]["FLUXLoRACollectionLoader"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FloatBatchInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["FloatGenerator"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["FluxControlLoRALoaderInvocation"] | components["schemas"]["FluxControlNetInvocation"] | components["schemas"]["FluxDenoiseInvocation"] | components["schemas"]["FluxDenoiseLatentsMetaInvocation"] | components["schemas"]["FluxFillInvocation"] | components["schemas"]["FluxIPAdapterInvocation"] | components["schemas"]["FluxKontextConcatenateImagesInvocation"] | components["schemas"]["FluxKontextInvocation"] | components["schemas"]["FluxLoRALoaderInvocation"] | components["schemas"]["FluxModelLoaderInvocation"] | components["schemas"]["FluxReduxInvocation"] | components["schemas"]["FluxTextEncoderInvocation"] | components["schemas"]["FluxVaeDecodeInvocation"] | components["schemas"]["FluxVaeEncodeInvocation"] | components["schemas"]["FreeUInvocation"] | components["schemas"]["GetMaskBoundingBoxInvocation"] | components["schemas"]["GroundingDinoInvocation"] | components["schemas"]["HEDEdgeDetectionInvocation"] | components["schemas"]["HeuristicResizeInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["IdealSizeInvocation"] | components["schemas"]["ImageBatchInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImageGenerator"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageMaskToTensorInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageNoiseInvocation"] | components["schemas"]["ImagePanelLayoutInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["IntegerBatchInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["IntegerGenerator"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["InvertTensorMaskInvocation"] | components["schemas"]["InvokeAdjustImageHuePlusInvocation"] | components["schemas"]["InvokeEquivalentAchromaticLightnessInvocation"] | components["schemas"]["InvokeImageBlendInvocation"] | components["schemas"]["InvokeImageCompositorInvocation"] | components["schemas"]["InvokeImageDilateOrErodeInvocation"] | components["schemas"]["InvokeImageEnhanceInvocation"] | components["schemas"]["InvokeImageValueThresholdsInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["LineartAnimeEdgeDetectionInvocation"] | components["schemas"]["LineartEdgeDetectionInvocation"] | components["schemas"]["LlavaOnevisionVllmInvocation"] | components["schemas"]["LoRACollectionLoader"] | components["schemas"]["LoRALoaderInvocation"] | components["schemas"]["LoRASelectorInvocation"] | components["schemas"]["MLSDDetectionInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["MaskFromIDInvocation"] | components["schemas"]["MaskTensorToImageInvocation"] | components["schemas"]["MediaPipeFaceDetectionInvocation"] | components["schemas"]["MergeMetadataInvocation"] | components["schemas"]["MergeTilesToImageInvocation"] | components["schemas"]["MetadataFieldExtractorInvocation"] | components["schemas"]["MetadataFromImageInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataItemLinkedInvocation"] | components["schemas"]["MetadataToBoolCollectionInvocation"] | components["schemas"]["MetadataToBoolInvocation"] | components["schemas"]["MetadataToControlnetsInvocation"] | components["schemas"]["MetadataToFloatCollectionInvocation"] | components["schemas"]["MetadataToFloatInvocation"] | components["schemas"]["MetadataToIPAdaptersInvocation"] | components["schemas"]["MetadataToIntegerCollectionInvocation"] | components["schemas"]["MetadataToIntegerInvocation"] | components["schemas"]["MetadataToLorasCollectionInvocation"] | components["schemas"]["MetadataToLorasInvocation"] | components["schemas"]["MetadataToModelInvocation"] | components["schemas"]["MetadataToSDXLLorasInvocation"] | components["schemas"]["MetadataToSDXLModelInvocation"] | components["schemas"]["MetadataToSchedulerInvocation"] | components["schemas"]["MetadataToStringCollectionInvocation"] | components["schemas"]["MetadataToStringInvocation"] | components["schemas"]["MetadataToT2IAdaptersInvocation"] | components["schemas"]["MetadataToVAEInvocation"] | components["schemas"]["ModelIdentifierInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["NormalMapInvocation"] | components["schemas"]["PairTileImageInvocation"] | components["schemas"]["PasteImageIntoBoundingBoxInvocation"] | components["schemas"]["PiDiNetEdgeDetectionInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RectangleMaskInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["SD3DenoiseInvocation"] | components["schemas"]["SD3ImageToLatentsInvocation"] | components["schemas"]["SD3LatentsToImageInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLLoRACollectionLoader"] | components["schemas"]["SDXLLoRALoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["Sd3ModelLoaderInvocation"] | components["schemas"]["Sd3TextEncoderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SegmentAnythingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["SpandrelImageToImageAutoscaleInvocation"] | components["schemas"]["SpandrelImageToImageInvocation"] | components["schemas"]["StringBatchInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["StringGenerator"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["TileToPropertiesInvocation"] | components["schemas"]["TiledMultiDiffusionDenoiseLatents"] | components["schemas"]["UnsharpMaskInvocation"] | components["schemas"]["VAELoaderInvocation"]; + invocation: components["schemas"]["AddInvocation"] | components["schemas"]["AlphaMaskToTensorInvocation"] | components["schemas"]["ApplyMaskTensorToImageInvocation"] | components["schemas"]["ApplyMaskToImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BoundingBoxInvocation"] | components["schemas"]["CLIPSkipInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["CalculateImageTilesEvenSplitInvocation"] | components["schemas"]["CalculateImageTilesInvocation"] | components["schemas"]["CalculateImageTilesMinimumOverlapInvocation"] | components["schemas"]["CannyEdgeDetectionInvocation"] | components["schemas"]["CanvasPasteBackInvocation"] | components["schemas"]["CanvasV2MaskAndCropInvocation"] | components["schemas"]["CenterPadCropInvocation"] | components["schemas"]["CogView4DenoiseInvocation"] | components["schemas"]["CogView4ImageToLatentsInvocation"] | components["schemas"]["CogView4LatentsToImageInvocation"] | components["schemas"]["CogView4ModelLoaderInvocation"] | components["schemas"]["CogView4TextEncoderInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ColorMapInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ContentShuffleInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["CoreMetadataInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["CreateGradientMaskInvocation"] | components["schemas"]["CropImageToBoundingBoxInvocation"] | components["schemas"]["CropLatentsCoreInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["DWOpenposeDetectionInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["DenoiseLatentsMetaInvocation"] | components["schemas"]["DepthAnythingDepthEstimationInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["ExpandMaskWithFadeInvocation"] | components["schemas"]["FLUXLoRACollectionLoader"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FloatBatchInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["FloatGenerator"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["FluxControlLoRALoaderInvocation"] | components["schemas"]["FluxControlNetInvocation"] | components["schemas"]["FluxDenoiseInvocation"] | components["schemas"]["FluxDenoiseLatentsMetaInvocation"] | components["schemas"]["FluxFillInvocation"] | components["schemas"]["FluxIPAdapterInvocation"] | components["schemas"]["FluxKontextConcatenateImagesInvocation"] | components["schemas"]["FluxKontextInvocation"] | components["schemas"]["FluxLoRALoaderInvocation"] | components["schemas"]["FluxModelLoaderInvocation"] | components["schemas"]["FluxReduxInvocation"] | components["schemas"]["FluxTextEncoderInvocation"] | components["schemas"]["FluxVaeDecodeInvocation"] | components["schemas"]["FluxVaeEncodeInvocation"] | components["schemas"]["FreeUInvocation"] | components["schemas"]["GetMaskBoundingBoxInvocation"] | components["schemas"]["GroundingDinoInvocation"] | components["schemas"]["HEDEdgeDetectionInvocation"] | components["schemas"]["HeuristicResizeInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["IdealSizeInvocation"] | components["schemas"]["ImageBatchInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImageGenerator"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageMaskToTensorInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageNoiseInvocation"] | components["schemas"]["ImagePanelLayoutInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["IntegerBatchInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["IntegerGenerator"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["InvertTensorMaskInvocation"] | components["schemas"]["InvokeAdjustImageHuePlusInvocation"] | components["schemas"]["InvokeEquivalentAchromaticLightnessInvocation"] | components["schemas"]["InvokeImageBlendInvocation"] | components["schemas"]["InvokeImageCompositorInvocation"] | components["schemas"]["InvokeImageDilateOrErodeInvocation"] | components["schemas"]["InvokeImageEnhanceInvocation"] | components["schemas"]["InvokeImageValueThresholdsInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["LineartAnimeEdgeDetectionInvocation"] | components["schemas"]["LineartEdgeDetectionInvocation"] | components["schemas"]["LlavaOnevisionVllmInvocation"] | components["schemas"]["LoRACollectionLoader"] | components["schemas"]["LoRALoaderInvocation"] | components["schemas"]["LoRASelectorInvocation"] | components["schemas"]["MLSDDetectionInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["MaskFromIDInvocation"] | components["schemas"]["MaskTensorToImageInvocation"] | components["schemas"]["MediaPipeFaceDetectionInvocation"] | components["schemas"]["MergeMetadataInvocation"] | components["schemas"]["MergeTilesToImageInvocation"] | components["schemas"]["MetadataFieldExtractorInvocation"] | components["schemas"]["MetadataFromImageInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataItemLinkedInvocation"] | components["schemas"]["MetadataToBoolCollectionInvocation"] | components["schemas"]["MetadataToBoolInvocation"] | components["schemas"]["MetadataToControlnetsInvocation"] | components["schemas"]["MetadataToFloatCollectionInvocation"] | components["schemas"]["MetadataToFloatInvocation"] | components["schemas"]["MetadataToIPAdaptersInvocation"] | components["schemas"]["MetadataToIntegerCollectionInvocation"] | components["schemas"]["MetadataToIntegerInvocation"] | components["schemas"]["MetadataToLorasCollectionInvocation"] | components["schemas"]["MetadataToLorasInvocation"] | components["schemas"]["MetadataToModelInvocation"] | components["schemas"]["MetadataToSDXLLorasInvocation"] | components["schemas"]["MetadataToSDXLModelInvocation"] | components["schemas"]["MetadataToSchedulerInvocation"] | components["schemas"]["MetadataToStringCollectionInvocation"] | components["schemas"]["MetadataToStringInvocation"] | components["schemas"]["MetadataToT2IAdaptersInvocation"] | components["schemas"]["MetadataToVAEInvocation"] | components["schemas"]["ModelIdentifierInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["NormalMapInvocation"] | components["schemas"]["PairTileImageInvocation"] | components["schemas"]["PasteImageIntoBoundingBoxInvocation"] | components["schemas"]["PiDiNetEdgeDetectionInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RectangleMaskInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["SD3DenoiseInvocation"] | components["schemas"]["SD3ImageToLatentsInvocation"] | components["schemas"]["SD3LatentsToImageInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLLoRACollectionLoader"] | components["schemas"]["SDXLLoRALoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["Sd3ModelLoaderInvocation"] | components["schemas"]["Sd3TextEncoderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SegmentAnythingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["SpandrelImageToImageAutoscaleInvocation"] | components["schemas"]["SpandrelImageToImageInvocation"] | components["schemas"]["StringBatchInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["StringGenerator"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["TileToPropertiesInvocation"] | components["schemas"]["TiledMultiDiffusionDenoiseLatents"] | components["schemas"]["UnsharpMaskInvocation"] | components["schemas"]["VAELoaderInvocation"] | components["schemas"]["ZImageDenoiseInvocation"] | components["schemas"]["ZImageImageToLatentsInvocation"] | components["schemas"]["ZImageLatentsToImageInvocation"] | components["schemas"]["ZImageModelLoaderInvocation"] | components["schemas"]["ZImageTextEncoderInvocation"]; /** * Invocation Source Id * @description The ID of the prepared invocation's source node @@ -12402,7 +12402,7 @@ export type components = { * Result * @description The result of the invocation */ - result: components["schemas"]["BooleanCollectionOutput"] | components["schemas"]["BooleanOutput"] | components["schemas"]["BoundingBoxCollectionOutput"] | components["schemas"]["BoundingBoxOutput"] | components["schemas"]["CLIPOutput"] | components["schemas"]["CLIPSkipInvocationOutput"] | components["schemas"]["CalculateImageTilesOutput"] | components["schemas"]["CogView4ConditioningOutput"] | components["schemas"]["CogView4ModelLoaderOutput"] | components["schemas"]["CollectInvocationOutput"] | components["schemas"]["ColorCollectionOutput"] | components["schemas"]["ColorOutput"] | components["schemas"]["ConditioningCollectionOutput"] | components["schemas"]["ConditioningOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["DenoiseMaskOutput"] | components["schemas"]["FaceMaskOutput"] | components["schemas"]["FaceOffOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["FloatGeneratorOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["FluxConditioningCollectionOutput"] | components["schemas"]["FluxConditioningOutput"] | components["schemas"]["FluxControlLoRALoaderOutput"] | components["schemas"]["FluxControlNetOutput"] | components["schemas"]["FluxFillOutput"] | components["schemas"]["FluxKontextOutput"] | components["schemas"]["FluxLoRALoaderOutput"] | components["schemas"]["FluxModelLoaderOutput"] | components["schemas"]["FluxReduxOutput"] | components["schemas"]["GradientMaskOutput"] | components["schemas"]["IPAdapterOutput"] | components["schemas"]["IdealSizeOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["ImageGeneratorOutput"] | components["schemas"]["ImageOutput"] | components["schemas"]["ImagePanelCoordinateOutput"] | components["schemas"]["IntegerCollectionOutput"] | components["schemas"]["IntegerGeneratorOutput"] | components["schemas"]["IntegerOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["LatentsCollectionOutput"] | components["schemas"]["LatentsMetaOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["LoRALoaderOutput"] | components["schemas"]["LoRASelectorOutput"] | components["schemas"]["MDControlListOutput"] | components["schemas"]["MDIPAdapterListOutput"] | components["schemas"]["MDT2IAdapterListOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["MetadataItemOutput"] | components["schemas"]["MetadataOutput"] | components["schemas"]["MetadataToLorasCollectionOutput"] | components["schemas"]["MetadataToModelOutput"] | components["schemas"]["MetadataToSDXLModelOutput"] | components["schemas"]["ModelIdentifierOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["PairTileImageOutput"] | components["schemas"]["SD3ConditioningOutput"] | components["schemas"]["SDXLLoRALoaderOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["SchedulerOutput"] | components["schemas"]["Sd3ModelLoaderOutput"] | components["schemas"]["SeamlessModeOutput"] | components["schemas"]["String2Output"] | components["schemas"]["StringCollectionOutput"] | components["schemas"]["StringGeneratorOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["StringPosNegOutput"] | components["schemas"]["T2IAdapterOutput"] | components["schemas"]["TileToPropertiesOutput"] | components["schemas"]["UNetOutput"] | components["schemas"]["VAEOutput"]; + result: components["schemas"]["BooleanCollectionOutput"] | components["schemas"]["BooleanOutput"] | components["schemas"]["BoundingBoxCollectionOutput"] | components["schemas"]["BoundingBoxOutput"] | components["schemas"]["CLIPOutput"] | components["schemas"]["CLIPSkipInvocationOutput"] | components["schemas"]["CalculateImageTilesOutput"] | components["schemas"]["CogView4ConditioningOutput"] | components["schemas"]["CogView4ModelLoaderOutput"] | components["schemas"]["CollectInvocationOutput"] | components["schemas"]["ColorCollectionOutput"] | components["schemas"]["ColorOutput"] | components["schemas"]["ConditioningCollectionOutput"] | components["schemas"]["ConditioningOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["DenoiseMaskOutput"] | components["schemas"]["FaceMaskOutput"] | components["schemas"]["FaceOffOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["FloatGeneratorOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["FluxConditioningCollectionOutput"] | components["schemas"]["FluxConditioningOutput"] | components["schemas"]["FluxControlLoRALoaderOutput"] | components["schemas"]["FluxControlNetOutput"] | components["schemas"]["FluxFillOutput"] | components["schemas"]["FluxKontextOutput"] | components["schemas"]["FluxLoRALoaderOutput"] | components["schemas"]["FluxModelLoaderOutput"] | components["schemas"]["FluxReduxOutput"] | components["schemas"]["GradientMaskOutput"] | components["schemas"]["IPAdapterOutput"] | components["schemas"]["IdealSizeOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["ImageGeneratorOutput"] | components["schemas"]["ImageOutput"] | components["schemas"]["ImagePanelCoordinateOutput"] | components["schemas"]["IntegerCollectionOutput"] | components["schemas"]["IntegerGeneratorOutput"] | components["schemas"]["IntegerOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["LatentsCollectionOutput"] | components["schemas"]["LatentsMetaOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["LoRALoaderOutput"] | components["schemas"]["LoRASelectorOutput"] | components["schemas"]["MDControlListOutput"] | components["schemas"]["MDIPAdapterListOutput"] | components["schemas"]["MDT2IAdapterListOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["MetadataItemOutput"] | components["schemas"]["MetadataOutput"] | components["schemas"]["MetadataToLorasCollectionOutput"] | components["schemas"]["MetadataToModelOutput"] | components["schemas"]["MetadataToSDXLModelOutput"] | components["schemas"]["ModelIdentifierOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["PairTileImageOutput"] | components["schemas"]["SD3ConditioningOutput"] | components["schemas"]["SDXLLoRALoaderOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["SchedulerOutput"] | components["schemas"]["Sd3ModelLoaderOutput"] | components["schemas"]["SeamlessModeOutput"] | components["schemas"]["String2Output"] | components["schemas"]["StringCollectionOutput"] | components["schemas"]["StringGeneratorOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["StringPosNegOutput"] | components["schemas"]["T2IAdapterOutput"] | components["schemas"]["TileToPropertiesOutput"] | components["schemas"]["UNetOutput"] | components["schemas"]["VAEOutput"] | components["schemas"]["ZImageConditioningOutput"] | components["schemas"]["ZImageModelLoaderOutput"]; }; /** * InvocationErrorEvent @@ -12450,7 +12450,7 @@ export type components = { * Invocation * @description The ID of the invocation */ - invocation: components["schemas"]["AddInvocation"] | components["schemas"]["AlphaMaskToTensorInvocation"] | components["schemas"]["ApplyMaskTensorToImageInvocation"] | components["schemas"]["ApplyMaskToImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BoundingBoxInvocation"] | components["schemas"]["CLIPSkipInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["CalculateImageTilesEvenSplitInvocation"] | components["schemas"]["CalculateImageTilesInvocation"] | components["schemas"]["CalculateImageTilesMinimumOverlapInvocation"] | components["schemas"]["CannyEdgeDetectionInvocation"] | components["schemas"]["CanvasPasteBackInvocation"] | components["schemas"]["CanvasV2MaskAndCropInvocation"] | components["schemas"]["CenterPadCropInvocation"] | components["schemas"]["CogView4DenoiseInvocation"] | components["schemas"]["CogView4ImageToLatentsInvocation"] | components["schemas"]["CogView4LatentsToImageInvocation"] | components["schemas"]["CogView4ModelLoaderInvocation"] | components["schemas"]["CogView4TextEncoderInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ColorMapInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ContentShuffleInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["CoreMetadataInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["CreateGradientMaskInvocation"] | components["schemas"]["CropImageToBoundingBoxInvocation"] | components["schemas"]["CropLatentsCoreInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["DWOpenposeDetectionInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["DenoiseLatentsMetaInvocation"] | components["schemas"]["DepthAnythingDepthEstimationInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["ExpandMaskWithFadeInvocation"] | components["schemas"]["FLUXLoRACollectionLoader"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FloatBatchInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["FloatGenerator"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["FluxControlLoRALoaderInvocation"] | components["schemas"]["FluxControlNetInvocation"] | components["schemas"]["FluxDenoiseInvocation"] | components["schemas"]["FluxDenoiseLatentsMetaInvocation"] | components["schemas"]["FluxFillInvocation"] | components["schemas"]["FluxIPAdapterInvocation"] | components["schemas"]["FluxKontextConcatenateImagesInvocation"] | components["schemas"]["FluxKontextInvocation"] | components["schemas"]["FluxLoRALoaderInvocation"] | components["schemas"]["FluxModelLoaderInvocation"] | components["schemas"]["FluxReduxInvocation"] | components["schemas"]["FluxTextEncoderInvocation"] | components["schemas"]["FluxVaeDecodeInvocation"] | components["schemas"]["FluxVaeEncodeInvocation"] | components["schemas"]["FreeUInvocation"] | components["schemas"]["GetMaskBoundingBoxInvocation"] | components["schemas"]["GroundingDinoInvocation"] | components["schemas"]["HEDEdgeDetectionInvocation"] | components["schemas"]["HeuristicResizeInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["IdealSizeInvocation"] | components["schemas"]["ImageBatchInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImageGenerator"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageMaskToTensorInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageNoiseInvocation"] | components["schemas"]["ImagePanelLayoutInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["IntegerBatchInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["IntegerGenerator"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["InvertTensorMaskInvocation"] | components["schemas"]["InvokeAdjustImageHuePlusInvocation"] | components["schemas"]["InvokeEquivalentAchromaticLightnessInvocation"] | components["schemas"]["InvokeImageBlendInvocation"] | components["schemas"]["InvokeImageCompositorInvocation"] | components["schemas"]["InvokeImageDilateOrErodeInvocation"] | components["schemas"]["InvokeImageEnhanceInvocation"] | components["schemas"]["InvokeImageValueThresholdsInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["LineartAnimeEdgeDetectionInvocation"] | components["schemas"]["LineartEdgeDetectionInvocation"] | components["schemas"]["LlavaOnevisionVllmInvocation"] | components["schemas"]["LoRACollectionLoader"] | components["schemas"]["LoRALoaderInvocation"] | components["schemas"]["LoRASelectorInvocation"] | components["schemas"]["MLSDDetectionInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["MaskFromIDInvocation"] | components["schemas"]["MaskTensorToImageInvocation"] | components["schemas"]["MediaPipeFaceDetectionInvocation"] | components["schemas"]["MergeMetadataInvocation"] | components["schemas"]["MergeTilesToImageInvocation"] | components["schemas"]["MetadataFieldExtractorInvocation"] | components["schemas"]["MetadataFromImageInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataItemLinkedInvocation"] | components["schemas"]["MetadataToBoolCollectionInvocation"] | components["schemas"]["MetadataToBoolInvocation"] | components["schemas"]["MetadataToControlnetsInvocation"] | components["schemas"]["MetadataToFloatCollectionInvocation"] | components["schemas"]["MetadataToFloatInvocation"] | components["schemas"]["MetadataToIPAdaptersInvocation"] | components["schemas"]["MetadataToIntegerCollectionInvocation"] | components["schemas"]["MetadataToIntegerInvocation"] | components["schemas"]["MetadataToLorasCollectionInvocation"] | components["schemas"]["MetadataToLorasInvocation"] | components["schemas"]["MetadataToModelInvocation"] | components["schemas"]["MetadataToSDXLLorasInvocation"] | components["schemas"]["MetadataToSDXLModelInvocation"] | components["schemas"]["MetadataToSchedulerInvocation"] | components["schemas"]["MetadataToStringCollectionInvocation"] | components["schemas"]["MetadataToStringInvocation"] | components["schemas"]["MetadataToT2IAdaptersInvocation"] | components["schemas"]["MetadataToVAEInvocation"] | components["schemas"]["ModelIdentifierInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["NormalMapInvocation"] | components["schemas"]["PairTileImageInvocation"] | components["schemas"]["PasteImageIntoBoundingBoxInvocation"] | components["schemas"]["PiDiNetEdgeDetectionInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RectangleMaskInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["SD3DenoiseInvocation"] | components["schemas"]["SD3ImageToLatentsInvocation"] | components["schemas"]["SD3LatentsToImageInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLLoRACollectionLoader"] | components["schemas"]["SDXLLoRALoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["Sd3ModelLoaderInvocation"] | components["schemas"]["Sd3TextEncoderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SegmentAnythingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["SpandrelImageToImageAutoscaleInvocation"] | components["schemas"]["SpandrelImageToImageInvocation"] | components["schemas"]["StringBatchInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["StringGenerator"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["TileToPropertiesInvocation"] | components["schemas"]["TiledMultiDiffusionDenoiseLatents"] | components["schemas"]["UnsharpMaskInvocation"] | components["schemas"]["VAELoaderInvocation"]; + invocation: components["schemas"]["AddInvocation"] | components["schemas"]["AlphaMaskToTensorInvocation"] | components["schemas"]["ApplyMaskTensorToImageInvocation"] | components["schemas"]["ApplyMaskToImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BoundingBoxInvocation"] | components["schemas"]["CLIPSkipInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["CalculateImageTilesEvenSplitInvocation"] | components["schemas"]["CalculateImageTilesInvocation"] | components["schemas"]["CalculateImageTilesMinimumOverlapInvocation"] | components["schemas"]["CannyEdgeDetectionInvocation"] | components["schemas"]["CanvasPasteBackInvocation"] | components["schemas"]["CanvasV2MaskAndCropInvocation"] | components["schemas"]["CenterPadCropInvocation"] | components["schemas"]["CogView4DenoiseInvocation"] | components["schemas"]["CogView4ImageToLatentsInvocation"] | components["schemas"]["CogView4LatentsToImageInvocation"] | components["schemas"]["CogView4ModelLoaderInvocation"] | components["schemas"]["CogView4TextEncoderInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ColorMapInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ContentShuffleInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["CoreMetadataInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["CreateGradientMaskInvocation"] | components["schemas"]["CropImageToBoundingBoxInvocation"] | components["schemas"]["CropLatentsCoreInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["DWOpenposeDetectionInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["DenoiseLatentsMetaInvocation"] | components["schemas"]["DepthAnythingDepthEstimationInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["ExpandMaskWithFadeInvocation"] | components["schemas"]["FLUXLoRACollectionLoader"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FloatBatchInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["FloatGenerator"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["FluxControlLoRALoaderInvocation"] | components["schemas"]["FluxControlNetInvocation"] | components["schemas"]["FluxDenoiseInvocation"] | components["schemas"]["FluxDenoiseLatentsMetaInvocation"] | components["schemas"]["FluxFillInvocation"] | components["schemas"]["FluxIPAdapterInvocation"] | components["schemas"]["FluxKontextConcatenateImagesInvocation"] | components["schemas"]["FluxKontextInvocation"] | components["schemas"]["FluxLoRALoaderInvocation"] | components["schemas"]["FluxModelLoaderInvocation"] | components["schemas"]["FluxReduxInvocation"] | components["schemas"]["FluxTextEncoderInvocation"] | components["schemas"]["FluxVaeDecodeInvocation"] | components["schemas"]["FluxVaeEncodeInvocation"] | components["schemas"]["FreeUInvocation"] | components["schemas"]["GetMaskBoundingBoxInvocation"] | components["schemas"]["GroundingDinoInvocation"] | components["schemas"]["HEDEdgeDetectionInvocation"] | components["schemas"]["HeuristicResizeInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["IdealSizeInvocation"] | components["schemas"]["ImageBatchInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImageGenerator"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageMaskToTensorInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageNoiseInvocation"] | components["schemas"]["ImagePanelLayoutInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["IntegerBatchInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["IntegerGenerator"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["InvertTensorMaskInvocation"] | components["schemas"]["InvokeAdjustImageHuePlusInvocation"] | components["schemas"]["InvokeEquivalentAchromaticLightnessInvocation"] | components["schemas"]["InvokeImageBlendInvocation"] | components["schemas"]["InvokeImageCompositorInvocation"] | components["schemas"]["InvokeImageDilateOrErodeInvocation"] | components["schemas"]["InvokeImageEnhanceInvocation"] | components["schemas"]["InvokeImageValueThresholdsInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["LineartAnimeEdgeDetectionInvocation"] | components["schemas"]["LineartEdgeDetectionInvocation"] | components["schemas"]["LlavaOnevisionVllmInvocation"] | components["schemas"]["LoRACollectionLoader"] | components["schemas"]["LoRALoaderInvocation"] | components["schemas"]["LoRASelectorInvocation"] | components["schemas"]["MLSDDetectionInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["MaskFromIDInvocation"] | components["schemas"]["MaskTensorToImageInvocation"] | components["schemas"]["MediaPipeFaceDetectionInvocation"] | components["schemas"]["MergeMetadataInvocation"] | components["schemas"]["MergeTilesToImageInvocation"] | components["schemas"]["MetadataFieldExtractorInvocation"] | components["schemas"]["MetadataFromImageInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataItemLinkedInvocation"] | components["schemas"]["MetadataToBoolCollectionInvocation"] | components["schemas"]["MetadataToBoolInvocation"] | components["schemas"]["MetadataToControlnetsInvocation"] | components["schemas"]["MetadataToFloatCollectionInvocation"] | components["schemas"]["MetadataToFloatInvocation"] | components["schemas"]["MetadataToIPAdaptersInvocation"] | components["schemas"]["MetadataToIntegerCollectionInvocation"] | components["schemas"]["MetadataToIntegerInvocation"] | components["schemas"]["MetadataToLorasCollectionInvocation"] | components["schemas"]["MetadataToLorasInvocation"] | components["schemas"]["MetadataToModelInvocation"] | components["schemas"]["MetadataToSDXLLorasInvocation"] | components["schemas"]["MetadataToSDXLModelInvocation"] | components["schemas"]["MetadataToSchedulerInvocation"] | components["schemas"]["MetadataToStringCollectionInvocation"] | components["schemas"]["MetadataToStringInvocation"] | components["schemas"]["MetadataToT2IAdaptersInvocation"] | components["schemas"]["MetadataToVAEInvocation"] | components["schemas"]["ModelIdentifierInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["NormalMapInvocation"] | components["schemas"]["PairTileImageInvocation"] | components["schemas"]["PasteImageIntoBoundingBoxInvocation"] | components["schemas"]["PiDiNetEdgeDetectionInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RectangleMaskInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["SD3DenoiseInvocation"] | components["schemas"]["SD3ImageToLatentsInvocation"] | components["schemas"]["SD3LatentsToImageInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLLoRACollectionLoader"] | components["schemas"]["SDXLLoRALoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["Sd3ModelLoaderInvocation"] | components["schemas"]["Sd3TextEncoderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SegmentAnythingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["SpandrelImageToImageAutoscaleInvocation"] | components["schemas"]["SpandrelImageToImageInvocation"] | components["schemas"]["StringBatchInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["StringGenerator"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["TileToPropertiesInvocation"] | components["schemas"]["TiledMultiDiffusionDenoiseLatents"] | components["schemas"]["UnsharpMaskInvocation"] | components["schemas"]["VAELoaderInvocation"] | components["schemas"]["ZImageDenoiseInvocation"] | components["schemas"]["ZImageImageToLatentsInvocation"] | components["schemas"]["ZImageLatentsToImageInvocation"] | components["schemas"]["ZImageModelLoaderInvocation"] | components["schemas"]["ZImageTextEncoderInvocation"]; /** * Invocation Source Id * @description The ID of the prepared invocation's source node @@ -12684,6 +12684,11 @@ export type components = { tomask: components["schemas"]["ImageOutput"]; unsharp_mask: components["schemas"]["ImageOutput"]; vae_loader: components["schemas"]["VAEOutput"]; + z_image_denoise: components["schemas"]["LatentsOutput"]; + z_image_i2l: components["schemas"]["LatentsOutput"]; + z_image_l2i: components["schemas"]["ImageOutput"]; + z_image_model_loader: components["schemas"]["ZImageModelLoaderOutput"]; + z_image_text_encoder: components["schemas"]["ZImageConditioningOutput"]; }; /** * InvocationProgressEvent @@ -12731,7 +12736,7 @@ export type components = { * Invocation * @description The ID of the invocation */ - invocation: components["schemas"]["AddInvocation"] | components["schemas"]["AlphaMaskToTensorInvocation"] | components["schemas"]["ApplyMaskTensorToImageInvocation"] | components["schemas"]["ApplyMaskToImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BoundingBoxInvocation"] | components["schemas"]["CLIPSkipInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["CalculateImageTilesEvenSplitInvocation"] | components["schemas"]["CalculateImageTilesInvocation"] | components["schemas"]["CalculateImageTilesMinimumOverlapInvocation"] | components["schemas"]["CannyEdgeDetectionInvocation"] | components["schemas"]["CanvasPasteBackInvocation"] | components["schemas"]["CanvasV2MaskAndCropInvocation"] | components["schemas"]["CenterPadCropInvocation"] | components["schemas"]["CogView4DenoiseInvocation"] | components["schemas"]["CogView4ImageToLatentsInvocation"] | components["schemas"]["CogView4LatentsToImageInvocation"] | components["schemas"]["CogView4ModelLoaderInvocation"] | components["schemas"]["CogView4TextEncoderInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ColorMapInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ContentShuffleInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["CoreMetadataInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["CreateGradientMaskInvocation"] | components["schemas"]["CropImageToBoundingBoxInvocation"] | components["schemas"]["CropLatentsCoreInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["DWOpenposeDetectionInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["DenoiseLatentsMetaInvocation"] | components["schemas"]["DepthAnythingDepthEstimationInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["ExpandMaskWithFadeInvocation"] | components["schemas"]["FLUXLoRACollectionLoader"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FloatBatchInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["FloatGenerator"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["FluxControlLoRALoaderInvocation"] | components["schemas"]["FluxControlNetInvocation"] | components["schemas"]["FluxDenoiseInvocation"] | components["schemas"]["FluxDenoiseLatentsMetaInvocation"] | components["schemas"]["FluxFillInvocation"] | components["schemas"]["FluxIPAdapterInvocation"] | components["schemas"]["FluxKontextConcatenateImagesInvocation"] | components["schemas"]["FluxKontextInvocation"] | components["schemas"]["FluxLoRALoaderInvocation"] | components["schemas"]["FluxModelLoaderInvocation"] | components["schemas"]["FluxReduxInvocation"] | components["schemas"]["FluxTextEncoderInvocation"] | components["schemas"]["FluxVaeDecodeInvocation"] | components["schemas"]["FluxVaeEncodeInvocation"] | components["schemas"]["FreeUInvocation"] | components["schemas"]["GetMaskBoundingBoxInvocation"] | components["schemas"]["GroundingDinoInvocation"] | components["schemas"]["HEDEdgeDetectionInvocation"] | components["schemas"]["HeuristicResizeInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["IdealSizeInvocation"] | components["schemas"]["ImageBatchInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImageGenerator"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageMaskToTensorInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageNoiseInvocation"] | components["schemas"]["ImagePanelLayoutInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["IntegerBatchInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["IntegerGenerator"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["InvertTensorMaskInvocation"] | components["schemas"]["InvokeAdjustImageHuePlusInvocation"] | components["schemas"]["InvokeEquivalentAchromaticLightnessInvocation"] | components["schemas"]["InvokeImageBlendInvocation"] | components["schemas"]["InvokeImageCompositorInvocation"] | components["schemas"]["InvokeImageDilateOrErodeInvocation"] | components["schemas"]["InvokeImageEnhanceInvocation"] | components["schemas"]["InvokeImageValueThresholdsInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["LineartAnimeEdgeDetectionInvocation"] | components["schemas"]["LineartEdgeDetectionInvocation"] | components["schemas"]["LlavaOnevisionVllmInvocation"] | components["schemas"]["LoRACollectionLoader"] | components["schemas"]["LoRALoaderInvocation"] | components["schemas"]["LoRASelectorInvocation"] | components["schemas"]["MLSDDetectionInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["MaskFromIDInvocation"] | components["schemas"]["MaskTensorToImageInvocation"] | components["schemas"]["MediaPipeFaceDetectionInvocation"] | components["schemas"]["MergeMetadataInvocation"] | components["schemas"]["MergeTilesToImageInvocation"] | components["schemas"]["MetadataFieldExtractorInvocation"] | components["schemas"]["MetadataFromImageInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataItemLinkedInvocation"] | components["schemas"]["MetadataToBoolCollectionInvocation"] | components["schemas"]["MetadataToBoolInvocation"] | components["schemas"]["MetadataToControlnetsInvocation"] | components["schemas"]["MetadataToFloatCollectionInvocation"] | components["schemas"]["MetadataToFloatInvocation"] | components["schemas"]["MetadataToIPAdaptersInvocation"] | components["schemas"]["MetadataToIntegerCollectionInvocation"] | components["schemas"]["MetadataToIntegerInvocation"] | components["schemas"]["MetadataToLorasCollectionInvocation"] | components["schemas"]["MetadataToLorasInvocation"] | components["schemas"]["MetadataToModelInvocation"] | components["schemas"]["MetadataToSDXLLorasInvocation"] | components["schemas"]["MetadataToSDXLModelInvocation"] | components["schemas"]["MetadataToSchedulerInvocation"] | components["schemas"]["MetadataToStringCollectionInvocation"] | components["schemas"]["MetadataToStringInvocation"] | components["schemas"]["MetadataToT2IAdaptersInvocation"] | components["schemas"]["MetadataToVAEInvocation"] | components["schemas"]["ModelIdentifierInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["NormalMapInvocation"] | components["schemas"]["PairTileImageInvocation"] | components["schemas"]["PasteImageIntoBoundingBoxInvocation"] | components["schemas"]["PiDiNetEdgeDetectionInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RectangleMaskInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["SD3DenoiseInvocation"] | components["schemas"]["SD3ImageToLatentsInvocation"] | components["schemas"]["SD3LatentsToImageInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLLoRACollectionLoader"] | components["schemas"]["SDXLLoRALoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["Sd3ModelLoaderInvocation"] | components["schemas"]["Sd3TextEncoderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SegmentAnythingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["SpandrelImageToImageAutoscaleInvocation"] | components["schemas"]["SpandrelImageToImageInvocation"] | components["schemas"]["StringBatchInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["StringGenerator"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["TileToPropertiesInvocation"] | components["schemas"]["TiledMultiDiffusionDenoiseLatents"] | components["schemas"]["UnsharpMaskInvocation"] | components["schemas"]["VAELoaderInvocation"]; + invocation: components["schemas"]["AddInvocation"] | components["schemas"]["AlphaMaskToTensorInvocation"] | components["schemas"]["ApplyMaskTensorToImageInvocation"] | components["schemas"]["ApplyMaskToImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BoundingBoxInvocation"] | components["schemas"]["CLIPSkipInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["CalculateImageTilesEvenSplitInvocation"] | components["schemas"]["CalculateImageTilesInvocation"] | components["schemas"]["CalculateImageTilesMinimumOverlapInvocation"] | components["schemas"]["CannyEdgeDetectionInvocation"] | components["schemas"]["CanvasPasteBackInvocation"] | components["schemas"]["CanvasV2MaskAndCropInvocation"] | components["schemas"]["CenterPadCropInvocation"] | components["schemas"]["CogView4DenoiseInvocation"] | components["schemas"]["CogView4ImageToLatentsInvocation"] | components["schemas"]["CogView4LatentsToImageInvocation"] | components["schemas"]["CogView4ModelLoaderInvocation"] | components["schemas"]["CogView4TextEncoderInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ColorMapInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ContentShuffleInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["CoreMetadataInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["CreateGradientMaskInvocation"] | components["schemas"]["CropImageToBoundingBoxInvocation"] | components["schemas"]["CropLatentsCoreInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["DWOpenposeDetectionInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["DenoiseLatentsMetaInvocation"] | components["schemas"]["DepthAnythingDepthEstimationInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["ExpandMaskWithFadeInvocation"] | components["schemas"]["FLUXLoRACollectionLoader"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FloatBatchInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["FloatGenerator"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["FluxControlLoRALoaderInvocation"] | components["schemas"]["FluxControlNetInvocation"] | components["schemas"]["FluxDenoiseInvocation"] | components["schemas"]["FluxDenoiseLatentsMetaInvocation"] | components["schemas"]["FluxFillInvocation"] | components["schemas"]["FluxIPAdapterInvocation"] | components["schemas"]["FluxKontextConcatenateImagesInvocation"] | components["schemas"]["FluxKontextInvocation"] | components["schemas"]["FluxLoRALoaderInvocation"] | components["schemas"]["FluxModelLoaderInvocation"] | components["schemas"]["FluxReduxInvocation"] | components["schemas"]["FluxTextEncoderInvocation"] | components["schemas"]["FluxVaeDecodeInvocation"] | components["schemas"]["FluxVaeEncodeInvocation"] | components["schemas"]["FreeUInvocation"] | components["schemas"]["GetMaskBoundingBoxInvocation"] | components["schemas"]["GroundingDinoInvocation"] | components["schemas"]["HEDEdgeDetectionInvocation"] | components["schemas"]["HeuristicResizeInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["IdealSizeInvocation"] | components["schemas"]["ImageBatchInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImageGenerator"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageMaskToTensorInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageNoiseInvocation"] | components["schemas"]["ImagePanelLayoutInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["IntegerBatchInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["IntegerGenerator"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["InvertTensorMaskInvocation"] | components["schemas"]["InvokeAdjustImageHuePlusInvocation"] | components["schemas"]["InvokeEquivalentAchromaticLightnessInvocation"] | components["schemas"]["InvokeImageBlendInvocation"] | components["schemas"]["InvokeImageCompositorInvocation"] | components["schemas"]["InvokeImageDilateOrErodeInvocation"] | components["schemas"]["InvokeImageEnhanceInvocation"] | components["schemas"]["InvokeImageValueThresholdsInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["LineartAnimeEdgeDetectionInvocation"] | components["schemas"]["LineartEdgeDetectionInvocation"] | components["schemas"]["LlavaOnevisionVllmInvocation"] | components["schemas"]["LoRACollectionLoader"] | components["schemas"]["LoRALoaderInvocation"] | components["schemas"]["LoRASelectorInvocation"] | components["schemas"]["MLSDDetectionInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["MaskFromIDInvocation"] | components["schemas"]["MaskTensorToImageInvocation"] | components["schemas"]["MediaPipeFaceDetectionInvocation"] | components["schemas"]["MergeMetadataInvocation"] | components["schemas"]["MergeTilesToImageInvocation"] | components["schemas"]["MetadataFieldExtractorInvocation"] | components["schemas"]["MetadataFromImageInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataItemLinkedInvocation"] | components["schemas"]["MetadataToBoolCollectionInvocation"] | components["schemas"]["MetadataToBoolInvocation"] | components["schemas"]["MetadataToControlnetsInvocation"] | components["schemas"]["MetadataToFloatCollectionInvocation"] | components["schemas"]["MetadataToFloatInvocation"] | components["schemas"]["MetadataToIPAdaptersInvocation"] | components["schemas"]["MetadataToIntegerCollectionInvocation"] | components["schemas"]["MetadataToIntegerInvocation"] | components["schemas"]["MetadataToLorasCollectionInvocation"] | components["schemas"]["MetadataToLorasInvocation"] | components["schemas"]["MetadataToModelInvocation"] | components["schemas"]["MetadataToSDXLLorasInvocation"] | components["schemas"]["MetadataToSDXLModelInvocation"] | components["schemas"]["MetadataToSchedulerInvocation"] | components["schemas"]["MetadataToStringCollectionInvocation"] | components["schemas"]["MetadataToStringInvocation"] | components["schemas"]["MetadataToT2IAdaptersInvocation"] | components["schemas"]["MetadataToVAEInvocation"] | components["schemas"]["ModelIdentifierInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["NormalMapInvocation"] | components["schemas"]["PairTileImageInvocation"] | components["schemas"]["PasteImageIntoBoundingBoxInvocation"] | components["schemas"]["PiDiNetEdgeDetectionInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RectangleMaskInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["SD3DenoiseInvocation"] | components["schemas"]["SD3ImageToLatentsInvocation"] | components["schemas"]["SD3LatentsToImageInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLLoRACollectionLoader"] | components["schemas"]["SDXLLoRALoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["Sd3ModelLoaderInvocation"] | components["schemas"]["Sd3TextEncoderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SegmentAnythingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["SpandrelImageToImageAutoscaleInvocation"] | components["schemas"]["SpandrelImageToImageInvocation"] | components["schemas"]["StringBatchInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["StringGenerator"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["TileToPropertiesInvocation"] | components["schemas"]["TiledMultiDiffusionDenoiseLatents"] | components["schemas"]["UnsharpMaskInvocation"] | components["schemas"]["VAELoaderInvocation"] | components["schemas"]["ZImageDenoiseInvocation"] | components["schemas"]["ZImageImageToLatentsInvocation"] | components["schemas"]["ZImageLatentsToImageInvocation"] | components["schemas"]["ZImageModelLoaderInvocation"] | components["schemas"]["ZImageTextEncoderInvocation"]; /** * Invocation Source Id * @description The ID of the prepared invocation's source node @@ -12800,7 +12805,7 @@ export type components = { * Invocation * @description The ID of the invocation */ - invocation: components["schemas"]["AddInvocation"] | components["schemas"]["AlphaMaskToTensorInvocation"] | components["schemas"]["ApplyMaskTensorToImageInvocation"] | components["schemas"]["ApplyMaskToImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BoundingBoxInvocation"] | components["schemas"]["CLIPSkipInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["CalculateImageTilesEvenSplitInvocation"] | components["schemas"]["CalculateImageTilesInvocation"] | components["schemas"]["CalculateImageTilesMinimumOverlapInvocation"] | components["schemas"]["CannyEdgeDetectionInvocation"] | components["schemas"]["CanvasPasteBackInvocation"] | components["schemas"]["CanvasV2MaskAndCropInvocation"] | components["schemas"]["CenterPadCropInvocation"] | components["schemas"]["CogView4DenoiseInvocation"] | components["schemas"]["CogView4ImageToLatentsInvocation"] | components["schemas"]["CogView4LatentsToImageInvocation"] | components["schemas"]["CogView4ModelLoaderInvocation"] | components["schemas"]["CogView4TextEncoderInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ColorMapInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ContentShuffleInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["CoreMetadataInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["CreateGradientMaskInvocation"] | components["schemas"]["CropImageToBoundingBoxInvocation"] | components["schemas"]["CropLatentsCoreInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["DWOpenposeDetectionInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["DenoiseLatentsMetaInvocation"] | components["schemas"]["DepthAnythingDepthEstimationInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["ExpandMaskWithFadeInvocation"] | components["schemas"]["FLUXLoRACollectionLoader"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FloatBatchInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["FloatGenerator"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["FluxControlLoRALoaderInvocation"] | components["schemas"]["FluxControlNetInvocation"] | components["schemas"]["FluxDenoiseInvocation"] | components["schemas"]["FluxDenoiseLatentsMetaInvocation"] | components["schemas"]["FluxFillInvocation"] | components["schemas"]["FluxIPAdapterInvocation"] | components["schemas"]["FluxKontextConcatenateImagesInvocation"] | components["schemas"]["FluxKontextInvocation"] | components["schemas"]["FluxLoRALoaderInvocation"] | components["schemas"]["FluxModelLoaderInvocation"] | components["schemas"]["FluxReduxInvocation"] | components["schemas"]["FluxTextEncoderInvocation"] | components["schemas"]["FluxVaeDecodeInvocation"] | components["schemas"]["FluxVaeEncodeInvocation"] | components["schemas"]["FreeUInvocation"] | components["schemas"]["GetMaskBoundingBoxInvocation"] | components["schemas"]["GroundingDinoInvocation"] | components["schemas"]["HEDEdgeDetectionInvocation"] | components["schemas"]["HeuristicResizeInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["IdealSizeInvocation"] | components["schemas"]["ImageBatchInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImageGenerator"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageMaskToTensorInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageNoiseInvocation"] | components["schemas"]["ImagePanelLayoutInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["IntegerBatchInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["IntegerGenerator"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["InvertTensorMaskInvocation"] | components["schemas"]["InvokeAdjustImageHuePlusInvocation"] | components["schemas"]["InvokeEquivalentAchromaticLightnessInvocation"] | components["schemas"]["InvokeImageBlendInvocation"] | components["schemas"]["InvokeImageCompositorInvocation"] | components["schemas"]["InvokeImageDilateOrErodeInvocation"] | components["schemas"]["InvokeImageEnhanceInvocation"] | components["schemas"]["InvokeImageValueThresholdsInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["LineartAnimeEdgeDetectionInvocation"] | components["schemas"]["LineartEdgeDetectionInvocation"] | components["schemas"]["LlavaOnevisionVllmInvocation"] | components["schemas"]["LoRACollectionLoader"] | components["schemas"]["LoRALoaderInvocation"] | components["schemas"]["LoRASelectorInvocation"] | components["schemas"]["MLSDDetectionInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["MaskFromIDInvocation"] | components["schemas"]["MaskTensorToImageInvocation"] | components["schemas"]["MediaPipeFaceDetectionInvocation"] | components["schemas"]["MergeMetadataInvocation"] | components["schemas"]["MergeTilesToImageInvocation"] | components["schemas"]["MetadataFieldExtractorInvocation"] | components["schemas"]["MetadataFromImageInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataItemLinkedInvocation"] | components["schemas"]["MetadataToBoolCollectionInvocation"] | components["schemas"]["MetadataToBoolInvocation"] | components["schemas"]["MetadataToControlnetsInvocation"] | components["schemas"]["MetadataToFloatCollectionInvocation"] | components["schemas"]["MetadataToFloatInvocation"] | components["schemas"]["MetadataToIPAdaptersInvocation"] | components["schemas"]["MetadataToIntegerCollectionInvocation"] | components["schemas"]["MetadataToIntegerInvocation"] | components["schemas"]["MetadataToLorasCollectionInvocation"] | components["schemas"]["MetadataToLorasInvocation"] | components["schemas"]["MetadataToModelInvocation"] | components["schemas"]["MetadataToSDXLLorasInvocation"] | components["schemas"]["MetadataToSDXLModelInvocation"] | components["schemas"]["MetadataToSchedulerInvocation"] | components["schemas"]["MetadataToStringCollectionInvocation"] | components["schemas"]["MetadataToStringInvocation"] | components["schemas"]["MetadataToT2IAdaptersInvocation"] | components["schemas"]["MetadataToVAEInvocation"] | components["schemas"]["ModelIdentifierInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["NormalMapInvocation"] | components["schemas"]["PairTileImageInvocation"] | components["schemas"]["PasteImageIntoBoundingBoxInvocation"] | components["schemas"]["PiDiNetEdgeDetectionInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RectangleMaskInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["SD3DenoiseInvocation"] | components["schemas"]["SD3ImageToLatentsInvocation"] | components["schemas"]["SD3LatentsToImageInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLLoRACollectionLoader"] | components["schemas"]["SDXLLoRALoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["Sd3ModelLoaderInvocation"] | components["schemas"]["Sd3TextEncoderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SegmentAnythingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["SpandrelImageToImageAutoscaleInvocation"] | components["schemas"]["SpandrelImageToImageInvocation"] | components["schemas"]["StringBatchInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["StringGenerator"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["TileToPropertiesInvocation"] | components["schemas"]["TiledMultiDiffusionDenoiseLatents"] | components["schemas"]["UnsharpMaskInvocation"] | components["schemas"]["VAELoaderInvocation"]; + invocation: components["schemas"]["AddInvocation"] | components["schemas"]["AlphaMaskToTensorInvocation"] | components["schemas"]["ApplyMaskTensorToImageInvocation"] | components["schemas"]["ApplyMaskToImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BoundingBoxInvocation"] | components["schemas"]["CLIPSkipInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["CalculateImageTilesEvenSplitInvocation"] | components["schemas"]["CalculateImageTilesInvocation"] | components["schemas"]["CalculateImageTilesMinimumOverlapInvocation"] | components["schemas"]["CannyEdgeDetectionInvocation"] | components["schemas"]["CanvasPasteBackInvocation"] | components["schemas"]["CanvasV2MaskAndCropInvocation"] | components["schemas"]["CenterPadCropInvocation"] | components["schemas"]["CogView4DenoiseInvocation"] | components["schemas"]["CogView4ImageToLatentsInvocation"] | components["schemas"]["CogView4LatentsToImageInvocation"] | components["schemas"]["CogView4ModelLoaderInvocation"] | components["schemas"]["CogView4TextEncoderInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ColorMapInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ContentShuffleInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["CoreMetadataInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["CreateGradientMaskInvocation"] | components["schemas"]["CropImageToBoundingBoxInvocation"] | components["schemas"]["CropLatentsCoreInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["DWOpenposeDetectionInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["DenoiseLatentsMetaInvocation"] | components["schemas"]["DepthAnythingDepthEstimationInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["ExpandMaskWithFadeInvocation"] | components["schemas"]["FLUXLoRACollectionLoader"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FloatBatchInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["FloatGenerator"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["FluxControlLoRALoaderInvocation"] | components["schemas"]["FluxControlNetInvocation"] | components["schemas"]["FluxDenoiseInvocation"] | components["schemas"]["FluxDenoiseLatentsMetaInvocation"] | components["schemas"]["FluxFillInvocation"] | components["schemas"]["FluxIPAdapterInvocation"] | components["schemas"]["FluxKontextConcatenateImagesInvocation"] | components["schemas"]["FluxKontextInvocation"] | components["schemas"]["FluxLoRALoaderInvocation"] | components["schemas"]["FluxModelLoaderInvocation"] | components["schemas"]["FluxReduxInvocation"] | components["schemas"]["FluxTextEncoderInvocation"] | components["schemas"]["FluxVaeDecodeInvocation"] | components["schemas"]["FluxVaeEncodeInvocation"] | components["schemas"]["FreeUInvocation"] | components["schemas"]["GetMaskBoundingBoxInvocation"] | components["schemas"]["GroundingDinoInvocation"] | components["schemas"]["HEDEdgeDetectionInvocation"] | components["schemas"]["HeuristicResizeInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["IdealSizeInvocation"] | components["schemas"]["ImageBatchInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImageGenerator"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageMaskToTensorInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageNoiseInvocation"] | components["schemas"]["ImagePanelLayoutInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["IntegerBatchInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["IntegerGenerator"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["InvertTensorMaskInvocation"] | components["schemas"]["InvokeAdjustImageHuePlusInvocation"] | components["schemas"]["InvokeEquivalentAchromaticLightnessInvocation"] | components["schemas"]["InvokeImageBlendInvocation"] | components["schemas"]["InvokeImageCompositorInvocation"] | components["schemas"]["InvokeImageDilateOrErodeInvocation"] | components["schemas"]["InvokeImageEnhanceInvocation"] | components["schemas"]["InvokeImageValueThresholdsInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["LineartAnimeEdgeDetectionInvocation"] | components["schemas"]["LineartEdgeDetectionInvocation"] | components["schemas"]["LlavaOnevisionVllmInvocation"] | components["schemas"]["LoRACollectionLoader"] | components["schemas"]["LoRALoaderInvocation"] | components["schemas"]["LoRASelectorInvocation"] | components["schemas"]["MLSDDetectionInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["MaskFromIDInvocation"] | components["schemas"]["MaskTensorToImageInvocation"] | components["schemas"]["MediaPipeFaceDetectionInvocation"] | components["schemas"]["MergeMetadataInvocation"] | components["schemas"]["MergeTilesToImageInvocation"] | components["schemas"]["MetadataFieldExtractorInvocation"] | components["schemas"]["MetadataFromImageInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataItemLinkedInvocation"] | components["schemas"]["MetadataToBoolCollectionInvocation"] | components["schemas"]["MetadataToBoolInvocation"] | components["schemas"]["MetadataToControlnetsInvocation"] | components["schemas"]["MetadataToFloatCollectionInvocation"] | components["schemas"]["MetadataToFloatInvocation"] | components["schemas"]["MetadataToIPAdaptersInvocation"] | components["schemas"]["MetadataToIntegerCollectionInvocation"] | components["schemas"]["MetadataToIntegerInvocation"] | components["schemas"]["MetadataToLorasCollectionInvocation"] | components["schemas"]["MetadataToLorasInvocation"] | components["schemas"]["MetadataToModelInvocation"] | components["schemas"]["MetadataToSDXLLorasInvocation"] | components["schemas"]["MetadataToSDXLModelInvocation"] | components["schemas"]["MetadataToSchedulerInvocation"] | components["schemas"]["MetadataToStringCollectionInvocation"] | components["schemas"]["MetadataToStringInvocation"] | components["schemas"]["MetadataToT2IAdaptersInvocation"] | components["schemas"]["MetadataToVAEInvocation"] | components["schemas"]["ModelIdentifierInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["NormalMapInvocation"] | components["schemas"]["PairTileImageInvocation"] | components["schemas"]["PasteImageIntoBoundingBoxInvocation"] | components["schemas"]["PiDiNetEdgeDetectionInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RectangleMaskInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["SD3DenoiseInvocation"] | components["schemas"]["SD3ImageToLatentsInvocation"] | components["schemas"]["SD3LatentsToImageInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLLoRACollectionLoader"] | components["schemas"]["SDXLLoRALoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["Sd3ModelLoaderInvocation"] | components["schemas"]["Sd3TextEncoderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SegmentAnythingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["SpandrelImageToImageAutoscaleInvocation"] | components["schemas"]["SpandrelImageToImageInvocation"] | components["schemas"]["StringBatchInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["StringGenerator"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["TileToPropertiesInvocation"] | components["schemas"]["TiledMultiDiffusionDenoiseLatents"] | components["schemas"]["UnsharpMaskInvocation"] | components["schemas"]["VAELoaderInvocation"] | components["schemas"]["ZImageDenoiseInvocation"] | components["schemas"]["ZImageImageToLatentsInvocation"] | components["schemas"]["ZImageLatentsToImageInvocation"] | components["schemas"]["ZImageModelLoaderInvocation"] | components["schemas"]["ZImageTextEncoderInvocation"]; /** * Invocation Source Id * @description The ID of the prepared invocation's source node @@ -12956,14 +12961,14 @@ export type components = { * Convert Cache Dir * Format: path * @description Path to the converted models cache directory (DEPRECATED, but do not delete because it is needed for migration from previous versions). - * @default models/.convert_cache + * @default models\.convert_cache */ convert_cache_dir?: string; /** * Download Cache Dir * Format: path * @description Path to the directory that contains dynamically downloaded models. - * @default models/.download_cache + * @default models\.download_cache */ download_cache_dir?: string; /** @@ -16461,6 +16466,86 @@ export type components = { */ base: "sdxl"; }; + /** + * Main_Diffusers_ZImage_Config + * @description Model config for Z-Image diffusers models (Z-Image-Turbo, Z-Image-Base, Z-Image-Edit). + */ + Main_Diffusers_ZImage_Config: { + /** + * Key + * @description A unique key for this model. + */ + key: string; + /** + * Hash + * @description The hash of the model file(s). + */ + hash: string; + /** + * Path + * @description Path to the model on the filesystem. Relative paths are relative to the Invoke root directory. + */ + path: string; + /** + * File Size + * @description The size of the model in bytes. + */ + file_size: number; + /** + * Name + * @description Name of the model. + */ + name: string; + /** + * Description + * @description Model description + */ + description: string | null; + /** + * Source + * @description The original source of the model (path, URL or repo_id). + */ + source: string; + /** @description The type of source */ + source_type: components["schemas"]["ModelSourceType"]; + /** + * Source Api Response + * @description The original API response from the source, as stringified JSON. + */ + source_api_response: string | null; + /** + * Cover Image + * @description Url for image to preview model + */ + cover_image: string | null; + /** + * Type + * @default main + * @constant + */ + type: "main"; + /** + * Trigger Phrases + * @description Set of trigger phrases for this model + */ + trigger_phrases: string[] | null; + /** @description Default settings for this model */ + default_settings: components["schemas"]["MainModelDefaultSettings"] | null; + /** + * Format + * @default diffusers + * @constant + */ + format: "diffusers"; + /** @default */ + repo_variant: components["schemas"]["ModelRepoVariant"]; + /** + * Base + * @default z-image + * @constant + */ + base: "z-image"; + }; /** * Main_GGUF_FLUX_Config * @description Model config for main checkpoint models. @@ -18373,7 +18458,7 @@ export type components = { * Config * @description The installed model's config */ - config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; }; /** * ModelInstallDownloadProgressEvent @@ -18539,7 +18624,7 @@ export type components = { * Config Out * @description After successful installation, this will hold the configuration object. */ - config_out?: (components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]) | null; + config_out?: (components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]) | null; /** * Inplace * @description Leave model in its current location; otherwise install under models directory @@ -18625,7 +18710,7 @@ export type components = { * Config * @description The model's config */ - config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; /** * @description The submodel type, if any * @default null @@ -18646,7 +18731,7 @@ export type components = { * Config * @description The model's config */ - config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; /** * @description The submodel type, if any * @default null @@ -18815,7 +18900,7 @@ export type components = { */ ModelsList: { /** Models */ - models: (components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"])[]; + models: (components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"])[]; }; /** * Multiply Integers @@ -19492,6 +19577,16 @@ export type components = { */ retried_item_ids: number[]; }; + /** + * Qwen3EncoderField + * @description Field for Qwen3 text encoder used by Z-Image models. + */ + Qwen3EncoderField: { + /** @description Info to load tokenizer submodel */ + tokenizer: components["schemas"]["ModelIdentifierField"]; + /** @description Info to load text_encoder submodel */ + text_encoder: components["schemas"]["ModelIdentifierField"]; + }; /** * Random Float * @description Outputs a single random float @@ -24399,6 +24494,335 @@ export type components = { [key: string]: components["schemas"]["JsonValue"]; } | null; }; + /** + * ZImageConditioningField + * @description A Z-Image conditioning tensor primitive value + */ + ZImageConditioningField: { + /** + * Conditioning Name + * @description The name of conditioning tensor + */ + conditioning_name: string; + }; + /** + * ZImageConditioningOutput + * @description Base class for nodes that output a Z-Image text conditioning tensor. + */ + ZImageConditioningOutput: { + /** @description Conditioning tensor */ + conditioning: components["schemas"]["ZImageConditioningField"]; + /** + * type + * @default z_image_conditioning_output + * @constant + */ + type: "z_image_conditioning_output"; + }; + /** + * Denoise - Z-Image + * @description Run the denoising process with a Z-Image model. + */ + ZImageDenoiseInvocation: { + /** + * @description The board to save the image to + * @default null + */ + board?: components["schemas"]["BoardField"] | null; + /** + * @description Optional metadata to be saved with the image + * @default null + */ + metadata?: components["schemas"]["MetadataField"] | null; + /** + * Id + * @description The id of this instance of an invocation. Must be unique among all instances of invocations. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this is an intermediate invocation. + * @default false + */ + is_intermediate?: boolean; + /** + * Use Cache + * @description Whether or not to use the cache + * @default true + */ + use_cache?: boolean; + /** + * @description Latents tensor + * @default null + */ + latents?: components["schemas"]["LatentsField"] | null; + /** + * @description A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved. + * @default null + */ + denoise_mask?: components["schemas"]["DenoiseMaskField"] | null; + /** + * Denoising Start + * @description When to start denoising, expressed a percentage of total steps + * @default 0 + */ + denoising_start?: number; + /** + * Denoising End + * @description When to stop denoising, expressed a percentage of total steps + * @default 1 + */ + denoising_end?: number; + /** + * Transformer + * @description Z-Image model (Transformer) to load + * @default null + */ + transformer?: components["schemas"]["TransformerField"] | null; + /** + * @description Positive conditioning tensor + * @default null + */ + positive_conditioning?: components["schemas"]["ZImageConditioningField"] | null; + /** + * @description Negative conditioning tensor + * @default null + */ + negative_conditioning?: components["schemas"]["ZImageConditioningField"] | null; + /** + * Guidance Scale + * @description Guidance scale for classifier-free guidance. Use 0.0 for Z-Image-Turbo. + * @default 0 + */ + guidance_scale?: number; + /** + * Width + * @description Width of the generated image. + * @default 1024 + */ + width?: number; + /** + * Height + * @description Height of the generated image. + * @default 1024 + */ + height?: number; + /** + * Steps + * @description Number of denoising steps. 8 recommended for Z-Image-Turbo. + * @default 8 + */ + steps?: number; + /** + * Seed + * @description Randomness seed for reproducibility. + * @default 0 + */ + seed?: number; + /** + * type + * @default z_image_denoise + * @constant + */ + type: "z_image_denoise"; + }; + /** + * Image to Latents - Z-Image + * @description Generates latents from an image using Z-Image VAE. + */ + ZImageImageToLatentsInvocation: { + /** + * @description The board to save the image to + * @default null + */ + board?: components["schemas"]["BoardField"] | null; + /** + * @description Optional metadata to be saved with the image + * @default null + */ + metadata?: components["schemas"]["MetadataField"] | null; + /** + * Id + * @description The id of this instance of an invocation. Must be unique among all instances of invocations. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this is an intermediate invocation. + * @default false + */ + is_intermediate?: boolean; + /** + * Use Cache + * @description Whether or not to use the cache + * @default true + */ + use_cache?: boolean; + /** + * @description The image to encode. + * @default null + */ + image?: components["schemas"]["ImageField"] | null; + /** + * @description VAE + * @default null + */ + vae?: components["schemas"]["VAEField"] | null; + /** + * type + * @default z_image_i2l + * @constant + */ + type: "z_image_i2l"; + }; + /** + * Latents to Image - Z-Image + * @description Generates an image from latents using Z-Image VAE. + */ + ZImageLatentsToImageInvocation: { + /** + * @description The board to save the image to + * @default null + */ + board?: components["schemas"]["BoardField"] | null; + /** + * @description Optional metadata to be saved with the image + * @default null + */ + metadata?: components["schemas"]["MetadataField"] | null; + /** + * Id + * @description The id of this instance of an invocation. Must be unique among all instances of invocations. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this is an intermediate invocation. + * @default false + */ + is_intermediate?: boolean; + /** + * Use Cache + * @description Whether or not to use the cache + * @default true + */ + use_cache?: boolean; + /** + * @description Latents tensor + * @default null + */ + latents?: components["schemas"]["LatentsField"] | null; + /** + * @description VAE + * @default null + */ + vae?: components["schemas"]["VAEField"] | null; + /** + * type + * @default z_image_l2i + * @constant + */ + type: "z_image_l2i"; + }; + /** + * Main Model - Z-Image + * @description Loads a Z-Image base model, outputting its submodels. + */ + ZImageModelLoaderInvocation: { + /** + * Id + * @description The id of this instance of an invocation. Must be unique among all instances of invocations. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this is an intermediate invocation. + * @default false + */ + is_intermediate?: boolean; + /** + * Use Cache + * @description Whether or not to use the cache + * @default true + */ + use_cache?: boolean; + /** @description Z-Image model (Transformer) to load */ + model: components["schemas"]["ModelIdentifierField"]; + /** + * type + * @default z_image_model_loader + * @constant + */ + type: "z_image_model_loader"; + }; + /** + * ZImageModelLoaderOutput + * @description Z-Image base model loader output. + */ + ZImageModelLoaderOutput: { + /** + * Transformer + * @description Transformer + */ + transformer: components["schemas"]["TransformerField"]; + /** + * Qwen3 Encoder + * @description Qwen3 tokenizer and text encoder + */ + qwen3_encoder: components["schemas"]["Qwen3EncoderField"]; + /** + * VAE + * @description VAE + */ + vae: components["schemas"]["VAEField"]; + /** + * type + * @default z_image_model_loader_output + * @constant + */ + type: "z_image_model_loader_output"; + }; + /** + * Prompt - Z-Image + * @description Encodes and preps a prompt for a Z-Image image. + */ + ZImageTextEncoderInvocation: { + /** + * Id + * @description The id of this instance of an invocation. Must be unique among all instances of invocations. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this is an intermediate invocation. + * @default false + */ + is_intermediate?: boolean; + /** + * Use Cache + * @description Whether or not to use the cache + * @default true + */ + use_cache?: boolean; + /** + * Prompt + * @description Text prompt to encode. + * @default null + */ + prompt?: string | null; + /** + * Qwen3 Encoder + * @description Qwen3 tokenizer and text encoder + * @default null + */ + qwen3_encoder?: components["schemas"]["Qwen3EncoderField"] | null; + /** + * type + * @default z_image_text_encoder + * @constant + */ + type: "z_image_text_encoder"; + }; }; responses: never; parameters: never; @@ -24501,7 +24925,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Validation Error */ @@ -24551,7 +24975,7 @@ export interface operations { * "repo_variant": "fp16", * "upcast_attention": false * } */ - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Bad request */ @@ -24656,7 +25080,7 @@ export interface operations { * "repo_variant": "fp16", * "upcast_attention": false * } */ - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Bad request */ @@ -24727,7 +25151,7 @@ export interface operations { * "repo_variant": "fp16", * "upcast_attention": false * } */ - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Bad request */ @@ -25234,7 +25658,7 @@ export interface operations { * "repo_variant": "fp16", * "upcast_attention": false * } */ - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Bad request */ diff --git a/pyproject.toml b/pyproject.toml index 1efa58f1e2c..3a68355c082 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ dependencies = [ "accelerate", "bitsandbytes; sys_platform!='darwin'", "compel==2.1.1", - "diffusers[torch]==0.33.0", + "diffusers[torch] @ git+https://github.com/huggingface/diffusers.git", # Z-Image support requires git version until 0.34.0 "gguf", "mediapipe==0.10.14", # needed for "mediapipeface" controlnet model "numpy<2.0.0", From 13ac16e2c03e272545f0020e38497b6a6cdc3163 Mon Sep 17 00:00:00 2001 From: Alexander Eichhorn Date: Mon, 1 Dec 2025 00:30:53 +0100 Subject: [PATCH 2/9] fix windows path again. --- invokeai/frontend/web/src/services/api/schema.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/services/api/schema.ts b/invokeai/frontend/web/src/services/api/schema.ts index 9381fd2c337..61aac5013df 100644 --- a/invokeai/frontend/web/src/services/api/schema.ts +++ b/invokeai/frontend/web/src/services/api/schema.ts @@ -12961,14 +12961,14 @@ export type components = { * Convert Cache Dir * Format: path * @description Path to the converted models cache directory (DEPRECATED, but do not delete because it is needed for migration from previous versions). - * @default models\.convert_cache + * @default models/.convert_cache */ convert_cache_dir?: string; /** * Download Cache Dir * Format: path * @description Path to the directory that contains dynamically downloaded models. - * @default models\.download_cache + * @default models/.download_cache */ download_cache_dir?: string; /** From f05ea28cbdc5d36e8cb4ebddcc3bed78743cfd6e Mon Sep 17 00:00:00 2001 From: Alexander Eichhorn Date: Mon, 1 Dec 2025 22:23:30 +0100 Subject: [PATCH 3/9] feat: Add Z-Image LoRA support Add comprehensive LoRA support for Z-Image models including: Backend: - New Z-Image LoRA config classes (LoRA_LyCORIS_ZImage_Config, LoRA_Diffusers_ZImage_Config) - Z-Image LoRA conversion utilities with key mapping for transformer and Qwen3 encoder - LoRA prefix constants (Z_IMAGE_LORA_TRANSFORMER_PREFIX, Z_IMAGE_LORA_QWEN3_PREFIX) - LoRA detection logic to distinguish Z-Image from Flux models - Layer patcher improvements for proper dtype conversion and parameter --- invokeai/app/invocations/model.py | 1 + invokeai/app/invocations/z_image_denoise.py | 31 +- .../app/invocations/z_image_lora_loader.py | 149 ++++++++ .../app/invocations/z_image_text_encoder.py | 38 +- .../backend/model_manager/configs/factory.py | 4 + .../backend/model_manager/configs/lora.py | 37 ++ .../model_manager/load/model_loaders/lora.py | 5 + invokeai/backend/patches/layer_patcher.py | 17 +- .../backend/patches/layers/lora_layer_base.py | 3 +- .../flux_aitoolkit_lora_conversion_utils.py | 9 +- .../z_image_lora_constants.py | 8 + .../z_image_lora_conversion_utils.py | 187 ++++++++++ .../util/graph/generation/addZImageLoRAs.ts | 67 ++++ .../util/graph/generation/buildZImageGraph.ts | 4 + .../frontend/web/src/services/api/schema.ts | 327 ++++++++++++++++-- 15 files changed, 851 insertions(+), 36 deletions(-) create mode 100644 invokeai/app/invocations/z_image_lora_loader.py create mode 100644 invokeai/backend/patches/lora_conversions/z_image_lora_constants.py create mode 100644 invokeai/backend/patches/lora_conversions/z_image_lora_conversion_utils.py create mode 100644 invokeai/frontend/web/src/features/nodes/util/graph/generation/addZImageLoRAs.ts diff --git a/invokeai/app/invocations/model.py b/invokeai/app/invocations/model.py index 9b2b3ba8e1e..3f78f2b23d8 100644 --- a/invokeai/app/invocations/model.py +++ b/invokeai/app/invocations/model.py @@ -77,6 +77,7 @@ class Qwen3EncoderField(BaseModel): tokenizer: ModelIdentifierField = Field(description="Info to load tokenizer submodel") text_encoder: ModelIdentifierField = Field(description="Info to load text_encoder submodel") + loras: List[LoRAField] = Field(default_factory=list, description="LoRAs to apply on model loading") class VAEField(BaseModel): diff --git a/invokeai/app/invocations/z_image_denoise.py b/invokeai/app/invocations/z_image_denoise.py index 482f2f24bab..91fc8f84310 100644 --- a/invokeai/app/invocations/z_image_denoise.py +++ b/invokeai/app/invocations/z_image_denoise.py @@ -1,4 +1,5 @@ -from typing import Callable, Optional +from contextlib import ExitStack +from typing import Callable, Iterator, Optional, Tuple import torch import torchvision.transforms as tv_transforms @@ -17,10 +18,13 @@ WithMetadata, ZImageConditioningField, ) -from invokeai.app.invocations.model import TransformerField +from invokeai.app.invocations.model import LoRAField, TransformerField from invokeai.app.invocations.primitives import LatentsOutput from invokeai.app.services.shared.invocation_context import InvocationContext from invokeai.backend.model_manager.taxonomy import BaseModelType +from invokeai.backend.patches.layer_patcher import LayerPatcher +from invokeai.backend.patches.lora_conversions.z_image_lora_constants import Z_IMAGE_LORA_TRANSFORMER_PREFIX +from invokeai.backend.patches.model_patch_raw import ModelPatchRaw from invokeai.backend.rectified_flow.rectified_flow_inpaint_extension import RectifiedFlowInpaintExtension from invokeai.backend.stable_diffusion.diffusers_pipeline import PipelineIntermediateState from invokeai.backend.stable_diffusion.diffusion.conditioning_data import ZImageConditioningInfo @@ -278,7 +282,20 @@ def _run_diffusion(self, context: InvocationContext) -> torch.Tensor: ), ) - with transformer_info.model_on_device() as (_, transformer): + with ExitStack() as exit_stack: + # Load transformer and apply LoRA patches + (_, transformer) = exit_stack.enter_context(transformer_info.model_on_device()) + + # Apply LoRA models to the transformer + exit_stack.enter_context( + LayerPatcher.apply_smart_model_patches( + model=transformer, + patches=self._lora_iterator(context), + prefix=Z_IMAGE_LORA_TRANSFORMER_PREFIX, + dtype=inference_dtype, + ) + ) + # Denoising loop for step_idx in tqdm(range(total_steps)): sigma_curr = sigmas[step_idx] @@ -349,3 +366,11 @@ def step_callback(state: PipelineIntermediateState) -> None: context.util.sd_step_callback(state, BaseModelType.ZImage) return step_callback + + def _lora_iterator(self, context: InvocationContext) -> Iterator[Tuple[ModelPatchRaw, float]]: + """Iterate over LoRA models to apply to the transformer.""" + for lora in self.transformer.loras: + lora_info = context.models.load(lora.lora) + assert isinstance(lora_info.model, ModelPatchRaw) + yield (lora_info.model, lora.weight) + del lora_info diff --git a/invokeai/app/invocations/z_image_lora_loader.py b/invokeai/app/invocations/z_image_lora_loader.py new file mode 100644 index 00000000000..5ec165d2eb0 --- /dev/null +++ b/invokeai/app/invocations/z_image_lora_loader.py @@ -0,0 +1,149 @@ +from typing import Optional + +from invokeai.app.invocations.baseinvocation import ( + BaseInvocation, + BaseInvocationOutput, + invocation, + invocation_output, +) +from invokeai.app.invocations.fields import FieldDescriptions, Input, InputField, OutputField +from invokeai.app.invocations.model import LoRAField, ModelIdentifierField, Qwen3EncoderField, TransformerField +from invokeai.app.services.shared.invocation_context import InvocationContext +from invokeai.backend.model_manager.taxonomy import BaseModelType, ModelType + + +@invocation_output("z_image_lora_loader_output") +class ZImageLoRALoaderOutput(BaseInvocationOutput): + """Z-Image LoRA Loader Output""" + + transformer: Optional[TransformerField] = OutputField( + default=None, description=FieldDescriptions.transformer, title="Z-Image Transformer" + ) + qwen3_encoder: Optional[Qwen3EncoderField] = OutputField( + default=None, description=FieldDescriptions.qwen3_encoder, title="Qwen3 Encoder" + ) + + +@invocation( + "z_image_lora_loader", + title="Apply LoRA - Z-Image", + tags=["lora", "model", "z-image"], + category="model", + version="1.0.0", +) +class ZImageLoRALoaderInvocation(BaseInvocation): + """Apply a LoRA model to a Z-Image transformer and/or Qwen3 text encoder.""" + + lora: ModelIdentifierField = InputField( + description=FieldDescriptions.lora_model, + title="LoRA", + ui_model_base=BaseModelType.ZImage, + ui_model_type=ModelType.LoRA, + ) + weight: float = InputField(default=0.75, description=FieldDescriptions.lora_weight) + transformer: TransformerField | None = InputField( + default=None, + description=FieldDescriptions.transformer, + input=Input.Connection, + title="Z-Image Transformer", + ) + qwen3_encoder: Qwen3EncoderField | None = InputField( + default=None, + title="Qwen3 Encoder", + description=FieldDescriptions.qwen3_encoder, + input=Input.Connection, + ) + + def invoke(self, context: InvocationContext) -> ZImageLoRALoaderOutput: + lora_key = self.lora.key + + if not context.models.exists(lora_key): + raise ValueError(f"Unknown lora: {lora_key}!") + + # Check for existing LoRAs with the same key. + if self.transformer and any(lora.lora.key == lora_key for lora in self.transformer.loras): + raise ValueError(f'LoRA "{lora_key}" already applied to transformer.') + if self.qwen3_encoder and any(lora.lora.key == lora_key for lora in self.qwen3_encoder.loras): + raise ValueError(f'LoRA "{lora_key}" already applied to Qwen3 encoder.') + + output = ZImageLoRALoaderOutput() + + # Attach LoRA layers to the models. + if self.transformer is not None: + output.transformer = self.transformer.model_copy(deep=True) + output.transformer.loras.append( + LoRAField( + lora=self.lora, + weight=self.weight, + ) + ) + if self.qwen3_encoder is not None: + output.qwen3_encoder = self.qwen3_encoder.model_copy(deep=True) + output.qwen3_encoder.loras.append( + LoRAField( + lora=self.lora, + weight=self.weight, + ) + ) + + return output + + +@invocation( + "z_image_lora_collection_loader", + title="Apply LoRA Collection - Z-Image", + tags=["lora", "model", "z-image"], + category="model", + version="1.0.0", +) +class ZImageLoRACollectionLoader(BaseInvocation): + """Applies a collection of LoRAs to a Z-Image transformer.""" + + loras: Optional[LoRAField | list[LoRAField]] = InputField( + default=None, description="LoRA models and weights. May be a single LoRA or collection.", title="LoRAs" + ) + + transformer: Optional[TransformerField] = InputField( + default=None, + description=FieldDescriptions.transformer, + input=Input.Connection, + title="Transformer", + ) + qwen3_encoder: Qwen3EncoderField | None = InputField( + default=None, + title="Qwen3 Encoder", + description=FieldDescriptions.qwen3_encoder, + input=Input.Connection, + ) + + def invoke(self, context: InvocationContext) -> ZImageLoRALoaderOutput: + output = ZImageLoRALoaderOutput() + loras = self.loras if isinstance(self.loras, list) else [self.loras] + added_loras: list[str] = [] + + if self.transformer is not None: + output.transformer = self.transformer.model_copy(deep=True) + + if self.qwen3_encoder is not None: + output.qwen3_encoder = self.qwen3_encoder.model_copy(deep=True) + + for lora in loras: + if lora is None: + continue + if lora.lora.key in added_loras: + continue + + if not context.models.exists(lora.lora.key): + raise Exception(f"Unknown lora: {lora.lora.key}!") + + assert lora.lora.base is BaseModelType.ZImage + + added_loras.append(lora.lora.key) + + if self.transformer is not None and output.transformer is not None: + output.transformer.loras.append(lora) + + if self.qwen3_encoder is not None and output.qwen3_encoder is not None: + output.qwen3_encoder.loras.append(lora) + + return output diff --git a/invokeai/app/invocations/z_image_text_encoder.py b/invokeai/app/invocations/z_image_text_encoder.py index ccfe473b5ad..5104a122de9 100644 --- a/invokeai/app/invocations/z_image_text_encoder.py +++ b/invokeai/app/invocations/z_image_text_encoder.py @@ -1,3 +1,6 @@ +from contextlib import ExitStack +from typing import Iterator, Tuple + import torch from transformers import PreTrainedModel, PreTrainedTokenizerBase @@ -6,6 +9,9 @@ from invokeai.app.invocations.model import Qwen3EncoderField from invokeai.app.invocations.primitives import ZImageConditioningOutput from invokeai.app.services.shared.invocation_context import InvocationContext +from invokeai.backend.patches.layer_patcher import LayerPatcher +from invokeai.backend.patches.lora_conversions.z_image_lora_constants import Z_IMAGE_LORA_QWEN3_PREFIX +from invokeai.backend.patches.model_patch_raw import ModelPatchRaw from invokeai.backend.stable_diffusion.diffusion.conditioning_data import ( ConditioningFieldData, ZImageConditioningInfo, @@ -47,11 +53,25 @@ def _encode_prompt(self, context: InvocationContext, max_seq_len: int) -> torch. Based on the ZImagePipeline._encode_prompt method from diffusers. """ prompt = self.prompt + device = TorchDevice.choose_torch_device() + + text_encoder_info = context.models.load(self.qwen3_encoder.text_encoder) + tokenizer_info = context.models.load(self.qwen3_encoder.tokenizer) + + with ExitStack() as exit_stack: + (_, text_encoder) = exit_stack.enter_context(text_encoder_info.model_on_device()) + (_, tokenizer) = exit_stack.enter_context(tokenizer_info.model_on_device()) + + # Apply LoRA models to the text encoder + exit_stack.enter_context( + LayerPatcher.apply_smart_model_patches( + model=text_encoder, + patches=self._lora_iterator(context), + prefix=Z_IMAGE_LORA_QWEN3_PREFIX, + dtype=torch.bfloat16, + ) + ) - with ( - context.models.load(self.qwen3_encoder.text_encoder).model_on_device() as (_, text_encoder), - context.models.load(self.qwen3_encoder.tokenizer).model_on_device() as (_, tokenizer), - ): context.util.signal_progress("Running Qwen3 text encoder") assert isinstance(text_encoder, PreTrainedModel) assert isinstance(tokenizer, PreTrainedTokenizerBase) @@ -91,8 +111,6 @@ def _encode_prompt(self, context: InvocationContext, max_seq_len: int) -> torch. f"{max_seq_len} tokens: {removed_text}" ) - device = TorchDevice.choose_torch_device() - # Get hidden states from the text encoder # Use the second-to-last hidden state like diffusers does prompt_mask = attention_mask.to(device).bool() @@ -111,3 +129,11 @@ def _encode_prompt(self, context: InvocationContext, max_seq_len: int) -> torch. assert isinstance(prompt_embeds, torch.Tensor) return prompt_embeds + + def _lora_iterator(self, context: InvocationContext) -> Iterator[Tuple[ModelPatchRaw, float]]: + """Iterate over LoRA models to apply to the Qwen3 text encoder.""" + for lora in self.qwen3_encoder.loras: + lora_info = context.models.load(lora.lora) + assert isinstance(lora_info.model, ModelPatchRaw) + yield (lora_info.model, lora.weight) + del lora_info diff --git a/invokeai/backend/model_manager/configs/factory.py b/invokeai/backend/model_manager/configs/factory.py index 46e03eeb0f5..64b8fa08cbf 100644 --- a/invokeai/backend/model_manager/configs/factory.py +++ b/invokeai/backend/model_manager/configs/factory.py @@ -43,10 +43,12 @@ LoRA_Diffusers_SD1_Config, LoRA_Diffusers_SD2_Config, LoRA_Diffusers_SDXL_Config, + LoRA_Diffusers_ZImage_Config, LoRA_LyCORIS_FLUX_Config, LoRA_LyCORIS_SD1_Config, LoRA_LyCORIS_SD2_Config, LoRA_LyCORIS_SDXL_Config, + LoRA_LyCORIS_ZImage_Config, LoRA_OMI_FLUX_Config, LoRA_OMI_SDXL_Config, LoraModelDefaultSettings, @@ -172,6 +174,7 @@ Annotated[LoRA_LyCORIS_SD2_Config, LoRA_LyCORIS_SD2_Config.get_tag()], Annotated[LoRA_LyCORIS_SDXL_Config, LoRA_LyCORIS_SDXL_Config.get_tag()], Annotated[LoRA_LyCORIS_FLUX_Config, LoRA_LyCORIS_FLUX_Config.get_tag()], + Annotated[LoRA_LyCORIS_ZImage_Config, LoRA_LyCORIS_ZImage_Config.get_tag()], # LoRA - OMI format Annotated[LoRA_OMI_SDXL_Config, LoRA_OMI_SDXL_Config.get_tag()], Annotated[LoRA_OMI_FLUX_Config, LoRA_OMI_FLUX_Config.get_tag()], @@ -180,6 +183,7 @@ Annotated[LoRA_Diffusers_SD2_Config, LoRA_Diffusers_SD2_Config.get_tag()], Annotated[LoRA_Diffusers_SDXL_Config, LoRA_Diffusers_SDXL_Config.get_tag()], Annotated[LoRA_Diffusers_FLUX_Config, LoRA_Diffusers_FLUX_Config.get_tag()], + Annotated[LoRA_Diffusers_ZImage_Config, LoRA_Diffusers_ZImage_Config.get_tag()], # ControlLoRA - diffusers format Annotated[ControlLoRA_LyCORIS_FLUX_Config, ControlLoRA_LyCORIS_FLUX_Config.get_tag()], # T5 Encoder - all formats diff --git a/invokeai/backend/model_manager/configs/lora.py b/invokeai/backend/model_manager/configs/lora.py index 26b9541c310..1d0bd646d27 100644 --- a/invokeai/backend/model_manager/configs/lora.py +++ b/invokeai/backend/model_manager/configs/lora.py @@ -217,6 +217,37 @@ class LoRA_LyCORIS_FLUX_Config(LoRA_LyCORIS_Config_Base, Config_Base): base: Literal[BaseModelType.Flux] = Field(default=BaseModelType.Flux) +class LoRA_LyCORIS_ZImage_Config(LoRA_LyCORIS_Config_Base, Config_Base): + """Model config for Z-Image LoRA models in LyCORIS format.""" + + base: Literal[BaseModelType.ZImage] = Field(default=BaseModelType.ZImage) + + @classmethod + def _get_base_or_raise(cls, mod: ModelOnDisk) -> BaseModelType: + """Z-Image LoRAs are identified by their diffusion_model.layers structure. + + Z-Image uses S3-DiT architecture with layer names like: + - diffusion_model.layers.0.attention.to_k.lora_A.weight + - diffusion_model.layers.0.feed_forward.w1.lora_A.weight + """ + state_dict = mod.load_state_dict() + + # Check for Z-Image transformer layer patterns + # Z-Image uses diffusion_model.layers.X structure (unlike Flux which uses double_blocks/single_blocks) + has_z_image_keys = state_dict_has_any_keys_starting_with( + state_dict, + { + "diffusion_model.layers.", # Z-Image S3-DiT layer pattern + }, + ) + + # If it looks like a Z-Image LoRA, return ZImage base + if has_z_image_keys: + return BaseModelType.ZImage + + raise NotAMatchError("model does not look like a Z-Image LoRA") + + class ControlAdapter_Config_Base(ABC, BaseModel): default_settings: ControlAdapterDefaultSettings | None = Field(None) @@ -320,3 +351,9 @@ class LoRA_Diffusers_SDXL_Config(LoRA_Diffusers_Config_Base, Config_Base): class LoRA_Diffusers_FLUX_Config(LoRA_Diffusers_Config_Base, Config_Base): base: Literal[BaseModelType.Flux] = Field(default=BaseModelType.Flux) + + +class LoRA_Diffusers_ZImage_Config(LoRA_Diffusers_Config_Base, Config_Base): + """Model config for Z-Image LoRA models in Diffusers format.""" + + base: Literal[BaseModelType.ZImage] = Field(default=BaseModelType.ZImage) diff --git a/invokeai/backend/model_manager/load/model_loaders/lora.py b/invokeai/backend/model_manager/load/model_loaders/lora.py index b97c3efeb1f..5dd35878479 100644 --- a/invokeai/backend/model_manager/load/model_loaders/lora.py +++ b/invokeai/backend/model_manager/load/model_loaders/lora.py @@ -43,6 +43,7 @@ ) from invokeai.backend.patches.lora_conversions.sd_lora_conversion_utils import lora_model_from_sd_state_dict from invokeai.backend.patches.lora_conversions.sdxl_lora_conversion_utils import convert_sdxl_keys_to_diffusers_format +from invokeai.backend.patches.lora_conversions.z_image_lora_conversion_utils import lora_model_from_z_image_state_dict @ModelLoaderRegistry.register(base=BaseModelType.Flux, type=ModelType.LoRA, format=ModelFormat.OMI) @@ -124,6 +125,10 @@ def _load_model( elif self._model_base in [BaseModelType.StableDiffusion1, BaseModelType.StableDiffusion2]: # Currently, we don't apply any conversions for SD1 and SD2 LoRA models. model = lora_model_from_sd_state_dict(state_dict=state_dict) + elif self._model_base == BaseModelType.ZImage: + # Z-Image LoRAs use diffusers PEFT format with transformer and/or Qwen3 encoder layers. + # We set alpha=None to use rank as alpha (common default). + model = lora_model_from_z_image_state_dict(state_dict=state_dict, alpha=None) else: raise ValueError(f"Unsupported LoRA base model: {self._model_base}") diff --git a/invokeai/backend/patches/layer_patcher.py b/invokeai/backend/patches/layer_patcher.py index 08a028c88fa..0e5c9d3ec0c 100644 --- a/invokeai/backend/patches/layer_patcher.py +++ b/invokeai/backend/patches/layer_patcher.py @@ -86,7 +86,8 @@ def apply_smart_model_patch( # submodules. If the layer keys do not contain a dot, then they are flattened, meaning that all '.' have been # replaced with '_'. Non-flattened keys are preferred, because they allow submodules to be accessed directly # without searching, but some legacy code still uses flattened keys. - layer_keys_are_flattened = "." not in next(iter(patch.layers.keys())) + first_key = next(iter(patch.layers.keys())) + layer_keys_are_flattened = "." not in first_key prefix_len = len(prefix) @@ -174,9 +175,15 @@ def _apply_model_layer_patch( # TODO(ryand): Using torch.autocast(...) over explicit casting may offer a speed benefit on CUDA # devices here. Experimentally, it was found to be very slow on CPU. More investigation needed. - for param_name, param_weight in patch.get_parameters( + params_dict = patch.get_parameters( dict(module_to_patch.named_parameters(recurse=False)), weight=patch_weight - ).items(): + ) + if not params_dict: + logger = InvokeAILogger.get_logger(LayerPatcher.__name__) + logger.warning(f"LoRA patch returned no parameters for module: {module_to_patch_key}") + return + + for param_name, param_weight in params_dict.items(): param_key = module_to_patch_key + "." + param_name module_param = module_to_patch.get_parameter(param_name) @@ -195,7 +202,9 @@ def _apply_model_layer_patch( ) module_param = expanded_weight - module_param += param_weight.to(dtype=dtype) + # Convert param_weight to the correct dtype and apply to model weights + param_weight_converted = param_weight.to(dtype=dtype) + module_param.data.copy_(module_param.data + param_weight_converted) patch.to(device=TorchDevice.CPU_DEVICE) diff --git a/invokeai/backend/patches/layers/lora_layer_base.py b/invokeai/backend/patches/layers/lora_layer_base.py index 6230df1bbd3..099efe3bed8 100644 --- a/invokeai/backend/patches/layers/lora_layer_base.py +++ b/invokeai/backend/patches/layers/lora_layer_base.py @@ -60,7 +60,8 @@ def get_bias(self, orig_bias: torch.Tensor | None) -> Optional[torch.Tensor]: def get_parameters(self, orig_parameters: dict[str, torch.Tensor], weight: float) -> dict[str, torch.Tensor]: scale = self.scale() - params = {"weight": self.get_weight(orig_parameters["weight"]) * (weight * scale)} + lora_weight = self.get_weight(orig_parameters["weight"]) + params = {"weight": lora_weight * (weight * scale)} bias = self.get_bias(orig_parameters.get("bias", None)) if bias is not None: params["bias"] = bias * (weight * scale) diff --git a/invokeai/backend/patches/lora_conversions/flux_aitoolkit_lora_conversion_utils.py b/invokeai/backend/patches/lora_conversions/flux_aitoolkit_lora_conversion_utils.py index f3c202268a7..4ce8db688d9 100644 --- a/invokeai/backend/patches/lora_conversions/flux_aitoolkit_lora_conversion_utils.py +++ b/invokeai/backend/patches/lora_conversions/flux_aitoolkit_lora_conversion_utils.py @@ -22,8 +22,13 @@ def is_state_dict_likely_in_flux_aitoolkit_format( except json.JSONDecodeError: return False return software.get("name") == "ai-toolkit" - # metadata got lost somewhere - return any("diffusion_model" == k.split(".", 1)[0] for k in state_dict.keys() if isinstance(k, str)) + # metadata got lost somewhere - check for Flux-specific layer patterns + # Flux models use double_blocks and single_blocks, while other models (like Z-Image) use different patterns + return any( + k.startswith("diffusion_model.double_blocks.") or k.startswith("diffusion_model.single_blocks.") + for k in state_dict.keys() + if isinstance(k, str) + ) @dataclass diff --git a/invokeai/backend/patches/lora_conversions/z_image_lora_constants.py b/invokeai/backend/patches/lora_conversions/z_image_lora_constants.py new file mode 100644 index 00000000000..72d71813153 --- /dev/null +++ b/invokeai/backend/patches/lora_conversions/z_image_lora_constants.py @@ -0,0 +1,8 @@ +# Z-Image LoRA prefix constants +# These prefixes are used for key mapping when applying LoRA patches to Z-Image models + +# Prefix for Z-Image transformer (S3-DiT architecture) LoRA layers +Z_IMAGE_LORA_TRANSFORMER_PREFIX = "lora_transformer-" + +# Prefix for Qwen3 text encoder LoRA layers +Z_IMAGE_LORA_QWEN3_PREFIX = "lora_qwen3-" diff --git a/invokeai/backend/patches/lora_conversions/z_image_lora_conversion_utils.py b/invokeai/backend/patches/lora_conversions/z_image_lora_conversion_utils.py new file mode 100644 index 00000000000..31ae85ee8c2 --- /dev/null +++ b/invokeai/backend/patches/lora_conversions/z_image_lora_conversion_utils.py @@ -0,0 +1,187 @@ +"""Z-Image LoRA conversion utilities. + +Z-Image uses S3-DiT transformer architecture with Qwen3 text encoder. +LoRAs for Z-Image typically follow the diffusers PEFT format. +""" + +from typing import Dict + +import torch + +from invokeai.backend.patches.layers.base_layer_patch import BaseLayerPatch +from invokeai.backend.patches.layers.utils import any_lora_layer_from_state_dict +from invokeai.backend.patches.lora_conversions.z_image_lora_constants import ( + Z_IMAGE_LORA_QWEN3_PREFIX, + Z_IMAGE_LORA_TRANSFORMER_PREFIX, +) +from invokeai.backend.patches.model_patch_raw import ModelPatchRaw +from invokeai.backend.util import InvokeAILogger + +logger = InvokeAILogger.get_logger(__name__) + + +def is_state_dict_likely_z_image_lora(state_dict: dict[str | int, torch.Tensor]) -> bool: + """Checks if the provided state dict is likely a Z-Image LoRA. + + Z-Image LoRAs can have keys for transformer and/or Qwen3 text encoder. + They may use various prefixes depending on the training framework. + """ + str_keys = [k for k in state_dict.keys() if isinstance(k, str)] + + # Check for Z-Image transformer keys (S3-DiT architecture) + # Various training frameworks use different prefixes + has_transformer_keys = any( + k.startswith(( + "transformer.", + "base_model.model.transformer.", + "diffusion_model.", + )) for k in str_keys + ) + + # Check for Qwen3 text encoder keys + has_qwen3_keys = any( + k.startswith(("text_encoder.", "base_model.model.text_encoder.")) for k in str_keys + ) + + return has_transformer_keys or has_qwen3_keys + + +def lora_model_from_z_image_state_dict( + state_dict: Dict[str, torch.Tensor], alpha: float | None = None +) -> ModelPatchRaw: + """Convert a Z-Image LoRA state dict to a ModelPatchRaw. + + Z-Image LoRAs can contain layers for: + - Transformer (S3-DiT architecture) + - Qwen3 text encoder + + Z-Image LoRAs may use various key prefixes depending on how they were trained: + - "transformer." or "base_model.model.transformer." for diffusers PEFT format + - "diffusion_model." for some training frameworks + - "text_encoder." or "base_model.model.text_encoder." for Qwen3 encoder + + Args: + state_dict: The LoRA state dict + alpha: The alpha value for LoRA scaling. If None, uses rank as alpha. + + Returns: + A ModelPatchRaw containing the LoRA layers + """ + layers: dict[str, BaseLayerPatch] = {} + + # Debug: Log sample keys and check for alpha keys + sample_keys = list(state_dict.keys())[:10] + alpha_keys = [k for k in state_dict.keys() if isinstance(k, str) and "alpha" in k.lower()] + logger.info(f"Z-Image LoRA state dict: {len(state_dict)} keys, sample: {sample_keys}") + if alpha_keys: + logger.info(f"Z-Image LoRA alpha keys found: {alpha_keys[:5]}") + # Log first alpha value + first_alpha_key = alpha_keys[0] + first_alpha_val = state_dict[first_alpha_key] + logger.info(f"First alpha: key={first_alpha_key}, value={first_alpha_val}") + + # Group keys by layer + grouped_state_dict = _group_by_layer(state_dict) + + # Debug: Log first grouped layer to see what keys are present + first_layer_key = next(iter(grouped_state_dict.keys()), None) + if first_layer_key: + first_layer_dict = grouped_state_dict[first_layer_key] + logger.info(f"First grouped layer: key={first_layer_key}, sub_keys={list(first_layer_dict.keys())}") + + for layer_key, layer_dict in grouped_state_dict.items(): + # Convert PEFT format keys to internal format + values = _get_lora_layer_values(layer_dict, alpha) + + # Determine the appropriate prefix based on the layer type and clean up the key + clean_key = layer_key + + # Handle various transformer prefixes + transformer_prefixes = [ + "base_model.model.transformer.diffusion_model.", + "base_model.model.transformer.", + "transformer.diffusion_model.", + "transformer.", + "diffusion_model.", + ] + + # Handle text encoder prefixes + text_encoder_prefixes = [ + "base_model.model.text_encoder.", + "text_encoder.", + ] + + is_text_encoder = False + + # Check and strip text encoder prefixes first + for prefix in text_encoder_prefixes: + if layer_key.startswith(prefix): + clean_key = layer_key[len(prefix):] + is_text_encoder = True + break + + # If not text encoder, check transformer prefixes + if not is_text_encoder: + for prefix in transformer_prefixes: + if layer_key.startswith(prefix): + clean_key = layer_key[len(prefix):] + break + + # Apply the appropriate internal prefix + if is_text_encoder: + final_key = f"{Z_IMAGE_LORA_QWEN3_PREFIX}{clean_key}" + else: + final_key = f"{Z_IMAGE_LORA_TRANSFORMER_PREFIX}{clean_key}" + + layer = any_lora_layer_from_state_dict(values) + layers[final_key] = layer + + # Log sample of converted keys and first layer's scale info + sample_converted = list(layers.keys())[:5] + logger.info(f"Z-Image LoRA converted {len(layers)} layers. Sample keys: {sample_converted}") + + # Debug: Log scale info for first layer + if layers: + first_layer = next(iter(layers.values())) + if hasattr(first_layer, '_rank') and hasattr(first_layer, '_alpha'): + rank = first_layer._rank() if callable(first_layer._rank) else first_layer._rank + alpha = first_layer._alpha + scale = first_layer.scale() if hasattr(first_layer, 'scale') else None + logger.info(f"First layer scale info: rank={rank}, alpha={alpha}, scale={scale}") + + return ModelPatchRaw(layers=layers) + + +def _get_lora_layer_values(layer_dict: dict[str, torch.Tensor], alpha: float | None) -> dict[str, torch.Tensor]: + """Convert layer dict keys from PEFT format to internal format.""" + if "lora_A.weight" in layer_dict: + # PEFT format: lora_A.weight, lora_B.weight + values = { + "lora_down.weight": layer_dict["lora_A.weight"], + "lora_up.weight": layer_dict["lora_B.weight"], + } + if alpha is not None: + values["alpha"] = torch.tensor(alpha) + return values + elif "lora_down.weight" in layer_dict: + # Already in internal format + return layer_dict + else: + # Unknown format, return as-is + return layer_dict + + +def _group_by_layer(state_dict: Dict[str, torch.Tensor]) -> dict[str, dict[str, torch.Tensor]]: + """Groups the keys in the state dict by layer.""" + layer_dict: dict[str, dict[str, torch.Tensor]] = {} + for key in state_dict: + if not isinstance(key, str): + continue + # Split the 'lora_A.weight' or 'lora_B.weight' suffix from the layer name. + parts = key.rsplit(".", maxsplit=2) + layer_name = parts[0] + key_name = ".".join(parts[1:]) + if layer_name not in layer_dict: + layer_dict[layer_name] = {} + layer_dict[layer_name][key_name] = state_dict[key] + return layer_dict diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addZImageLoRAs.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addZImageLoRAs.ts new file mode 100644 index 00000000000..5d702dbeddb --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addZImageLoRAs.ts @@ -0,0 +1,67 @@ +import type { RootState } from 'app/store/store'; +import { getPrefixedId } from 'features/controlLayers/konva/util'; +import { zModelIdentifierField } from 'features/nodes/types/common'; +import type { Graph } from 'features/nodes/util/graph/generation/Graph'; +import type { Invocation, S } from 'services/api/types'; + +export const addZImageLoRAs = ( + state: RootState, + g: Graph, + denoise: Invocation<'z_image_denoise'>, + modelLoader: Invocation<'z_image_model_loader'>, + posCond: Invocation<'z_image_text_encoder'>, + negCond: Invocation<'z_image_text_encoder'> +): void => { + const enabledLoRAs = state.loras.loras.filter((l) => l.isEnabled && l.model.base === 'z-image'); + const loraCount = enabledLoRAs.length; + + if (loraCount === 0) { + return; + } + + const loraMetadata: S['LoRAMetadataField'][] = []; + + // We will collect LoRAs into a single collection node, then pass them to the LoRA collection loader, which applies + // each LoRA to the transformer and Qwen3 encoder. + const loraCollector = g.addNode({ + id: getPrefixedId('lora_collector'), + type: 'collect', + }); + const loraCollectionLoader = g.addNode({ + type: 'z_image_lora_collection_loader', + id: getPrefixedId('z_image_lora_collection_loader'), + }); + + g.addEdge(loraCollector, 'collection', loraCollectionLoader, 'loras'); + // Use model loader as transformer input + g.addEdge(modelLoader, 'transformer', loraCollectionLoader, 'transformer'); + g.addEdge(modelLoader, 'qwen3_encoder', loraCollectionLoader, 'qwen3_encoder'); + // Reroute model connections through the LoRA collection loader + g.deleteEdgesTo(denoise, ['transformer']); + g.deleteEdgesTo(posCond, ['qwen3_encoder']); + g.deleteEdgesTo(negCond, ['qwen3_encoder']); + g.addEdge(loraCollectionLoader, 'transformer', denoise, 'transformer'); + g.addEdge(loraCollectionLoader, 'qwen3_encoder', posCond, 'qwen3_encoder'); + g.addEdge(loraCollectionLoader, 'qwen3_encoder', negCond, 'qwen3_encoder'); + + for (const lora of enabledLoRAs) { + const { weight } = lora; + const parsedModel = zModelIdentifierField.parse(lora.model); + + const loraSelector = g.addNode({ + type: 'lora_selector', + id: getPrefixedId('lora_selector'), + lora: parsedModel, + weight, + }); + + loraMetadata.push({ + model: parsedModel, + weight, + }); + + g.addEdge(loraSelector, 'lora', loraCollector, 'item'); + } + + g.upsertMetadata({ loras: loraMetadata }); +}; diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts index 94aaaea8eea..30f232d4954 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts @@ -9,6 +9,7 @@ import { addNSFWChecker } from 'features/nodes/util/graph/generation/addNSFWChec import { addOutpaint } from 'features/nodes/util/graph/generation/addOutpaint'; import { addTextToImage } from 'features/nodes/util/graph/generation/addTextToImage'; import { addWatermarker } from 'features/nodes/util/graph/generation/addWatermarker'; +import { addZImageLoRAs } from 'features/nodes/util/graph/generation/addZImageLoRAs'; import { Graph } from 'features/nodes/util/graph/generation/Graph'; import { selectCanvasOutputFields, selectPresetModifiedPrompts } from 'features/nodes/util/graph/graphBuilderUtils'; import type { GraphBuilderArg, GraphBuilderReturn, ImageOutputNodes } from 'features/nodes/util/graph/types'; @@ -91,6 +92,9 @@ export const buildZImageGraph = async (arg: GraphBuilderArg): Promise Date: Mon, 1 Dec 2025 22:28:39 +0100 Subject: [PATCH 4/9] Fix windows path again again --- invokeai/frontend/web/src/services/api/schema.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/services/api/schema.ts b/invokeai/frontend/web/src/services/api/schema.ts index 3b4a1f674e4..d9b316b2c22 100644 --- a/invokeai/frontend/web/src/services/api/schema.ts +++ b/invokeai/frontend/web/src/services/api/schema.ts @@ -12963,14 +12963,14 @@ export type components = { * Convert Cache Dir * Format: path * @description Path to the converted models cache directory (DEPRECATED, but do not delete because it is needed for migration from previous versions). - * @default models\.convert_cache + * @default models/.convert_cache */ convert_cache_dir?: string; /** * Download Cache Dir * Format: path * @description Path to the directory that contains dynamically downloaded models. - * @default models\.download_cache + * @default models/.download_cache */ download_cache_dir?: string; /** From 2b062b21cd669828c3606a0c4ada1fe5a3d5d133 Mon Sep 17 00:00:00 2001 From: Alexander Eichhorn Date: Tue, 2 Dec 2025 15:50:01 +0100 Subject: [PATCH 5/9] fix: Improve Flux AI Toolkit LoRA detection to prevent Z-Image misidentification Move Flux layer structure check before metadata check to prevent misidentifying Z-Image LoRAs (which use `diffusion_model.layers.X`) as Flux AI Toolkit format. Flux models use `double_blocks` and `single_blocks` patterns which are now checked first regardless of metadata presence. --- .../flux_aitoolkit_lora_conversion_utils.py | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/invokeai/backend/patches/lora_conversions/flux_aitoolkit_lora_conversion_utils.py b/invokeai/backend/patches/lora_conversions/flux_aitoolkit_lora_conversion_utils.py index 4ce8db688d9..b5ae202fc10 100644 --- a/invokeai/backend/patches/lora_conversions/flux_aitoolkit_lora_conversion_utils.py +++ b/invokeai/backend/patches/lora_conversions/flux_aitoolkit_lora_conversion_utils.py @@ -12,23 +12,33 @@ from invokeai.backend.util import InvokeAILogger +def _has_flux_layer_structure(state_dict: dict[str | int, Any]) -> bool: + """Check if state dict has Flux-specific layer patterns (double_blocks/single_blocks).""" + return any( + k.startswith("diffusion_model.double_blocks.") or k.startswith("diffusion_model.single_blocks.") + for k in state_dict.keys() + if isinstance(k, str) + ) + + def is_state_dict_likely_in_flux_aitoolkit_format( state_dict: dict[str | int, Any], metadata: dict[str, Any] | None = None, ) -> bool: + # Always check for Flux-specific layer structure first + # This prevents misidentifying Z-Image LoRAs (which use diffusion_model.layers.X) as Flux + if not _has_flux_layer_structure(state_dict): + return False + if metadata: try: software = json.loads(metadata.get("software", "{}")) except json.JSONDecodeError: return False return software.get("name") == "ai-toolkit" - # metadata got lost somewhere - check for Flux-specific layer patterns - # Flux models use double_blocks and single_blocks, while other models (like Z-Image) use different patterns - return any( - k.startswith("diffusion_model.double_blocks.") or k.startswith("diffusion_model.single_blocks.") - for k in state_dict.keys() - if isinstance(k, str) - ) + + # No metadata - if it has Flux layer structure, assume it's AI Toolkit format + return True @dataclass From 280202908a8b9216b9a2536441cab8b9fca2d268 Mon Sep 17 00:00:00 2001 From: Alexander Eichhorn Date: Tue, 2 Dec 2025 20:31:11 +0100 Subject: [PATCH 6/9] feat: Add GGUF quantized Z-Image support and improve VAE/encoder flexibility Add comprehensive support for GGUF quantized Z-Image models and improve component flexibility: Backend: - New Main_GGUF_ZImage_Config for GGUF quantized Z-Image transformers - Z-Image key detection (_has_z_image_keys) to identify S3-DiT models - GGUF quantization detection and sidecar LoRA patching for quantized models - Qwen3Encoder_Qwen3Encoder_Config for standalone Qwen3 encoder models Model Loader: - Split Z-Image model --- invokeai/app/invocations/z_image_denoise.py | 24 +- .../invocations/z_image_image_to_latents.py | 50 +- .../invocations/z_image_latents_to_image.py | 61 +- .../app/invocations/z_image_model_loader.py | 91 +- .../backend/model_manager/configs/factory.py | 5 + .../backend/model_manager/configs/main.py | 53 + .../model_manager/configs/qwen3_encoder.py | 45 + .../load/model_loaders/z_image.py | 175 +- .../backend/model_manager/load/model_util.py | 7 +- invokeai/backend/model_manager/taxonomy.py | 2 + invokeai/backend/patches/layer_patcher.py | 31 +- .../backend/quantization/gguf/ggml_tensor.py | 31 +- invokeai/frontend/web/openapi.json | 38001 ++++++++++++++++ invokeai/frontend/web/public/locales/en.json | 9 + .../listeners/modelSelected.ts | 26 +- .../controlLayers/store/paramsSlice.ts | 34 + .../src/features/controlLayers/store/types.ts | 7 + .../web/src/features/modelManagerV2/models.ts | 8 + .../ModelManagerPanel/ModelFormatBadge.tsx | 2 + .../web/src/features/nodes/types/common.ts | 2 + .../util/graph/generation/buildZImageGraph.ts | 22 +- .../ParamZImageQwen3VaeModelSelect.tsx | 163 + .../web/src/features/queue/store/readiness.ts | 26 + .../AdvancedSettingsAccordion.tsx | 27 +- .../src/services/api/hooks/modelsByType.ts | 4 + .../frontend/web/src/services/api/schema.ts | 217 +- .../frontend/web/src/services/api/types.ts | 9 + 27 files changed, 39041 insertions(+), 91 deletions(-) create mode 100644 invokeai/backend/model_manager/configs/qwen3_encoder.py create mode 100644 invokeai/frontend/web/openapi.json create mode 100644 invokeai/frontend/web/src/features/parameters/components/Advanced/ParamZImageQwen3VaeModelSelect.tsx diff --git a/invokeai/app/invocations/z_image_denoise.py b/invokeai/app/invocations/z_image_denoise.py index 91fc8f84310..82e49484e8a 100644 --- a/invokeai/app/invocations/z_image_denoise.py +++ b/invokeai/app/invocations/z_image_denoise.py @@ -21,7 +21,7 @@ from invokeai.app.invocations.model import LoRAField, TransformerField from invokeai.app.invocations.primitives import LatentsOutput from invokeai.app.services.shared.invocation_context import InvocationContext -from invokeai.backend.model_manager.taxonomy import BaseModelType +from invokeai.backend.model_manager.taxonomy import BaseModelType, ModelFormat from invokeai.backend.patches.layer_patcher import LayerPatcher from invokeai.backend.patches.lora_conversions.z_image_lora_constants import Z_IMAGE_LORA_TRANSFORMER_PREFIX from invokeai.backend.patches.model_patch_raw import ModelPatchRaw @@ -284,15 +284,31 @@ def _run_diffusion(self, context: InvocationContext) -> torch.Tensor: with ExitStack() as exit_stack: # Load transformer and apply LoRA patches - (_, transformer) = exit_stack.enter_context(transformer_info.model_on_device()) - - # Apply LoRA models to the transformer + (cached_weights, transformer) = exit_stack.enter_context(transformer_info.model_on_device()) + + # Get transformer config to determine if it's quantized + transformer_config = context.models.get_config(self.transformer.transformer) + + # Determine if the model is quantized. + # If the model is quantized, then we need to apply the LoRA weights as sidecar layers. This results in + # slower inference than direct patching, but is agnostic to the quantization format. + if transformer_config.format in [ModelFormat.Diffusers]: + model_is_quantized = False + elif transformer_config.format in [ModelFormat.GGUFQuantized]: + model_is_quantized = True + else: + raise ValueError(f"Unsupported Z-Image model format: {transformer_config.format}") + + # Apply LoRA models to the transformer. + # Note: We apply the LoRA after the transformer has been moved to its target device for faster patching. exit_stack.enter_context( LayerPatcher.apply_smart_model_patches( model=transformer, patches=self._lora_iterator(context), prefix=Z_IMAGE_LORA_TRANSFORMER_PREFIX, dtype=inference_dtype, + cached_weights=cached_weights, + force_sidecar_patching=model_is_quantized, ) ) diff --git a/invokeai/app/invocations/z_image_image_to_latents.py b/invokeai/app/invocations/z_image_image_to_latents.py index 637729d040c..4eb2ede1f71 100644 --- a/invokeai/app/invocations/z_image_image_to_latents.py +++ b/invokeai/app/invocations/z_image_image_to_latents.py @@ -1,3 +1,5 @@ +from typing import Union + import einops import torch from diffusers.models.autoencoders.autoencoder_kl import AutoencoderKL @@ -14,47 +16,58 @@ from invokeai.app.invocations.model import VAEField from invokeai.app.invocations.primitives import LatentsOutput from invokeai.app.services.shared.invocation_context import InvocationContext +from invokeai.backend.flux.modules.autoencoder import AutoEncoder as FluxAutoEncoder from invokeai.backend.model_manager.load.load_base import LoadedModel from invokeai.backend.stable_diffusion.diffusers_pipeline import image_resized_to_grid_as_tensor from invokeai.backend.util.devices import TorchDevice +# Z-Image can use either the Diffusers AutoencoderKL or the FLUX AutoEncoder +ZImageVAE = Union[AutoencoderKL, FluxAutoEncoder] + @invocation( "z_image_i2l", title="Image to Latents - Z-Image", tags=["image", "latents", "vae", "i2l", "z-image"], category="image", - version="1.0.0", + version="1.1.0", classification=Classification.Prototype, ) class ZImageImageToLatentsInvocation(BaseInvocation, WithMetadata, WithBoard): - """Generates latents from an image using Z-Image VAE.""" + """Generates latents from an image using Z-Image VAE (supports both Diffusers and FLUX VAE).""" image: ImageField = InputField(description="The image to encode.") vae: VAEField = InputField(description=FieldDescriptions.vae, input=Input.Connection) @staticmethod def vae_encode(vae_info: LoadedModel, image_tensor: torch.Tensor) -> torch.Tensor: - assert isinstance(vae_info.model, AutoencoderKL) + assert isinstance(vae_info.model, (AutoencoderKL, FluxAutoEncoder)) with vae_info.model_on_device() as (_, vae): - assert isinstance(vae, AutoencoderKL) + assert isinstance(vae, (AutoencoderKL, FluxAutoEncoder)) - vae.disable_tiling() + vae_dtype = next(iter(vae.parameters())).dtype + image_tensor = image_tensor.to(device=TorchDevice.choose_torch_device(), dtype=vae_dtype) - image_tensor = image_tensor.to(device=TorchDevice.choose_torch_device(), dtype=vae.dtype) with torch.inference_mode(): - image_tensor_dist = vae.encode(image_tensor).latent_dist - latents: torch.Tensor = image_tensor_dist.sample().to(dtype=vae.dtype) - - # Apply scaling_factor and shift_factor from VAE config - # Z-Image uses: latents = (latents - shift_factor) * scaling_factor - scaling_factor = vae.config.scaling_factor - shift_factor = getattr(vae.config, "shift_factor", None) - - if shift_factor is not None: - latents = latents - shift_factor - latents = latents * scaling_factor + if isinstance(vae, FluxAutoEncoder): + # FLUX VAE handles scaling internally + generator = torch.Generator(device=TorchDevice.choose_torch_device()).manual_seed(0) + latents = vae.encode(image_tensor, sample=True, generator=generator) + else: + # AutoencoderKL - needs manual scaling + vae.disable_tiling() + image_tensor_dist = vae.encode(image_tensor).latent_dist + latents: torch.Tensor = image_tensor_dist.sample().to(dtype=vae.dtype) + + # Apply scaling_factor and shift_factor from VAE config + # Z-Image uses: latents = (latents - shift_factor) * scaling_factor + scaling_factor = vae.config.scaling_factor + shift_factor = getattr(vae.config, "shift_factor", None) + + if shift_factor is not None: + latents = latents - shift_factor + latents = latents * scaling_factor return latents @@ -67,8 +80,9 @@ def invoke(self, context: InvocationContext) -> LatentsOutput: image_tensor = einops.rearrange(image_tensor, "c h w -> 1 c h w") vae_info = context.models.load(self.vae.vae) - assert isinstance(vae_info.model, AutoencoderKL) + assert isinstance(vae_info.model, (AutoencoderKL, FluxAutoEncoder)) + context.util.signal_progress("Running VAE") latents = self.vae_encode(vae_info=vae_info, image_tensor=image_tensor) latents = latents.to("cpu") diff --git a/invokeai/app/invocations/z_image_latents_to_image.py b/invokeai/app/invocations/z_image_latents_to_image.py index f5a3f77b52d..835ca11bc56 100644 --- a/invokeai/app/invocations/z_image_latents_to_image.py +++ b/invokeai/app/invocations/z_image_latents_to_image.py @@ -1,4 +1,5 @@ from contextlib import nullcontext +from typing import Union import torch from diffusers.models.autoencoders.autoencoder_kl import AutoencoderKL @@ -17,20 +18,24 @@ from invokeai.app.invocations.model import VAEField from invokeai.app.invocations.primitives import ImageOutput from invokeai.app.services.shared.invocation_context import InvocationContext +from invokeai.backend.flux.modules.autoencoder import AutoEncoder as FluxAutoEncoder from invokeai.backend.stable_diffusion.extensions.seamless import SeamlessExt from invokeai.backend.util.devices import TorchDevice +# Z-Image can use either the Diffusers AutoencoderKL or the FLUX AutoEncoder +ZImageVAE = Union[AutoencoderKL, FluxAutoEncoder] + @invocation( "z_image_l2i", title="Latents to Image - Z-Image", tags=["latents", "image", "vae", "l2i", "z-image"], category="latents", - version="1.0.0", + version="1.1.0", classification=Classification.Prototype, ) class ZImageLatentsToImageInvocation(BaseInvocation, WithMetadata, WithBoard): - """Generates an image from latents using Z-Image VAE.""" + """Generates an image from latents using Z-Image VAE (supports both Diffusers and FLUX VAE).""" latents: LatentsField = InputField(description=FieldDescriptions.latents, input=Input.Connection) vae: VAEField = InputField(description=FieldDescriptions.vae, input=Input.Connection) @@ -40,34 +45,46 @@ def invoke(self, context: InvocationContext) -> ImageOutput: latents = context.tensors.load(self.latents.latents_name) vae_info = context.models.load(self.vae.vae) - assert isinstance(vae_info.model, AutoencoderKL) + assert isinstance(vae_info.model, (AutoencoderKL, FluxAutoEncoder)) + + is_flux_vae = isinstance(vae_info.model, FluxAutoEncoder) + + # FLUX VAE doesn't support seamless, so only apply for AutoencoderKL + seamless_context = ( + nullcontext() + if is_flux_vae + else SeamlessExt.static_patch_model(vae_info.model, self.vae.seamless_axes) + ) - with ( - SeamlessExt.static_patch_model(vae_info.model, self.vae.seamless_axes), - vae_info.model_on_device() as (_, vae), - ): + with seamless_context, vae_info.model_on_device() as (_, vae): context.util.signal_progress("Running VAE") - assert isinstance(vae, AutoencoderKL) - latents = latents.to(device=TorchDevice.choose_torch_device(), dtype=vae.dtype) + assert isinstance(vae, (AutoencoderKL, FluxAutoEncoder)) - vae.disable_tiling() + vae_dtype = next(iter(vae.parameters())).dtype + latents = latents.to(device=TorchDevice.choose_torch_device(), dtype=vae_dtype) - tiling_context = nullcontext() + # Disable tiling for AutoencoderKL + if isinstance(vae, AutoencoderKL): + vae.disable_tiling() # Clear memory as VAE decode can request a lot TorchDevice.empty_cache() - with torch.inference_mode(), tiling_context: - # Apply scaling_factor and shift_factor from VAE config - # Z-Image uses: latents = latents / scaling_factor + shift_factor - scaling_factor = vae.config.scaling_factor - shift_factor = getattr(vae.config, "shift_factor", None) - - latents = latents / scaling_factor - if shift_factor is not None: - latents = latents + shift_factor - - img = vae.decode(latents, return_dict=False)[0] + with torch.inference_mode(): + if isinstance(vae, FluxAutoEncoder): + # FLUX VAE handles scaling internally + img = vae.decode(latents) + else: + # AutoencoderKL - Apply scaling_factor and shift_factor from VAE config + # Z-Image uses: latents = latents / scaling_factor + shift_factor + scaling_factor = vae.config.scaling_factor + shift_factor = getattr(vae.config, "shift_factor", None) + + latents = latents / scaling_factor + if shift_factor is not None: + latents = latents + shift_factor + + img = vae.decode(latents, return_dict=False)[0] img = img.clamp(-1, 1) img = rearrange(img[0], "c h w -> h w c") diff --git a/invokeai/app/invocations/z_image_model_loader.py b/invokeai/app/invocations/z_image_model_loader.py index e357a24f173..4d746061dcc 100644 --- a/invokeai/app/invocations/z_image_model_loader.py +++ b/invokeai/app/invocations/z_image_model_loader.py @@ -1,3 +1,5 @@ +from typing import Optional + from invokeai.app.invocations.baseinvocation import ( BaseInvocation, BaseInvocationOutput, @@ -13,7 +15,7 @@ VAEField, ) from invokeai.app.services.shared.invocation_context import InvocationContext -from invokeai.backend.model_manager.taxonomy import BaseModelType, ModelType, SubModelType +from invokeai.backend.model_manager.taxonomy import BaseModelType, ModelFormat, ModelType, SubModelType @invocation_output("z_image_model_loader_output") @@ -30,27 +32,104 @@ class ZImageModelLoaderOutput(BaseInvocationOutput): title="Main Model - Z-Image", tags=["model", "z-image"], category="model", - version="1.0.0", + version="3.0.0", classification=Classification.Prototype, ) class ZImageModelLoaderInvocation(BaseInvocation): - """Loads a Z-Image base model, outputting its submodels.""" + """Loads a Z-Image model, outputting its submodels. + + Similar to FLUX, you can mix and match components: + - Transformer: From Z-Image main model (GGUF quantized or Diffusers format) + - VAE: Separate FLUX VAE (shared with FLUX models) or from a Diffusers Z-Image model + - Qwen3 Encoder: Separate Qwen3Encoder model or from a Diffusers Z-Image model + """ model: ModelIdentifierField = InputField( description=FieldDescriptions.z_image_model, input=Input.Direct, ui_model_base=BaseModelType.ZImage, ui_model_type=ModelType.Main, + title="Transformer", + ) + + vae_model: Optional[ModelIdentifierField] = InputField( + default=None, + description="Standalone VAE model. Z-Image uses the same VAE as FLUX (16-channel). " + "If not provided, VAE will be loaded from the Qwen3 Source model.", + input=Input.Direct, + ui_model_base=BaseModelType.Flux, + ui_model_type=ModelType.VAE, + title="VAE", + ) + + qwen3_encoder_model: Optional[ModelIdentifierField] = InputField( + default=None, + description="Standalone Qwen3 Encoder model. " + "If not provided, encoder will be loaded from the Qwen3 Source model.", + input=Input.Direct, + ui_model_type=ModelType.Qwen3Encoder, + title="Qwen3 Encoder", + ) + + qwen3_source_model: Optional[ModelIdentifierField] = InputField( + default=None, + description="Diffusers Z-Image model to extract VAE and/or Qwen3 encoder from. " + "Use this if you don't have separate VAE/Qwen3 models. " + "Ignored if both VAE and Qwen3 Encoder are provided separately.", + input=Input.Direct, + ui_model_base=BaseModelType.ZImage, + ui_model_type=ModelType.Main, + ui_model_format=ModelFormat.Diffusers, + title="Qwen3 Source (Diffusers)", ) def invoke(self, context: InvocationContext) -> ZImageModelLoaderOutput: + # Transformer always comes from the main model transformer = self.model.model_copy(update={"submodel_type": SubModelType.Transformer}) - vae = self.model.model_copy(update={"submodel_type": SubModelType.VAE}) - qwen3_tokenizer = self.model.model_copy(update={"submodel_type": SubModelType.Tokenizer}) - qwen3_encoder = self.model.model_copy(update={"submodel_type": SubModelType.TextEncoder}) + + # Determine VAE source + if self.vae_model is not None: + # Use standalone FLUX VAE + vae = self.vae_model.model_copy(update={"submodel_type": SubModelType.VAE}) + elif self.qwen3_source_model is not None: + # Extract from Diffusers Z-Image model + self._validate_diffusers_format(context, self.qwen3_source_model, "Qwen3 Source") + vae = self.qwen3_source_model.model_copy(update={"submodel_type": SubModelType.VAE}) + else: + raise ValueError( + "No VAE source provided. Either set 'VAE' to a FLUX VAE model, " + "or set 'Qwen3 Source' to a Diffusers Z-Image model." + ) + + # Determine Qwen3 Encoder source + if self.qwen3_encoder_model is not None: + # Use standalone Qwen3 Encoder + qwen3_tokenizer = self.qwen3_encoder_model.model_copy(update={"submodel_type": SubModelType.Tokenizer}) + qwen3_encoder = self.qwen3_encoder_model.model_copy(update={"submodel_type": SubModelType.TextEncoder}) + elif self.qwen3_source_model is not None: + # Extract from Diffusers Z-Image model + self._validate_diffusers_format(context, self.qwen3_source_model, "Qwen3 Source") + qwen3_tokenizer = self.qwen3_source_model.model_copy(update={"submodel_type": SubModelType.Tokenizer}) + qwen3_encoder = self.qwen3_source_model.model_copy(update={"submodel_type": SubModelType.TextEncoder}) + else: + raise ValueError( + "No Qwen3 Encoder source provided. Either set 'Qwen3 Encoder' to a standalone model, " + "or set 'Qwen3 Source' to a Diffusers Z-Image model." + ) return ZImageModelLoaderOutput( transformer=TransformerField(transformer=transformer, loras=[]), qwen3_encoder=Qwen3EncoderField(tokenizer=qwen3_tokenizer, text_encoder=qwen3_encoder), vae=VAEField(vae=vae), ) + + def _validate_diffusers_format( + self, context: InvocationContext, model: ModelIdentifierField, model_name: str + ) -> None: + """Validate that a model is in Diffusers format.""" + config = context.models.get_config(model) + if config.format != ModelFormat.Diffusers: + raise ValueError( + f"The {model_name} model must be a Diffusers format Z-Image model. " + f"The selected model '{config.name}' is in {config.format.value} format." + ) diff --git a/invokeai/backend/model_manager/configs/factory.py b/invokeai/backend/model_manager/configs/factory.py index 64b8fa08cbf..bdcfee9027d 100644 --- a/invokeai/backend/model_manager/configs/factory.py +++ b/invokeai/backend/model_manager/configs/factory.py @@ -68,6 +68,7 @@ Main_Diffusers_SDXLRefiner_Config, Main_Diffusers_ZImage_Config, Main_GGUF_FLUX_Config, + Main_GGUF_ZImage_Config, MainModelDefaultSettings, ) from invokeai.backend.model_manager.configs.siglip import SigLIP_Diffusers_Config @@ -76,6 +77,7 @@ T2IAdapter_Diffusers_SD1_Config, T2IAdapter_Diffusers_SDXL_Config, ) +from invokeai.backend.model_manager.configs.qwen3_encoder import Qwen3Encoder_Qwen3Encoder_Config from invokeai.backend.model_manager.configs.t5_encoder import T5Encoder_BnBLLMint8_Config, T5Encoder_T5Encoder_Config from invokeai.backend.model_manager.configs.textual_inversion import ( TI_File_SD1_Config, @@ -151,6 +153,7 @@ # Main (Pipeline) - quantized formats Annotated[Main_BnBNF4_FLUX_Config, Main_BnBNF4_FLUX_Config.get_tag()], Annotated[Main_GGUF_FLUX_Config, Main_GGUF_FLUX_Config.get_tag()], + Annotated[Main_GGUF_ZImage_Config, Main_GGUF_ZImage_Config.get_tag()], # VAE - checkpoint format Annotated[VAE_Checkpoint_SD1_Config, VAE_Checkpoint_SD1_Config.get_tag()], Annotated[VAE_Checkpoint_SD2_Config, VAE_Checkpoint_SD2_Config.get_tag()], @@ -189,6 +192,8 @@ # T5 Encoder - all formats Annotated[T5Encoder_T5Encoder_Config, T5Encoder_T5Encoder_Config.get_tag()], Annotated[T5Encoder_BnBLLMint8_Config, T5Encoder_BnBLLMint8_Config.get_tag()], + # Qwen3 Encoder + Annotated[Qwen3Encoder_Qwen3Encoder_Config, Qwen3Encoder_Qwen3Encoder_Config.get_tag()], # TI - file format Annotated[TI_File_SD1_Config, TI_File_SD1_Config.get_tag()], Annotated[TI_File_SD2_Config, TI_File_SD2_Config.get_tag()], diff --git a/invokeai/backend/model_manager/configs/main.py b/invokeai/backend/model_manager/configs/main.py index 5ebe5f9661c..6cdb171b8e8 100644 --- a/invokeai/backend/model_manager/configs/main.py +++ b/invokeai/backend/model_manager/configs/main.py @@ -111,6 +111,28 @@ def _has_main_keys(state_dict: dict[str | int, Any]) -> bool: return False +def _has_z_image_keys(state_dict: dict[str | int, Any]) -> bool: + """Check if state dict contains Z-Image S3-DiT transformer keys.""" + # Z-Image specific keys that distinguish it from other models + z_image_specific_keys = { + "cap_embedder", # Caption embedder - unique to Z-Image + "context_refiner", # Context refiner blocks + "cap_pad_token", # Caption padding token + } + + for key in state_dict.keys(): + if isinstance(key, int): + continue + # Check for Z-Image specific key prefixes + prefix = key.split(".")[0] + if prefix in z_image_specific_keys: + return True + # Also check for LoRA format with diffusion_model prefix + if key.startswith("diffusion_model.layers."): + return True + return False + + class Main_SD_Checkpoint_Config_Base(Checkpoint_Config_Base, Main_Config_Base): """Model config for main checkpoint models.""" @@ -684,3 +706,34 @@ def from_model_on_disk(cls, mod: ModelOnDisk, override_fields: dict[str, Any]) - **override_fields, repo_variant=repo_variant, ) + + +class Main_GGUF_ZImage_Config(Checkpoint_Config_Base, Main_Config_Base, Config_Base): + """Model config for GGUF-quantized Z-Image transformer models.""" + + base: Literal[BaseModelType.ZImage] = Field(default=BaseModelType.ZImage) + format: Literal[ModelFormat.GGUFQuantized] = Field(default=ModelFormat.GGUFQuantized) + + @classmethod + def from_model_on_disk(cls, mod: ModelOnDisk, override_fields: dict[str, Any]) -> Self: + raise_if_not_file(mod) + + raise_for_override_fields(cls, override_fields) + + cls._validate_looks_like_z_image_model(mod) + + cls._validate_looks_like_gguf_quantized(mod) + + return cls(**override_fields) + + @classmethod + def _validate_looks_like_z_image_model(cls, mod: ModelOnDisk) -> None: + has_z_image_keys = _has_z_image_keys(mod.load_state_dict()) + if not has_z_image_keys: + raise NotAMatchError("state dict does not look like a Z-Image model") + + @classmethod + def _validate_looks_like_gguf_quantized(cls, mod: ModelOnDisk) -> None: + has_ggml_tensors = _has_ggml_tensors(mod.load_state_dict()) + if not has_ggml_tensors: + raise NotAMatchError("state dict does not look like GGUF quantized") diff --git a/invokeai/backend/model_manager/configs/qwen3_encoder.py b/invokeai/backend/model_manager/configs/qwen3_encoder.py new file mode 100644 index 00000000000..422a66f6e56 --- /dev/null +++ b/invokeai/backend/model_manager/configs/qwen3_encoder.py @@ -0,0 +1,45 @@ +from typing import Any, Literal, Self + +from pydantic import Field + +from invokeai.backend.model_manager.configs.base import Config_Base +from invokeai.backend.model_manager.configs.identification_utils import ( + NotAMatchError, + raise_for_class_name, + raise_for_override_fields, + raise_if_not_dir, +) +from invokeai.backend.model_manager.model_on_disk import ModelOnDisk +from invokeai.backend.model_manager.taxonomy import BaseModelType, ModelFormat, ModelType + + +class Qwen3Encoder_Qwen3Encoder_Config(Config_Base): + """Configuration for Qwen3 Encoder models in a diffusers-like format. + + The model weights are expected to be in a folder called text_encoder inside the model directory, + compatible with Qwen2VLForConditionalGeneration or similar architectures used by Z-Image. + """ + + base: Literal[BaseModelType.Any] = Field(default=BaseModelType.Any) + type: Literal[ModelType.Qwen3Encoder] = Field(default=ModelType.Qwen3Encoder) + format: Literal[ModelFormat.Qwen3Encoder] = Field(default=ModelFormat.Qwen3Encoder) + + @classmethod + def from_model_on_disk(cls, mod: ModelOnDisk, override_fields: dict[str, Any]) -> Self: + raise_if_not_dir(mod) + + raise_for_override_fields(cls, override_fields) + + # Check for text_encoder config + expected_config_path = mod.path / "text_encoder" / "config.json" + # Qwen3 uses Qwen2VLForConditionalGeneration or similar + raise_for_class_name( + expected_config_path, + { + "Qwen2VLForConditionalGeneration", + "Qwen2ForCausalLM", + "Qwen3ForCausalLM", + }, + ) + + return cls(**override_fields) diff --git a/invokeai/backend/model_manager/load/model_loaders/z_image.py b/invokeai/backend/model_manager/load/model_loaders/z_image.py index 6b94240105f..b235906a70c 100644 --- a/invokeai/backend/model_manager/load/model_loaders/z_image.py +++ b/invokeai/backend/model_manager/load/model_loaders/z_image.py @@ -2,12 +2,18 @@ """Class for Z-Image model loading in InvokeAI.""" from pathlib import Path -from typing import Optional +from typing import Any, Optional +import accelerate import torch +from transformers import AutoTokenizer, Qwen2VLForConditionalGeneration + from invokeai.backend.model_manager.configs.base import Checkpoint_Config_Base, Diffusers_Config_Base from invokeai.backend.model_manager.configs.factory import AnyModelConfig +from invokeai.backend.model_manager.configs.main import Main_GGUF_ZImage_Config +from invokeai.backend.model_manager.configs.qwen3_encoder import Qwen3Encoder_Qwen3Encoder_Config +from invokeai.backend.model_manager.load.load_default import ModelLoader from invokeai.backend.model_manager.load.model_loader_registry import ModelLoaderRegistry from invokeai.backend.model_manager.load.model_loaders.generic_diffusers import GenericDiffusersLoader from invokeai.backend.model_manager.taxonomy import ( @@ -17,6 +23,72 @@ ModelType, SubModelType, ) +from invokeai.backend.quantization.gguf.loaders import gguf_sd_loader + + +def _convert_z_image_gguf_to_diffusers(sd: dict[str, Any]) -> dict[str, Any]: + """Convert Z-Image GGUF state dict keys to diffusers format. + + The GGUF format uses original model keys that differ from diffusers: + - qkv.weight (fused) -> to_q.weight, to_k.weight, to_v.weight (split) + - out.weight -> to_out.0.weight + - q_norm.weight -> norm_q.weight + - k_norm.weight -> norm_k.weight + - x_embedder.* -> all_x_embedder.2-1.* + - final_layer.* -> all_final_layer.2-1.* + """ + new_sd: dict[str, Any] = {} + + for key, value in sd.items(): + if not isinstance(key, str): + new_sd[key] = value + continue + + # Handle x_embedder -> all_x_embedder.2-1 + if key.startswith("x_embedder."): + suffix = key[len("x_embedder.") :] + new_key = f"all_x_embedder.2-1.{suffix}" + new_sd[new_key] = value + continue + + # Handle final_layer -> all_final_layer.2-1 + if key.startswith("final_layer."): + suffix = key[len("final_layer.") :] + new_key = f"all_final_layer.2-1.{suffix}" + new_sd[new_key] = value + continue + + # Handle fused QKV weights - need to split + if ".attention.qkv." in key: + # Get the layer prefix and suffix + prefix = key.rsplit(".attention.qkv.", 1)[0] + suffix = key.rsplit(".attention.qkv.", 1)[1] # "weight" or "bias" + + # Split the fused QKV tensor into Q, K, V + tensor = value + if hasattr(tensor, "shape"): + dim = tensor.shape[0] // 3 + q = tensor[:dim] + k = tensor[dim : 2 * dim] + v = tensor[2 * dim :] + + new_sd[f"{prefix}.attention.to_q.{suffix}"] = q + new_sd[f"{prefix}.attention.to_k.{suffix}"] = k + new_sd[f"{prefix}.attention.to_v.{suffix}"] = v + continue + + # Handle attention key renaming + if ".attention." in key: + new_key = key.replace(".q_norm.", ".norm_q.") + new_key = new_key.replace(".k_norm.", ".norm_k.") + new_key = new_key.replace(".attention.out.", ".attention.to_out.0.") + new_sd[new_key] = value + continue + + # For all other keys, just copy as-is + new_sd[key] = value + + return new_sd @ModelLoaderRegistry.register(base=BaseModelType.ZImage, type=ModelType.Main, format=ModelFormat.Diffusers) @@ -57,3 +129,104 @@ def _load_model( raise e return result + + +@ModelLoaderRegistry.register(base=BaseModelType.ZImage, type=ModelType.Main, format=ModelFormat.GGUFQuantized) +class ZImageGGUFCheckpointModel(ModelLoader): + """Class to load GGUF-quantized Z-Image transformer models.""" + + def _load_model( + self, + config: AnyModelConfig, + submodel_type: Optional[SubModelType] = None, + ) -> AnyModel: + if not isinstance(config, Checkpoint_Config_Base): + raise ValueError("Only CheckpointConfigBase models are currently supported here.") + + match submodel_type: + case SubModelType.Transformer: + return self._load_from_singlefile(config) + + raise ValueError( + f"Only Transformer submodels are currently supported. Received: {submodel_type.value if submodel_type else 'None'}" + ) + + def _load_from_singlefile( + self, + config: AnyModelConfig, + ) -> AnyModel: + from diffusers import ZImageTransformer2DModel + + assert isinstance(config, Main_GGUF_ZImage_Config) + model_path = Path(config.path) + + # Load the GGUF state dict + sd = gguf_sd_loader(model_path, compute_dtype=torch.bfloat16) + + # Some Z-Image GGUF models have keys prefixed with "diffusion_model." + # Check if we need to strip this prefix + has_prefix = any(k.startswith("diffusion_model.") for k in sd.keys() if isinstance(k, str)) + + if has_prefix: + stripped_sd = {} + prefix = "diffusion_model." + for key, value in sd.items(): + if isinstance(key, str) and key.startswith(prefix): + stripped_sd[key[len(prefix) :]] = value + else: + stripped_sd[key] = value + sd = stripped_sd + + # Convert GGUF format keys to diffusers format + sd = _convert_z_image_gguf_to_diffusers(sd) + + # Create an empty model with the default Z-Image config + # Z-Image-Turbo uses these default parameters from diffusers + with accelerate.init_empty_weights(): + model = ZImageTransformer2DModel( + all_patch_size=(2,), + all_f_patch_size=(1,), + in_channels=16, + dim=3840, + n_layers=30, + n_refiner_layers=2, + n_heads=30, + n_kv_heads=30, + norm_eps=1e-05, + qk_norm=True, + cap_feat_dim=2560, + rope_theta=256.0, + t_scale=1000.0, + axes_dims=[32, 48, 48], + axes_lens=[1024, 512, 512], + ) + + model.load_state_dict(sd, assign=True) + return model + + +@ModelLoaderRegistry.register(base=BaseModelType.Any, type=ModelType.Qwen3Encoder, format=ModelFormat.Qwen3Encoder) +class Qwen3EncoderLoader(ModelLoader): + """Class to load standalone Qwen3 Encoder models for Z-Image.""" + + def _load_model( + self, + config: AnyModelConfig, + submodel_type: Optional[SubModelType] = None, + ) -> AnyModel: + if not isinstance(config, Qwen3Encoder_Qwen3Encoder_Config): + raise ValueError("Only Qwen3Encoder_Qwen3Encoder_Config models are supported here.") + + match submodel_type: + case SubModelType.Tokenizer: + return AutoTokenizer.from_pretrained(Path(config.path) / "tokenizer") + case SubModelType.TextEncoder: + return Qwen2VLForConditionalGeneration.from_pretrained( + Path(config.path) / "text_encoder", + torch_dtype=torch.bfloat16, + low_cpu_mem_usage=True, + ) + + raise ValueError( + f"Only Tokenizer and TextEncoder submodels are supported. Received: {submodel_type.value if submodel_type else 'None'}" + ) diff --git a/invokeai/backend/model_manager/load/model_util.py b/invokeai/backend/model_manager/load/model_util.py index 47c6eb70bcb..c3477fa6603 100644 --- a/invokeai/backend/model_manager/load/model_util.py +++ b/invokeai/backend/model_manager/load/model_util.py @@ -10,7 +10,7 @@ import torch from diffusers.pipelines.pipeline_utils import DiffusionPipeline from diffusers.schedulers.scheduling_utils import SchedulerMixin -from transformers import CLIPTokenizer, T5Tokenizer, T5TokenizerFast +from transformers import CLIPTokenizer, PreTrainedTokenizerBase, T5Tokenizer, T5TokenizerFast from invokeai.backend.image_util.depth_anything.depth_anything_pipeline import DepthAnythingPipeline from invokeai.backend.image_util.grounding_dino.grounding_dino_pipeline import GroundingDinoPipeline @@ -73,6 +73,10 @@ def calc_model_size_by_data(logger: logging.Logger, model: AnyModel) -> int: # relative to the text encoder that it's used with, so shouldn't matter too much, but we should fix this at some # point. return len(model) + elif isinstance(model, PreTrainedTokenizerBase): + # Catch-all for other tokenizer types (e.g., Qwen2Tokenizer, Qwen3Tokenizer). + # Tokenizers are small relative to models, so returning 0 is acceptable. + return 0 else: # TODO(ryand): Promote this from a log to an exception once we are confident that we are handling all of the # supported model types. @@ -156,6 +160,7 @@ def calc_model_size_by_fs(model_path: Path, subfolder: Optional[str] = None, var (".msgpack",), # flax (".ckpt",), # tf (".h5",), # tf2 + (".gguf",), # gguf quantized ] for file_format in formats: diff --git a/invokeai/backend/model_manager/taxonomy.py b/invokeai/backend/model_manager/taxonomy.py index a88f4867a3f..4c06b430eea 100644 --- a/invokeai/backend/model_manager/taxonomy.py +++ b/invokeai/backend/model_manager/taxonomy.py @@ -69,6 +69,7 @@ class ModelType(str, Enum): CLIPEmbed = "clip_embed" T2IAdapter = "t2i_adapter" T5Encoder = "t5_encoder" + Qwen3Encoder = "qwen3_encoder" SpandrelImageToImage = "spandrel_image_to_image" SigLIP = "siglip" FluxRedux = "flux_redux" @@ -128,6 +129,7 @@ class ModelFormat(str, Enum): EmbeddingFolder = "embedding_folder" InvokeAI = "invokeai" T5Encoder = "t5_encoder" + Qwen3Encoder = "qwen3_encoder" BnbQuantizedLlmInt8b = "bnb_quantized_int8b" BnbQuantizednf4b = "bnb_quantized_nf4b" GGUFQuantized = "gguf_quantized" diff --git a/invokeai/backend/patches/layer_patcher.py b/invokeai/backend/patches/layer_patcher.py index 0e5c9d3ec0c..d074ebaf8c4 100644 --- a/invokeai/backend/patches/layer_patcher.py +++ b/invokeai/backend/patches/layer_patcher.py @@ -190,17 +190,28 @@ def _apply_model_layer_patch( # Save original weight original_weights.save(param_key, module_param) - # HACK(ryand): This condition is only necessary to handle layers in FLUX control LoRAs that change the - # shape of the original layer. + # Handle layers that change the shape of the original layer. + # FLUX control LoRAs intentionally expand certain layers - we pad the original weight with zeros. + # For other LoRAs (e.g., Z-Image with architecture mismatch), skip incompatible layers with a warning. if module_param.nelement() != param_weight.nelement(): - assert isinstance(patch, FluxControlLoRALayer) - expanded_weight = pad_with_zeros(module_param, param_weight.shape) - setattr( - module_to_patch, - param_name, - torch.nn.Parameter(expanded_weight, requires_grad=module_param.requires_grad), - ) - module_param = expanded_weight + if isinstance(patch, FluxControlLoRALayer): + # FLUX Control LoRAs intentionally expand layers - pad with zeros + expanded_weight = pad_with_zeros(module_param, param_weight.shape) + setattr( + module_to_patch, + param_name, + torch.nn.Parameter(expanded_weight, requires_grad=module_param.requires_grad), + ) + module_param = expanded_weight + else: + # For other LoRAs, shape mismatch indicates architecture incompatibility - skip the layer + logger = InvokeAILogger.get_logger(LayerPatcher.__name__) + logger.warning( + f"Skipping LoRA layer '{module_to_patch_key}.{param_name}' due to shape mismatch: " + f"model has {module_param.nelement()} elements, LoRA expects {param_weight.nelement()}. " + "This LoRA may be incompatible with this model architecture." + ) + continue # Convert param_weight to the correct dtype and apply to model weights param_weight_converted = param_weight.to(dtype=dtype) diff --git a/invokeai/backend/quantization/gguf/ggml_tensor.py b/invokeai/backend/quantization/gguf/ggml_tensor.py index d48948dcfa9..f9cf67c0ee9 100644 --- a/invokeai/backend/quantization/gguf/ggml_tensor.py +++ b/invokeai/backend/quantization/gguf/ggml_tensor.py @@ -14,11 +14,31 @@ def dequantize_and_run(func, args, kwargs): """A helper function for running math ops on GGMLTensor inputs. Dequantizes the inputs, and runs the function. + Also casts other floating point tensors to match the compute_dtype of GGMLTensors + to avoid dtype mismatches in matrix operations. """ - dequantized_args = [a.get_dequantized_tensor() if hasattr(a, "get_dequantized_tensor") else a for a in args] - dequantized_kwargs = { - k: v.get_dequantized_tensor() if hasattr(v, "get_dequantized_tensor") else v for k, v in kwargs.items() - } + # Find the compute_dtype from any GGMLTensor in the args + compute_dtype = None + for a in args: + if hasattr(a, "compute_dtype"): + compute_dtype = a.compute_dtype + break + if compute_dtype is None: + for v in kwargs.values(): + if hasattr(v, "compute_dtype"): + compute_dtype = v.compute_dtype + break + + def process_tensor(t): + if hasattr(t, "get_dequantized_tensor"): + return t.get_dequantized_tensor() + elif isinstance(t, torch.Tensor) and compute_dtype is not None and t.is_floating_point(): + # Cast other floating point tensors to match the GGUF compute_dtype + return t.to(compute_dtype) + return t + + dequantized_args = [process_tensor(a) for a in args] + dequantized_kwargs = {k: process_tensor(v) for k, v in kwargs.items()} return func(*dequantized_args, **dequantized_kwargs) @@ -57,6 +77,9 @@ def apply_to_quantized_tensor(func, args, kwargs): torch.ops.aten.sub.Tensor: dequantize_and_run, # pyright: ignore torch.ops.aten.allclose.default: dequantize_and_run, # pyright: ignore torch.ops.aten.slice.Tensor: dequantize_and_run, # pyright: ignore + torch.ops.aten.view.default: dequantize_and_run, # pyright: ignore + torch.ops.aten.expand.default: dequantize_and_run, # pyright: ignore + torch.ops.aten.index_put_.default: dequantize_and_run, # pyright: ignore } if torch.backends.mps.is_available(): diff --git a/invokeai/frontend/web/openapi.json b/invokeai/frontend/web/openapi.json new file mode 100644 index 00000000000..b84d804f4dd --- /dev/null +++ b/invokeai/frontend/web/openapi.json @@ -0,0 +1,38001 @@ +{ + "openapi": "3.1.0", + "info": { + "title": "Invoke - Community Edition", + "description": "An API for invoking AI image operations", + "version": "1.0.0" + }, + "paths": { + "/api/v1/utilities/dynamicprompts": { + "post": { + "tags": ["utilities"], + "summary": "Parse Dynamicprompts", + "description": "Creates a batch process", + "operationId": "parse_dynamicprompts", + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_parse_dynamicprompts" } } }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DynamicPromptsResponse" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v2/models/": { + "get": { + "tags": ["model_manager"], + "summary": "List Model Records", + "description": "Get a list of models.", + "operationId": "list_model_records", + "parameters": [ + { + "name": "base_models", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { "type": "array", "items": { "$ref": "#/components/schemas/BaseModelType" } }, + { "type": "null" } + ], + "description": "Base models to include", + "title": "Base Models" + }, + "description": "Base models to include" + }, + { + "name": "model_type", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "$ref": "#/components/schemas/ModelType" }, { "type": "null" }], + "description": "The type of model to get", + "title": "Model Type" + }, + "description": "The type of model to get" + }, + { + "name": "model_name", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "description": "Exact match on the name of the model", + "title": "Model Name" + }, + "description": "Exact match on the name of the model" + }, + { + "name": "model_format", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "$ref": "#/components/schemas/ModelFormat" }, { "type": "null" }], + "description": "Exact match on the format of the model (e.g. 'diffusers')", + "title": "Model Format" + }, + "description": "Exact match on the format of the model (e.g. 'diffusers')" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelsList" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v2/models/get_by_attrs": { + "get": { + "tags": ["model_manager"], + "summary": "Get Model Records By Attrs", + "description": "Gets a model by its attributes. The main use of this route is to provide backwards compatibility with the old\nmodel manager, which identified models by a combination of name, base and type.", + "operationId": "get_model_records_by_attrs", + "parameters": [ + { + "name": "name", + "in": "query", + "required": true, + "schema": { "type": "string", "description": "The name of the model", "title": "Name" }, + "description": "The name of the model" + }, + { + "name": "type", + "in": "query", + "required": true, + "schema": { "$ref": "#/components/schemas/ModelType", "description": "The type of the model" }, + "description": "The type of the model" + }, + { + "name": "base", + "in": "query", + "required": true, + "schema": { "$ref": "#/components/schemas/BaseModelType", "description": "The base model of the model" }, + "description": "The base model of the model" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, + { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, + { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, + { "$ref": "#/components/schemas/TI_File_SD1_Config" }, + { "$ref": "#/components/schemas/TI_File_SD2_Config" }, + { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, + { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, + { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, + { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, + { "$ref": "#/components/schemas/Unknown_Config" } + ], + "title": "Response Get Model Records By Attrs" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v2/models/i/{key}": { + "get": { + "tags": ["model_manager"], + "summary": "Get Model Record", + "description": "Get a model record", + "operationId": "get_model_record", + "parameters": [ + { + "name": "key", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "Key of the model record to fetch.", "title": "Key" }, + "description": "Key of the model record to fetch." + } + ], + "responses": { + "200": { + "description": "The model configuration was retrieved successfully", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, + { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, + { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, + { "$ref": "#/components/schemas/TI_File_SD1_Config" }, + { "$ref": "#/components/schemas/TI_File_SD2_Config" }, + { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, + { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, + { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, + { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, + { "$ref": "#/components/schemas/Unknown_Config" } + ], + "title": "Response Get Model Record" + }, + "example": { + "path": "string", + "name": "string", + "base": "sd-1", + "type": "main", + "format": "checkpoint", + "config_path": "string", + "key": "string", + "hash": "string", + "file_size": 1, + "description": "string", + "source": "string", + "converted_at": 0, + "variant": "normal", + "prediction_type": "epsilon", + "repo_variant": "fp16", + "upcast_attention": false + } + } + } + }, + "400": { "description": "Bad request" }, + "404": { "description": "The model could not be found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "patch": { + "tags": ["model_manager"], + "summary": "Update Model Record", + "description": "Update a model's config.", + "operationId": "update_model_record", + "parameters": [ + { + "name": "key", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "Unique key of model", "title": "Key" }, + "description": "Unique key of model" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModelRecordChanges", + "description": "Model config", + "examples": [ + { + "path": "/path/to/model", + "name": "model_name", + "base": "sd-1", + "type": "main", + "format": "checkpoint", + "config_path": "configs/stable-diffusion/v1-inference.yaml", + "description": "Model description", + "variant": "normal" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "The model was updated successfully", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, + { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, + { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, + { "$ref": "#/components/schemas/TI_File_SD1_Config" }, + { "$ref": "#/components/schemas/TI_File_SD2_Config" }, + { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, + { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, + { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, + { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, + { "$ref": "#/components/schemas/Unknown_Config" } + ], + "title": "Response Update Model Record" + }, + "example": { + "path": "string", + "name": "string", + "base": "sd-1", + "type": "main", + "format": "checkpoint", + "config_path": "string", + "key": "string", + "hash": "string", + "file_size": 1, + "description": "string", + "source": "string", + "converted_at": 0, + "variant": "normal", + "prediction_type": "epsilon", + "repo_variant": "fp16", + "upcast_attention": false + } + } + } + }, + "400": { "description": "Bad request" }, + "404": { "description": "The model could not be found" }, + "409": { "description": "There is already a model corresponding to the new name" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "delete": { + "tags": ["model_manager"], + "summary": "Delete Model", + "description": "Delete model record from database.\n\nThe configuration record will be removed. The corresponding weights files will be\ndeleted as well if they reside within the InvokeAI \"models\" directory.", + "operationId": "delete_model", + "parameters": [ + { + "name": "key", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "Unique key of model to remove from model registry.", + "title": "Key" + }, + "description": "Unique key of model to remove from model registry." + } + ], + "responses": { + "204": { "description": "Model deleted successfully" }, + "404": { "description": "Model not found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v2/models/i/{key}/reidentify": { + "post": { + "tags": ["model_manager"], + "summary": "Reidentify Model", + "description": "Attempt to reidentify a model by re-probing its weights file.", + "operationId": "reidentify_model", + "parameters": [ + { + "name": "key", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "Key of the model to reidentify.", "title": "Key" }, + "description": "Key of the model to reidentify." + } + ], + "responses": { + "200": { + "description": "The model configuration was retrieved successfully", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, + { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, + { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, + { "$ref": "#/components/schemas/TI_File_SD1_Config" }, + { "$ref": "#/components/schemas/TI_File_SD2_Config" }, + { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, + { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, + { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, + { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, + { "$ref": "#/components/schemas/Unknown_Config" } + ], + "title": "Response Reidentify Model" + }, + "example": { + "path": "string", + "name": "string", + "base": "sd-1", + "type": "main", + "format": "checkpoint", + "config_path": "string", + "key": "string", + "hash": "string", + "file_size": 1, + "description": "string", + "source": "string", + "converted_at": 0, + "variant": "normal", + "prediction_type": "epsilon", + "repo_variant": "fp16", + "upcast_attention": false + } + } + } + }, + "400": { "description": "Bad request" }, + "404": { "description": "The model could not be found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v2/models/scan_folder": { + "get": { + "tags": ["model_manager"], + "summary": "Scan For Models", + "operationId": "scan_for_models", + "parameters": [ + { + "name": "scan_path", + "in": "query", + "required": false, + "schema": { "type": "string", "description": "Directory path to search for models", "title": "Scan Path" }, + "description": "Directory path to search for models" + } + ], + "responses": { + "200": { + "description": "Directory scanned successfully", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/FoundModel" }, + "title": "Response Scan For Models" + } + } + } + }, + "400": { "description": "Invalid directory path" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v2/models/hugging_face": { + "get": { + "tags": ["model_manager"], + "summary": "Get Hugging Face Models", + "operationId": "get_hugging_face_models", + "parameters": [ + { + "name": "hugging_face_repo", + "in": "query", + "required": false, + "schema": { + "type": "string", + "description": "Hugging face repo to search for models", + "title": "Hugging Face Repo" + }, + "description": "Hugging face repo to search for models" + } + ], + "responses": { + "200": { + "description": "Hugging Face repo scanned successfully", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HuggingFaceModels" } } } + }, + "400": { "description": "Invalid hugging face repo" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v2/models/i/{key}/image": { + "get": { + "tags": ["model_manager"], + "summary": "Get Model Image", + "description": "Gets an image file that previews the model", + "operationId": "get_model_image", + "parameters": [ + { + "name": "key", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The name of model image file to get", "title": "Key" }, + "description": "The name of model image file to get" + } + ], + "responses": { + "200": { + "description": "The model image was fetched successfully", + "content": { "application/json": { "schema": {} } } + }, + "400": { "description": "Bad request" }, + "404": { "description": "The model image could not be found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "patch": { + "tags": ["model_manager"], + "summary": "Update Model Image", + "operationId": "update_model_image", + "parameters": [ + { + "name": "key", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "Unique key of model", "title": "Key" }, + "description": "Unique key of model" + } + ], + "requestBody": { + "required": true, + "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_update_model_image" } } } + }, + "responses": { + "200": { + "description": "The model image was updated successfully", + "content": { "application/json": { "schema": {} } } + }, + "400": { "description": "Bad request" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "delete": { + "tags": ["model_manager"], + "summary": "Delete Model Image", + "operationId": "delete_model_image", + "parameters": [ + { + "name": "key", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "Unique key of model image to remove from model_images directory.", + "title": "Key" + }, + "description": "Unique key of model image to remove from model_images directory." + } + ], + "responses": { + "204": { "description": "Model image deleted successfully" }, + "404": { "description": "Model image not found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v2/models/install": { + "post": { + "tags": ["model_manager"], + "summary": "Install Model", + "description": "Install a model using a string identifier.\n\n`source` can be any of the following.\n\n1. A path on the local filesystem ('C:\\users\\fred\\model.safetensors')\n2. A Url pointing to a single downloadable model file\n3. A HuggingFace repo_id with any of the following formats:\n - model/name\n - model/name:fp16:vae\n - model/name::vae -- use default precision\n - model/name:fp16:path/to/model.safetensors\n - model/name::path/to/model.safetensors\n\n`config` is a ModelRecordChanges object. Fields in this object will override\nthe ones that are probed automatically. Pass an empty object to accept\nall the defaults.\n\n`access_token` is an optional access token for use with Urls that require\nauthentication.\n\nModels will be downloaded, probed, configured and installed in a\nseries of background threads. The return object has `status` attribute\nthat can be used to monitor progress.\n\nSee the documentation for `import_model_record` for more information on\ninterpreting the job information returned by this route.", + "operationId": "install_model", + "parameters": [ + { + "name": "source", + "in": "query", + "required": true, + "schema": { + "type": "string", + "description": "Model source to install, can be a local path, repo_id, or remote URL", + "title": "Source" + }, + "description": "Model source to install, can be a local path, repo_id, or remote URL" + }, + { + "name": "inplace", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "description": "Whether or not to install a local model in place", + "default": false, + "title": "Inplace" + }, + "description": "Whether or not to install a local model in place" + }, + { + "name": "access_token", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "description": "access token for the remote resource", + "title": "Access Token" + }, + "description": "access token for the remote resource" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModelRecordChanges", + "description": "Object containing fields that override auto-probed values in the model config record, such as name, description and prediction_type ", + "examples": [{ "name": "string", "description": "string" }] + } + } + } + }, + "responses": { + "201": { + "description": "The model imported successfully", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelInstallJob" } } } + }, + "415": { "description": "Unrecognized file/folder format" }, + "424": { + "description": "The model appeared to import successfully, but could not be found in the model manager" + }, + "409": { "description": "There is already a model corresponding to this path or repo_id" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "get": { + "tags": ["model_manager"], + "summary": "List Model Installs", + "description": "Return the list of model install jobs.\n\nInstall jobs have a numeric `id`, a `status`, and other fields that provide information on\nthe nature of the job and its progress. The `status` is one of:\n\n* \"waiting\" -- Job is waiting in the queue to run\n* \"downloading\" -- Model file(s) are downloading\n* \"running\" -- Model has downloaded and the model probing and registration process is running\n* \"completed\" -- Installation completed successfully\n* \"error\" -- An error occurred. Details will be in the \"error_type\" and \"error\" fields.\n* \"cancelled\" -- Job was cancelled before completion.\n\nOnce completed, information about the model such as its size, base\nmodel and type can be retrieved from the `config_out` field. For multi-file models such as diffusers,\ninformation on individual files can be retrieved from `download_parts`.\n\nSee the example and schema below for more information.", + "operationId": "list_model_installs", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/ModelInstallJob" }, + "title": "Response List Model Installs" + } + } + } + } + } + }, + "delete": { + "tags": ["model_manager"], + "summary": "Prune Model Install Jobs", + "description": "Prune all completed and errored jobs from the install job list.", + "operationId": "prune_model_install_jobs", + "responses": { + "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "204": { "description": "All completed and errored jobs have been pruned" }, + "400": { "description": "Bad request" } + } + } + }, + "/api/v2/models/install/huggingface": { + "get": { + "tags": ["model_manager"], + "summary": "Install Hugging Face Model", + "description": "Install a Hugging Face model using a string identifier.", + "operationId": "install_hugging_face_model", + "parameters": [ + { + "name": "source", + "in": "query", + "required": true, + "schema": { "type": "string", "description": "HuggingFace repo_id to install", "title": "Source" }, + "description": "HuggingFace repo_id to install" + } + ], + "responses": { + "201": { + "description": "The model is being installed", + "content": { "text/html": { "schema": { "type": "string" } } } + }, + "400": { "description": "Bad request" }, + "409": { "description": "There is already a model corresponding to this path or repo_id" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v2/models/install/{id}": { + "get": { + "tags": ["model_manager"], + "summary": "Get Model Install Job", + "description": "Return model install job corresponding to the given source. See the documentation for 'List Model Install Jobs'\nfor information on the format of the return value.", + "operationId": "get_model_install_job", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "description": "Model install id", "title": "Id" }, + "description": "Model install id" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelInstallJob" } } } + }, + "404": { "description": "No such job" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "delete": { + "tags": ["model_manager"], + "summary": "Cancel Model Install Job", + "description": "Cancel the model install job(s) corresponding to the given job ID.", + "operationId": "cancel_model_install_job", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "description": "Model install job ID", "title": "Id" }, + "description": "Model install job ID" + } + ], + "responses": { + "201": { + "description": "The job was cancelled successfully", + "content": { "application/json": { "schema": {} } } + }, + "415": { "description": "No such job" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v2/models/convert/{key}": { + "put": { + "tags": ["model_manager"], + "summary": "Convert Model", + "description": "Permanently convert a model into diffusers format, replacing the safetensors version.\nNote that during the conversion process the key and model hash will change.\nThe return value is the model configuration for the converted model.", + "operationId": "convert_model", + "parameters": [ + { + "name": "key", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "Unique key of the safetensors main model to convert to diffusers format.", + "title": "Key" + }, + "description": "Unique key of the safetensors main model to convert to diffusers format." + } + ], + "responses": { + "200": { + "description": "Model converted successfully", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, + { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, + { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, + { "$ref": "#/components/schemas/TI_File_SD1_Config" }, + { "$ref": "#/components/schemas/TI_File_SD2_Config" }, + { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, + { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, + { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, + { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, + { "$ref": "#/components/schemas/Unknown_Config" } + ], + "title": "Response Convert Model" + }, + "example": { + "path": "string", + "name": "string", + "base": "sd-1", + "type": "main", + "format": "checkpoint", + "config_path": "string", + "key": "string", + "hash": "string", + "file_size": 1, + "description": "string", + "source": "string", + "converted_at": 0, + "variant": "normal", + "prediction_type": "epsilon", + "repo_variant": "fp16", + "upcast_attention": false + } + } + } + }, + "400": { "description": "Bad request" }, + "404": { "description": "Model not found" }, + "409": { "description": "There is already a model registered at this location" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v2/models/starter_models": { + "get": { + "tags": ["model_manager"], + "summary": "Get Starter Models", + "operationId": "get_starter_models", + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StarterModelResponse" } } } + } + } + } + }, + "/api/v2/models/stats": { + "get": { + "tags": ["model_manager"], + "summary": "Get model manager RAM cache performance statistics.", + "description": "Return performance statistics on the model manager's RAM cache. Will return null if no models have been loaded.", + "operationId": "get_stats", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "anyOf": [{ "$ref": "#/components/schemas/CacheStats" }, { "type": "null" }], + "title": "Response Get Stats" + } + } + } + } + } + } + }, + "/api/v2/models/empty_model_cache": { + "post": { + "tags": ["model_manager"], + "summary": "Empty Model Cache", + "description": "Drop all models from the model cache to free RAM/VRAM. 'Locked' models that are in active use will not be dropped.", + "operationId": "empty_model_cache", + "responses": { + "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } + } + } + }, + "/api/v2/models/hf_login": { + "get": { + "tags": ["model_manager"], + "summary": "Get Hf Login Status", + "operationId": "get_hf_login_status", + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HFTokenStatus" } } } + } + } + }, + "post": { + "tags": ["model_manager"], + "summary": "Do Hf Login", + "operationId": "do_hf_login", + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_do_hf_login" } } }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HFTokenStatus" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "delete": { + "tags": ["model_manager"], + "summary": "Reset Hf Token", + "operationId": "reset_hf_token", + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HFTokenStatus" } } } + } + } + } + }, + "/api/v1/download_queue/": { + "get": { + "tags": ["download_queue"], + "summary": "List Downloads", + "description": "Get a list of active and inactive jobs.", + "operationId": "list_downloads", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "items": { "$ref": "#/components/schemas/DownloadJob" }, + "type": "array", + "title": "Response List Downloads" + } + } + } + } + } + }, + "patch": { + "tags": ["download_queue"], + "summary": "Prune Downloads", + "description": "Prune completed and errored jobs.", + "operationId": "prune_downloads", + "responses": { + "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "204": { "description": "All completed jobs have been pruned" }, + "400": { "description": "Bad request" } + } + } + }, + "/api/v1/download_queue/i/": { + "post": { + "tags": ["download_queue"], + "summary": "Download", + "description": "Download the source URL to the file or directory indicted in dest.", + "operationId": "download", + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_download" } } }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DownloadJob" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/download_queue/i/{id}": { + "get": { + "tags": ["download_queue"], + "summary": "Get Download Job", + "description": "Get a download job using its ID.", + "operationId": "get_download_job", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "description": "ID of the download job to fetch.", "title": "Id" }, + "description": "ID of the download job to fetch." + } + ], + "responses": { + "200": { + "description": "Success", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DownloadJob" } } } + }, + "404": { "description": "The requested download JobID could not be found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "delete": { + "tags": ["download_queue"], + "summary": "Cancel Download Job", + "description": "Cancel a download job using its ID.", + "operationId": "cancel_download_job", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { "type": "integer", "description": "ID of the download job to cancel.", "title": "Id" }, + "description": "ID of the download job to cancel." + } + ], + "responses": { + "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "204": { "description": "Job has been cancelled" }, + "404": { "description": "The requested download JobID could not be found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/download_queue/i": { + "delete": { + "tags": ["download_queue"], + "summary": "Cancel All Download Jobs", + "description": "Cancel all download jobs.", + "operationId": "cancel_all_download_jobs", + "responses": { + "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "204": { "description": "Download jobs have been cancelled" } + } + } + }, + "/api/v1/images/upload": { + "post": { + "tags": ["images"], + "summary": "Upload Image", + "description": "Uploads an image", + "operationId": "upload_image", + "parameters": [ + { + "name": "image_category", + "in": "query", + "required": true, + "schema": { "$ref": "#/components/schemas/ImageCategory", "description": "The category of the image" }, + "description": "The category of the image" + }, + { + "name": "is_intermediate", + "in": "query", + "required": true, + "schema": { + "type": "boolean", + "description": "Whether this is an intermediate image", + "title": "Is Intermediate" + }, + "description": "Whether this is an intermediate image" + }, + { + "name": "board_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "description": "The board to add this image to, if any", + "title": "Board Id" + }, + "description": "The board to add this image to, if any" + }, + { + "name": "session_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "description": "The session ID associated with this upload, if any", + "title": "Session Id" + }, + "description": "The session ID associated with this upload, if any" + }, + { + "name": "crop_visible", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "description": "Whether to crop the image", + "default": false, + "title": "Crop Visible" + }, + "description": "Whether to crop the image" + } + ], + "requestBody": { + "required": true, + "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_image" } } } + }, + "responses": { + "201": { + "description": "The image was uploaded successfully", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageDTO" } } } + }, + "415": { "description": "Image upload failed" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/": { + "post": { + "tags": ["images"], + "summary": "Create Image Upload Entry", + "description": "Uploads an image from a URL, not implemented", + "operationId": "create_image_upload_entry", + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/Body_create_image_upload_entry" } } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageUploadEntry" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "get": { + "tags": ["images"], + "summary": "List Image Dtos", + "description": "Gets a list of image DTOs", + "operationId": "list_image_dtos", + "parameters": [ + { + "name": "image_origin", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "$ref": "#/components/schemas/ResourceOrigin" }, { "type": "null" }], + "description": "The origin of images to list.", + "title": "Image Origin" + }, + "description": "The origin of images to list." + }, + { + "name": "categories", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { "type": "array", "items": { "$ref": "#/components/schemas/ImageCategory" } }, + { "type": "null" } + ], + "description": "The categories of image to include.", + "title": "Categories" + }, + "description": "The categories of image to include." + }, + { + "name": "is_intermediate", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "description": "Whether to list intermediate images.", + "title": "Is Intermediate" + }, + "description": "Whether to list intermediate images." + }, + { + "name": "board_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "description": "The board id to filter by. Use 'none' to find images without a board.", + "title": "Board Id" + }, + "description": "The board id to filter by. Use 'none' to find images without a board." + }, + { + "name": "offset", + "in": "query", + "required": false, + "schema": { "type": "integer", "description": "The page offset", "default": 0, "title": "Offset" }, + "description": "The page offset" + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "description": "The number of images per page", + "default": 10, + "title": "Limit" + }, + "description": "The number of images per page" + }, + { + "name": "order_dir", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/SQLiteDirection", + "description": "The order of sort", + "default": "DESC" + }, + "description": "The order of sort" + }, + { + "name": "starred_first", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "description": "Whether to sort by starred images first", + "default": true, + "title": "Starred First" + }, + "description": "Whether to sort by starred images first" + }, + { + "name": "search_term", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "description": "The term to search for", + "title": "Search Term" + }, + "description": "The term to search for" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/OffsetPaginatedResults_ImageDTO_" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/i/{image_name}": { + "delete": { + "tags": ["images"], + "summary": "Delete Image", + "description": "Deletes an image", + "operationId": "delete_image", + "parameters": [ + { + "name": "image_name", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The name of the image to delete", "title": "Image Name" }, + "description": "The name of the image to delete" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteImagesResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "patch": { + "tags": ["images"], + "summary": "Update Image", + "description": "Updates an image", + "operationId": "update_image", + "parameters": [ + { + "name": "image_name", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The name of the image to update", "title": "Image Name" }, + "description": "The name of the image to update" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImageRecordChanges", + "description": "The changes to apply to the image" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageDTO" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "get": { + "tags": ["images"], + "summary": "Get Image Dto", + "description": "Gets an image's DTO", + "operationId": "get_image_dto", + "parameters": [ + { + "name": "image_name", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The name of image to get", "title": "Image Name" }, + "description": "The name of image to get" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageDTO" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/intermediates": { + "get": { + "tags": ["images"], + "summary": "Get Intermediates Count", + "description": "Gets the count of intermediate images", + "operationId": "get_intermediates_count", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "type": "integer", "title": "Response Get Intermediates Count" } } + } + } + } + }, + "delete": { + "tags": ["images"], + "summary": "Clear Intermediates", + "description": "Clears all intermediates", + "operationId": "clear_intermediates", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "type": "integer", "title": "Response Clear Intermediates" } } + } + } + } + } + }, + "/api/v1/images/i/{image_name}/metadata": { + "get": { + "tags": ["images"], + "summary": "Get Image Metadata", + "description": "Gets an image's metadata", + "operationId": "get_image_metadata", + "parameters": [ + { + "name": "image_name", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The name of image to get", "title": "Image Name" }, + "description": "The name of image to get" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "title": "Response Get Image Metadata" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/i/{image_name}/workflow": { + "get": { + "tags": ["images"], + "summary": "Get Image Workflow", + "operationId": "get_image_workflow", + "parameters": [ + { + "name": "image_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The name of image whose workflow to get", + "title": "Image Name" + }, + "description": "The name of image whose workflow to get" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowAndGraphResponse" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/i/{image_name}/full": { + "head": { + "tags": ["images"], + "summary": "Get Image Full", + "description": "Gets a full-resolution image file", + "operationId": "get_image_full_head", + "parameters": [ + { + "name": "image_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The name of full-resolution image file to get", + "title": "Image Name" + }, + "description": "The name of full-resolution image file to get" + } + ], + "responses": { + "200": { "description": "Return the full-resolution image", "content": { "image/png": {} } }, + "404": { "description": "Image not found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "get": { + "tags": ["images"], + "summary": "Get Image Full", + "description": "Gets a full-resolution image file", + "operationId": "get_image_full", + "parameters": [ + { + "name": "image_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The name of full-resolution image file to get", + "title": "Image Name" + }, + "description": "The name of full-resolution image file to get" + } + ], + "responses": { + "200": { "description": "Return the full-resolution image", "content": { "image/png": {} } }, + "404": { "description": "Image not found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/i/{image_name}/thumbnail": { + "get": { + "tags": ["images"], + "summary": "Get Image Thumbnail", + "description": "Gets a thumbnail image file", + "operationId": "get_image_thumbnail", + "parameters": [ + { + "name": "image_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The name of thumbnail image file to get", + "title": "Image Name" + }, + "description": "The name of thumbnail image file to get" + } + ], + "responses": { + "200": { "description": "Return the image thumbnail", "content": { "image/webp": {} } }, + "404": { "description": "Image not found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/i/{image_name}/urls": { + "get": { + "tags": ["images"], + "summary": "Get Image Urls", + "description": "Gets an image and thumbnail URL", + "operationId": "get_image_urls", + "parameters": [ + { + "name": "image_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The name of the image whose URL to get", + "title": "Image Name" + }, + "description": "The name of the image whose URL to get" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageUrlsDTO" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/delete": { + "post": { + "tags": ["images"], + "summary": "Delete Images From List", + "operationId": "delete_images_from_list", + "requestBody": { + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/Body_delete_images_from_list" } } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteImagesResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/uncategorized": { + "delete": { + "tags": ["images"], + "summary": "Delete Uncategorized Images", + "description": "Deletes all images that are uncategorized", + "operationId": "delete_uncategorized_images", + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteImagesResult" } } } + } + } + } + }, + "/api/v1/images/star": { + "post": { + "tags": ["images"], + "summary": "Star Images In List", + "operationId": "star_images_in_list", + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_star_images_in_list" } } }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StarredImagesResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/unstar": { + "post": { + "tags": ["images"], + "summary": "Unstar Images In List", + "operationId": "unstar_images_in_list", + "requestBody": { + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/Body_unstar_images_in_list" } } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnstarredImagesResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/download": { + "post": { + "tags": ["images"], + "summary": "Download Images From List", + "operationId": "download_images_from_list", + "requestBody": { + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/Body_download_images_from_list" } } + } + }, + "responses": { + "202": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImagesDownloaded" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/download/{bulk_download_item_name}": { + "get": { + "tags": ["images"], + "summary": "Get Bulk Download Item", + "description": "Gets a bulk download zip file", + "operationId": "get_bulk_download_item", + "parameters": [ + { + "name": "bulk_download_item_name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The bulk_download_item_name of the bulk download item to get", + "title": "Bulk Download Item Name" + }, + "description": "The bulk_download_item_name of the bulk download item to get" + } + ], + "responses": { + "200": { "description": "Return the complete bulk download item", "content": { "application/zip": {} } }, + "404": { "description": "Image not found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/names": { + "get": { + "tags": ["images"], + "summary": "Get Image Names", + "description": "Gets ordered list of image names with metadata for optimistic updates", + "operationId": "get_image_names", + "parameters": [ + { + "name": "image_origin", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "$ref": "#/components/schemas/ResourceOrigin" }, { "type": "null" }], + "description": "The origin of images to list.", + "title": "Image Origin" + }, + "description": "The origin of images to list." + }, + { + "name": "categories", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { "type": "array", "items": { "$ref": "#/components/schemas/ImageCategory" } }, + { "type": "null" } + ], + "description": "The categories of image to include.", + "title": "Categories" + }, + "description": "The categories of image to include." + }, + { + "name": "is_intermediate", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "description": "Whether to list intermediate images.", + "title": "Is Intermediate" + }, + "description": "Whether to list intermediate images." + }, + { + "name": "board_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "description": "The board id to filter by. Use 'none' to find images without a board.", + "title": "Board Id" + }, + "description": "The board id to filter by. Use 'none' to find images without a board." + }, + { + "name": "order_dir", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/SQLiteDirection", + "description": "The order of sort", + "default": "DESC" + }, + "description": "The order of sort" + }, + { + "name": "starred_first", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "description": "Whether to sort by starred images first", + "default": true, + "title": "Starred First" + }, + "description": "Whether to sort by starred images first" + }, + { + "name": "search_term", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "description": "The term to search for", + "title": "Search Term" + }, + "description": "The term to search for" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageNamesResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/images/images_by_names": { + "post": { + "tags": ["images"], + "summary": "Get Images By Names", + "description": "Gets image DTOs for the specified image names. Maintains order of input names.", + "operationId": "get_images_by_names", + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_get_images_by_names" } } }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "items": { "$ref": "#/components/schemas/ImageDTO" }, + "type": "array", + "title": "Response 200 Get Images By Names" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/boards/": { + "post": { + "tags": ["boards"], + "summary": "Create Board", + "description": "Creates a board", + "operationId": "create_board", + "parameters": [ + { + "name": "board_name", + "in": "query", + "required": true, + "schema": { + "type": "string", + "maxLength": 300, + "description": "The name of the board to create", + "title": "Board Name" + }, + "description": "The name of the board to create" + } + ], + "responses": { + "201": { + "description": "The board was created successfully", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BoardDTO" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "get": { + "tags": ["boards"], + "summary": "List Boards", + "description": "Gets a list of boards", + "operationId": "list_boards", + "parameters": [ + { + "name": "order_by", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/BoardRecordOrderBy", + "description": "The attribute to order by", + "default": "created_at" + }, + "description": "The attribute to order by" + }, + { + "name": "direction", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/SQLiteDirection", + "description": "The direction to order by", + "default": "DESC" + }, + "description": "The direction to order by" + }, + { + "name": "all", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "description": "Whether to list all boards", + "title": "All" + }, + "description": "Whether to list all boards" + }, + { + "name": "offset", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "description": "The page offset", + "title": "Offset" + }, + "description": "The page offset" + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "description": "The number of boards per page", + "title": "Limit" + }, + "description": "The number of boards per page" + }, + { + "name": "include_archived", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "description": "Whether or not to include archived boards in list", + "default": false, + "title": "Include Archived" + }, + "description": "Whether or not to include archived boards in list" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "anyOf": [ + { "$ref": "#/components/schemas/OffsetPaginatedResults_BoardDTO_" }, + { "type": "array", "items": { "$ref": "#/components/schemas/BoardDTO" } } + ], + "title": "Response List Boards" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/boards/{board_id}": { + "get": { + "tags": ["boards"], + "summary": "Get Board", + "description": "Gets a board", + "operationId": "get_board", + "parameters": [ + { + "name": "board_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The id of board to get", "title": "Board Id" }, + "description": "The id of board to get" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BoardDTO" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "patch": { + "tags": ["boards"], + "summary": "Update Board", + "description": "Updates a board", + "operationId": "update_board", + "parameters": [ + { + "name": "board_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The id of board to update", "title": "Board Id" }, + "description": "The id of board to update" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BoardChanges", + "description": "The changes to apply to the board" + } + } + } + }, + "responses": { + "201": { + "description": "The board was updated successfully", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BoardDTO" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "delete": { + "tags": ["boards"], + "summary": "Delete Board", + "description": "Deletes a board", + "operationId": "delete_board", + "parameters": [ + { + "name": "board_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The id of board to delete", "title": "Board Id" }, + "description": "The id of board to delete" + }, + { + "name": "include_images", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "description": "Permanently delete all images on the board", + "default": false, + "title": "Include Images" + }, + "description": "Permanently delete all images on the board" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteBoardResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/boards/{board_id}/image_names": { + "get": { + "tags": ["boards"], + "summary": "List All Board Image Names", + "description": "Gets a list of images for a board", + "operationId": "list_all_board_image_names", + "parameters": [ + { + "name": "board_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The id of the board or 'none' for uncategorized images", + "title": "Board Id" + }, + "description": "The id of the board or 'none' for uncategorized images" + }, + { + "name": "categories", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { "type": "array", "items": { "$ref": "#/components/schemas/ImageCategory" } }, + { "type": "null" } + ], + "description": "The categories of image to include.", + "title": "Categories" + }, + "description": "The categories of image to include." + }, + { + "name": "is_intermediate", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "description": "Whether to list intermediate images.", + "title": "Is Intermediate" + }, + "description": "Whether to list intermediate images." + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "type": "string" }, + "title": "Response List All Board Image Names" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/board_images/": { + "post": { + "tags": ["boards"], + "summary": "Add Image To Board", + "description": "Creates a board_image", + "operationId": "add_image_to_board", + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_add_image_to_board" } } }, + "required": true + }, + "responses": { + "201": { + "description": "The image was added to a board successfully", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddImagesToBoardResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "delete": { + "tags": ["boards"], + "summary": "Remove Image From Board", + "description": "Removes an image from its board, if it had one", + "operationId": "remove_image_from_board", + "requestBody": { + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/Body_remove_image_from_board" } } + }, + "required": true + }, + "responses": { + "201": { + "description": "The image was removed from the board successfully", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/RemoveImagesFromBoardResult" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/board_images/batch": { + "post": { + "tags": ["boards"], + "summary": "Add Images To Board", + "description": "Adds a list of images to a board", + "operationId": "add_images_to_board", + "requestBody": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_add_images_to_board" } } }, + "required": true + }, + "responses": { + "201": { + "description": "Images were added to board successfully", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddImagesToBoardResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/board_images/batch/delete": { + "post": { + "tags": ["boards"], + "summary": "Remove Images From Board", + "description": "Removes a list of images from their board, if they had one", + "operationId": "remove_images_from_board", + "requestBody": { + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/Body_remove_images_from_board" } } + }, + "required": true + }, + "responses": { + "201": { + "description": "Images were removed from board successfully", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/RemoveImagesFromBoardResult" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/model_relationships/i/{model_key}": { + "get": { + "tags": ["model_relationships"], + "summary": "Get Related Models", + "description": "Get a list of model keys related to a given model.", + "operationId": "get_related_models", + "parameters": [ + { + "name": "model_key", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The key of the model to get relationships for", + "title": "Model Key" + }, + "description": "The key of the model to get relationships for" + } + ], + "responses": { + "200": { + "description": "A list of related model keys was retrieved successfully", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "type": "string" }, "title": "Response Get Related Models" }, + "example": [ + "15e9eb28-8cfe-47c9-b610-37907a79fc3c", + "71272e82-0e5f-46d5-bca9-9a61f4bd8a82", + "a5d7cd49-1b98-4534-a475-aeee4ccf5fa2" + ] + } + } + }, + "404": { "description": "The specified model could not be found" }, + "422": { "description": "Validation error" } + } + } + }, + "/api/v1/model_relationships/": { + "post": { + "tags": ["model_relationships"], + "summary": "Add Model Relationship", + "description": "Creates a **bidirectional** relationship between two models, allowing each to reference the other as related.", + "operationId": "add_model_relationship_api_v1_model_relationships__post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModelRelationshipCreateRequest", + "description": "The model keys to relate" + } + } + }, + "required": true + }, + "responses": { + "204": { "description": "The relationship was successfully created" }, + "400": { "description": "Invalid model keys or self-referential relationship" }, + "409": { "description": "The relationship already exists" }, + "422": { "description": "Validation error" }, + "500": { "description": "Internal server error" } + } + }, + "delete": { + "tags": ["model_relationships"], + "summary": "Remove Model Relationship", + "description": "Removes a **bidirectional** relationship between two models. The relationship must already exist.", + "operationId": "remove_model_relationship_api_v1_model_relationships__delete", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModelRelationshipCreateRequest", + "description": "The model keys to disconnect" + } + } + }, + "required": true + }, + "responses": { + "204": { "description": "The relationship was successfully removed" }, + "400": { "description": "Invalid model keys or self-referential relationship" }, + "404": { "description": "The relationship does not exist" }, + "422": { "description": "Validation error" }, + "500": { "description": "Internal server error" } + } + } + }, + "/api/v1/model_relationships/batch": { + "post": { + "tags": ["model_relationships"], + "summary": "Get Related Model Keys (Batch)", + "description": "Retrieves all **unique related model keys** for a list of given models. This is useful for contextual suggestions or filtering.", + "operationId": "get_related_models_batch", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModelRelationshipBatchRequest", + "description": "Model keys to check for related connections" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Related model keys retrieved successfully", + "content": { + "application/json": { + "schema": { + "items": { "type": "string" }, + "type": "array", + "title": "Response Get Related Models Batch" + }, + "example": [ + "ca562b14-995e-4a42-90c1-9528f1a5921d", + "cc0c2b8a-c62e-41d6-878e-cc74dde5ca8f", + "18ca7649-6a9e-47d5-bc17-41ab1e8cec81", + "7c12d1b2-0ef9-4bec-ba55-797b2d8f2ee1", + "c382eaa3-0e28-4ab0-9446-408667699aeb", + "71272e82-0e5f-46d5-bca9-9a61f4bd8a82", + "a5d7cd49-1b98-4534-a475-aeee4ccf5fa2" + ] + } + } + }, + "422": { "description": "Validation error" }, + "500": { "description": "Internal server error" } + } + } + }, + "/api/v1/app/version": { + "get": { + "tags": ["app"], + "summary": "Get Version", + "operationId": "app_version", + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppVersion" } } } + } + } + } + }, + "/api/v1/app/app_deps": { + "get": { + "tags": ["app"], + "summary": "Get App Deps", + "operationId": "get_app_deps", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "additionalProperties": { "type": "string" }, + "type": "object", + "title": "Response Get App Deps" + } + } + } + } + } + } + }, + "/api/v1/app/patchmatch_status": { + "get": { + "tags": ["app"], + "summary": "Get Patchmatch Status", + "operationId": "get_patchmatch_status", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "type": "boolean", "title": "Response Get Patchmatch Status" } } + } + } + } + } + }, + "/api/v1/app/runtime_config": { + "get": { + "tags": ["app"], + "summary": "Get Runtime Config", + "operationId": "get_runtime_config", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/InvokeAIAppConfigWithSetFields" } } + } + } + } + } + }, + "/api/v1/app/logging": { + "get": { + "tags": ["app"], + "summary": "Get Log Level", + "description": "Returns the log level", + "operationId": "get_log_level", + "responses": { + "200": { + "description": "The operation was successful", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogLevel" } } } + } + } + }, + "post": { + "tags": ["app"], + "summary": "Set Log Level", + "description": "Sets the log verbosity level", + "operationId": "set_log_level", + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/LogLevel", "description": "New log verbosity level" } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The operation was successful", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogLevel" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/app/invocation_cache": { + "delete": { + "tags": ["app"], + "summary": "Clear Invocation Cache", + "description": "Clears the invocation cache", + "operationId": "clear_invocation_cache", + "responses": { + "200": { "description": "The operation was successful", "content": { "application/json": { "schema": {} } } } + } + } + }, + "/api/v1/app/invocation_cache/enable": { + "put": { + "tags": ["app"], + "summary": "Enable Invocation Cache", + "description": "Clears the invocation cache", + "operationId": "enable_invocation_cache", + "responses": { + "200": { "description": "The operation was successful", "content": { "application/json": { "schema": {} } } } + } + } + }, + "/api/v1/app/invocation_cache/disable": { + "put": { + "tags": ["app"], + "summary": "Disable Invocation Cache", + "description": "Clears the invocation cache", + "operationId": "disable_invocation_cache", + "responses": { + "200": { "description": "The operation was successful", "content": { "application/json": { "schema": {} } } } + } + } + }, + "/api/v1/app/invocation_cache/status": { + "get": { + "tags": ["app"], + "summary": "Get Invocation Cache Status", + "description": "Clears the invocation cache", + "operationId": "get_invocation_cache_status", + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvocationCacheStatus" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/enqueue_batch": { + "post": { + "tags": ["queue"], + "summary": "Enqueue Batch", + "description": "Processes a batch and enqueues the output graphs for execution.", + "operationId": "enqueue_batch", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_enqueue_batch" } } } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnqueueBatchResult" } } } + }, + "201": { + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnqueueBatchResult" } } }, + "description": "Created" + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/list_all": { + "get": { + "tags": ["queue"], + "summary": "List All Queue Items", + "description": "Gets all queue items", + "operationId": "list_all_queue_items", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + }, + { + "name": "destination", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "description": "The destination of queue items to fetch", + "title": "Destination" + }, + "description": "The destination of queue items to fetch" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/SessionQueueItem" }, + "title": "Response 200 List All Queue Items" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/item_ids": { + "get": { + "tags": ["queue"], + "summary": "Get Queue Item Ids", + "description": "Gets all queue item ids that match the given parameters", + "operationId": "get_queue_item_ids", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + }, + { + "name": "order_dir", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/SQLiteDirection", + "description": "The order of sort", + "default": "DESC" + }, + "description": "The order of sort" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemIdsResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/items_by_ids": { + "post": { + "tags": ["queue"], + "summary": "Get Queue Items By Item Ids", + "description": "Gets queue items for the specified queue item ids. Maintains order of item ids.", + "operationId": "get_queue_items_by_item_ids", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/Body_get_queue_items_by_item_ids" } } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/SessionQueueItem" }, + "title": "Response 200 Get Queue Items By Item Ids" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/processor/resume": { + "put": { + "tags": ["queue"], + "summary": "Resume", + "description": "Resumes session processor", + "operationId": "resume", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionProcessorStatus" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/processor/pause": { + "put": { + "tags": ["queue"], + "summary": "Pause", + "description": "Pauses session processor", + "operationId": "pause", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionProcessorStatus" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/cancel_all_except_current": { + "put": { + "tags": ["queue"], + "summary": "Cancel All Except Current", + "description": "Immediately cancels all queue items except in-processing items", + "operationId": "cancel_all_except_current", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CancelAllExceptCurrentResult" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/delete_all_except_current": { + "put": { + "tags": ["queue"], + "summary": "Delete All Except Current", + "description": "Immediately deletes all queue items except in-processing items", + "operationId": "delete_all_except_current", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/DeleteAllExceptCurrentResult" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/cancel_by_batch_ids": { + "put": { + "tags": ["queue"], + "summary": "Cancel By Batch Ids", + "description": "Immediately cancels all queue items from the given batch ids", + "operationId": "cancel_by_batch_ids", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_cancel_by_batch_ids" } } } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CancelByBatchIDsResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/cancel_by_destination": { + "put": { + "tags": ["queue"], + "summary": "Cancel By Destination", + "description": "Immediately cancels all queue items with the given origin", + "operationId": "cancel_by_destination", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + }, + { + "name": "destination", + "in": "query", + "required": true, + "schema": { + "type": "string", + "description": "The destination to cancel all queue items for", + "title": "Destination" + }, + "description": "The destination to cancel all queue items for" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CancelByDestinationResult" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/retry_items_by_id": { + "put": { + "tags": ["queue"], + "summary": "Retry Items By Id", + "description": "Immediately cancels all queue items with the given origin", + "operationId": "retry_items_by_id", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "type": "integer" }, + "description": "The queue item ids to retry", + "title": "Item Ids" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RetryItemsResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/clear": { + "put": { + "tags": ["queue"], + "summary": "Clear", + "description": "Clears the queue entirely, immediately canceling the currently-executing session", + "operationId": "clear", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClearResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/prune": { + "put": { + "tags": ["queue"], + "summary": "Prune", + "description": "Prunes all completed or errored queue items", + "operationId": "prune", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PruneResult" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/current": { + "get": { + "tags": ["queue"], + "summary": "Get Current Queue Item", + "description": "Gets the currently execution queue item", + "operationId": "get_current_queue_item", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "anyOf": [ + { "$ref": "#/components/schemas/SessionQueueItem" }, + { "type": "null" }, + { "$ref": "#/components/schemas/SessionQueueItem" }, + { "type": "null" } + ], + "title": "Response 200 Get Current Queue Item" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/next": { + "get": { + "tags": ["queue"], + "summary": "Get Next Queue Item", + "description": "Gets the next queue item, without executing it", + "operationId": "get_next_queue_item", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "anyOf": [ + { "$ref": "#/components/schemas/SessionQueueItem" }, + { "type": "null" }, + { "$ref": "#/components/schemas/SessionQueueItem" }, + { "type": "null" } + ], + "title": "Response 200 Get Next Queue Item" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/status": { + "get": { + "tags": ["queue"], + "summary": "Get Queue Status", + "description": "Gets the status of the session queue", + "operationId": "get_queue_status", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/SessionQueueAndProcessorStatus" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/b/{batch_id}/status": { + "get": { + "tags": ["queue"], + "summary": "Get Batch Status", + "description": "Gets the status of the session queue", + "operationId": "get_batch_status", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + }, + { + "name": "batch_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The batch to get the status of", "title": "Batch Id" }, + "description": "The batch to get the status of" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BatchStatus" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/i/{item_id}": { + "get": { + "tags": ["queue"], + "summary": "Get Queue Item", + "description": "Gets a queue item", + "operationId": "get_queue_item", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + }, + { + "name": "item_id", + "in": "path", + "required": true, + "schema": { "type": "integer", "description": "The queue item to get", "title": "Item Id" }, + "description": "The queue item to get" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionQueueItem" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "delete": { + "tags": ["queue"], + "summary": "Delete Queue Item", + "description": "Deletes a queue item", + "operationId": "delete_queue_item", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + }, + { + "name": "item_id", + "in": "path", + "required": true, + "schema": { "type": "integer", "description": "The queue item to delete", "title": "Item Id" }, + "description": "The queue item to delete" + } + ], + "responses": { + "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/i/{item_id}/cancel": { + "put": { + "tags": ["queue"], + "summary": "Cancel Queue Item", + "description": "Deletes a queue item", + "operationId": "cancel_queue_item", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + }, + { + "name": "item_id", + "in": "path", + "required": true, + "schema": { "type": "integer", "description": "The queue item to cancel", "title": "Item Id" }, + "description": "The queue item to cancel" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionQueueItem" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/counts_by_destination": { + "get": { + "tags": ["queue"], + "summary": "Counts By Destination", + "description": "Gets the counts of queue items by destination", + "operationId": "counts_by_destination", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The queue id to query", "title": "Queue Id" }, + "description": "The queue id to query" + }, + { + "name": "destination", + "in": "query", + "required": true, + "schema": { "type": "string", "description": "The destination to query", "title": "Destination" }, + "description": "The destination to query" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/SessionQueueCountsByDestination" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/queue/{queue_id}/d/{destination}": { + "delete": { + "tags": ["queue"], + "summary": "Delete By Destination", + "description": "Deletes all items with the given destination", + "operationId": "delete_by_destination", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The queue id to query", "title": "Queue Id" }, + "description": "The queue id to query" + }, + { + "name": "destination", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The destination to query", "title": "Destination" }, + "description": "The destination to query" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/DeleteByDestinationResult" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/workflows/i/{workflow_id}": { + "get": { + "tags": ["workflows"], + "summary": "Get Workflow", + "description": "Gets a workflow", + "operationId": "get_workflow", + "parameters": [ + { + "name": "workflow_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The workflow to get", "title": "Workflow Id" }, + "description": "The workflow to get" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRecordWithThumbnailDTO" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "patch": { + "tags": ["workflows"], + "summary": "Update Workflow", + "description": "Updates a workflow", + "operationId": "update_workflow", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_update_workflow" } } } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRecordDTO" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "delete": { + "tags": ["workflows"], + "summary": "Delete Workflow", + "description": "Deletes a workflow", + "operationId": "delete_workflow", + "parameters": [ + { + "name": "workflow_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The workflow to delete", "title": "Workflow Id" }, + "description": "The workflow to delete" + } + ], + "responses": { + "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/workflows/": { + "post": { + "tags": ["workflows"], + "summary": "Create Workflow", + "description": "Creates a workflow", + "operationId": "create_workflow", + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_create_workflow" } } } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRecordDTO" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "get": { + "tags": ["workflows"], + "summary": "List Workflows", + "description": "Gets a page of workflows", + "operationId": "list_workflows", + "parameters": [ + { + "name": "page", + "in": "query", + "required": false, + "schema": { "type": "integer", "description": "The page to get", "default": 0, "title": "Page" }, + "description": "The page to get" + }, + { + "name": "per_page", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "description": "The number of workflows per page", + "title": "Per Page" + }, + "description": "The number of workflows per page" + }, + { + "name": "order_by", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/WorkflowRecordOrderBy", + "description": "The attribute to order by", + "default": "name" + }, + "description": "The attribute to order by" + }, + { + "name": "direction", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/SQLiteDirection", + "description": "The direction to order by", + "default": "ASC" + }, + "description": "The direction to order by" + }, + { + "name": "categories", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { "type": "array", "items": { "$ref": "#/components/schemas/WorkflowCategory" } }, + { "type": "null" } + ], + "description": "The categories of workflow to get", + "title": "Categories" + }, + "description": "The categories of workflow to get" + }, + { + "name": "tags", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "null" }], + "description": "The tags of workflow to get", + "title": "Tags" + }, + "description": "The tags of workflow to get" + }, + { + "name": "query", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "description": "The text to query by (matches name and description)", + "title": "Query" + }, + "description": "The text to query by (matches name and description)" + }, + { + "name": "has_been_opened", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "description": "Whether to include/exclude recent workflows", + "title": "Has Been Opened" + }, + "description": "Whether to include/exclude recent workflows" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/PaginatedResults_WorkflowRecordListItemWithThumbnailDTO_" } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/workflows/i/{workflow_id}/thumbnail": { + "put": { + "tags": ["workflows"], + "summary": "Set Workflow Thumbnail", + "description": "Sets a workflow's thumbnail image", + "operationId": "set_workflow_thumbnail", + "parameters": [ + { + "name": "workflow_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The workflow to update", "title": "Workflow Id" }, + "description": "The workflow to update" + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_set_workflow_thumbnail" } } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRecordDTO" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "delete": { + "tags": ["workflows"], + "summary": "Delete Workflow Thumbnail", + "description": "Removes a workflow's thumbnail image", + "operationId": "delete_workflow_thumbnail", + "parameters": [ + { + "name": "workflow_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The workflow to update", "title": "Workflow Id" }, + "description": "The workflow to update" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRecordDTO" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "get": { + "tags": ["workflows"], + "summary": "Get Workflow Thumbnail", + "description": "Gets a workflow's thumbnail image", + "operationId": "get_workflow_thumbnail", + "parameters": [ + { + "name": "workflow_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The id of the workflow thumbnail to get", + "title": "Workflow Id" + }, + "description": "The id of the workflow thumbnail to get" + } + ], + "responses": { + "200": { + "description": "The workflow thumbnail was fetched successfully", + "content": { "application/json": { "schema": {} } } + }, + "400": { "description": "Bad request" }, + "404": { "description": "The workflow thumbnail could not be found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/workflows/counts_by_tag": { + "get": { + "tags": ["workflows"], + "summary": "Get Counts By Tag", + "description": "Counts workflows by tag", + "operationId": "get_counts_by_tag", + "parameters": [ + { + "name": "tags", + "in": "query", + "required": true, + "schema": { + "type": "array", + "items": { "type": "string" }, + "description": "The tags to get counts for", + "title": "Tags" + }, + "description": "The tags to get counts for" + }, + { + "name": "categories", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { "type": "array", "items": { "$ref": "#/components/schemas/WorkflowCategory" } }, + { "type": "null" } + ], + "description": "The categories to include", + "title": "Categories" + }, + "description": "The categories to include" + }, + { + "name": "has_been_opened", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "description": "Whether to include/exclude recent workflows", + "title": "Has Been Opened" + }, + "description": "Whether to include/exclude recent workflows" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { "type": "integer" }, + "title": "Response Get Counts By Tag" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/workflows/counts_by_category": { + "get": { + "tags": ["workflows"], + "summary": "Counts By Category", + "description": "Counts workflows by category", + "operationId": "counts_by_category", + "parameters": [ + { + "name": "categories", + "in": "query", + "required": true, + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/WorkflowCategory" }, + "description": "The categories to include", + "title": "Categories" + }, + "description": "The categories to include" + }, + { + "name": "has_been_opened", + "in": "query", + "required": false, + "schema": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "description": "Whether to include/exclude recent workflows", + "title": "Has Been Opened" + }, + "description": "Whether to include/exclude recent workflows" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { "type": "integer" }, + "title": "Response Counts By Category" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/workflows/i/{workflow_id}/opened_at": { + "put": { + "tags": ["workflows"], + "summary": "Update Opened At", + "description": "Updates the opened_at field of a workflow", + "operationId": "update_opened_at", + "parameters": [ + { + "name": "workflow_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The workflow to update", "title": "Workflow Id" }, + "description": "The workflow to update" + } + ], + "responses": { + "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/style_presets/i/{style_preset_id}": { + "get": { + "tags": ["style_presets"], + "summary": "Get Style Preset", + "description": "Gets a style preset", + "operationId": "get_style_preset", + "parameters": [ + { + "name": "style_preset_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The style preset to get", "title": "Style Preset Id" }, + "description": "The style preset to get" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/StylePresetRecordWithImage" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "patch": { + "tags": ["style_presets"], + "summary": "Update Style Preset", + "description": "Updates a style preset", + "operationId": "update_style_preset", + "parameters": [ + { + "name": "style_preset_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The id of the style preset to update", + "title": "Style Preset Id" + }, + "description": "The id of the style preset to update" + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_update_style_preset" } } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/StylePresetRecordWithImage" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + }, + "delete": { + "tags": ["style_presets"], + "summary": "Delete Style Preset", + "description": "Deletes a style preset", + "operationId": "delete_style_preset", + "parameters": [ + { + "name": "style_preset_id", + "in": "path", + "required": true, + "schema": { "type": "string", "description": "The style preset to delete", "title": "Style Preset Id" }, + "description": "The style preset to delete" + } + ], + "responses": { + "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/style_presets/": { + "get": { + "tags": ["style_presets"], + "summary": "List Style Presets", + "description": "Gets a page of style presets", + "operationId": "list_style_presets", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "items": { "$ref": "#/components/schemas/StylePresetRecordWithImage" }, + "type": "array", + "title": "Response 200 List Style Presets" + } + } + } + } + } + }, + "post": { + "tags": ["style_presets"], + "summary": "Create Style Preset", + "description": "Creates a style preset", + "operationId": "create_style_preset", + "requestBody": { + "content": { + "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_create_style_preset" } } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/StylePresetRecordWithImage" } } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/style_presets/i/{style_preset_id}/image": { + "get": { + "tags": ["style_presets"], + "summary": "Get Style Preset Image", + "description": "Gets an image file that previews the model", + "operationId": "get_style_preset_image", + "parameters": [ + { + "name": "style_preset_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The id of the style preset image to get", + "title": "Style Preset Id" + }, + "description": "The id of the style preset image to get" + } + ], + "responses": { + "200": { + "description": "The style preset image was fetched successfully", + "content": { "application/json": { "schema": {} } } + }, + "400": { "description": "Bad request" }, + "404": { "description": "The style preset image could not be found" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/style_presets/export": { + "get": { + "tags": ["style_presets"], + "summary": "Export Style Presets", + "operationId": "export_style_presets", + "responses": { + "200": { + "description": "A CSV file with the requested data.", + "content": { "application/json": { "schema": {} }, "text/csv": {} } + } + } + } + }, + "/api/v1/style_presets/import": { + "post": { + "tags": ["style_presets"], + "summary": "Import Style Presets", + "operationId": "import_style_presets", + "requestBody": { + "content": { + "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_import_style_presets" } } + }, + "required": true + }, + "responses": { + "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/client_state/{queue_id}/get_by_key": { + "get": { + "tags": ["client_state"], + "summary": "Get Client State By Key", + "description": "Gets the client state", + "operationId": "get_client_state_by_key", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + }, + { + "name": "key", + "in": "query", + "required": true, + "schema": { "type": "string", "description": "Key to get", "title": "Key" }, + "description": "Key to get" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Response Get Client State By Key" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/client_state/{queue_id}/set_by_key": { + "post": { + "tags": ["client_state"], + "summary": "Set Client State", + "description": "Sets the client state", + "operationId": "set_client_state", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + }, + { + "name": "key", + "in": "query", + "required": true, + "schema": { "type": "string", "description": "Key to set", "title": "Key" }, + "description": "Key to set" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "type": "string", "description": "Stringified value to set", "title": "Value" } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { "application/json": { "schema": { "type": "string", "title": "Response Set Client State" } } } + }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + }, + "/api/v1/client_state/{queue_id}/delete": { + "post": { + "tags": ["client_state"], + "summary": "Delete Client State", + "description": "Deletes the client state", + "operationId": "delete_client_state", + "parameters": [ + { + "name": "queue_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "The queue id to perform this operation on", + "title": "Queue Id" + }, + "description": "The queue id to perform this operation on" + } + ], + "responses": { + "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "204": { "description": "Client state deleted" }, + "422": { + "description": "Validation Error", + "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + } + } + } + } + }, + "components": { + "schemas": { + "AddImagesToBoardResult": { + "properties": { + "affected_boards": { + "items": { "type": "string" }, + "type": "array", + "title": "Affected Boards", + "description": "The ids of boards affected by the delete operation" + }, + "added_images": { + "items": { "type": "string" }, + "type": "array", + "title": "Added Images", + "description": "The image names that were added to the board" + } + }, + "type": "object", + "required": ["affected_boards", "added_images"], + "title": "AddImagesToBoardResult" + }, + "AddInvocation": { + "category": "math", + "class": "invocation", + "classification": "stable", + "description": "Adds two numbers", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "a": { + "default": 0, + "description": "The first number", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "A", + "type": "integer" + }, + "b": { + "default": 0, + "description": "The second number", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "B", + "type": "integer" + }, + "type": { + "const": "add", + "default": "add", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["math", "add"], + "title": "Add Integers", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/IntegerOutput" } + }, + "AlphaMaskToTensorInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "stable", + "description": "Convert a mask image to a tensor. Opaque regions are 1 and transparent regions are 0.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The mask image to convert.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "invert": { + "default": false, + "description": "Whether to invert the mask.", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Invert", + "type": "boolean" + }, + "type": { + "const": "alpha_mask_to_tensor", + "default": "alpha_mask_to_tensor", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["conditioning"], + "title": "Alpha Mask to Tensor", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/MaskOutput" } + }, + "AnyModelConfig": { + "oneOf": [ + { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, + { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, + { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, + { "$ref": "#/components/schemas/TI_File_SD1_Config" }, + { "$ref": "#/components/schemas/TI_File_SD2_Config" }, + { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, + { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, + { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, + { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, + { "$ref": "#/components/schemas/Unknown_Config" } + ] + }, + "AppVersion": { + "properties": { "version": { "type": "string", "title": "Version", "description": "App version" } }, + "type": "object", + "required": ["version"], + "title": "AppVersion", + "description": "App Version Response" + }, + "ApplyMaskTensorToImageInvocation": { + "category": "mask", + "class": "invocation", + "classification": "stable", + "description": "Applies a tensor mask to an image.\n\nThe image is converted to RGBA and the mask is applied to the alpha channel.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "The mask tensor to apply.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to apply the mask to.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "invert": { + "default": false, + "description": "Whether to invert the mask.", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Invert", + "type": "boolean" + }, + "type": { + "const": "apply_tensor_mask_to_image", + "default": "apply_tensor_mask_to_image", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["mask"], + "title": "Apply Tensor Mask to Image", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ApplyMaskToImageInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Extracts a region from a generated image using a mask and blends it seamlessly onto a source image.\nThe mask uses black to indicate areas to keep from the generated image and white for areas to discard.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image from which to extract the masked region", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The mask defining the region (black=keep, white=discard)", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "invert_mask": { + "default": false, + "description": "Whether to invert the mask before applying it", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Invert Mask", + "type": "boolean" + }, + "type": { + "const": "apply_mask_to_image", + "default": "apply_mask_to_image", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "mask", "blend"], + "title": "Apply Mask to Image", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "BaseMetadata": { + "properties": { + "name": { "type": "string", "title": "Name", "description": "model's name" }, + "type": { "type": "string", "const": "basemetadata", "title": "Type", "default": "basemetadata" } + }, + "type": "object", + "required": ["name"], + "title": "BaseMetadata", + "description": "Adds typing data for discriminated union." + }, + "BaseModelType": { + "type": "string", + "enum": ["any", "sd-1", "sd-2", "sd-3", "sdxl", "sdxl-refiner", "flux", "cogview4", "z-image", "unknown"], + "title": "BaseModelType", + "description": "An enumeration of base model architectures. For example, Stable Diffusion 1.x, Stable Diffusion 2.x, FLUX, etc.\n\nEvery model config must have a base architecture type.\n\nNot all models are associated with a base architecture. For example, CLIP models are their own thing, not related\nto any particular model architecture. To simplify internal APIs and make it easier to work with models, we use a\nfallback/null value `BaseModelType.Any` for these models, instead of making the model base optional." + }, + "Batch": { + "properties": { + "batch_id": { "type": "string", "title": "Batch Id", "description": "The ID of the batch" }, + "origin": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Origin", + "description": "The origin of this queue item. This data is used by the frontend to determine how to handle results." + }, + "destination": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Destination", + "description": "The origin of this queue item. This data is used by the frontend to determine how to handle results" + }, + "data": { + "anyOf": [ + { "items": { "items": { "$ref": "#/components/schemas/BatchDatum" }, "type": "array" }, "type": "array" }, + { "type": "null" } + ], + "title": "Data", + "description": "The batch data collection." + }, + "graph": { "$ref": "#/components/schemas/Graph", "description": "The graph to initialize the session with" }, + "workflow": { + "anyOf": [{ "$ref": "#/components/schemas/WorkflowWithoutID" }, { "type": "null" }], + "description": "The workflow to initialize the session with" + }, + "runs": { + "type": "integer", + "minimum": 1.0, + "title": "Runs", + "description": "Int stating how many times to iterate through all possible batch indices", + "default": 1 + } + }, + "type": "object", + "required": ["graph", "runs"], + "title": "Batch" + }, + "BatchDatum": { + "properties": { + "node_path": { + "type": "string", + "title": "Node Path", + "description": "The node into which this batch data collection will be substituted." + }, + "field_name": { + "type": "string", + "title": "Field Name", + "description": "The field into which this batch data collection will be substituted." + }, + "items": { + "items": { + "anyOf": [ + { "type": "string" }, + { "type": "number" }, + { "type": "integer" }, + { "$ref": "#/components/schemas/ImageField" } + ] + }, + "type": "array", + "title": "Items", + "description": "The list of items to substitute into the node/field." + } + }, + "type": "object", + "required": ["node_path", "field_name"], + "title": "BatchDatum" + }, + "BatchEnqueuedEvent": { + "description": "Event model for batch_enqueued", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, + "batch_id": { "description": "The ID of the batch", "title": "Batch Id", "type": "string" }, + "enqueued": { "description": "The number of invocations enqueued", "title": "Enqueued", "type": "integer" }, + "requested": { + "description": "The number of invocations initially requested to be enqueued (may be less than enqueued if queue was full)", + "title": "Requested", + "type": "integer" + }, + "priority": { "description": "The priority of the batch", "title": "Priority", "type": "integer" }, + "origin": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The origin of the batch", + "title": "Origin" + } + }, + "required": ["timestamp", "queue_id", "batch_id", "enqueued", "requested", "priority", "origin"], + "title": "BatchEnqueuedEvent", + "type": "object" + }, + "BatchStatus": { + "properties": { + "queue_id": { "type": "string", "title": "Queue Id", "description": "The ID of the queue" }, + "batch_id": { "type": "string", "title": "Batch Id", "description": "The ID of the batch" }, + "origin": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Origin", + "description": "The origin of the batch" + }, + "destination": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Destination", + "description": "The destination of the batch" + }, + "pending": { + "type": "integer", + "title": "Pending", + "description": "Number of queue items with status 'pending'" + }, + "in_progress": { + "type": "integer", + "title": "In Progress", + "description": "Number of queue items with status 'in_progress'" + }, + "completed": { + "type": "integer", + "title": "Completed", + "description": "Number of queue items with status 'complete'" + }, + "failed": { + "type": "integer", + "title": "Failed", + "description": "Number of queue items with status 'error'" + }, + "canceled": { + "type": "integer", + "title": "Canceled", + "description": "Number of queue items with status 'canceled'" + }, + "total": { "type": "integer", "title": "Total", "description": "Total number of queue items" } + }, + "type": "object", + "required": [ + "queue_id", + "batch_id", + "origin", + "destination", + "pending", + "in_progress", + "completed", + "failed", + "canceled", + "total" + ], + "title": "BatchStatus" + }, + "BlankImageInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Creates a blank image and forwards it to the pipeline", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "width": { + "default": 512, + "description": "The width of the image", + "field_kind": "input", + "input": "any", + "orig_default": 512, + "orig_required": false, + "title": "Width", + "type": "integer" + }, + "height": { + "default": 512, + "description": "The height of the image", + "field_kind": "input", + "input": "any", + "orig_default": 512, + "orig_required": false, + "title": "Height", + "type": "integer" + }, + "mode": { + "default": "RGB", + "description": "The mode of the image", + "enum": ["RGB", "RGBA"], + "field_kind": "input", + "input": "any", + "orig_default": "RGB", + "orig_required": false, + "title": "Mode", + "type": "string" + }, + "color": { + "$ref": "#/components/schemas/ColorField", + "default": { "r": 0, "g": 0, "b": 0, "a": 255 }, + "description": "The color of the image", + "field_kind": "input", + "input": "any", + "orig_default": { "a": 255, "b": 0, "g": 0, "r": 0 }, + "orig_required": false + }, + "type": { + "const": "blank_image", + "default": "blank_image", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image"], + "title": "Blank Image", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "BlendLatentsInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Blend two latents using a given alpha. If a mask is provided, the second latents will be masked before blending.\nLatents must have same size. Masking functionality added by @dwringer.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents_a": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "latents_b": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Mask for blending in latents B", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "alpha": { + "default": 0.5, + "description": "Blending factor. 0.0 = use input A only, 1.0 = use input B only, 0.5 = 50% mix of input A and input B.", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0.5, + "orig_required": false, + "title": "Alpha", + "type": "number" + }, + "type": { + "const": "lblend", + "default": "lblend", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "blend", "mask"], + "title": "Blend Latents", + "type": "object", + "version": "1.1.0", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "BoardChanges": { + "properties": { + "board_name": { + "anyOf": [{ "type": "string", "maxLength": 300 }, { "type": "null" }], + "title": "Board Name", + "description": "The board's new name." + }, + "cover_image_name": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image Name", + "description": "The name of the board's new cover image." + }, + "archived": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "title": "Archived", + "description": "Whether or not the board is archived" + } + }, + "additionalProperties": false, + "type": "object", + "title": "BoardChanges" + }, + "BoardDTO": { + "properties": { + "board_id": { "type": "string", "title": "Board Id", "description": "The unique ID of the board." }, + "board_name": { "type": "string", "title": "Board Name", "description": "The name of the board." }, + "created_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "title": "Created At", + "description": "The created timestamp of the board." + }, + "updated_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "title": "Updated At", + "description": "The updated timestamp of the board." + }, + "deleted_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "title": "Deleted At", + "description": "The deleted timestamp of the board." + }, + "cover_image_name": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image Name", + "description": "The name of the board's cover image." + }, + "archived": { + "type": "boolean", + "title": "Archived", + "description": "Whether or not the board is archived." + }, + "image_count": { + "type": "integer", + "title": "Image Count", + "description": "The number of images in the board." + }, + "asset_count": { + "type": "integer", + "title": "Asset Count", + "description": "The number of assets in the board." + } + }, + "type": "object", + "required": [ + "board_id", + "board_name", + "created_at", + "updated_at", + "cover_image_name", + "archived", + "image_count", + "asset_count" + ], + "title": "BoardDTO", + "description": "Deserialized board record with cover image URL and image count." + }, + "BoardField": { + "description": "A board primitive field", + "properties": { "board_id": { "description": "The id of the board", "title": "Board Id", "type": "string" } }, + "required": ["board_id"], + "title": "BoardField", + "type": "object" + }, + "BoardRecordOrderBy": { + "type": "string", + "enum": ["created_at", "board_name"], + "title": "BoardRecordOrderBy", + "description": "The order by options for board records" + }, + "Body_add_image_to_board": { + "properties": { + "board_id": { "type": "string", "title": "Board Id", "description": "The id of the board to add to" }, + "image_name": { "type": "string", "title": "Image Name", "description": "The name of the image to add" } + }, + "type": "object", + "required": ["board_id", "image_name"], + "title": "Body_add_image_to_board" + }, + "Body_add_images_to_board": { + "properties": { + "board_id": { "type": "string", "title": "Board Id", "description": "The id of the board to add to" }, + "image_names": { + "items": { "type": "string" }, + "type": "array", + "title": "Image Names", + "description": "The names of the images to add" + } + }, + "type": "object", + "required": ["board_id", "image_names"], + "title": "Body_add_images_to_board" + }, + "Body_cancel_by_batch_ids": { + "properties": { + "batch_ids": { + "items": { "type": "string" }, + "type": "array", + "title": "Batch Ids", + "description": "The list of batch_ids to cancel all queue items for" + } + }, + "type": "object", + "required": ["batch_ids"], + "title": "Body_cancel_by_batch_ids" + }, + "Body_create_image_upload_entry": { + "properties": { + "width": { "type": "integer", "title": "Width", "description": "The width of the image" }, + "height": { "type": "integer", "title": "Height", "description": "The height of the image" }, + "board_id": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Board Id", + "description": "The board to add this image to, if any" + } + }, + "type": "object", + "required": ["width", "height"], + "title": "Body_create_image_upload_entry" + }, + "Body_create_style_preset": { + "properties": { + "image": { + "anyOf": [{ "type": "string", "format": "binary" }, { "type": "null" }], + "title": "Image", + "description": "The image file to upload" + }, + "data": { "type": "string", "title": "Data", "description": "The data of the style preset to create" } + }, + "type": "object", + "required": ["data"], + "title": "Body_create_style_preset" + }, + "Body_create_workflow": { + "properties": { + "workflow": { "$ref": "#/components/schemas/WorkflowWithoutID", "description": "The workflow to create" } + }, + "type": "object", + "required": ["workflow"], + "title": "Body_create_workflow" + }, + "Body_delete_images_from_list": { + "properties": { + "image_names": { + "items": { "type": "string" }, + "type": "array", + "title": "Image Names", + "description": "The list of names of images to delete" + } + }, + "type": "object", + "required": ["image_names"], + "title": "Body_delete_images_from_list" + }, + "Body_do_hf_login": { + "properties": { + "token": { "type": "string", "title": "Token", "description": "Hugging Face token to use for login" } + }, + "type": "object", + "required": ["token"], + "title": "Body_do_hf_login" + }, + "Body_download": { + "properties": { + "source": { + "type": "string", + "minLength": 1, + "format": "uri", + "title": "Source", + "description": "download source" + }, + "dest": { "type": "string", "title": "Dest", "description": "download destination" }, + "priority": { "type": "integer", "title": "Priority", "description": "queue priority", "default": 10 }, + "access_token": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Access Token", + "description": "token for authorization to download" + } + }, + "type": "object", + "required": ["source", "dest"], + "title": "Body_download" + }, + "Body_download_images_from_list": { + "properties": { + "image_names": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "title": "Image Names", + "description": "The list of names of images to download" + }, + "board_id": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Board Id", + "description": "The board from which image should be downloaded" + } + }, + "type": "object", + "title": "Body_download_images_from_list" + }, + "Body_enqueue_batch": { + "properties": { + "batch": { "$ref": "#/components/schemas/Batch", "description": "Batch to process" }, + "prepend": { + "type": "boolean", + "title": "Prepend", + "description": "Whether or not to prepend this batch in the queue", + "default": false + } + }, + "type": "object", + "required": ["batch"], + "title": "Body_enqueue_batch" + }, + "Body_get_images_by_names": { + "properties": { + "image_names": { + "items": { "type": "string" }, + "type": "array", + "title": "Image Names", + "description": "Object containing list of image names to fetch DTOs for" + } + }, + "type": "object", + "required": ["image_names"], + "title": "Body_get_images_by_names" + }, + "Body_get_queue_items_by_item_ids": { + "properties": { + "item_ids": { + "items": { "type": "integer" }, + "type": "array", + "title": "Item Ids", + "description": "Object containing list of queue item ids to fetch queue items for" + } + }, + "type": "object", + "required": ["item_ids"], + "title": "Body_get_queue_items_by_item_ids" + }, + "Body_import_style_presets": { + "properties": { + "file": { "type": "string", "format": "binary", "title": "File", "description": "The file to import" } + }, + "type": "object", + "required": ["file"], + "title": "Body_import_style_presets" + }, + "Body_parse_dynamicprompts": { + "properties": { + "prompt": { "type": "string", "title": "Prompt", "description": "The prompt to parse with dynamicprompts" }, + "max_prompts": { + "type": "integer", + "maximum": 10000.0, + "minimum": 1.0, + "title": "Max Prompts", + "description": "The max number of prompts to generate", + "default": 1000 + }, + "combinatorial": { + "type": "boolean", + "title": "Combinatorial", + "description": "Whether to use the combinatorial generator", + "default": true + }, + "seed": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "title": "Seed", + "description": "The seed to use for random generation. Only used if not combinatorial" + } + }, + "type": "object", + "required": ["prompt"], + "title": "Body_parse_dynamicprompts" + }, + "Body_remove_image_from_board": { + "properties": { + "image_name": { "type": "string", "title": "Image Name", "description": "The name of the image to remove" } + }, + "type": "object", + "required": ["image_name"], + "title": "Body_remove_image_from_board" + }, + "Body_remove_images_from_board": { + "properties": { + "image_names": { + "items": { "type": "string" }, + "type": "array", + "title": "Image Names", + "description": "The names of the images to remove" + } + }, + "type": "object", + "required": ["image_names"], + "title": "Body_remove_images_from_board" + }, + "Body_set_workflow_thumbnail": { + "properties": { + "image": { "type": "string", "format": "binary", "title": "Image", "description": "The image file to upload" } + }, + "type": "object", + "required": ["image"], + "title": "Body_set_workflow_thumbnail" + }, + "Body_star_images_in_list": { + "properties": { + "image_names": { + "items": { "type": "string" }, + "type": "array", + "title": "Image Names", + "description": "The list of names of images to star" + } + }, + "type": "object", + "required": ["image_names"], + "title": "Body_star_images_in_list" + }, + "Body_unstar_images_in_list": { + "properties": { + "image_names": { + "items": { "type": "string" }, + "type": "array", + "title": "Image Names", + "description": "The list of names of images to unstar" + } + }, + "type": "object", + "required": ["image_names"], + "title": "Body_unstar_images_in_list" + }, + "Body_update_model_image": { + "properties": { "image": { "type": "string", "format": "binary", "title": "Image" } }, + "type": "object", + "required": ["image"], + "title": "Body_update_model_image" + }, + "Body_update_style_preset": { + "properties": { + "image": { + "anyOf": [{ "type": "string", "format": "binary" }, { "type": "null" }], + "title": "Image", + "description": "The image file to upload" + }, + "data": { "type": "string", "title": "Data", "description": "The data of the style preset to update" } + }, + "type": "object", + "required": ["data"], + "title": "Body_update_style_preset" + }, + "Body_update_workflow": { + "properties": { + "workflow": { "$ref": "#/components/schemas/Workflow", "description": "The updated workflow" } + }, + "type": "object", + "required": ["workflow"], + "title": "Body_update_workflow" + }, + "Body_upload_image": { + "properties": { + "file": { "type": "string", "format": "binary", "title": "File" }, + "resize_to": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Resize To", + "description": "Dimensions to resize the image to, must be stringified tuple of 2 integers. Max total pixel count: 16777216", + "examples": ["\"[1024,1024]\""] + }, + "metadata": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Metadata", + "description": "The metadata to associate with the image, must be a stringified JSON dict" + } + }, + "type": "object", + "required": ["file"], + "title": "Body_upload_image" + }, + "BooleanCollectionInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A collection of boolean primitive values", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "collection": { + "default": [], + "description": "The collection of boolean values", + "field_kind": "input", + "input": "any", + "items": { "type": "boolean" }, + "orig_default": [], + "orig_required": false, + "title": "Collection", + "type": "array" + }, + "type": { + "const": "boolean_collection", + "default": "boolean_collection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "boolean", "collection"], + "title": "Boolean Collection Primitive", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/BooleanCollectionOutput" } + }, + "BooleanCollectionOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of booleans", + "properties": { + "collection": { + "description": "The output boolean collection", + "field_kind": "output", + "items": { "type": "boolean" }, + "title": "Collection", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "boolean_collection_output", + "default": "boolean_collection_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "collection", "type", "type"], + "title": "BooleanCollectionOutput", + "type": "object" + }, + "BooleanInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A boolean primitive value", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "value": { + "default": false, + "description": "The boolean value", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Value", + "type": "boolean" + }, + "type": { + "const": "boolean", + "default": "boolean", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "boolean"], + "title": "Boolean Primitive", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/BooleanOutput" } + }, + "BooleanOutput": { + "class": "output", + "description": "Base class for nodes that output a single boolean", + "properties": { + "value": { + "description": "The output boolean", + "field_kind": "output", + "title": "Value", + "type": "boolean", + "ui_hidden": false + }, + "type": { + "const": "boolean_output", + "default": "boolean_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "value", "type", "type"], + "title": "BooleanOutput", + "type": "object" + }, + "BoundingBoxCollectionOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of bounding boxes", + "properties": { + "collection": { + "description": "The output bounding boxes.", + "field_kind": "output", + "items": { "$ref": "#/components/schemas/BoundingBoxField" }, + "title": "Bounding Boxes", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "bounding_box_collection_output", + "default": "bounding_box_collection_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "collection", "type", "type"], + "title": "BoundingBoxCollectionOutput", + "type": "object" + }, + "BoundingBoxField": { + "description": "A bounding box primitive value.", + "properties": { + "x_min": { + "description": "The minimum x-coordinate of the bounding box (inclusive).", + "title": "X Min", + "type": "integer" + }, + "x_max": { + "description": "The maximum x-coordinate of the bounding box (exclusive).", + "title": "X Max", + "type": "integer" + }, + "y_min": { + "description": "The minimum y-coordinate of the bounding box (inclusive).", + "title": "Y Min", + "type": "integer" + }, + "y_max": { + "description": "The maximum y-coordinate of the bounding box (exclusive).", + "title": "Y Max", + "type": "integer" + }, + "score": { + "anyOf": [{ "maximum": 1.0, "minimum": 0.0, "type": "number" }, { "type": "null" }], + "default": null, + "description": "The score associated with the bounding box. In the range [0, 1]. This value is typically set when the bounding box was produced by a detector and has an associated confidence score.", + "title": "Score" + } + }, + "required": ["x_min", "x_max", "y_min", "y_max"], + "title": "BoundingBoxField", + "type": "object" + }, + "BoundingBoxInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "Create a bounding box manually by supplying box coordinates", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "x_min": { + "default": 0, + "description": "x-coordinate of the bounding box's top left vertex", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "X Min", + "type": "integer" + }, + "y_min": { + "default": 0, + "description": "y-coordinate of the bounding box's top left vertex", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Y Min", + "type": "integer" + }, + "x_max": { + "default": 0, + "description": "x-coordinate of the bounding box's bottom right vertex", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "X Max", + "type": "integer" + }, + "y_max": { + "default": 0, + "description": "y-coordinate of the bounding box's bottom right vertex", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Y Max", + "type": "integer" + }, + "type": { + "const": "bounding_box", + "default": "bounding_box", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "segmentation", "collection", "bounding box"], + "title": "Bounding Box", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/BoundingBoxOutput" } + }, + "BoundingBoxOutput": { + "class": "output", + "description": "Base class for nodes that output a single bounding box", + "properties": { + "bounding_box": { + "$ref": "#/components/schemas/BoundingBoxField", + "description": "The output bounding box.", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "bounding_box_output", + "default": "bounding_box_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "bounding_box", "type", "type"], + "title": "BoundingBoxOutput", + "type": "object" + }, + "BulkDownloadCompleteEvent": { + "description": "Event model for bulk_download_complete", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "bulk_download_id": { + "description": "The ID of the bulk image download", + "title": "Bulk Download Id", + "type": "string" + }, + "bulk_download_item_id": { + "description": "The ID of the bulk image download item", + "title": "Bulk Download Item Id", + "type": "string" + }, + "bulk_download_item_name": { + "description": "The name of the bulk image download item", + "title": "Bulk Download Item Name", + "type": "string" + } + }, + "required": ["timestamp", "bulk_download_id", "bulk_download_item_id", "bulk_download_item_name"], + "title": "BulkDownloadCompleteEvent", + "type": "object" + }, + "BulkDownloadErrorEvent": { + "description": "Event model for bulk_download_error", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "bulk_download_id": { + "description": "The ID of the bulk image download", + "title": "Bulk Download Id", + "type": "string" + }, + "bulk_download_item_id": { + "description": "The ID of the bulk image download item", + "title": "Bulk Download Item Id", + "type": "string" + }, + "bulk_download_item_name": { + "description": "The name of the bulk image download item", + "title": "Bulk Download Item Name", + "type": "string" + }, + "error": { "description": "The error message", "title": "Error", "type": "string" } + }, + "required": ["timestamp", "bulk_download_id", "bulk_download_item_id", "bulk_download_item_name", "error"], + "title": "BulkDownloadErrorEvent", + "type": "object" + }, + "BulkDownloadStartedEvent": { + "description": "Event model for bulk_download_started", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "bulk_download_id": { + "description": "The ID of the bulk image download", + "title": "Bulk Download Id", + "type": "string" + }, + "bulk_download_item_id": { + "description": "The ID of the bulk image download item", + "title": "Bulk Download Item Id", + "type": "string" + }, + "bulk_download_item_name": { + "description": "The name of the bulk image download item", + "title": "Bulk Download Item Name", + "type": "string" + } + }, + "required": ["timestamp", "bulk_download_id", "bulk_download_item_id", "bulk_download_item_name"], + "title": "BulkDownloadStartedEvent", + "type": "object" + }, + "CLIPEmbed_Diffusers_G_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, + "type": { "type": "string", "const": "clip_embed", "title": "Type", "default": "clip_embed" }, + "variant": { "type": "string", "const": "gigantic", "title": "Variant", "default": "gigantic" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "base", + "type", + "variant" + ], + "title": "CLIPEmbed_Diffusers_G_Config" + }, + "CLIPEmbed_Diffusers_L_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, + "type": { "type": "string", "const": "clip_embed", "title": "Type", "default": "clip_embed" }, + "variant": { "type": "string", "const": "large", "title": "Variant", "default": "large" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "base", + "type", + "variant" + ], + "title": "CLIPEmbed_Diffusers_L_Config" + }, + "CLIPField": { + "properties": { + "tokenizer": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load tokenizer submodel" + }, + "text_encoder": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load text_encoder submodel" + }, + "skipped_layers": { + "description": "Number of skipped layers in text_encoder", + "title": "Skipped Layers", + "type": "integer" + }, + "loras": { + "description": "LoRAs to apply on model loading", + "items": { "$ref": "#/components/schemas/LoRAField" }, + "title": "Loras", + "type": "array" + } + }, + "required": ["tokenizer", "text_encoder", "skipped_layers", "loras"], + "title": "CLIPField", + "type": "object" + }, + "CLIPOutput": { + "class": "output", + "description": "Base class for invocations that output a CLIP field", + "properties": { + "clip": { + "$ref": "#/components/schemas/CLIPField", + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP", + "ui_hidden": false + }, + "type": { + "const": "clip_output", + "default": "clip_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "clip", "type", "type"], + "title": "CLIPOutput", + "type": "object" + }, + "CLIPSkipInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "stable", + "description": "Skip layers in clip text_encoder model.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "CLIP" + }, + "skipped_layers": { + "default": 0, + "description": "Number of layers to skip in text encoder", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Skipped Layers", + "type": "integer" + }, + "type": { + "const": "clip_skip", + "default": "clip_skip", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["clipskip", "clip", "skip"], + "title": "Apply CLIP Skip - SD1.5, SDXL", + "type": "object", + "version": "1.1.1", + "output": { "$ref": "#/components/schemas/CLIPSkipInvocationOutput" } + }, + "CLIPSkipInvocationOutput": { + "class": "output", + "description": "CLIP skip node output", + "properties": { + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP", + "ui_hidden": false + }, + "type": { + "const": "clip_skip_output", + "default": "clip_skip_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "clip", "type", "type"], + "title": "CLIPSkipInvocationOutput", + "type": "object" + }, + "CLIPVision_Diffusers_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, + "type": { "type": "string", "const": "clip_vision", "title": "Type", "default": "clip_vision" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "base", + "type" + ], + "title": "CLIPVision_Diffusers_Config", + "description": "Model config for CLIPVision." + }, + "CV2InfillInvocation": { + "category": "inpaint", + "class": "invocation", + "classification": "stable", + "description": "Infills transparent areas of an image using OpenCV Inpainting", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "infill_cv2", + "default": "infill_cv2", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "inpaint"], + "title": "CV2 Infill", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "CacheStats": { + "properties": { + "hits": { "type": "integer", "title": "Hits", "default": 0 }, + "misses": { "type": "integer", "title": "Misses", "default": 0 }, + "high_watermark": { "type": "integer", "title": "High Watermark", "default": 0 }, + "in_cache": { "type": "integer", "title": "In Cache", "default": 0 }, + "cleared": { "type": "integer", "title": "Cleared", "default": 0 }, + "cache_size": { "type": "integer", "title": "Cache Size", "default": 0 }, + "loaded_model_sizes": { + "additionalProperties": { "type": "integer" }, + "type": "object", + "title": "Loaded Model Sizes" + } + }, + "type": "object", + "title": "CacheStats" + }, + "CalculateImageTilesEvenSplitInvocation": { + "category": "tiles", + "class": "invocation", + "classification": "stable", + "description": "Calculate the coordinates and overlaps of tiles that cover a target image shape.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image_width": { + "default": 1024, + "description": "The image width, in pixels, to calculate tiles for.", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 1024, + "orig_required": false, + "title": "Image Width", + "type": "integer" + }, + "image_height": { + "default": 1024, + "description": "The image height, in pixels, to calculate tiles for.", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 1024, + "orig_required": false, + "title": "Image Height", + "type": "integer" + }, + "num_tiles_x": { + "default": 2, + "description": "Number of tiles to divide image into on the x axis", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 2, + "orig_required": false, + "title": "Num Tiles X", + "type": "integer" + }, + "num_tiles_y": { + "default": 2, + "description": "Number of tiles to divide image into on the y axis", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 2, + "orig_required": false, + "title": "Num Tiles Y", + "type": "integer" + }, + "overlap": { + "default": 128, + "description": "The overlap, in pixels, between adjacent tiles.", + "field_kind": "input", + "input": "any", + "minimum": 0, + "multipleOf": 8, + "orig_default": 128, + "orig_required": false, + "title": "Overlap", + "type": "integer" + }, + "type": { + "const": "calculate_image_tiles_even_split", + "default": "calculate_image_tiles_even_split", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["tiles"], + "title": "Calculate Image Tiles Even Split", + "type": "object", + "version": "1.1.1", + "output": { "$ref": "#/components/schemas/CalculateImageTilesOutput" } + }, + "CalculateImageTilesInvocation": { + "category": "tiles", + "class": "invocation", + "classification": "stable", + "description": "Calculate the coordinates and overlaps of tiles that cover a target image shape.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image_width": { + "default": 1024, + "description": "The image width, in pixels, to calculate tiles for.", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 1024, + "orig_required": false, + "title": "Image Width", + "type": "integer" + }, + "image_height": { + "default": 1024, + "description": "The image height, in pixels, to calculate tiles for.", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 1024, + "orig_required": false, + "title": "Image Height", + "type": "integer" + }, + "tile_width": { + "default": 576, + "description": "The tile width, in pixels.", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 576, + "orig_required": false, + "title": "Tile Width", + "type": "integer" + }, + "tile_height": { + "default": 576, + "description": "The tile height, in pixels.", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 576, + "orig_required": false, + "title": "Tile Height", + "type": "integer" + }, + "overlap": { + "default": 128, + "description": "The target overlap, in pixels, between adjacent tiles. Adjacent tiles will overlap by at least this amount", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 128, + "orig_required": false, + "title": "Overlap", + "type": "integer" + }, + "type": { + "const": "calculate_image_tiles", + "default": "calculate_image_tiles", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["tiles"], + "title": "Calculate Image Tiles", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/CalculateImageTilesOutput" } + }, + "CalculateImageTilesMinimumOverlapInvocation": { + "category": "tiles", + "class": "invocation", + "classification": "stable", + "description": "Calculate the coordinates and overlaps of tiles that cover a target image shape.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image_width": { + "default": 1024, + "description": "The image width, in pixels, to calculate tiles for.", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 1024, + "orig_required": false, + "title": "Image Width", + "type": "integer" + }, + "image_height": { + "default": 1024, + "description": "The image height, in pixels, to calculate tiles for.", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 1024, + "orig_required": false, + "title": "Image Height", + "type": "integer" + }, + "tile_width": { + "default": 576, + "description": "The tile width, in pixels.", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 576, + "orig_required": false, + "title": "Tile Width", + "type": "integer" + }, + "tile_height": { + "default": 576, + "description": "The tile height, in pixels.", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 576, + "orig_required": false, + "title": "Tile Height", + "type": "integer" + }, + "min_overlap": { + "default": 128, + "description": "Minimum overlap between adjacent tiles, in pixels.", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 128, + "orig_required": false, + "title": "Min Overlap", + "type": "integer" + }, + "type": { + "const": "calculate_image_tiles_min_overlap", + "default": "calculate_image_tiles_min_overlap", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["tiles"], + "title": "Calculate Image Tiles Minimum Overlap", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/CalculateImageTilesOutput" } + }, + "CalculateImageTilesOutput": { + "class": "output", + "properties": { + "tiles": { + "description": "The tiles coordinates that cover a particular image shape.", + "field_kind": "output", + "items": { "$ref": "#/components/schemas/Tile" }, + "title": "Tiles", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "calculate_image_tiles_output", + "default": "calculate_image_tiles_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "tiles", "type", "type"], + "title": "CalculateImageTilesOutput", + "type": "object" + }, + "CancelAllExceptCurrentResult": { + "properties": { + "canceled": { "type": "integer", "title": "Canceled", "description": "Number of queue items canceled" } + }, + "type": "object", + "required": ["canceled"], + "title": "CancelAllExceptCurrentResult", + "description": "Result of canceling all except current" + }, + "CancelByBatchIDsResult": { + "properties": { + "canceled": { "type": "integer", "title": "Canceled", "description": "Number of queue items canceled" } + }, + "type": "object", + "required": ["canceled"], + "title": "CancelByBatchIDsResult", + "description": "Result of canceling by list of batch ids" + }, + "CancelByDestinationResult": { + "properties": { + "canceled": { "type": "integer", "title": "Canceled", "description": "Number of queue items canceled" } + }, + "type": "object", + "required": ["canceled"], + "title": "CancelByDestinationResult", + "description": "Result of canceling by a destination" + }, + "CannyEdgeDetectionInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Geneartes an edge map using a cv2's Canny algorithm.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "low_threshold": { + "default": 100, + "description": "The low threshold of the Canny pixel gradient (0-255)", + "field_kind": "input", + "input": "any", + "maximum": 255, + "minimum": 0, + "orig_default": 100, + "orig_required": false, + "title": "Low Threshold", + "type": "integer" + }, + "high_threshold": { + "default": 200, + "description": "The high threshold of the Canny pixel gradient (0-255)", + "field_kind": "input", + "input": "any", + "maximum": 255, + "minimum": 0, + "orig_default": 200, + "orig_required": false, + "title": "High Threshold", + "type": "integer" + }, + "type": { + "const": "canny_edge_detection", + "default": "canny_edge_detection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet", "canny"], + "title": "Canny Edge Detection", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "CanvasPasteBackInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Combines two images by using the mask provided. Intended for use on the Unified Canvas.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "source_image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The source image", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "target_image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The target image", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The mask to use when pasting", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mask_blur": { + "default": 0, + "description": "The amount to blur the mask by", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Mask Blur", + "type": "integer" + }, + "type": { + "const": "canvas_paste_back", + "default": "canvas_paste_back", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "combine"], + "title": "Canvas Paste Back", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "CanvasV2MaskAndCropInvocation": { + "category": "image", + "class": "invocation", + "classification": "deprecated", + "description": "Handles Canvas V2 image output masking and cropping", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "source_image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The source image onto which the masked generated image is pasted. If omitted, the masked generated image is returned with transparency.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "generated_image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to apply the mask to", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The mask to apply", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mask_blur": { + "default": 0, + "description": "The amount to blur the mask by", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Mask Blur", + "type": "integer" + }, + "type": { + "const": "canvas_v2_mask_and_crop", + "default": "canvas_v2_mask_and_crop", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "mask", "id"], + "title": "Canvas V2 Mask and Crop", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "CenterPadCropInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Pad or crop an image's sides from the center by specified pixels. Positive values are outside of the image.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to crop", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "left": { + "default": 0, + "description": "Number of pixels to pad/crop from the left (negative values crop inwards, positive values pad outwards)", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Left", + "type": "integer" + }, + "right": { + "default": 0, + "description": "Number of pixels to pad/crop from the right (negative values crop inwards, positive values pad outwards)", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Right", + "type": "integer" + }, + "top": { + "default": 0, + "description": "Number of pixels to pad/crop from the top (negative values crop inwards, positive values pad outwards)", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Top", + "type": "integer" + }, + "bottom": { + "default": 0, + "description": "Number of pixels to pad/crop from the bottom (negative values crop inwards, positive values pad outwards)", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Bottom", + "type": "integer" + }, + "type": { + "const": "img_pad_crop", + "default": "img_pad_crop", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "pad", "crop"], + "title": "Center Pad or Crop Image", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "Classification": { + "description": "The classification of an Invocation.\n- `Stable`: The invocation, including its inputs/outputs and internal logic, is stable. You may build workflows with it, having confidence that they will not break because of a change in this invocation.\n- `Beta`: The invocation is not yet stable, but is planned to be stable in the future. Workflows built around this invocation may break, but we are committed to supporting this invocation long-term.\n- `Prototype`: The invocation is not yet stable and may be removed from the application at any time. Workflows built around this invocation may break, and we are *not* committed to supporting this invocation.\n- `Deprecated`: The invocation is deprecated and may be removed in a future version.\n- `Internal`: The invocation is not intended for use by end-users. It may be changed or removed at any time, but is exposed for users to play with.\n- `Special`: The invocation is a special case and does not fit into any of the other classifications.", + "enum": ["stable", "beta", "prototype", "deprecated", "internal", "special"], + "title": "Classification", + "type": "string" + }, + "ClearResult": { + "properties": { + "deleted": { "type": "integer", "title": "Deleted", "description": "Number of queue items deleted" } + }, + "type": "object", + "required": ["deleted"], + "title": "ClearResult", + "description": "Result of clearing the session queue" + }, + "ClipVariantType": { + "type": "string", + "enum": ["large", "gigantic"], + "title": "ClipVariantType", + "description": "Variant type." + }, + "CogView4ConditioningField": { + "description": "A conditioning tensor primitive value", + "properties": { + "conditioning_name": { + "description": "The name of conditioning tensor", + "title": "Conditioning Name", + "type": "string" + } + }, + "required": ["conditioning_name"], + "title": "CogView4ConditioningField", + "type": "object" + }, + "CogView4ConditioningOutput": { + "class": "output", + "description": "Base class for nodes that output a CogView text conditioning tensor.", + "properties": { + "conditioning": { + "$ref": "#/components/schemas/CogView4ConditioningField", + "description": "Conditioning tensor", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "cogview4_conditioning_output", + "default": "cogview4_conditioning_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "conditioning", "type", "type"], + "title": "CogView4ConditioningOutput", + "type": "object" + }, + "CogView4DenoiseInvocation": { + "category": "image", + "class": "invocation", + "classification": "prototype", + "description": "Run the denoising process with a CogView4 model.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "denoise_mask": { + "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "default": null, + "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "denoising_start": { + "default": 0.0, + "description": "When to start denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0.0, + "orig_required": false, + "title": "Denoising Start", + "type": "number" + }, + "denoising_end": { + "default": 1.0, + "description": "When to stop denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Denoising End", + "type": "number" + }, + "transformer": { + "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "default": null, + "description": "CogView4 model (Transformer) to load", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "Transformer" + }, + "positive_conditioning": { + "anyOf": [{ "$ref": "#/components/schemas/CogView4ConditioningField" }, { "type": "null" }], + "default": null, + "description": "Positive conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "negative_conditioning": { + "anyOf": [{ "$ref": "#/components/schemas/CogView4ConditioningField" }, { "type": "null" }], + "default": null, + "description": "Negative conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "cfg_scale": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 3.5, + "description": "Classifier-Free Guidance scale", + "field_kind": "input", + "input": "any", + "orig_default": 3.5, + "orig_required": false, + "title": "CFG Scale" + }, + "width": { + "default": 1024, + "description": "Width of the generated image.", + "field_kind": "input", + "input": "any", + "multipleOf": 32, + "orig_default": 1024, + "orig_required": false, + "title": "Width", + "type": "integer" + }, + "height": { + "default": 1024, + "description": "Height of the generated image.", + "field_kind": "input", + "input": "any", + "multipleOf": 32, + "orig_default": 1024, + "orig_required": false, + "title": "Height", + "type": "integer" + }, + "steps": { + "default": 25, + "description": "Number of steps to run", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 25, + "orig_required": false, + "title": "Steps", + "type": "integer" + }, + "seed": { + "default": 0, + "description": "Randomness seed for reproducibility.", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Seed", + "type": "integer" + }, + "type": { + "const": "cogview4_denoise", + "default": "cogview4_denoise", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "cogview4"], + "title": "Denoise - CogView4", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "CogView4ImageToLatentsInvocation": { + "category": "image", + "class": "invocation", + "classification": "prototype", + "description": "Generates latents from an image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to encode.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "type": { + "const": "cogview4_i2l", + "default": "cogview4_i2l", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "latents", "vae", "i2l", "cogview4"], + "title": "Image to Latents - CogView4", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "CogView4LatentsToImageInvocation": { + "category": "latents", + "class": "invocation", + "classification": "prototype", + "description": "Generates an image from latents.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "type": { + "const": "cogview4_l2i", + "default": "cogview4_l2i", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "image", "vae", "l2i", "cogview4"], + "title": "Latents to Image - CogView4", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "CogView4ModelLoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "prototype", + "description": "Loads a CogView4 base model, outputting its submodels.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "CogView4 model (Transformer) to load", + "field_kind": "input", + "input": "direct", + "orig_required": true, + "ui_model_base": ["cogview4"], + "ui_model_type": ["main"] + }, + "type": { + "const": "cogview4_model_loader", + "default": "cogview4_model_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["model", "type", "id"], + "tags": ["model", "cogview4"], + "title": "Main Model - CogView4", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/CogView4ModelLoaderOutput" } + }, + "CogView4ModelLoaderOutput": { + "class": "output", + "description": "CogView4 base model loader output.", + "properties": { + "transformer": { + "$ref": "#/components/schemas/TransformerField", + "description": "Transformer", + "field_kind": "output", + "title": "Transformer", + "ui_hidden": false + }, + "glm_encoder": { + "$ref": "#/components/schemas/GlmEncoderField", + "description": "GLM (THUDM) tokenizer and text encoder", + "field_kind": "output", + "title": "GLM Encoder", + "ui_hidden": false + }, + "vae": { + "$ref": "#/components/schemas/VAEField", + "description": "VAE", + "field_kind": "output", + "title": "VAE", + "ui_hidden": false + }, + "type": { + "const": "cogview4_model_loader_output", + "default": "cogview4_model_loader_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "transformer", "glm_encoder", "vae", "type", "type"], + "title": "CogView4ModelLoaderOutput", + "type": "object" + }, + "CogView4TextEncoderInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "prototype", + "description": "Encodes and preps a prompt for a cogview4 image.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "prompt": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Text prompt to encode.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Prompt", + "ui_component": "textarea" + }, + "glm_encoder": { + "anyOf": [{ "$ref": "#/components/schemas/GlmEncoderField" }, { "type": "null" }], + "default": null, + "description": "GLM (THUDM) tokenizer and text encoder", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "GLM Encoder" + }, + "type": { + "const": "cogview4_text_encoder", + "default": "cogview4_text_encoder", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["prompt", "conditioning", "cogview4"], + "title": "Prompt - CogView4", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/CogView4ConditioningOutput" } + }, + "CollectInvocation": { + "class": "invocation", + "classification": "stable", + "description": "Collects values into a collection", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "item": { + "anyOf": [{}, { "type": "null" }], + "default": null, + "description": "The item to collect (all inputs must be of the same type)", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Collection Item", + "ui_type": "CollectionItemField" + }, + "collection": { + "default": [], + "description": "The collection, will be provided on execution", + "field_kind": "input", + "input": "any", + "items": {}, + "orig_default": [], + "orig_required": false, + "title": "Collection", + "type": "array", + "ui_hidden": true + }, + "type": { + "const": "collect", + "default": "collect", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "title": "CollectInvocation", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/CollectInvocationOutput" } + }, + "CollectInvocationOutput": { + "class": "output", + "properties": { + "collection": { + "description": "The collection of input items", + "field_kind": "output", + "items": {}, + "title": "Collection", + "type": "array", + "ui_hidden": false, + "ui_type": "CollectionField" + }, + "type": { + "const": "collect_output", + "default": "collect_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "collection", "type", "type"], + "title": "CollectInvocationOutput", + "type": "object" + }, + "ColorCollectionOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of colors", + "properties": { + "collection": { + "description": "The output colors", + "field_kind": "output", + "items": { "$ref": "#/components/schemas/ColorField" }, + "title": "Collection", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "color_collection_output", + "default": "color_collection_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "collection", "type", "type"], + "title": "ColorCollectionOutput", + "type": "object" + }, + "ColorCorrectInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Matches the color histogram of a base image to a reference image, optionally\nusing a mask to only color-correct certain regions of the base image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "base_image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to color-correct", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "color_reference": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Reference image for color-correction", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Optional mask to limit color correction area", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "colorspace": { + "default": "RGB", + "description": "Colorspace in which to apply histogram matching", + "enum": ["RGB", "YCbCr", "YCbCr-Chroma", "YCbCr-Luma"], + "field_kind": "input", + "input": "any", + "orig_default": "RGB", + "orig_required": false, + "title": "Color Space", + "type": "string" + }, + "type": { + "const": "color_correct", + "default": "color_correct", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "color"], + "title": "Color Correct", + "type": "object", + "version": "2.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ColorField": { + "description": "A color primitive field", + "properties": { + "r": { "description": "The red component", "maximum": 255, "minimum": 0, "title": "R", "type": "integer" }, + "g": { "description": "The green component", "maximum": 255, "minimum": 0, "title": "G", "type": "integer" }, + "b": { "description": "The blue component", "maximum": 255, "minimum": 0, "title": "B", "type": "integer" }, + "a": { "description": "The alpha component", "maximum": 255, "minimum": 0, "title": "A", "type": "integer" } + }, + "required": ["r", "g", "b", "a"], + "title": "ColorField", + "type": "object" + }, + "ColorInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A color primitive value", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "color": { + "$ref": "#/components/schemas/ColorField", + "default": { "r": 0, "g": 0, "b": 0, "a": 255 }, + "description": "The color value", + "field_kind": "input", + "input": "any", + "orig_default": { "a": 255, "b": 0, "g": 0, "r": 0 }, + "orig_required": false + }, + "type": { + "const": "color", + "default": "color", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "color"], + "title": "Color Primitive", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/ColorOutput" } + }, + "ColorMapInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Generates a color map from the provided image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "tile_size": { + "default": 64, + "description": "Tile size", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 64, + "orig_required": false, + "title": "Tile Size", + "type": "integer" + }, + "type": { + "const": "color_map", + "default": "color_map", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet"], + "title": "Color Map", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ColorOutput": { + "class": "output", + "description": "Base class for nodes that output a single color", + "properties": { + "color": { + "$ref": "#/components/schemas/ColorField", + "description": "The output color", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "color_output", + "default": "color_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "color", "type", "type"], + "title": "ColorOutput", + "type": "object" + }, + "CompelInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "stable", + "description": "Parse prompt using compel package to conditioning.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "prompt": { + "default": "", + "description": "Prompt to be parsed by Compel to create a conditioning tensor", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "Prompt", + "type": "string", + "ui_component": "textarea" + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "CLIP" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "A mask defining the region that this conditioning prompt applies to.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "type": { + "const": "compel", + "default": "compel", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["prompt", "compel"], + "title": "Prompt - SD1.5", + "type": "object", + "version": "1.2.1", + "output": { "$ref": "#/components/schemas/ConditioningOutput" } + }, + "ConditioningCollectionInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A collection of conditioning tensor primitive values", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "collection": { + "default": [], + "description": "The collection of conditioning tensors", + "field_kind": "input", + "input": "any", + "items": { "$ref": "#/components/schemas/ConditioningField" }, + "orig_default": [], + "orig_required": false, + "title": "Collection", + "type": "array" + }, + "type": { + "const": "conditioning_collection", + "default": "conditioning_collection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "conditioning", "collection"], + "title": "Conditioning Collection Primitive", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/ConditioningCollectionOutput" } + }, + "ConditioningCollectionOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of conditioning tensors", + "properties": { + "collection": { + "description": "The output conditioning tensors", + "field_kind": "output", + "items": { "$ref": "#/components/schemas/ConditioningField" }, + "title": "Collection", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "conditioning_collection_output", + "default": "conditioning_collection_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "collection", "type", "type"], + "title": "ConditioningCollectionOutput", + "type": "object" + }, + "ConditioningField": { + "description": "A conditioning tensor primitive value", + "properties": { + "conditioning_name": { + "description": "The name of conditioning tensor", + "title": "Conditioning Name", + "type": "string" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "The mask associated with this conditioning tensor. Excluded regions should be set to False, included regions should be set to True." + } + }, + "required": ["conditioning_name"], + "title": "ConditioningField", + "type": "object" + }, + "ConditioningInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A conditioning tensor primitive value", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "conditioning": { + "anyOf": [{ "$ref": "#/components/schemas/ConditioningField" }, { "type": "null" }], + "default": null, + "description": "Conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "type": { + "const": "conditioning", + "default": "conditioning", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "conditioning"], + "title": "Conditioning Primitive", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/ConditioningOutput" } + }, + "ConditioningOutput": { + "class": "output", + "description": "Base class for nodes that output a single conditioning tensor", + "properties": { + "conditioning": { + "$ref": "#/components/schemas/ConditioningField", + "description": "Conditioning tensor", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "conditioning_output", + "default": "conditioning_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "conditioning", "type", "type"], + "title": "ConditioningOutput", + "type": "object" + }, + "ContentShuffleInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Shuffles the image, similar to a 'liquify' filter.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "scale_factor": { + "default": 256, + "description": "The scale factor used for the shuffle", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 256, + "orig_required": false, + "title": "Scale Factor", + "type": "integer" + }, + "type": { + "const": "content_shuffle", + "default": "content_shuffle", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet", "normal"], + "title": "Content Shuffle", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ControlAdapterDefaultSettings": { + "properties": { + "preprocessor": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Preprocessor" } + }, + "additionalProperties": false, + "type": "object", + "required": ["preprocessor"], + "title": "ControlAdapterDefaultSettings" + }, + "ControlField": { + "properties": { + "image": { "$ref": "#/components/schemas/ImageField", "description": "The control image" }, + "control_model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "The ControlNet model to use" + }, + "control_weight": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1, + "description": "The weight given to the ControlNet", + "title": "Control Weight" + }, + "begin_step_percent": { + "default": 0, + "description": "When the ControlNet is first applied (% of total steps)", + "maximum": 1, + "minimum": 0, + "title": "Begin Step Percent", + "type": "number" + }, + "end_step_percent": { + "default": 1, + "description": "When the ControlNet is last applied (% of total steps)", + "maximum": 1, + "minimum": 0, + "title": "End Step Percent", + "type": "number" + }, + "control_mode": { + "default": "balanced", + "description": "The control mode to use", + "enum": ["balanced", "more_prompt", "more_control", "unbalanced"], + "title": "Control Mode", + "type": "string" + }, + "resize_mode": { + "default": "just_resize", + "description": "The resize mode to use", + "enum": ["just_resize", "crop_resize", "fill_resize", "just_resize_simple"], + "title": "Resize Mode", + "type": "string" + } + }, + "required": ["image", "control_model"], + "title": "ControlField", + "type": "object" + }, + "ControlLoRAField": { + "properties": { + "lora": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "Info to load lora model" }, + "weight": { "description": "Weight to apply to lora model", "title": "Weight", "type": "number" }, + "img": { "$ref": "#/components/schemas/ImageField", "description": "Image to use in structural conditioning" } + }, + "required": ["lora", "weight", "img"], + "title": "ControlLoRAField", + "type": "object" + }, + "ControlLoRA_LyCORIS_FLUX_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + }, + "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" }, + "type": { "type": "string", "const": "control_lora", "title": "Type", "default": "control_lora" }, + "format": { "type": "string", "const": "lycoris", "title": "Format", "default": "lycoris" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases" + } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "default_settings", + "base", + "type", + "format", + "trigger_phrases" + ], + "title": "ControlLoRA_LyCORIS_FLUX_Config", + "description": "Model config for Control LoRA models." + }, + "ControlNetInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Collects ControlNet info to pass to other nodes", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The control image", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "control_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "ControlNet model to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "ui_model_base": ["sd-1", "sd-2", "sdxl"], + "ui_model_type": ["controlnet"] + }, + "control_weight": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1.0, + "description": "The weight given to the ControlNet", + "field_kind": "input", + "ge": -1, + "input": "any", + "le": 2, + "orig_default": 1.0, + "orig_required": false, + "title": "Control Weight" + }, + "begin_step_percent": { + "default": 0, + "description": "When the ControlNet is first applied (% of total steps)", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Begin Step Percent", + "type": "number" + }, + "end_step_percent": { + "default": 1, + "description": "When the ControlNet is last applied (% of total steps)", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1, + "orig_required": false, + "title": "End Step Percent", + "type": "number" + }, + "control_mode": { + "default": "balanced", + "description": "The control mode used", + "enum": ["balanced", "more_prompt", "more_control", "unbalanced"], + "field_kind": "input", + "input": "any", + "orig_default": "balanced", + "orig_required": false, + "title": "Control Mode", + "type": "string" + }, + "resize_mode": { + "default": "just_resize", + "description": "The resize mode used", + "enum": ["just_resize", "crop_resize", "fill_resize", "just_resize_simple"], + "field_kind": "input", + "input": "any", + "orig_default": "just_resize", + "orig_required": false, + "title": "Resize Mode", + "type": "string" + }, + "type": { + "const": "controlnet", + "default": "controlnet", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet"], + "title": "ControlNet - SD1.5, SD2, SDXL", + "type": "object", + "version": "1.1.3", + "output": { "$ref": "#/components/schemas/ControlOutput" } + }, + "ControlNetMetadataField": { + "properties": { + "image": { "$ref": "#/components/schemas/ImageField", "description": "The control image" }, + "processed_image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The control image, after processing." + }, + "control_model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "The ControlNet model to use" + }, + "control_weight": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1, + "description": "The weight given to the ControlNet", + "title": "Control Weight" + }, + "begin_step_percent": { + "default": 0, + "description": "When the ControlNet is first applied (% of total steps)", + "maximum": 1, + "minimum": 0, + "title": "Begin Step Percent", + "type": "number" + }, + "end_step_percent": { + "default": 1, + "description": "When the ControlNet is last applied (% of total steps)", + "maximum": 1, + "minimum": 0, + "title": "End Step Percent", + "type": "number" + }, + "control_mode": { + "default": "balanced", + "description": "The control mode to use", + "enum": ["balanced", "more_prompt", "more_control", "unbalanced"], + "title": "Control Mode", + "type": "string" + }, + "resize_mode": { + "default": "just_resize", + "description": "The resize mode to use", + "enum": ["just_resize", "crop_resize", "fill_resize", "just_resize_simple"], + "title": "Resize Mode", + "type": "string" + } + }, + "required": ["image", "control_model"], + "title": "ControlNetMetadataField", + "type": "object" + }, + "ControlNet_Checkpoint_FLUX_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + }, + "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "config_path", + "type", + "format", + "default_settings", + "base" + ], + "title": "ControlNet_Checkpoint_FLUX_Config" + }, + "ControlNet_Checkpoint_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "config_path", + "type", + "format", + "default_settings", + "base" + ], + "title": "ControlNet_Checkpoint_SD1_Config" + }, + "ControlNet_Checkpoint_SD2_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + }, + "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "config_path", + "type", + "format", + "default_settings", + "base" + ], + "title": "ControlNet_Checkpoint_SD2_Config" + }, + "ControlNet_Checkpoint_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "config_path", + "type", + "format", + "default_settings", + "base" + ], + "title": "ControlNet_Checkpoint_SDXL_Config" + }, + "ControlNet_Diffusers_FLUX_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + }, + "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "type", + "default_settings", + "base" + ], + "title": "ControlNet_Diffusers_FLUX_Config" + }, + "ControlNet_Diffusers_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "type", + "default_settings", + "base" + ], + "title": "ControlNet_Diffusers_SD1_Config" + }, + "ControlNet_Diffusers_SD2_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + }, + "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "type", + "default_settings", + "base" + ], + "title": "ControlNet_Diffusers_SD2_Config" + }, + "ControlNet_Diffusers_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "type", + "default_settings", + "base" + ], + "title": "ControlNet_Diffusers_SDXL_Config" + }, + "ControlOutput": { + "class": "output", + "description": "node output for ControlNet info", + "properties": { + "control": { + "$ref": "#/components/schemas/ControlField", + "description": "ControlNet(s) to apply", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "control_output", + "default": "control_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "control", "type", "type"], + "title": "ControlOutput", + "type": "object" + }, + "CoreMetadataInvocation": { + "additionalProperties": true, + "category": "metadata", + "class": "invocation", + "classification": "internal", + "description": "Used internally by Invoke to collect metadata for generations.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "generation_mode": { + "anyOf": [ + { + "enum": [ + "txt2img", + "img2img", + "inpaint", + "outpaint", + "sdxl_txt2img", + "sdxl_img2img", + "sdxl_inpaint", + "sdxl_outpaint", + "flux_txt2img", + "flux_img2img", + "flux_inpaint", + "flux_outpaint", + "sd3_txt2img", + "sd3_img2img", + "sd3_inpaint", + "sd3_outpaint", + "cogview4_txt2img", + "cogview4_img2img", + "cogview4_inpaint", + "cogview4_outpaint", + "z_image_txt2img", + "z_image_img2img", + "z_image_inpaint", + "z_image_outpaint" + ], + "type": "string" + }, + { "type": "null" } + ], + "default": null, + "description": "The generation mode that output this image", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Generation Mode" + }, + "positive_prompt": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The positive prompt parameter", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Positive Prompt" + }, + "negative_prompt": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The negative prompt parameter", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Negative Prompt" + }, + "width": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The width parameter", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Width" + }, + "height": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The height parameter", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Height" + }, + "seed": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The seed used for noise generation", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Seed" + }, + "rand_device": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The device used for random number generation", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Rand Device" + }, + "cfg_scale": { + "anyOf": [{ "type": "number" }, { "type": "null" }], + "default": null, + "description": "The classifier-free guidance scale parameter", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Cfg Scale" + }, + "cfg_rescale_multiplier": { + "anyOf": [{ "type": "number" }, { "type": "null" }], + "default": null, + "description": "Rescale multiplier for CFG guidance, used for models trained with zero-terminal SNR", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Cfg Rescale Multiplier" + }, + "steps": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The number of steps used for inference", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Steps" + }, + "scheduler": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The scheduler used for inference", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Scheduler" + }, + "seamless_x": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "default": null, + "description": "Whether seamless tiling was used on the X axis", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Seamless X" + }, + "seamless_y": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "default": null, + "description": "Whether seamless tiling was used on the Y axis", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Seamless Y" + }, + "clip_skip": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The number of skipped CLIP layers", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Clip Skip" + }, + "model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "The main model used for inference", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "controlnets": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/ControlNetMetadataField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "The ControlNets used for inference", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Controlnets" + }, + "ipAdapters": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/IPAdapterMetadataField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "The IP Adapters used for inference", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Ipadapters" + }, + "t2iAdapters": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/T2IAdapterMetadataField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "The IP Adapters used for inference", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "T2Iadapters" + }, + "loras": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/LoRAMetadataField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "The LoRAs used for inference", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Loras" + }, + "strength": { + "anyOf": [{ "type": "number" }, { "type": "null" }], + "default": null, + "description": "The strength used for latents-to-latents", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Strength" + }, + "init_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The name of the initial image", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Init Image" + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "The VAE used for decoding, if the main model's default was not used", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "hrf_enabled": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "default": null, + "description": "Whether or not high resolution fix was enabled.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Hrf Enabled" + }, + "hrf_method": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The high resolution fix upscale method.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Hrf Method" + }, + "hrf_strength": { + "anyOf": [{ "type": "number" }, { "type": "null" }], + "default": null, + "description": "The high resolution fix img2img strength used in the upscale pass.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Hrf Strength" + }, + "positive_style_prompt": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The positive style prompt parameter", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Positive Style Prompt" + }, + "negative_style_prompt": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The negative style prompt parameter", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Negative Style Prompt" + }, + "refiner_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "The SDXL Refiner model used", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "refiner_cfg_scale": { + "anyOf": [{ "type": "number" }, { "type": "null" }], + "default": null, + "description": "The classifier-free guidance scale parameter used for the refiner", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Refiner Cfg Scale" + }, + "refiner_steps": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The number of steps used for the refiner", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Refiner Steps" + }, + "refiner_scheduler": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The scheduler used for the refiner", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Refiner Scheduler" + }, + "refiner_positive_aesthetic_score": { + "anyOf": [{ "type": "number" }, { "type": "null" }], + "default": null, + "description": "The aesthetic score used for the refiner", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Refiner Positive Aesthetic Score" + }, + "refiner_negative_aesthetic_score": { + "anyOf": [{ "type": "number" }, { "type": "null" }], + "default": null, + "description": "The aesthetic score used for the refiner", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Refiner Negative Aesthetic Score" + }, + "refiner_start": { + "anyOf": [{ "type": "number" }, { "type": "null" }], + "default": null, + "description": "The start value used for refiner denoising", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Refiner Start" + }, + "type": { + "const": "core_metadata", + "default": "core_metadata", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Core Metadata", + "type": "object", + "version": "2.0.0", + "output": { "$ref": "#/components/schemas/MetadataOutput" } + }, + "CreateDenoiseMaskInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Creates mask for denoising model run.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "ui_order": 0 + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Image which will be masked", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "ui_order": 1 + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The mask to use when pasting", + "field_kind": "input", + "input": "any", + "orig_required": true, + "ui_order": 2 + }, + "tiled": { + "default": false, + "description": "Processing using overlapping tiles (reduce memory consumption)", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Tiled", + "type": "boolean", + "ui_order": 3 + }, + "fp32": { + "default": false, + "description": "Whether or not to use full float32 precision", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Fp32", + "type": "boolean", + "ui_order": 4 + }, + "type": { + "const": "create_denoise_mask", + "default": "create_denoise_mask", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["mask", "denoise"], + "title": "Create Denoise Mask", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/DenoiseMaskOutput" } + }, + "CreateGradientMaskInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Creates mask for denoising.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Image which will be masked", + "field_kind": "input", + "input": "any", + "orig_required": true, + "ui_order": 1 + }, + "edge_radius": { + "default": 16, + "description": "How far to expand the edges of the mask", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 16, + "orig_required": false, + "title": "Edge Radius", + "type": "integer", + "ui_order": 2 + }, + "coherence_mode": { + "default": "Gaussian Blur", + "enum": ["Gaussian Blur", "Box Blur", "Staged"], + "field_kind": "input", + "input": "any", + "orig_default": "Gaussian Blur", + "orig_required": false, + "title": "Coherence Mode", + "type": "string", + "ui_order": 3 + }, + "minimum_denoise": { + "default": 0.0, + "description": "Minimum denoise level for the coherence region", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0.0, + "orig_required": false, + "title": "Minimum Denoise", + "type": "number", + "ui_order": 4 + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "OPTIONAL: Only connect for specialized Inpainting models, masked_latents will be generated from the image with the VAE", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "[OPTIONAL] Image", + "ui_order": 6 + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "OPTIONAL: If the Unet is a specialized Inpainting model, masked_latents will be generated from the image with the VAE", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "[OPTIONAL] UNet", + "ui_order": 5 + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "OPTIONAL: Only connect for specialized Inpainting models, masked_latents will be generated from the image with the VAE", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "[OPTIONAL] VAE", + "ui_order": 7 + }, + "tiled": { + "default": false, + "description": "Processing using overlapping tiles (reduce memory consumption)", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Tiled", + "type": "boolean", + "ui_order": 8 + }, + "fp32": { + "default": false, + "description": "Whether or not to use full float32 precision", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Fp32", + "type": "boolean", + "ui_order": 9 + }, + "type": { + "const": "create_gradient_mask", + "default": "create_gradient_mask", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["mask", "denoise"], + "title": "Create Gradient Mask", + "type": "object", + "version": "1.3.0", + "output": { "$ref": "#/components/schemas/GradientMaskOutput" } + }, + "CropImageToBoundingBoxInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Crop an image to the given bounding box. If the bounding box is omitted, the image is cropped to the non-transparent pixels.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to crop", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "bounding_box": { + "anyOf": [{ "$ref": "#/components/schemas/BoundingBoxField" }, { "type": "null" }], + "default": null, + "description": "The bounding box to crop the image to", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "type": { + "const": "crop_image_to_bounding_box", + "default": "crop_image_to_bounding_box", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "crop"], + "title": "Crop Image to Bounding Box", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "CropLatentsCoreInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Crops a latent-space tensor to a box specified in image-space. The box dimensions and coordinates must be\ndivisible by the latent scale factor of 8.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "x": { + "anyOf": [{ "minimum": 0, "multipleOf": 8, "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The left x coordinate (in px) of the crop rectangle in image space. This value will be converted to a dimension in latent space.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "X" + }, + "y": { + "anyOf": [{ "minimum": 0, "multipleOf": 8, "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The top y coordinate (in px) of the crop rectangle in image space. This value will be converted to a dimension in latent space.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Y" + }, + "width": { + "anyOf": [{ "minimum": 1, "multipleOf": 8, "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The width (in px) of the crop rectangle in image space. This value will be converted to a dimension in latent space.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Width" + }, + "height": { + "anyOf": [{ "minimum": 1, "multipleOf": 8, "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The height (in px) of the crop rectangle in image space. This value will be converted to a dimension in latent space.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Height" + }, + "type": { + "const": "crop_latents", + "default": "crop_latents", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "crop"], + "title": "Crop Latents", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "CvInpaintInvocation": { + "category": "inpaint", + "class": "invocation", + "classification": "stable", + "description": "Simple inpaint using opencv.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to inpaint", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The mask to use when inpainting", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "cv_inpaint", + "default": "cv_inpaint", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["opencv", "inpaint"], + "title": "OpenCV Inpaint", + "type": "object", + "version": "1.3.1", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "DWOpenposeDetectionInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Generates an openpose pose from an image using DWPose", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "draw_body": { + "default": true, + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "Draw Body", + "type": "boolean" + }, + "draw_face": { + "default": false, + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Draw Face", + "type": "boolean" + }, + "draw_hands": { + "default": false, + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Draw Hands", + "type": "boolean" + }, + "type": { + "const": "dw_openpose_detection", + "default": "dw_openpose_detection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet", "dwpose", "openpose"], + "title": "DW Openpose Detection", + "type": "object", + "version": "1.1.1", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "DeleteAllExceptCurrentResult": { + "properties": { + "deleted": { "type": "integer", "title": "Deleted", "description": "Number of queue items deleted" } + }, + "type": "object", + "required": ["deleted"], + "title": "DeleteAllExceptCurrentResult", + "description": "Result of deleting all except current" + }, + "DeleteBoardResult": { + "properties": { + "board_id": { "type": "string", "title": "Board Id", "description": "The id of the board that was deleted." }, + "deleted_board_images": { + "items": { "type": "string" }, + "type": "array", + "title": "Deleted Board Images", + "description": "The image names of the board-images relationships that were deleted." + }, + "deleted_images": { + "items": { "type": "string" }, + "type": "array", + "title": "Deleted Images", + "description": "The names of the images that were deleted." + } + }, + "type": "object", + "required": ["board_id", "deleted_board_images", "deleted_images"], + "title": "DeleteBoardResult" + }, + "DeleteByDestinationResult": { + "properties": { + "deleted": { "type": "integer", "title": "Deleted", "description": "Number of queue items deleted" } + }, + "type": "object", + "required": ["deleted"], + "title": "DeleteByDestinationResult", + "description": "Result of deleting by a destination" + }, + "DeleteImagesResult": { + "properties": { + "affected_boards": { + "items": { "type": "string" }, + "type": "array", + "title": "Affected Boards", + "description": "The ids of boards affected by the delete operation" + }, + "deleted_images": { + "items": { "type": "string" }, + "type": "array", + "title": "Deleted Images", + "description": "The names of the images that were deleted" + } + }, + "type": "object", + "required": ["affected_boards", "deleted_images"], + "title": "DeleteImagesResult" + }, + "DenoiseLatentsInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Denoises noisy latents to decodable images", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "positive_conditioning": { + "anyOf": [ + { "$ref": "#/components/schemas/ConditioningField" }, + { "items": { "$ref": "#/components/schemas/ConditioningField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "Positive conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "Positive Conditioning", + "ui_order": 0 + }, + "negative_conditioning": { + "anyOf": [ + { "$ref": "#/components/schemas/ConditioningField" }, + { "items": { "$ref": "#/components/schemas/ConditioningField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "Negative conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "Negative Conditioning", + "ui_order": 1 + }, + "noise": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Noise tensor", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "ui_order": 3 + }, + "steps": { + "default": 10, + "description": "Number of steps to run", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 10, + "orig_required": false, + "title": "Steps", + "type": "integer" + }, + "cfg_scale": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 7.5, + "description": "Classifier-Free Guidance scale", + "field_kind": "input", + "input": "any", + "orig_default": 7.5, + "orig_required": false, + "title": "CFG Scale" + }, + "denoising_start": { + "default": 0.0, + "description": "When to start denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0.0, + "orig_required": false, + "title": "Denoising Start", + "type": "number" + }, + "denoising_end": { + "default": 1.0, + "description": "When to stop denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Denoising End", + "type": "number" + }, + "scheduler": { + "default": "euler", + "description": "Scheduler to use during inference", + "enum": [ + "ddim", + "ddpm", + "deis", + "deis_k", + "lms", + "lms_k", + "pndm", + "heun", + "heun_k", + "euler", + "euler_k", + "euler_a", + "kdpm_2", + "kdpm_2_k", + "kdpm_2_a", + "kdpm_2_a_k", + "dpmpp_2s", + "dpmpp_2s_k", + "dpmpp_2m", + "dpmpp_2m_k", + "dpmpp_2m_sde", + "dpmpp_2m_sde_k", + "dpmpp_3m", + "dpmpp_3m_k", + "dpmpp_sde", + "dpmpp_sde_k", + "unipc", + "unipc_k", + "lcm", + "tcd" + ], + "field_kind": "input", + "input": "any", + "orig_default": "euler", + "orig_required": false, + "title": "Scheduler", + "type": "string", + "ui_type": "SchedulerField" + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "UNet", + "ui_order": 2 + }, + "control": { + "anyOf": [ + { "$ref": "#/components/schemas/ControlField" }, + { "items": { "$ref": "#/components/schemas/ControlField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Control", + "ui_order": 5 + }, + "ip_adapter": { + "anyOf": [ + { "$ref": "#/components/schemas/IPAdapterField" }, + { "items": { "$ref": "#/components/schemas/IPAdapterField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "IP-Adapter to apply", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "IP-Adapter", + "ui_order": 6 + }, + "t2i_adapter": { + "anyOf": [ + { "$ref": "#/components/schemas/T2IAdapterField" }, + { "items": { "$ref": "#/components/schemas/T2IAdapterField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "T2I-Adapter(s) to apply", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "T2I-Adapter", + "ui_order": 7 + }, + "cfg_rescale_multiplier": { + "default": 0, + "description": "Rescale multiplier for CFG guidance, used for models trained with zero-terminal SNR", + "exclusiveMaximum": 1, + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "CFG Rescale Multiplier", + "type": "number" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "ui_order": 4 + }, + "denoise_mask": { + "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "default": null, + "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "ui_order": 8 + }, + "type": { + "const": "denoise_latents", + "default": "denoise_latents", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "denoise", "txt2img", "t2i", "t2l", "img2img", "i2i", "l2l"], + "title": "Denoise - SD1.5, SDXL", + "type": "object", + "version": "1.5.4", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "DenoiseLatentsMetaInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "positive_conditioning": { + "anyOf": [ + { "$ref": "#/components/schemas/ConditioningField" }, + { "items": { "$ref": "#/components/schemas/ConditioningField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "Positive conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "Positive Conditioning", + "ui_order": 0 + }, + "negative_conditioning": { + "anyOf": [ + { "$ref": "#/components/schemas/ConditioningField" }, + { "items": { "$ref": "#/components/schemas/ConditioningField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "Negative conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "Negative Conditioning", + "ui_order": 1 + }, + "noise": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Noise tensor", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "ui_order": 3 + }, + "steps": { + "default": 10, + "description": "Number of steps to run", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 10, + "orig_required": false, + "title": "Steps", + "type": "integer" + }, + "cfg_scale": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 7.5, + "description": "Classifier-Free Guidance scale", + "field_kind": "input", + "input": "any", + "orig_default": 7.5, + "orig_required": false, + "title": "CFG Scale" + }, + "denoising_start": { + "default": 0.0, + "description": "When to start denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0.0, + "orig_required": false, + "title": "Denoising Start", + "type": "number" + }, + "denoising_end": { + "default": 1.0, + "description": "When to stop denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Denoising End", + "type": "number" + }, + "scheduler": { + "default": "euler", + "description": "Scheduler to use during inference", + "enum": [ + "ddim", + "ddpm", + "deis", + "deis_k", + "lms", + "lms_k", + "pndm", + "heun", + "heun_k", + "euler", + "euler_k", + "euler_a", + "kdpm_2", + "kdpm_2_k", + "kdpm_2_a", + "kdpm_2_a_k", + "dpmpp_2s", + "dpmpp_2s_k", + "dpmpp_2m", + "dpmpp_2m_k", + "dpmpp_2m_sde", + "dpmpp_2m_sde_k", + "dpmpp_3m", + "dpmpp_3m_k", + "dpmpp_sde", + "dpmpp_sde_k", + "unipc", + "unipc_k", + "lcm", + "tcd" + ], + "field_kind": "input", + "input": "any", + "orig_default": "euler", + "orig_required": false, + "title": "Scheduler", + "type": "string", + "ui_type": "SchedulerField" + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "UNet", + "ui_order": 2 + }, + "control": { + "anyOf": [ + { "$ref": "#/components/schemas/ControlField" }, + { "items": { "$ref": "#/components/schemas/ControlField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Control", + "ui_order": 5 + }, + "ip_adapter": { + "anyOf": [ + { "$ref": "#/components/schemas/IPAdapterField" }, + { "items": { "$ref": "#/components/schemas/IPAdapterField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "IP-Adapter to apply", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "IP-Adapter", + "ui_order": 6 + }, + "t2i_adapter": { + "anyOf": [ + { "$ref": "#/components/schemas/T2IAdapterField" }, + { "items": { "$ref": "#/components/schemas/T2IAdapterField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "T2I-Adapter(s) to apply", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "T2I-Adapter", + "ui_order": 7 + }, + "cfg_rescale_multiplier": { + "default": 0, + "description": "Rescale multiplier for CFG guidance, used for models trained with zero-terminal SNR", + "exclusiveMaximum": 1, + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "CFG Rescale Multiplier", + "type": "number" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "ui_order": 4 + }, + "denoise_mask": { + "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "default": null, + "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "ui_order": 8 + }, + "type": { + "const": "denoise_latents_meta", + "default": "denoise_latents_meta", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "denoise", "txt2img", "t2i", "t2l", "img2img", "i2i", "l2l"], + "title": "Denoise - SD1.5, SDXL + Metadata", + "type": "object", + "version": "1.1.1", + "output": { "$ref": "#/components/schemas/LatentsMetaOutput" } + }, + "DenoiseMaskField": { + "description": "An inpaint mask field", + "properties": { + "mask_name": { "description": "The name of the mask image", "title": "Mask Name", "type": "string" }, + "masked_latents_name": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The name of the masked image latents", + "title": "Masked Latents Name" + }, + "gradient": { + "default": false, + "description": "Used for gradient inpainting", + "title": "Gradient", + "type": "boolean" + } + }, + "required": ["mask_name"], + "title": "DenoiseMaskField", + "type": "object" + }, + "DenoiseMaskOutput": { + "class": "output", + "description": "Base class for nodes that output a single image", + "properties": { + "denoise_mask": { + "$ref": "#/components/schemas/DenoiseMaskField", + "description": "Mask for denoise model run", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "denoise_mask_output", + "default": "denoise_mask_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "denoise_mask", "type", "type"], + "title": "DenoiseMaskOutput", + "type": "object" + }, + "DepthAnythingDepthEstimationInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Generates a depth map using a Depth Anything model.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "model_size": { + "default": "small_v2", + "description": "The size of the depth model to use", + "enum": ["large", "base", "small", "small_v2"], + "field_kind": "input", + "input": "any", + "orig_default": "small_v2", + "orig_required": false, + "title": "Model Size", + "type": "string" + }, + "type": { + "const": "depth_anything_depth_estimation", + "default": "depth_anything_depth_estimation", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet", "depth", "depth anything"], + "title": "Depth Anything Depth Estimation", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "DivideInvocation": { + "category": "math", + "class": "invocation", + "classification": "stable", + "description": "Divides two numbers", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "a": { + "default": 0, + "description": "The first number", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "A", + "type": "integer" + }, + "b": { + "default": 0, + "description": "The second number", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "B", + "type": "integer" + }, + "type": { + "const": "div", + "default": "div", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["math", "divide"], + "title": "Divide Integers", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/IntegerOutput" } + }, + "DownloadCancelledEvent": { + "description": "Event model for download_cancelled", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "source": { "description": "The source of the download", "title": "Source", "type": "string" } + }, + "required": ["timestamp", "source"], + "title": "DownloadCancelledEvent", + "type": "object" + }, + "DownloadCompleteEvent": { + "description": "Event model for download_complete", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "source": { "description": "The source of the download", "title": "Source", "type": "string" }, + "download_path": { + "description": "The local path where the download is saved", + "title": "Download Path", + "type": "string" + }, + "total_bytes": { + "description": "The total number of bytes downloaded", + "title": "Total Bytes", + "type": "integer" + } + }, + "required": ["timestamp", "source", "download_path", "total_bytes"], + "title": "DownloadCompleteEvent", + "type": "object" + }, + "DownloadErrorEvent": { + "description": "Event model for download_error", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "source": { "description": "The source of the download", "title": "Source", "type": "string" }, + "error_type": { "description": "The type of error", "title": "Error Type", "type": "string" }, + "error": { "description": "The error message", "title": "Error", "type": "string" } + }, + "required": ["timestamp", "source", "error_type", "error"], + "title": "DownloadErrorEvent", + "type": "object" + }, + "DownloadJob": { + "properties": { + "id": { "type": "integer", "title": "Id", "description": "Numeric ID of this job", "default": -1 }, + "dest": { + "type": "string", + "format": "path", + "title": "Dest", + "description": "Initial destination of downloaded model on local disk; a directory or file path" + }, + "download_path": { + "anyOf": [{ "type": "string", "format": "path" }, { "type": "null" }], + "title": "Download Path", + "description": "Final location of downloaded file or directory" + }, + "status": { + "$ref": "#/components/schemas/DownloadJobStatus", + "description": "Status of the download", + "default": "waiting" + }, + "bytes": { "type": "integer", "title": "Bytes", "description": "Bytes downloaded so far", "default": 0 }, + "total_bytes": { + "type": "integer", + "title": "Total Bytes", + "description": "Total file size (bytes)", + "default": 0 + }, + "error_type": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Error Type", + "description": "Name of exception that caused an error" + }, + "error": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Error", + "description": "Traceback of the exception that caused an error" + }, + "source": { + "type": "string", + "minLength": 1, + "format": "uri", + "title": "Source", + "description": "Where to download from. Specific types specified in child classes." + }, + "access_token": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Access Token", + "description": "authorization token for protected resources" + }, + "priority": { + "type": "integer", + "title": "Priority", + "description": "Queue priority; lower values are higher priority", + "default": 10 + }, + "job_started": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Job Started", + "description": "Timestamp for when the download job started" + }, + "job_ended": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Job Ended", + "description": "Timestamp for when the download job ende1d (completed or errored)" + }, + "content_type": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Content Type", + "description": "Content type of downloaded file" + } + }, + "type": "object", + "required": ["dest", "source"], + "title": "DownloadJob", + "description": "Class to monitor and control a model download request." + }, + "DownloadJobStatus": { + "type": "string", + "enum": ["waiting", "running", "completed", "cancelled", "error"], + "title": "DownloadJobStatus", + "description": "State of a download job." + }, + "DownloadProgressEvent": { + "description": "Event model for download_progress", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "source": { "description": "The source of the download", "title": "Source", "type": "string" }, + "download_path": { + "description": "The local path where the download is saved", + "title": "Download Path", + "type": "string" + }, + "current_bytes": { + "description": "The number of bytes downloaded so far", + "title": "Current Bytes", + "type": "integer" + }, + "total_bytes": { + "description": "The total number of bytes to be downloaded", + "title": "Total Bytes", + "type": "integer" + } + }, + "required": ["timestamp", "source", "download_path", "current_bytes", "total_bytes"], + "title": "DownloadProgressEvent", + "type": "object" + }, + "DownloadStartedEvent": { + "description": "Event model for download_started", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "source": { "description": "The source of the download", "title": "Source", "type": "string" }, + "download_path": { + "description": "The local path where the download is saved", + "title": "Download Path", + "type": "string" + } + }, + "required": ["timestamp", "source", "download_path"], + "title": "DownloadStartedEvent", + "type": "object" + }, + "DynamicPromptInvocation": { + "category": "prompt", + "class": "invocation", + "classification": "stable", + "description": "Parses a prompt using adieyal/dynamicprompts' random or combinatorial generator", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": false, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "prompt": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The prompt to parse with dynamicprompts", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Prompt", + "ui_component": "textarea" + }, + "max_prompts": { + "default": 1, + "description": "The number of prompts to generate", + "field_kind": "input", + "input": "any", + "orig_default": 1, + "orig_required": false, + "title": "Max Prompts", + "type": "integer" + }, + "combinatorial": { + "default": false, + "description": "Whether to use the combinatorial generator", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Combinatorial", + "type": "boolean" + }, + "type": { + "const": "dynamic_prompt", + "default": "dynamic_prompt", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["prompt", "collection"], + "title": "Dynamic Prompt", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/StringCollectionOutput" } + }, + "DynamicPromptsResponse": { + "properties": { + "prompts": { "items": { "type": "string" }, "type": "array", "title": "Prompts" }, + "error": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Error" } + }, + "type": "object", + "required": ["prompts"], + "title": "DynamicPromptsResponse" + }, + "ESRGANInvocation": { + "category": "esrgan", + "class": "invocation", + "classification": "stable", + "description": "Upscales an image using RealESRGAN.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The input image", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "model_name": { + "default": "RealESRGAN_x4plus.pth", + "description": "The Real-ESRGAN model to use", + "enum": [ + "RealESRGAN_x4plus.pth", + "RealESRGAN_x4plus_anime_6B.pth", + "ESRGAN_SRx4_DF2KOST_official-ff704c30.pth", + "RealESRGAN_x2plus.pth" + ], + "field_kind": "input", + "input": "any", + "orig_default": "RealESRGAN_x4plus.pth", + "orig_required": false, + "title": "Model Name", + "type": "string" + }, + "tile_size": { + "default": 400, + "description": "Tile size for tiled ESRGAN upscaling (0=tiling disabled)", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 400, + "orig_required": false, + "title": "Tile Size", + "type": "integer" + }, + "type": { + "const": "esrgan", + "default": "esrgan", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["esrgan", "upscale"], + "title": "Upscale (RealESRGAN)", + "type": "object", + "version": "1.3.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "Edge": { + "properties": { + "source": { + "$ref": "#/components/schemas/EdgeConnection", + "description": "The connection for the edge's from node and field" + }, + "destination": { + "$ref": "#/components/schemas/EdgeConnection", + "description": "The connection for the edge's to node and field" + } + }, + "type": "object", + "required": ["source", "destination"], + "title": "Edge" + }, + "EdgeConnection": { + "properties": { + "node_id": { + "type": "string", + "title": "Node Id", + "description": "The id of the node for this edge connection" + }, + "field": { "type": "string", "title": "Field", "description": "The field for this connection" } + }, + "type": "object", + "required": ["node_id", "field"], + "title": "EdgeConnection" + }, + "EnqueueBatchResult": { + "properties": { + "queue_id": { "type": "string", "title": "Queue Id", "description": "The ID of the queue" }, + "enqueued": { + "type": "integer", + "title": "Enqueued", + "description": "The total number of queue items enqueued" + }, + "requested": { + "type": "integer", + "title": "Requested", + "description": "The total number of queue items requested to be enqueued" + }, + "batch": { "$ref": "#/components/schemas/Batch", "description": "The batch that was enqueued" }, + "priority": { "type": "integer", "title": "Priority", "description": "The priority of the enqueued batch" }, + "item_ids": { + "items": { "type": "integer" }, + "type": "array", + "title": "Item Ids", + "description": "The IDs of the queue items that were enqueued" + } + }, + "type": "object", + "required": ["queue_id", "enqueued", "requested", "batch", "priority", "item_ids"], + "title": "EnqueueBatchResult" + }, + "ExpandMaskWithFadeInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Expands a mask with a fade effect. The mask uses black to indicate areas to keep from the generated image and white for areas to discard.\nThe mask is thresholded to create a binary mask, and then a distance transform is applied to create a fade effect.\nThe fade size is specified in pixels, and the mask is expanded by that amount. The result is a mask with a smooth transition from black to white.\nIf the fade size is 0, the mask is returned as-is.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The mask to expand", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "threshold": { + "default": 0, + "description": "The threshold for the binary mask (0-255)", + "field_kind": "input", + "input": "any", + "maximum": 255, + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Threshold", + "type": "integer" + }, + "fade_size_px": { + "default": 32, + "description": "The size of the fade in pixels", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 32, + "orig_required": false, + "title": "Fade Size Px", + "type": "integer" + }, + "type": { + "const": "expand_mask_with_fade", + "default": "expand_mask_with_fade", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "mask"], + "title": "Expand Mask with Fade", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ExposedField": { + "properties": { + "nodeId": { "type": "string", "title": "Nodeid" }, + "fieldName": { "type": "string", "title": "Fieldname" } + }, + "type": "object", + "required": ["nodeId", "fieldName"], + "title": "ExposedField" + }, + "FLUXLoRACollectionLoader": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Applies a collection of LoRAs to a FLUX transformer.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "loras": { + "anyOf": [ + { "$ref": "#/components/schemas/LoRAField" }, + { "items": { "$ref": "#/components/schemas/LoRAField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "LoRA models and weights. May be a single LoRA or collection.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "LoRAs" + }, + "transformer": { + "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "default": null, + "description": "Transformer", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Transformer" + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "CLIP" + }, + "t5_encoder": { + "anyOf": [{ "$ref": "#/components/schemas/T5EncoderField" }, { "type": "null" }], + "default": null, + "description": "T5 tokenizer and text encoder", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "T5 Encoder" + }, + "type": { + "const": "flux_lora_collection_loader", + "default": "flux_lora_collection_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["lora", "model", "flux"], + "title": "Apply LoRA Collection - FLUX", + "type": "object", + "version": "1.3.1", + "output": { "$ref": "#/components/schemas/FluxLoRALoaderOutput" } + }, + "FLUXRedux_Checkpoint_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "flux_redux", "title": "Type", "default": "flux_redux" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "base" + ], + "title": "FLUXRedux_Checkpoint_Config", + "description": "Model config for FLUX Tools Redux model." + }, + "FaceIdentifierInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Outputs an image with detected face IDs printed on each face. For use with other FaceTools.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Image to face detect", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "minimum_confidence": { + "default": 0.5, + "description": "Minimum confidence for face detection (lower if detection is failing)", + "field_kind": "input", + "input": "any", + "orig_default": 0.5, + "orig_required": false, + "title": "Minimum Confidence", + "type": "number" + }, + "chunk": { + "default": false, + "description": "Whether to bypass full image face detection and default to image chunking. Chunking will occur if no faces are found in the full image.", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Chunk", + "type": "boolean" + }, + "type": { + "const": "face_identifier", + "default": "face_identifier", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "face", "identifier"], + "title": "FaceIdentifier", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "FaceMaskInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Face mask creation using mediapipe face detection", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Image to face detect", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "face_ids": { + "default": "", + "description": "Comma-separated list of face ids to mask eg '0,2,7'. Numbered from 0. Leave empty to mask all. Find face IDs with FaceIdentifier node.", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "Face Ids", + "type": "string" + }, + "minimum_confidence": { + "default": 0.5, + "description": "Minimum confidence for face detection (lower if detection is failing)", + "field_kind": "input", + "input": "any", + "orig_default": 0.5, + "orig_required": false, + "title": "Minimum Confidence", + "type": "number" + }, + "x_offset": { + "default": 0.0, + "description": "Offset for the X-axis of the face mask", + "field_kind": "input", + "input": "any", + "orig_default": 0.0, + "orig_required": false, + "title": "X Offset", + "type": "number" + }, + "y_offset": { + "default": 0.0, + "description": "Offset for the Y-axis of the face mask", + "field_kind": "input", + "input": "any", + "orig_default": 0.0, + "orig_required": false, + "title": "Y Offset", + "type": "number" + }, + "chunk": { + "default": false, + "description": "Whether to bypass full image face detection and default to image chunking. Chunking will occur if no faces are found in the full image.", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Chunk", + "type": "boolean" + }, + "invert_mask": { + "default": false, + "description": "Toggle to invert the mask", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Invert Mask", + "type": "boolean" + }, + "type": { + "const": "face_mask_detection", + "default": "face_mask_detection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "face", "mask"], + "title": "FaceMask", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/FaceMaskOutput" } + }, + "FaceMaskOutput": { + "class": "output", + "description": "Base class for FaceMask output", + "properties": { + "image": { + "$ref": "#/components/schemas/ImageField", + "description": "The output image", + "field_kind": "output", + "ui_hidden": false + }, + "width": { + "description": "The width of the image in pixels", + "field_kind": "output", + "title": "Width", + "type": "integer", + "ui_hidden": false + }, + "height": { + "description": "The height of the image in pixels", + "field_kind": "output", + "title": "Height", + "type": "integer", + "ui_hidden": false + }, + "type": { + "const": "face_mask_output", + "default": "face_mask_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + }, + "mask": { + "$ref": "#/components/schemas/ImageField", + "description": "The output mask", + "field_kind": "output", + "ui_hidden": false + } + }, + "required": ["output_meta", "image", "width", "height", "type", "mask", "type"], + "title": "FaceMaskOutput", + "type": "object" + }, + "FaceOffInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Bound, extract, and mask a face from an image using MediaPipe detection", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Image for face detection", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "face_id": { + "default": 0, + "description": "The face ID to process, numbered from 0. Multiple faces not supported. Find a face's ID with FaceIdentifier node.", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Face Id", + "type": "integer" + }, + "minimum_confidence": { + "default": 0.5, + "description": "Minimum confidence for face detection (lower if detection is failing)", + "field_kind": "input", + "input": "any", + "orig_default": 0.5, + "orig_required": false, + "title": "Minimum Confidence", + "type": "number" + }, + "x_offset": { + "default": 0.0, + "description": "X-axis offset of the mask", + "field_kind": "input", + "input": "any", + "orig_default": 0.0, + "orig_required": false, + "title": "X Offset", + "type": "number" + }, + "y_offset": { + "default": 0.0, + "description": "Y-axis offset of the mask", + "field_kind": "input", + "input": "any", + "orig_default": 0.0, + "orig_required": false, + "title": "Y Offset", + "type": "number" + }, + "padding": { + "default": 0, + "description": "All-axis padding around the mask in pixels", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Padding", + "type": "integer" + }, + "chunk": { + "default": false, + "description": "Whether to bypass full image face detection and default to image chunking. Chunking will occur if no faces are found in the full image.", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Chunk", + "type": "boolean" + }, + "type": { + "const": "face_off", + "default": "face_off", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "faceoff", "face", "mask"], + "title": "FaceOff", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/FaceOffOutput" } + }, + "FaceOffOutput": { + "class": "output", + "description": "Base class for FaceOff Output", + "properties": { + "image": { + "$ref": "#/components/schemas/ImageField", + "description": "The output image", + "field_kind": "output", + "ui_hidden": false + }, + "width": { + "description": "The width of the image in pixels", + "field_kind": "output", + "title": "Width", + "type": "integer", + "ui_hidden": false + }, + "height": { + "description": "The height of the image in pixels", + "field_kind": "output", + "title": "Height", + "type": "integer", + "ui_hidden": false + }, + "type": { + "const": "face_off_output", + "default": "face_off_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + }, + "mask": { + "$ref": "#/components/schemas/ImageField", + "description": "The output mask", + "field_kind": "output", + "ui_hidden": false + }, + "x": { + "description": "The x coordinate of the bounding box's left side", + "field_kind": "output", + "title": "X", + "type": "integer", + "ui_hidden": false + }, + "y": { + "description": "The y coordinate of the bounding box's top side", + "field_kind": "output", + "title": "Y", + "type": "integer", + "ui_hidden": false + } + }, + "required": ["output_meta", "image", "width", "height", "type", "mask", "x", "y", "type"], + "title": "FaceOffOutput", + "type": "object" + }, + "FieldKind": { + "description": "The kind of field.\n- `Input`: An input field on a node.\n- `Output`: An output field on a node.\n- `Internal`: A field which is treated as an input, but cannot be used in node definitions. Metadata is\none example. It is provided to nodes via the WithMetadata class, and we want to reserve the field name\n\"metadata\" for this on all nodes. `FieldKind` is used to short-circuit the field name validation logic,\nallowing \"metadata\" for that field.\n- `NodeAttribute`: The field is a node attribute. These are fields which are not inputs or outputs,\nbut which are used to store information about the node. For example, the `id` and `type` fields are node\nattributes.\n\nThe presence of this in `json_schema_extra[\"field_kind\"]` is used when initializing node schemas on app\nstartup, and when generating the OpenAPI schema for the workflow editor.", + "enum": ["input", "output", "internal", "node_attribute"], + "title": "FieldKind", + "type": "string" + }, + "FloatBatchInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "special", + "description": "Create a batched generation, where the workflow is executed once for each float in the batch.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "batch_group_id": { + "default": "None", + "description": "The ID of this batch node's group. If provided, all batch nodes in with the same ID will be 'zipped' before execution, and all nodes' collections must be of the same size.", + "enum": ["None", "Group 1", "Group 2", "Group 3", "Group 4", "Group 5"], + "field_kind": "input", + "input": "direct", + "orig_default": "None", + "orig_required": false, + "title": "Batch Group", + "type": "string" + }, + "floats": { + "anyOf": [{ "items": { "type": "number" }, "minItems": 1, "type": "array" }, { "type": "null" }], + "default": null, + "description": "The floats to batch over", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Floats" + }, + "type": { + "const": "float_batch", + "default": "float_batch", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "float", "number", "batch", "special"], + "title": "Float Batch", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/FloatOutput" } + }, + "FloatCollectionInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A collection of float primitive values", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "collection": { + "default": [], + "description": "The collection of float values", + "field_kind": "input", + "input": "any", + "items": { "type": "number" }, + "orig_default": [], + "orig_required": false, + "title": "Collection", + "type": "array" + }, + "type": { + "const": "float_collection", + "default": "float_collection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "float", "collection"], + "title": "Float Collection Primitive", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/FloatCollectionOutput" } + }, + "FloatCollectionOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of floats", + "properties": { + "collection": { + "description": "The float collection", + "field_kind": "output", + "items": { "type": "number" }, + "title": "Collection", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "float_collection_output", + "default": "float_collection_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "collection", "type", "type"], + "title": "FloatCollectionOutput", + "type": "object" + }, + "FloatGenerator": { + "category": "primitives", + "class": "invocation", + "classification": "special", + "description": "Generated a range of floats for use in a batched generation", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "generator": { + "$ref": "#/components/schemas/FloatGeneratorField", + "description": "The float generator.", + "field_kind": "input", + "input": "direct", + "orig_required": true, + "title": "Generator Type" + }, + "type": { + "const": "float_generator", + "default": "float_generator", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["generator", "type", "id"], + "tags": ["primitives", "float", "number", "batch", "special"], + "title": "Float Generator", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/FloatGeneratorOutput" } + }, + "FloatGeneratorField": { "properties": {}, "title": "FloatGeneratorField", "type": "object" }, + "FloatGeneratorOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of floats", + "properties": { + "floats": { + "description": "The generated floats", + "field_kind": "output", + "items": { "type": "number" }, + "title": "Floats", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "float_generator_output", + "default": "float_generator_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "floats", "type", "type"], + "title": "FloatGeneratorOutput", + "type": "object" + }, + "FloatInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A float primitive value", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "value": { + "default": 0.0, + "description": "The float value", + "field_kind": "input", + "input": "any", + "orig_default": 0.0, + "orig_required": false, + "title": "Value", + "type": "number" + }, + "type": { + "const": "float", + "default": "float", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "float"], + "title": "Float Primitive", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/FloatOutput" } + }, + "FloatLinearRangeInvocation": { + "category": "math", + "class": "invocation", + "classification": "stable", + "description": "Creates a range", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "start": { + "default": 5, + "description": "The first value of the range", + "field_kind": "input", + "input": "any", + "orig_default": 5, + "orig_required": false, + "title": "Start", + "type": "number" + }, + "stop": { + "default": 10, + "description": "The last value of the range", + "field_kind": "input", + "input": "any", + "orig_default": 10, + "orig_required": false, + "title": "Stop", + "type": "number" + }, + "steps": { + "default": 30, + "description": "number of values to interpolate over (including start and stop)", + "field_kind": "input", + "input": "any", + "orig_default": 30, + "orig_required": false, + "title": "Steps", + "type": "integer" + }, + "type": { + "const": "float_range", + "default": "float_range", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["math", "range"], + "title": "Float Range", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/FloatCollectionOutput" } + }, + "FloatMathInvocation": { + "category": "math", + "class": "invocation", + "classification": "stable", + "description": "Performs floating point math.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "operation": { + "default": "ADD", + "description": "The operation to perform", + "enum": ["ADD", "SUB", "MUL", "DIV", "EXP", "ABS", "SQRT", "MIN", "MAX"], + "field_kind": "input", + "input": "any", + "orig_default": "ADD", + "orig_required": false, + "title": "Operation", + "type": "string", + "ui_choice_labels": { + "ABS": "Absolute Value of A", + "ADD": "Add A+B", + "DIV": "Divide A/B", + "EXP": "Exponentiate A^B", + "MAX": "Maximum(A,B)", + "MIN": "Minimum(A,B)", + "MUL": "Multiply A*B", + "SQRT": "Square Root of A", + "SUB": "Subtract A-B" + } + }, + "a": { + "default": 1, + "description": "The first number", + "field_kind": "input", + "input": "any", + "orig_default": 1, + "orig_required": false, + "title": "A", + "type": "number" + }, + "b": { + "default": 1, + "description": "The second number", + "field_kind": "input", + "input": "any", + "orig_default": 1, + "orig_required": false, + "title": "B", + "type": "number" + }, + "type": { + "const": "float_math", + "default": "float_math", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": [ + "math", + "float", + "add", + "subtract", + "multiply", + "divide", + "power", + "root", + "absolute value", + "min", + "max" + ], + "title": "Float Math", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/FloatOutput" } + }, + "FloatOutput": { + "class": "output", + "description": "Base class for nodes that output a single float", + "properties": { + "value": { + "description": "The output float", + "field_kind": "output", + "title": "Value", + "type": "number", + "ui_hidden": false + }, + "type": { + "const": "float_output", + "default": "float_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "value", "type", "type"], + "title": "FloatOutput", + "type": "object" + }, + "FloatToIntegerInvocation": { + "category": "math", + "class": "invocation", + "classification": "stable", + "description": "Rounds a float number to (a multiple of) an integer.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "value": { + "default": 0, + "description": "The value to round", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Value", + "type": "number" + }, + "multiple": { + "default": 1, + "description": "The multiple to round to", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 1, + "orig_required": false, + "title": "Multiple of", + "type": "integer" + }, + "method": { + "default": "Nearest", + "description": "The method to use for rounding", + "enum": ["Nearest", "Floor", "Ceiling", "Truncate"], + "field_kind": "input", + "input": "any", + "orig_default": "Nearest", + "orig_required": false, + "title": "Method", + "type": "string" + }, + "type": { + "const": "float_to_int", + "default": "float_to_int", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["math", "round", "integer", "float", "convert"], + "title": "Float To Integer", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/IntegerOutput" } + }, + "FluxConditioningCollectionOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of conditioning tensors", + "properties": { + "collection": { + "description": "The output conditioning tensors", + "field_kind": "output", + "items": { "$ref": "#/components/schemas/FluxConditioningField" }, + "title": "Collection", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "flux_conditioning_collection_output", + "default": "flux_conditioning_collection_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "collection", "type", "type"], + "title": "FluxConditioningCollectionOutput", + "type": "object" + }, + "FluxConditioningField": { + "description": "A conditioning tensor primitive value", + "properties": { + "conditioning_name": { + "description": "The name of conditioning tensor", + "title": "Conditioning Name", + "type": "string" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "The mask associated with this conditioning tensor. Excluded regions should be set to False, included regions should be set to True." + } + }, + "required": ["conditioning_name"], + "title": "FluxConditioningField", + "type": "object" + }, + "FluxConditioningOutput": { + "class": "output", + "description": "Base class for nodes that output a single conditioning tensor", + "properties": { + "conditioning": { + "$ref": "#/components/schemas/FluxConditioningField", + "description": "Conditioning tensor", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "flux_conditioning_output", + "default": "flux_conditioning_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "conditioning", "type", "type"], + "title": "FluxConditioningOutput", + "type": "object" + }, + "FluxControlLoRALoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "LoRA model and Image to use with FLUX transformer generation.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "lora": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "Control LoRA model to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Control LoRA", + "ui_model_base": ["flux"], + "ui_model_type": ["control_lora"] + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to encode.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "weight": { + "default": 1.0, + "description": "The weight of the LoRA.", + "field_kind": "input", + "input": "any", + "orig_default": 1.0, + "orig_required": false, + "title": "Weight", + "type": "number" + }, + "type": { + "const": "flux_control_lora_loader", + "default": "flux_control_lora_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["lora", "model", "flux"], + "title": "Control LoRA - FLUX", + "type": "object", + "version": "1.1.1", + "output": { "$ref": "#/components/schemas/FluxControlLoRALoaderOutput" } + }, + "FluxControlLoRALoaderOutput": { + "class": "output", + "description": "Flux Control LoRA Loader Output", + "properties": { + "control_lora": { + "$ref": "#/components/schemas/ControlLoRAField", + "default": null, + "description": "Control LoRAs to apply on model loading", + "field_kind": "output", + "title": "Flux Control LoRA", + "ui_hidden": false + }, + "type": { + "const": "flux_control_lora_loader_output", + "default": "flux_control_lora_loader_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "control_lora", "type", "type"], + "title": "FluxControlLoRALoaderOutput", + "type": "object" + }, + "FluxControlNetField": { + "properties": { + "image": { "$ref": "#/components/schemas/ImageField", "description": "The control image" }, + "control_model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "The ControlNet model to use" + }, + "control_weight": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1, + "description": "The weight given to the ControlNet", + "title": "Control Weight" + }, + "begin_step_percent": { + "default": 0, + "description": "When the ControlNet is first applied (% of total steps)", + "maximum": 1, + "minimum": 0, + "title": "Begin Step Percent", + "type": "number" + }, + "end_step_percent": { + "default": 1, + "description": "When the ControlNet is last applied (% of total steps)", + "maximum": 1, + "minimum": 0, + "title": "End Step Percent", + "type": "number" + }, + "resize_mode": { + "default": "just_resize", + "description": "The resize mode to use", + "enum": ["just_resize", "crop_resize", "fill_resize", "just_resize_simple"], + "title": "Resize Mode", + "type": "string" + }, + "instantx_control_mode": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": -1, + "description": "The control mode for InstantX ControlNet union models. Ignored for other ControlNet models. The standard mapping is: canny (0), tile (1), depth (2), blur (3), pose (4), gray (5), low quality (6). Negative values will be treated as 'None'.", + "title": "Instantx Control Mode" + } + }, + "required": ["image", "control_model"], + "title": "FluxControlNetField", + "type": "object" + }, + "FluxControlNetInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Collect FLUX ControlNet info to pass to other nodes.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The control image", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "control_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "ControlNet model to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "ui_model_base": ["flux"], + "ui_model_type": ["controlnet"] + }, + "control_weight": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1.0, + "description": "The weight given to the ControlNet", + "field_kind": "input", + "ge": -1, + "input": "any", + "le": 2, + "orig_default": 1.0, + "orig_required": false, + "title": "Control Weight" + }, + "begin_step_percent": { + "default": 0, + "description": "When the ControlNet is first applied (% of total steps)", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Begin Step Percent", + "type": "number" + }, + "end_step_percent": { + "default": 1, + "description": "When the ControlNet is last applied (% of total steps)", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1, + "orig_required": false, + "title": "End Step Percent", + "type": "number" + }, + "resize_mode": { + "default": "just_resize", + "description": "The resize mode used", + "enum": ["just_resize", "crop_resize", "fill_resize", "just_resize_simple"], + "field_kind": "input", + "input": "any", + "orig_default": "just_resize", + "orig_required": false, + "title": "Resize Mode", + "type": "string" + }, + "instantx_control_mode": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": -1, + "description": "The control mode for InstantX ControlNet union models. Ignored for other ControlNet models. The standard mapping is: canny (0), tile (1), depth (2), blur (3), pose (4), gray (5), low quality (6). Negative values will be treated as 'None'.", + "field_kind": "input", + "input": "any", + "orig_default": -1, + "orig_required": false, + "title": "Instantx Control Mode" + }, + "type": { + "const": "flux_controlnet", + "default": "flux_controlnet", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet", "flux"], + "title": "FLUX ControlNet", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/FluxControlNetOutput" } + }, + "FluxControlNetOutput": { + "class": "output", + "description": "FLUX ControlNet info", + "properties": { + "control": { + "$ref": "#/components/schemas/FluxControlNetField", + "description": "ControlNet(s) to apply", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "flux_controlnet_output", + "default": "flux_controlnet_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "control", "type", "type"], + "title": "FluxControlNetOutput", + "type": "object" + }, + "FluxDenoiseInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Run denoising process with a FLUX transformer model.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "denoise_mask": { + "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "default": null, + "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "denoising_start": { + "default": 0.0, + "description": "When to start denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0.0, + "orig_required": false, + "title": "Denoising Start", + "type": "number" + }, + "denoising_end": { + "default": 1.0, + "description": "When to stop denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Denoising End", + "type": "number" + }, + "add_noise": { + "default": true, + "description": "Add noise based on denoising start.", + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "Add Noise", + "type": "boolean" + }, + "transformer": { + "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "default": null, + "description": "Flux model (Transformer) to load", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "Transformer" + }, + "control_lora": { + "anyOf": [{ "$ref": "#/components/schemas/ControlLoRAField" }, { "type": "null" }], + "default": null, + "description": "Control LoRA model to load", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Control LoRA" + }, + "positive_text_conditioning": { + "anyOf": [ + { "$ref": "#/components/schemas/FluxConditioningField" }, + { "items": { "$ref": "#/components/schemas/FluxConditioningField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "Positive conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "Positive Text Conditioning" + }, + "negative_text_conditioning": { + "anyOf": [ + { "$ref": "#/components/schemas/FluxConditioningField" }, + { "items": { "$ref": "#/components/schemas/FluxConditioningField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "Negative conditioning tensor. Can be None if cfg_scale is 1.0.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Negative Text Conditioning" + }, + "redux_conditioning": { + "anyOf": [ + { "$ref": "#/components/schemas/FluxReduxConditioningField" }, + { "items": { "$ref": "#/components/schemas/FluxReduxConditioningField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "FLUX Redux conditioning tensor.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Redux Conditioning" + }, + "fill_conditioning": { + "anyOf": [{ "$ref": "#/components/schemas/FluxFillConditioningField" }, { "type": "null" }], + "default": null, + "description": "FLUX Fill conditioning.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "cfg_scale": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1.0, + "description": "Classifier-Free Guidance scale", + "field_kind": "input", + "input": "any", + "orig_default": 1.0, + "orig_required": false, + "title": "CFG Scale" + }, + "cfg_scale_start_step": { + "default": 0, + "description": "Index of the first step to apply cfg_scale. Negative indices count backwards from the the last step (e.g. a value of -1 refers to the final step).", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "CFG Scale Start Step", + "type": "integer" + }, + "cfg_scale_end_step": { + "default": -1, + "description": "Index of the last step to apply cfg_scale. Negative indices count backwards from the last step (e.g. a value of -1 refers to the final step).", + "field_kind": "input", + "input": "any", + "orig_default": -1, + "orig_required": false, + "title": "CFG Scale End Step", + "type": "integer" + }, + "width": { + "default": 1024, + "description": "Width of the generated image.", + "field_kind": "input", + "input": "any", + "multipleOf": 16, + "orig_default": 1024, + "orig_required": false, + "title": "Width", + "type": "integer" + }, + "height": { + "default": 1024, + "description": "Height of the generated image.", + "field_kind": "input", + "input": "any", + "multipleOf": 16, + "orig_default": 1024, + "orig_required": false, + "title": "Height", + "type": "integer" + }, + "num_steps": { + "default": 4, + "description": "Number of diffusion steps. Recommended values are schnell: 4, dev: 50.", + "field_kind": "input", + "input": "any", + "orig_default": 4, + "orig_required": false, + "title": "Num Steps", + "type": "integer" + }, + "guidance": { + "default": 4.0, + "description": "The guidance strength. Higher values adhere more strictly to the prompt, and will produce less diverse images. FLUX dev only, ignored for schnell.", + "field_kind": "input", + "input": "any", + "orig_default": 4.0, + "orig_required": false, + "title": "Guidance", + "type": "number" + }, + "seed": { + "default": 0, + "description": "Randomness seed for reproducibility.", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Seed", + "type": "integer" + }, + "control": { + "anyOf": [ + { "$ref": "#/components/schemas/FluxControlNetField" }, + { "items": { "$ref": "#/components/schemas/FluxControlNetField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "ControlNet models.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Control" + }, + "controlnet_vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "ip_adapter": { + "anyOf": [ + { "$ref": "#/components/schemas/IPAdapterField" }, + { "items": { "$ref": "#/components/schemas/IPAdapterField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "IP-Adapter to apply", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "IP-Adapter" + }, + "kontext_conditioning": { + "anyOf": [ + { "$ref": "#/components/schemas/FluxKontextConditioningField" }, + { "items": { "$ref": "#/components/schemas/FluxKontextConditioningField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "FLUX Kontext conditioning (reference image).", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Kontext Conditioning" + }, + "type": { + "const": "flux_denoise", + "default": "flux_denoise", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "flux"], + "title": "FLUX Denoise", + "type": "object", + "version": "4.1.0", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "FluxDenoiseLatentsMetaInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Run denoising process with a FLUX transformer model + metadata.", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "denoise_mask": { + "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "default": null, + "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "denoising_start": { + "default": 0.0, + "description": "When to start denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0.0, + "orig_required": false, + "title": "Denoising Start", + "type": "number" + }, + "denoising_end": { + "default": 1.0, + "description": "When to stop denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Denoising End", + "type": "number" + }, + "add_noise": { + "default": true, + "description": "Add noise based on denoising start.", + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "Add Noise", + "type": "boolean" + }, + "transformer": { + "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "default": null, + "description": "Flux model (Transformer) to load", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "Transformer" + }, + "control_lora": { + "anyOf": [{ "$ref": "#/components/schemas/ControlLoRAField" }, { "type": "null" }], + "default": null, + "description": "Control LoRA model to load", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Control LoRA" + }, + "positive_text_conditioning": { + "anyOf": [ + { "$ref": "#/components/schemas/FluxConditioningField" }, + { "items": { "$ref": "#/components/schemas/FluxConditioningField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "Positive conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "Positive Text Conditioning" + }, + "negative_text_conditioning": { + "anyOf": [ + { "$ref": "#/components/schemas/FluxConditioningField" }, + { "items": { "$ref": "#/components/schemas/FluxConditioningField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "Negative conditioning tensor. Can be None if cfg_scale is 1.0.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Negative Text Conditioning" + }, + "redux_conditioning": { + "anyOf": [ + { "$ref": "#/components/schemas/FluxReduxConditioningField" }, + { "items": { "$ref": "#/components/schemas/FluxReduxConditioningField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "FLUX Redux conditioning tensor.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Redux Conditioning" + }, + "fill_conditioning": { + "anyOf": [{ "$ref": "#/components/schemas/FluxFillConditioningField" }, { "type": "null" }], + "default": null, + "description": "FLUX Fill conditioning.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "cfg_scale": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1.0, + "description": "Classifier-Free Guidance scale", + "field_kind": "input", + "input": "any", + "orig_default": 1.0, + "orig_required": false, + "title": "CFG Scale" + }, + "cfg_scale_start_step": { + "default": 0, + "description": "Index of the first step to apply cfg_scale. Negative indices count backwards from the the last step (e.g. a value of -1 refers to the final step).", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "CFG Scale Start Step", + "type": "integer" + }, + "cfg_scale_end_step": { + "default": -1, + "description": "Index of the last step to apply cfg_scale. Negative indices count backwards from the last step (e.g. a value of -1 refers to the final step).", + "field_kind": "input", + "input": "any", + "orig_default": -1, + "orig_required": false, + "title": "CFG Scale End Step", + "type": "integer" + }, + "width": { + "default": 1024, + "description": "Width of the generated image.", + "field_kind": "input", + "input": "any", + "multipleOf": 16, + "orig_default": 1024, + "orig_required": false, + "title": "Width", + "type": "integer" + }, + "height": { + "default": 1024, + "description": "Height of the generated image.", + "field_kind": "input", + "input": "any", + "multipleOf": 16, + "orig_default": 1024, + "orig_required": false, + "title": "Height", + "type": "integer" + }, + "num_steps": { + "default": 4, + "description": "Number of diffusion steps. Recommended values are schnell: 4, dev: 50.", + "field_kind": "input", + "input": "any", + "orig_default": 4, + "orig_required": false, + "title": "Num Steps", + "type": "integer" + }, + "guidance": { + "default": 4.0, + "description": "The guidance strength. Higher values adhere more strictly to the prompt, and will produce less diverse images. FLUX dev only, ignored for schnell.", + "field_kind": "input", + "input": "any", + "orig_default": 4.0, + "orig_required": false, + "title": "Guidance", + "type": "number" + }, + "seed": { + "default": 0, + "description": "Randomness seed for reproducibility.", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Seed", + "type": "integer" + }, + "control": { + "anyOf": [ + { "$ref": "#/components/schemas/FluxControlNetField" }, + { "items": { "$ref": "#/components/schemas/FluxControlNetField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "ControlNet models.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Control" + }, + "controlnet_vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "ip_adapter": { + "anyOf": [ + { "$ref": "#/components/schemas/IPAdapterField" }, + { "items": { "$ref": "#/components/schemas/IPAdapterField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "IP-Adapter to apply", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "IP-Adapter" + }, + "kontext_conditioning": { + "anyOf": [ + { "$ref": "#/components/schemas/FluxKontextConditioningField" }, + { "items": { "$ref": "#/components/schemas/FluxKontextConditioningField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "FLUX Kontext conditioning (reference image).", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Kontext Conditioning" + }, + "type": { + "const": "flux_denoise_meta", + "default": "flux_denoise_meta", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["flux", "latents", "denoise", "txt2img", "t2i", "t2l", "img2img", "i2i", "l2l"], + "title": "FLUX Denoise + Metadata", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/LatentsMetaOutput" } + }, + "FluxFillConditioningField": { + "description": "A FLUX Fill conditioning field.", + "properties": { + "image": { "$ref": "#/components/schemas/ImageField", "description": "The FLUX Fill reference image." }, + "mask": { "$ref": "#/components/schemas/TensorField", "description": "The FLUX Fill inpaint mask." } + }, + "required": ["image", "mask"], + "title": "FluxFillConditioningField", + "type": "object" + }, + "FluxFillInvocation": { + "category": "inpaint", + "class": "invocation", + "classification": "beta", + "description": "Prepare the FLUX Fill conditioning data.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The FLUX Fill reference image.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "The bool inpainting mask. Excluded regions should be set to False, included regions should be set to True.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "flux_fill", + "default": "flux_fill", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["inpaint"], + "title": "FLUX Fill Conditioning", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/FluxFillOutput" } + }, + "FluxFillOutput": { + "class": "output", + "description": "The conditioning output of a FLUX Fill invocation.", + "properties": { + "fill_cond": { + "$ref": "#/components/schemas/FluxFillConditioningField", + "description": "FLUX Redux conditioning tensor", + "field_kind": "output", + "title": "Conditioning", + "ui_hidden": false + }, + "type": { + "const": "flux_fill_output", + "default": "flux_fill_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "fill_cond", "type", "type"], + "title": "FluxFillOutput", + "type": "object" + }, + "FluxIPAdapterInvocation": { + "category": "ip_adapter", + "class": "invocation", + "classification": "stable", + "description": "Collects FLUX IP-Adapter info to pass to other nodes.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The IP-Adapter image prompt(s).", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "ip_adapter_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "The IP-Adapter model.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "IP-Adapter Model", + "ui_model_base": ["flux"], + "ui_model_type": ["ip_adapter"] + }, + "clip_vision_model": { + "const": "ViT-L", + "default": "ViT-L", + "description": "CLIP Vision model to use.", + "field_kind": "input", + "input": "any", + "orig_default": "ViT-L", + "orig_required": false, + "title": "Clip Vision Model", + "type": "string" + }, + "weight": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1, + "description": "The weight given to the IP-Adapter", + "field_kind": "input", + "input": "any", + "orig_default": 1, + "orig_required": false, + "title": "Weight" + }, + "begin_step_percent": { + "default": 0, + "description": "When the IP-Adapter is first applied (% of total steps)", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Begin Step Percent", + "type": "number" + }, + "end_step_percent": { + "default": 1, + "description": "When the IP-Adapter is last applied (% of total steps)", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1, + "orig_required": false, + "title": "End Step Percent", + "type": "number" + }, + "type": { + "const": "flux_ip_adapter", + "default": "flux_ip_adapter", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["ip_adapter", "control"], + "title": "FLUX IP-Adapter", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/IPAdapterOutput" } + }, + "FluxKontextConcatenateImagesInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Prepares an image or images for use with FLUX Kontext. The first/single image is resized to the nearest\npreferred Kontext resolution. All other images are concatenated horizontally, maintaining their aspect ratio.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "images": { + "anyOf": [ + { + "items": { "$ref": "#/components/schemas/ImageField" }, + "maxItems": 10, + "minItems": 1, + "type": "array" + }, + { "type": "null" } + ], + "default": null, + "description": "The images to concatenate", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Images" + }, + "use_preferred_resolution": { + "default": true, + "description": "Use FLUX preferred resolutions for the first image", + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "Use Preferred Resolution", + "type": "boolean" + }, + "type": { + "const": "flux_kontext_image_prep", + "default": "flux_kontext_image_prep", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "concatenate", "flux", "kontext"], + "title": "FLUX Kontext Image Prep", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "FluxKontextConditioningField": { + "description": "A conditioning field for FLUX Kontext (reference image).", + "properties": { + "image": { "$ref": "#/components/schemas/ImageField", "description": "The Kontext reference image." } + }, + "required": ["image"], + "title": "FluxKontextConditioningField", + "type": "object" + }, + "FluxKontextInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "stable", + "description": "Prepares a reference image for FLUX Kontext conditioning.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The Kontext reference image.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "flux_kontext", + "default": "flux_kontext", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["conditioning", "kontext", "flux"], + "title": "Kontext Conditioning - FLUX", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/FluxKontextOutput" } + }, + "FluxKontextOutput": { + "class": "output", + "description": "The conditioning output of a FLUX Kontext invocation.", + "properties": { + "kontext_cond": { + "$ref": "#/components/schemas/FluxKontextConditioningField", + "description": "FLUX Kontext conditioning (reference image)", + "field_kind": "output", + "title": "Kontext Conditioning", + "ui_hidden": false + }, + "type": { + "const": "flux_kontext_output", + "default": "flux_kontext_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "kontext_cond", "type", "type"], + "title": "FluxKontextOutput", + "type": "object" + }, + "FluxLoRALoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Apply a LoRA model to a FLUX transformer and/or text encoder.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "lora": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "LoRA model to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "LoRA", + "ui_model_base": ["flux"], + "ui_model_type": ["lora"] + }, + "weight": { + "default": 0.75, + "description": "The weight at which the LoRA is applied to each model", + "field_kind": "input", + "input": "any", + "orig_default": 0.75, + "orig_required": false, + "title": "Weight", + "type": "number" + }, + "transformer": { + "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "default": null, + "description": "Transformer", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "FLUX Transformer" + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "CLIP" + }, + "t5_encoder": { + "anyOf": [{ "$ref": "#/components/schemas/T5EncoderField" }, { "type": "null" }], + "default": null, + "description": "T5 tokenizer and text encoder", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "T5 Encoder" + }, + "type": { + "const": "flux_lora_loader", + "default": "flux_lora_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["lora", "model", "flux"], + "title": "Apply LoRA - FLUX", + "type": "object", + "version": "1.2.1", + "output": { "$ref": "#/components/schemas/FluxLoRALoaderOutput" } + }, + "FluxLoRALoaderOutput": { + "class": "output", + "description": "FLUX LoRA Loader Output", + "properties": { + "transformer": { + "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "default": null, + "description": "Transformer", + "field_kind": "output", + "title": "FLUX Transformer", + "ui_hidden": false + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP", + "ui_hidden": false + }, + "t5_encoder": { + "anyOf": [{ "$ref": "#/components/schemas/T5EncoderField" }, { "type": "null" }], + "default": null, + "description": "T5 tokenizer and text encoder", + "field_kind": "output", + "title": "T5 Encoder", + "ui_hidden": false + }, + "type": { + "const": "flux_lora_loader_output", + "default": "flux_lora_loader_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "transformer", "clip", "t5_encoder", "type", "type"], + "title": "FluxLoRALoaderOutput", + "type": "object" + }, + "FluxModelLoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Loads a flux base model, outputting its submodels.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Flux model (Transformer) to load", + "field_kind": "input", + "input": "direct", + "orig_required": true, + "ui_model_base": ["flux"], + "ui_model_type": ["main"] + }, + "t5_encoder_model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "T5 tokenizer and text encoder", + "field_kind": "input", + "input": "direct", + "orig_required": true, + "title": "T5 Encoder", + "ui_model_type": ["t5_encoder"] + }, + "clip_embed_model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "CLIP Embed loader", + "field_kind": "input", + "input": "direct", + "orig_required": true, + "title": "CLIP Embed", + "ui_model_type": ["clip_embed"] + }, + "vae_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "VAE model to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "VAE", + "ui_model_base": ["flux"], + "ui_model_type": ["vae"] + }, + "type": { + "const": "flux_model_loader", + "default": "flux_model_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["model", "t5_encoder_model", "clip_embed_model", "type", "id"], + "tags": ["model", "flux"], + "title": "Main Model - FLUX", + "type": "object", + "version": "1.0.6", + "output": { "$ref": "#/components/schemas/FluxModelLoaderOutput" } + }, + "FluxModelLoaderOutput": { + "class": "output", + "description": "Flux base model loader output", + "properties": { + "transformer": { + "$ref": "#/components/schemas/TransformerField", + "description": "Transformer", + "field_kind": "output", + "title": "Transformer", + "ui_hidden": false + }, + "clip": { + "$ref": "#/components/schemas/CLIPField", + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP", + "ui_hidden": false + }, + "t5_encoder": { + "$ref": "#/components/schemas/T5EncoderField", + "description": "T5 tokenizer and text encoder", + "field_kind": "output", + "title": "T5 Encoder", + "ui_hidden": false + }, + "vae": { + "$ref": "#/components/schemas/VAEField", + "description": "VAE", + "field_kind": "output", + "title": "VAE", + "ui_hidden": false + }, + "max_seq_len": { + "description": "The max sequence length to used for the T5 encoder. (256 for schnell transformer, 512 for dev transformer)", + "enum": [256, 512], + "field_kind": "output", + "title": "Max Seq Length", + "type": "integer", + "ui_hidden": false + }, + "type": { + "const": "flux_model_loader_output", + "default": "flux_model_loader_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "transformer", "clip", "t5_encoder", "vae", "max_seq_len", "type", "type"], + "title": "FluxModelLoaderOutput", + "type": "object" + }, + "FluxReduxConditioningField": { + "description": "A FLUX Redux conditioning tensor primitive value", + "properties": { + "conditioning": { + "$ref": "#/components/schemas/TensorField", + "description": "The Redux image conditioning tensor." + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "The mask associated with this conditioning tensor. Excluded regions should be set to False, included regions should be set to True." + } + }, + "required": ["conditioning"], + "title": "FluxReduxConditioningField", + "type": "object" + }, + "FluxReduxInvocation": { + "category": "ip_adapter", + "class": "invocation", + "classification": "beta", + "description": "Runs a FLUX Redux model to generate a conditioning tensor.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The FLUX Redux image prompt.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "The bool mask associated with this FLUX Redux image prompt. Excluded regions should be set to False, included regions should be set to True.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "redux_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "The FLUX Redux model to use.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "FLUX Redux Model", + "ui_model_base": ["flux"], + "ui_model_type": ["flux_redux"] + }, + "downsampling_factor": { + "default": 1, + "description": "Redux Downsampling Factor (1-9)", + "field_kind": "input", + "input": "any", + "maximum": 9, + "minimum": 1, + "orig_default": 1, + "orig_required": false, + "title": "Downsampling Factor", + "type": "integer" + }, + "downsampling_function": { + "default": "area", + "description": "Redux Downsampling Function", + "enum": ["nearest", "bilinear", "bicubic", "area", "nearest-exact"], + "field_kind": "input", + "input": "any", + "orig_default": "area", + "orig_required": false, + "title": "Downsampling Function", + "type": "string" + }, + "weight": { + "default": 1.0, + "description": "Redux weight (0.0-1.0)", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Weight", + "type": "number" + }, + "type": { + "const": "flux_redux", + "default": "flux_redux", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["ip_adapter", "control"], + "title": "FLUX Redux", + "type": "object", + "version": "2.1.0", + "output": { "$ref": "#/components/schemas/FluxReduxOutput" } + }, + "FluxReduxOutput": { + "class": "output", + "description": "The conditioning output of a FLUX Redux invocation.", + "properties": { + "redux_cond": { + "$ref": "#/components/schemas/FluxReduxConditioningField", + "description": "FLUX Redux conditioning tensor", + "field_kind": "output", + "title": "Conditioning", + "ui_hidden": false + }, + "type": { + "const": "flux_redux_output", + "default": "flux_redux_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "redux_cond", "type", "type"], + "title": "FluxReduxOutput", + "type": "object" + }, + "FluxTextEncoderInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "stable", + "description": "Encodes and preps a prompt for a flux image.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "CLIP" + }, + "t5_encoder": { + "anyOf": [{ "$ref": "#/components/schemas/T5EncoderField" }, { "type": "null" }], + "default": null, + "description": "T5 tokenizer and text encoder", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "T5Encoder" + }, + "t5_max_seq_len": { + "anyOf": [{ "enum": [256, 512], "type": "integer" }, { "type": "null" }], + "default": null, + "description": "Max sequence length for the T5 encoder. Expected to be 256 for FLUX schnell models and 512 for FLUX dev models.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "T5 Max Seq Len" + }, + "prompt": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Text prompt to encode.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Prompt", + "ui_component": "textarea" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "A mask defining the region that this conditioning prompt applies to.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "type": { + "const": "flux_text_encoder", + "default": "flux_text_encoder", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["prompt", "conditioning", "flux"], + "title": "Prompt - FLUX", + "type": "object", + "version": "1.1.2", + "output": { "$ref": "#/components/schemas/FluxConditioningOutput" } + }, + "FluxVaeDecodeInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Generates an image from latents.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "type": { + "const": "flux_vae_decode", + "default": "flux_vae_decode", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "image", "vae", "l2i", "flux"], + "title": "Latents to Image - FLUX", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "FluxVaeEncodeInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Encodes an image into latents.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to encode.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "type": { + "const": "flux_vae_encode", + "default": "flux_vae_encode", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "image", "vae", "i2l", "flux"], + "title": "Image to Latents - FLUX", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "FluxVariantType": { "type": "string", "enum": ["schnell", "dev", "dev_fill"], "title": "FluxVariantType" }, + "FoundModel": { + "properties": { + "path": { "type": "string", "title": "Path", "description": "Path to the model" }, + "is_installed": { + "type": "boolean", + "title": "Is Installed", + "description": "Whether or not the model is already installed" + } + }, + "type": "object", + "required": ["path", "is_installed"], + "title": "FoundModel" + }, + "FreeUConfig": { + "description": "Configuration for the FreeU hyperparameters.\n- https://huggingface.co/docs/diffusers/main/en/using-diffusers/freeu\n- https://github.com/ChenyangSi/FreeU", + "properties": { + "s1": { + "description": "Scaling factor for stage 1 to attenuate the contributions of the skip features. This is done to mitigate the \"oversmoothing effect\" in the enhanced denoising process.", + "maximum": 3, + "minimum": -1, + "title": "S1", + "type": "number" + }, + "s2": { + "description": "Scaling factor for stage 2 to attenuate the contributions of the skip features. This is done to mitigate the \"oversmoothing effect\" in the enhanced denoising process.", + "maximum": 3, + "minimum": -1, + "title": "S2", + "type": "number" + }, + "b1": { + "description": "Scaling factor for stage 1 to amplify the contributions of backbone features.", + "maximum": 3, + "minimum": -1, + "title": "B1", + "type": "number" + }, + "b2": { + "description": "Scaling factor for stage 2 to amplify the contributions of backbone features.", + "maximum": 3, + "minimum": -1, + "title": "B2", + "type": "number" + } + }, + "required": ["s1", "s2", "b1", "b2"], + "title": "FreeUConfig", + "type": "object" + }, + "FreeUInvocation": { + "category": "unet", + "class": "invocation", + "classification": "stable", + "description": "Applies FreeU to the UNet. Suggested values (b1/b2/s1/s2):\n\nSD1.5: 1.2/1.4/0.9/0.2,\nSD2: 1.1/1.2/0.9/0.2,\nSDXL: 1.1/1.2/0.6/0.4,", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "UNet" + }, + "b1": { + "default": 1.2, + "description": "Scaling factor for stage 1 to amplify the contributions of backbone features.", + "field_kind": "input", + "input": "any", + "maximum": 3, + "minimum": -1, + "orig_default": 1.2, + "orig_required": false, + "title": "B1", + "type": "number" + }, + "b2": { + "default": 1.4, + "description": "Scaling factor for stage 2 to amplify the contributions of backbone features.", + "field_kind": "input", + "input": "any", + "maximum": 3, + "minimum": -1, + "orig_default": 1.4, + "orig_required": false, + "title": "B2", + "type": "number" + }, + "s1": { + "default": 0.9, + "description": "Scaling factor for stage 1 to attenuate the contributions of the skip features. This is done to mitigate the \"oversmoothing effect\" in the enhanced denoising process.", + "field_kind": "input", + "input": "any", + "maximum": 3, + "minimum": -1, + "orig_default": 0.9, + "orig_required": false, + "title": "S1", + "type": "number" + }, + "s2": { + "default": 0.2, + "description": "Scaling factor for stage 2 to attenuate the contributions of the skip features. This is done to mitigate the \"oversmoothing effect\" in the enhanced denoising process.", + "field_kind": "input", + "input": "any", + "maximum": 3, + "minimum": -1, + "orig_default": 0.2, + "orig_required": false, + "title": "S2", + "type": "number" + }, + "type": { + "const": "freeu", + "default": "freeu", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["freeu"], + "title": "Apply FreeU - SD1.5, SDXL", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/UNetOutput" } + }, + "GetMaskBoundingBoxInvocation": { + "category": "mask", + "class": "invocation", + "classification": "stable", + "description": "Gets the bounding box of the given mask image.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The mask to crop.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "margin": { + "default": 0, + "description": "Margin to add to the bounding box.", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Margin", + "type": "integer" + }, + "mask_color": { + "$ref": "#/components/schemas/ColorField", + "default": { "r": 255, "g": 255, "b": 255, "a": 255 }, + "description": "Color of the mask in the image.", + "field_kind": "input", + "input": "any", + "orig_default": { "a": 255, "b": 255, "g": 255, "r": 255 }, + "orig_required": false + }, + "type": { + "const": "get_image_mask_bounding_box", + "default": "get_image_mask_bounding_box", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["mask"], + "title": "Get Image Mask Bounding Box", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/BoundingBoxOutput" } + }, + "GlmEncoderField": { + "properties": { + "tokenizer": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load tokenizer submodel" + }, + "text_encoder": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load text_encoder submodel" + } + }, + "required": ["tokenizer", "text_encoder"], + "title": "GlmEncoderField", + "type": "object" + }, + "GradientMaskOutput": { + "class": "output", + "description": "Outputs a denoise mask and an image representing the total gradient of the mask.", + "properties": { + "denoise_mask": { + "$ref": "#/components/schemas/DenoiseMaskField", + "description": "Mask for denoise model run. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", + "field_kind": "output", + "ui_hidden": false + }, + "expanded_mask_area": { + "$ref": "#/components/schemas/ImageField", + "description": "Image representing the total gradient area of the mask. For paste-back purposes.", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "gradient_mask_output", + "default": "gradient_mask_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "denoise_mask", "expanded_mask_area", "type", "type"], + "title": "GradientMaskOutput", + "type": "object" + }, + "Graph": { + "properties": { + "id": { "type": "string", "title": "Id", "description": "The id of this graph" }, + "nodes": { + "additionalProperties": { + "oneOf": [ + { "$ref": "#/components/schemas/AddInvocation" }, + { "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" }, + { "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" }, + { "$ref": "#/components/schemas/ApplyMaskToImageInvocation" }, + { "$ref": "#/components/schemas/BlankImageInvocation" }, + { "$ref": "#/components/schemas/BlendLatentsInvocation" }, + { "$ref": "#/components/schemas/BooleanCollectionInvocation" }, + { "$ref": "#/components/schemas/BooleanInvocation" }, + { "$ref": "#/components/schemas/BoundingBoxInvocation" }, + { "$ref": "#/components/schemas/CLIPSkipInvocation" }, + { "$ref": "#/components/schemas/CV2InfillInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" }, + { "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/CanvasPasteBackInvocation" }, + { "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" }, + { "$ref": "#/components/schemas/CenterPadCropInvocation" }, + { "$ref": "#/components/schemas/CogView4DenoiseInvocation" }, + { "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" }, + { "$ref": "#/components/schemas/CogView4TextEncoderInvocation" }, + { "$ref": "#/components/schemas/CollectInvocation" }, + { "$ref": "#/components/schemas/ColorCorrectInvocation" }, + { "$ref": "#/components/schemas/ColorInvocation" }, + { "$ref": "#/components/schemas/ColorMapInvocation" }, + { "$ref": "#/components/schemas/CompelInvocation" }, + { "$ref": "#/components/schemas/ConditioningCollectionInvocation" }, + { "$ref": "#/components/schemas/ConditioningInvocation" }, + { "$ref": "#/components/schemas/ContentShuffleInvocation" }, + { "$ref": "#/components/schemas/ControlNetInvocation" }, + { "$ref": "#/components/schemas/CoreMetadataInvocation" }, + { "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" }, + { "$ref": "#/components/schemas/CreateGradientMaskInvocation" }, + { "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/CropLatentsCoreInvocation" }, + { "$ref": "#/components/schemas/CvInpaintInvocation" }, + { "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" }, + { "$ref": "#/components/schemas/DenoiseLatentsInvocation" }, + { "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" }, + { "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" }, + { "$ref": "#/components/schemas/DivideInvocation" }, + { "$ref": "#/components/schemas/DynamicPromptInvocation" }, + { "$ref": "#/components/schemas/ESRGANInvocation" }, + { "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" }, + { "$ref": "#/components/schemas/FLUXLoRACollectionLoader" }, + { "$ref": "#/components/schemas/FaceIdentifierInvocation" }, + { "$ref": "#/components/schemas/FaceMaskInvocation" }, + { "$ref": "#/components/schemas/FaceOffInvocation" }, + { "$ref": "#/components/schemas/FloatBatchInvocation" }, + { "$ref": "#/components/schemas/FloatCollectionInvocation" }, + { "$ref": "#/components/schemas/FloatGenerator" }, + { "$ref": "#/components/schemas/FloatInvocation" }, + { "$ref": "#/components/schemas/FloatLinearRangeInvocation" }, + { "$ref": "#/components/schemas/FloatMathInvocation" }, + { "$ref": "#/components/schemas/FloatToIntegerInvocation" }, + { "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/FluxControlNetInvocation" }, + { "$ref": "#/components/schemas/FluxDenoiseInvocation" }, + { "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" }, + { "$ref": "#/components/schemas/FluxFillInvocation" }, + { "$ref": "#/components/schemas/FluxIPAdapterInvocation" }, + { "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" }, + { "$ref": "#/components/schemas/FluxKontextInvocation" }, + { "$ref": "#/components/schemas/FluxLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/FluxModelLoaderInvocation" }, + { "$ref": "#/components/schemas/FluxReduxInvocation" }, + { "$ref": "#/components/schemas/FluxTextEncoderInvocation" }, + { "$ref": "#/components/schemas/FluxVaeDecodeInvocation" }, + { "$ref": "#/components/schemas/FluxVaeEncodeInvocation" }, + { "$ref": "#/components/schemas/FreeUInvocation" }, + { "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/GroundingDinoInvocation" }, + { "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/HeuristicResizeInvocation" }, + { "$ref": "#/components/schemas/IPAdapterInvocation" }, + { "$ref": "#/components/schemas/IdealSizeInvocation" }, + { "$ref": "#/components/schemas/ImageBatchInvocation" }, + { "$ref": "#/components/schemas/ImageBlurInvocation" }, + { "$ref": "#/components/schemas/ImageChannelInvocation" }, + { "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" }, + { "$ref": "#/components/schemas/ImageChannelOffsetInvocation" }, + { "$ref": "#/components/schemas/ImageCollectionInvocation" }, + { "$ref": "#/components/schemas/ImageConvertInvocation" }, + { "$ref": "#/components/schemas/ImageCropInvocation" }, + { "$ref": "#/components/schemas/ImageGenerator" }, + { "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" }, + { "$ref": "#/components/schemas/ImageInverseLerpInvocation" }, + { "$ref": "#/components/schemas/ImageInvocation" }, + { "$ref": "#/components/schemas/ImageLerpInvocation" }, + { "$ref": "#/components/schemas/ImageMaskToTensorInvocation" }, + { "$ref": "#/components/schemas/ImageMultiplyInvocation" }, + { "$ref": "#/components/schemas/ImageNSFWBlurInvocation" }, + { "$ref": "#/components/schemas/ImageNoiseInvocation" }, + { "$ref": "#/components/schemas/ImagePanelLayoutInvocation" }, + { "$ref": "#/components/schemas/ImagePasteInvocation" }, + { "$ref": "#/components/schemas/ImageResizeInvocation" }, + { "$ref": "#/components/schemas/ImageScaleInvocation" }, + { "$ref": "#/components/schemas/ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/ImageWatermarkInvocation" }, + { "$ref": "#/components/schemas/InfillColorInvocation" }, + { "$ref": "#/components/schemas/InfillPatchMatchInvocation" }, + { "$ref": "#/components/schemas/InfillTileInvocation" }, + { "$ref": "#/components/schemas/IntegerBatchInvocation" }, + { "$ref": "#/components/schemas/IntegerCollectionInvocation" }, + { "$ref": "#/components/schemas/IntegerGenerator" }, + { "$ref": "#/components/schemas/IntegerInvocation" }, + { "$ref": "#/components/schemas/IntegerMathInvocation" }, + { "$ref": "#/components/schemas/InvertTensorMaskInvocation" }, + { "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" }, + { "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" }, + { "$ref": "#/components/schemas/InvokeImageBlendInvocation" }, + { "$ref": "#/components/schemas/InvokeImageCompositorInvocation" }, + { "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" }, + { "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" }, + { "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" }, + { "$ref": "#/components/schemas/IterateInvocation" }, + { "$ref": "#/components/schemas/LaMaInfillInvocation" }, + { "$ref": "#/components/schemas/LatentsCollectionInvocation" }, + { "$ref": "#/components/schemas/LatentsInvocation" }, + { "$ref": "#/components/schemas/LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" }, + { "$ref": "#/components/schemas/LoRACollectionLoader" }, + { "$ref": "#/components/schemas/LoRALoaderInvocation" }, + { "$ref": "#/components/schemas/LoRASelectorInvocation" }, + { "$ref": "#/components/schemas/MLSDDetectionInvocation" }, + { "$ref": "#/components/schemas/MainModelLoaderInvocation" }, + { "$ref": "#/components/schemas/MaskCombineInvocation" }, + { "$ref": "#/components/schemas/MaskEdgeInvocation" }, + { "$ref": "#/components/schemas/MaskFromAlphaInvocation" }, + { "$ref": "#/components/schemas/MaskFromIDInvocation" }, + { "$ref": "#/components/schemas/MaskTensorToImageInvocation" }, + { "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" }, + { "$ref": "#/components/schemas/MergeMetadataInvocation" }, + { "$ref": "#/components/schemas/MergeTilesToImageInvocation" }, + { "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" }, + { "$ref": "#/components/schemas/MetadataFromImageInvocation" }, + { "$ref": "#/components/schemas/MetadataInvocation" }, + { "$ref": "#/components/schemas/MetadataItemInvocation" }, + { "$ref": "#/components/schemas/MetadataItemLinkedInvocation" }, + { "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToBoolInvocation" }, + { "$ref": "#/components/schemas/MetadataToControlnetsInvocation" }, + { "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToFloatInvocation" }, + { "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" }, + { "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToIntegerInvocation" }, + { "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToLorasInvocation" }, + { "$ref": "#/components/schemas/MetadataToModelInvocation" }, + { "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" }, + { "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" }, + { "$ref": "#/components/schemas/MetadataToSchedulerInvocation" }, + { "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToStringInvocation" }, + { "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" }, + { "$ref": "#/components/schemas/MetadataToVAEInvocation" }, + { "$ref": "#/components/schemas/ModelIdentifierInvocation" }, + { "$ref": "#/components/schemas/MultiplyInvocation" }, + { "$ref": "#/components/schemas/NoiseInvocation" }, + { "$ref": "#/components/schemas/NormalMapInvocation" }, + { "$ref": "#/components/schemas/PairTileImageInvocation" }, + { "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/PromptsFromFileInvocation" }, + { "$ref": "#/components/schemas/RandomFloatInvocation" }, + { "$ref": "#/components/schemas/RandomIntInvocation" }, + { "$ref": "#/components/schemas/RandomRangeInvocation" }, + { "$ref": "#/components/schemas/RangeInvocation" }, + { "$ref": "#/components/schemas/RangeOfSizeInvocation" }, + { "$ref": "#/components/schemas/RectangleMaskInvocation" }, + { "$ref": "#/components/schemas/ResizeLatentsInvocation" }, + { "$ref": "#/components/schemas/RoundInvocation" }, + { "$ref": "#/components/schemas/SD3DenoiseInvocation" }, + { "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/SD3LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/SDXLCompelPromptInvocation" }, + { "$ref": "#/components/schemas/SDXLLoRACollectionLoader" }, + { "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/SDXLModelLoaderInvocation" }, + { "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" }, + { "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" }, + { "$ref": "#/components/schemas/SaveImageInvocation" }, + { "$ref": "#/components/schemas/ScaleLatentsInvocation" }, + { "$ref": "#/components/schemas/SchedulerInvocation" }, + { "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" }, + { "$ref": "#/components/schemas/Sd3TextEncoderInvocation" }, + { "$ref": "#/components/schemas/SeamlessModeInvocation" }, + { "$ref": "#/components/schemas/SegmentAnythingInvocation" }, + { "$ref": "#/components/schemas/ShowImageInvocation" }, + { "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" }, + { "$ref": "#/components/schemas/SpandrelImageToImageInvocation" }, + { "$ref": "#/components/schemas/StringBatchInvocation" }, + { "$ref": "#/components/schemas/StringCollectionInvocation" }, + { "$ref": "#/components/schemas/StringGenerator" }, + { "$ref": "#/components/schemas/StringInvocation" }, + { "$ref": "#/components/schemas/StringJoinInvocation" }, + { "$ref": "#/components/schemas/StringJoinThreeInvocation" }, + { "$ref": "#/components/schemas/StringReplaceInvocation" }, + { "$ref": "#/components/schemas/StringSplitInvocation" }, + { "$ref": "#/components/schemas/StringSplitNegInvocation" }, + { "$ref": "#/components/schemas/SubtractInvocation" }, + { "$ref": "#/components/schemas/T2IAdapterInvocation" }, + { "$ref": "#/components/schemas/TileToPropertiesInvocation" }, + { "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" }, + { "$ref": "#/components/schemas/UnsharpMaskInvocation" }, + { "$ref": "#/components/schemas/VAELoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageDenoiseInvocation" }, + { "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" }, + { "$ref": "#/components/schemas/ZImageLoRACollectionLoader" }, + { "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageModelLoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageTextEncoderInvocation" } + ] + }, + "type": "object", + "title": "Nodes", + "description": "The nodes in this graph" + }, + "edges": { + "items": { "$ref": "#/components/schemas/Edge" }, + "type": "array", + "title": "Edges", + "description": "The connections between nodes and their fields in this graph" + } + }, + "type": "object", + "title": "Graph" + }, + "GraphExecutionState": { + "properties": { + "id": { "type": "string", "title": "Id", "description": "The id of the execution state" }, + "graph": { "$ref": "#/components/schemas/Graph", "description": "The graph being executed" }, + "execution_graph": { + "$ref": "#/components/schemas/Graph", + "description": "The expanded graph of activated and executed nodes" + }, + "executed": { + "items": { "type": "string" }, + "type": "array", + "uniqueItems": true, + "title": "Executed", + "description": "The set of node ids that have been executed" + }, + "executed_history": { + "items": { "type": "string" }, + "type": "array", + "title": "Executed History", + "description": "The list of node ids that have been executed, in order of execution" + }, + "results": { + "additionalProperties": { + "oneOf": [ + { "$ref": "#/components/schemas/BooleanCollectionOutput" }, + { "$ref": "#/components/schemas/BooleanOutput" }, + { "$ref": "#/components/schemas/BoundingBoxCollectionOutput" }, + { "$ref": "#/components/schemas/BoundingBoxOutput" }, + { "$ref": "#/components/schemas/CLIPOutput" }, + { "$ref": "#/components/schemas/CLIPSkipInvocationOutput" }, + { "$ref": "#/components/schemas/CalculateImageTilesOutput" }, + { "$ref": "#/components/schemas/CogView4ConditioningOutput" }, + { "$ref": "#/components/schemas/CogView4ModelLoaderOutput" }, + { "$ref": "#/components/schemas/CollectInvocationOutput" }, + { "$ref": "#/components/schemas/ColorCollectionOutput" }, + { "$ref": "#/components/schemas/ColorOutput" }, + { "$ref": "#/components/schemas/ConditioningCollectionOutput" }, + { "$ref": "#/components/schemas/ConditioningOutput" }, + { "$ref": "#/components/schemas/ControlOutput" }, + { "$ref": "#/components/schemas/DenoiseMaskOutput" }, + { "$ref": "#/components/schemas/FaceMaskOutput" }, + { "$ref": "#/components/schemas/FaceOffOutput" }, + { "$ref": "#/components/schemas/FloatCollectionOutput" }, + { "$ref": "#/components/schemas/FloatGeneratorOutput" }, + { "$ref": "#/components/schemas/FloatOutput" }, + { "$ref": "#/components/schemas/FluxConditioningCollectionOutput" }, + { "$ref": "#/components/schemas/FluxConditioningOutput" }, + { "$ref": "#/components/schemas/FluxControlLoRALoaderOutput" }, + { "$ref": "#/components/schemas/FluxControlNetOutput" }, + { "$ref": "#/components/schemas/FluxFillOutput" }, + { "$ref": "#/components/schemas/FluxKontextOutput" }, + { "$ref": "#/components/schemas/FluxLoRALoaderOutput" }, + { "$ref": "#/components/schemas/FluxModelLoaderOutput" }, + { "$ref": "#/components/schemas/FluxReduxOutput" }, + { "$ref": "#/components/schemas/GradientMaskOutput" }, + { "$ref": "#/components/schemas/IPAdapterOutput" }, + { "$ref": "#/components/schemas/IdealSizeOutput" }, + { "$ref": "#/components/schemas/ImageCollectionOutput" }, + { "$ref": "#/components/schemas/ImageGeneratorOutput" }, + { "$ref": "#/components/schemas/ImageOutput" }, + { "$ref": "#/components/schemas/ImagePanelCoordinateOutput" }, + { "$ref": "#/components/schemas/IntegerCollectionOutput" }, + { "$ref": "#/components/schemas/IntegerGeneratorOutput" }, + { "$ref": "#/components/schemas/IntegerOutput" }, + { "$ref": "#/components/schemas/IterateInvocationOutput" }, + { "$ref": "#/components/schemas/LatentsCollectionOutput" }, + { "$ref": "#/components/schemas/LatentsMetaOutput" }, + { "$ref": "#/components/schemas/LatentsOutput" }, + { "$ref": "#/components/schemas/LoRALoaderOutput" }, + { "$ref": "#/components/schemas/LoRASelectorOutput" }, + { "$ref": "#/components/schemas/MDControlListOutput" }, + { "$ref": "#/components/schemas/MDIPAdapterListOutput" }, + { "$ref": "#/components/schemas/MDT2IAdapterListOutput" }, + { "$ref": "#/components/schemas/MaskOutput" }, + { "$ref": "#/components/schemas/MetadataItemOutput" }, + { "$ref": "#/components/schemas/MetadataOutput" }, + { "$ref": "#/components/schemas/MetadataToLorasCollectionOutput" }, + { "$ref": "#/components/schemas/MetadataToModelOutput" }, + { "$ref": "#/components/schemas/MetadataToSDXLModelOutput" }, + { "$ref": "#/components/schemas/ModelIdentifierOutput" }, + { "$ref": "#/components/schemas/ModelLoaderOutput" }, + { "$ref": "#/components/schemas/NoiseOutput" }, + { "$ref": "#/components/schemas/PairTileImageOutput" }, + { "$ref": "#/components/schemas/SD3ConditioningOutput" }, + { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" }, + { "$ref": "#/components/schemas/SDXLModelLoaderOutput" }, + { "$ref": "#/components/schemas/SDXLRefinerModelLoaderOutput" }, + { "$ref": "#/components/schemas/SchedulerOutput" }, + { "$ref": "#/components/schemas/Sd3ModelLoaderOutput" }, + { "$ref": "#/components/schemas/SeamlessModeOutput" }, + { "$ref": "#/components/schemas/String2Output" }, + { "$ref": "#/components/schemas/StringCollectionOutput" }, + { "$ref": "#/components/schemas/StringGeneratorOutput" }, + { "$ref": "#/components/schemas/StringOutput" }, + { "$ref": "#/components/schemas/StringPosNegOutput" }, + { "$ref": "#/components/schemas/T2IAdapterOutput" }, + { "$ref": "#/components/schemas/TileToPropertiesOutput" }, + { "$ref": "#/components/schemas/UNetOutput" }, + { "$ref": "#/components/schemas/VAEOutput" }, + { "$ref": "#/components/schemas/ZImageConditioningOutput" }, + { "$ref": "#/components/schemas/ZImageLoRALoaderOutput" }, + { "$ref": "#/components/schemas/ZImageModelLoaderOutput" } + ] + }, + "type": "object", + "title": "Results", + "description": "The results of node executions" + }, + "errors": { + "additionalProperties": { "type": "string" }, + "type": "object", + "title": "Errors", + "description": "Errors raised when executing nodes" + }, + "prepared_source_mapping": { + "additionalProperties": { "type": "string" }, + "type": "object", + "title": "Prepared Source Mapping", + "description": "The map of prepared nodes to original graph nodes" + }, + "source_prepared_mapping": { + "additionalProperties": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, + "type": "object", + "title": "Source Prepared Mapping", + "description": "The map of original graph nodes to prepared nodes" + }, + "ready_order": { "items": { "type": "string" }, "type": "array", "title": "Ready Order" }, + "indegree": { + "additionalProperties": { "type": "integer" }, + "type": "object", + "title": "Indegree", + "description": "Remaining unmet input count for exec nodes" + } + }, + "type": "object", + "required": [ + "id", + "graph", + "execution_graph", + "executed", + "executed_history", + "results", + "errors", + "prepared_source_mapping", + "source_prepared_mapping" + ], + "title": "GraphExecutionState", + "description": "Tracks the state of a graph execution" + }, + "GroundingDinoInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Runs a Grounding DINO model. Performs zero-shot bounding-box object detection from a text prompt.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "model": { + "anyOf": [{ "enum": ["grounding-dino-tiny", "grounding-dino-base"], "type": "string" }, { "type": "null" }], + "default": null, + "description": "The Grounding DINO model to use.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Model" + }, + "prompt": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The prompt describing the object to segment.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Prompt" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to segment.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "detection_threshold": { + "default": 0.3, + "description": "The detection threshold for the Grounding DINO model. All detected bounding boxes with scores above this threshold will be returned.", + "field_kind": "input", + "input": "any", + "maximum": 1.0, + "minimum": 0.0, + "orig_default": 0.3, + "orig_required": false, + "title": "Detection Threshold", + "type": "number" + }, + "type": { + "const": "grounding_dino", + "default": "grounding_dino", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["prompt", "object detection"], + "title": "Grounding DINO (Text Prompt Object Detection)", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/BoundingBoxCollectionOutput" } + }, + "HEDEdgeDetectionInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Geneartes an edge map using the HED (softedge) model.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "scribble": { + "default": false, + "description": "Whether or not to use scribble mode", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Scribble", + "type": "boolean" + }, + "type": { + "const": "hed_edge_detection", + "default": "hed_edge_detection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet", "hed", "softedge"], + "title": "HED Edge Detection", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "HFModelSource": { + "properties": { + "repo_id": { "type": "string", "title": "Repo Id" }, + "variant": { + "anyOf": [{ "$ref": "#/components/schemas/ModelRepoVariant" }, { "type": "null" }], + "default": "fp16" + }, + "subfolder": { "anyOf": [{ "type": "string", "format": "path" }, { "type": "null" }], "title": "Subfolder" }, + "access_token": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Access Token" }, + "type": { "type": "string", "const": "hf", "title": "Type", "default": "hf" } + }, + "type": "object", + "required": ["repo_id"], + "title": "HFModelSource", + "description": "A HuggingFace repo_id with optional variant, sub-folder and access token.\nNote that the variant option, if not provided to the constructor, will default to fp16, which is\nwhat people (almost) always want." + }, + "HFTokenStatus": { "type": "string", "enum": ["valid", "invalid", "unknown"], "title": "HFTokenStatus" }, + "HTTPValidationError": { + "properties": { + "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } + }, + "type": "object", + "title": "HTTPValidationError" + }, + "HeuristicResizeInvocation": { + "category": "image", + "class": "invocation", + "classification": "prototype", + "description": "Resize an image using a heuristic method. Preserves edge maps.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to resize", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "width": { + "default": 512, + "description": "The width to resize to (px)", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 512, + "orig_required": false, + "title": "Width", + "type": "integer" + }, + "height": { + "default": 512, + "description": "The height to resize to (px)", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 512, + "orig_required": false, + "title": "Height", + "type": "integer" + }, + "type": { + "const": "heuristic_resize", + "default": "heuristic_resize", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image, controlnet"], + "title": "Heuristic Resize", + "type": "object", + "version": "1.1.1", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "HuggingFaceMetadata": { + "properties": { + "name": { "type": "string", "title": "Name", "description": "model's name" }, + "files": { + "items": { "$ref": "#/components/schemas/RemoteModelFile" }, + "type": "array", + "title": "Files", + "description": "model files and their sizes" + }, + "type": { "type": "string", "const": "huggingface", "title": "Type", "default": "huggingface" }, + "id": { "type": "string", "title": "Id", "description": "The HF model id" }, + "api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Api Response", + "description": "Response from the HF API as stringified JSON" + }, + "is_diffusers": { + "type": "boolean", + "title": "Is Diffusers", + "description": "Whether the metadata is for a Diffusers format model", + "default": false + }, + "ckpt_urls": { + "anyOf": [ + { "items": { "type": "string", "minLength": 1, "format": "uri" }, "type": "array" }, + { "type": "null" } + ], + "title": "Ckpt Urls", + "description": "URLs for all checkpoint format models in the metadata" + } + }, + "type": "object", + "required": ["name", "id"], + "title": "HuggingFaceMetadata", + "description": "Extended metadata fields provided by HuggingFace." + }, + "HuggingFaceModels": { + "properties": { + "urls": { + "anyOf": [ + { "items": { "type": "string", "minLength": 1, "format": "uri" }, "type": "array" }, + { "type": "null" } + ], + "title": "Urls", + "description": "URLs for all checkpoint format models in the metadata" + }, + "is_diffusers": { + "type": "boolean", + "title": "Is Diffusers", + "description": "Whether the metadata is for a Diffusers format model" + } + }, + "type": "object", + "required": ["urls", "is_diffusers"], + "title": "HuggingFaceModels" + }, + "IPAdapterField": { + "properties": { + "image": { + "anyOf": [ + { "$ref": "#/components/schemas/ImageField" }, + { "items": { "$ref": "#/components/schemas/ImageField" }, "type": "array" } + ], + "description": "The IP-Adapter image prompt(s).", + "title": "Image" + }, + "ip_adapter_model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "The IP-Adapter model to use." + }, + "image_encoder_model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "The name of the CLIP image encoder model." + }, + "weight": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1, + "description": "The weight given to the IP-Adapter.", + "title": "Weight" + }, + "target_blocks": { + "default": [], + "description": "The IP Adapter blocks to apply", + "items": { "type": "string" }, + "title": "Target Blocks", + "type": "array" + }, + "method": { "default": "full", "description": "Weight apply method", "title": "Method", "type": "string" }, + "begin_step_percent": { + "default": 0, + "description": "When the IP-Adapter is first applied (% of total steps)", + "maximum": 1, + "minimum": 0, + "title": "Begin Step Percent", + "type": "number" + }, + "end_step_percent": { + "default": 1, + "description": "When the IP-Adapter is last applied (% of total steps)", + "maximum": 1, + "minimum": 0, + "title": "End Step Percent", + "type": "number" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "The bool mask associated with this IP-Adapter. Excluded regions should be set to False, included regions should be set to True." + } + }, + "required": ["image", "ip_adapter_model", "image_encoder_model"], + "title": "IPAdapterField", + "type": "object" + }, + "IPAdapterInvocation": { + "category": "ip_adapter", + "class": "invocation", + "classification": "stable", + "description": "Collects IP-Adapter info to pass to other nodes.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [ + { "$ref": "#/components/schemas/ImageField" }, + { "items": { "$ref": "#/components/schemas/ImageField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "The IP-Adapter image prompt(s).", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Image", + "ui_order": 1 + }, + "ip_adapter_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "The IP-Adapter model.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "IP-Adapter Model", + "ui_model_base": ["sd-1", "sdxl"], + "ui_model_type": ["ip_adapter"], + "ui_order": -1 + }, + "clip_vision_model": { + "default": "ViT-H", + "description": "CLIP Vision model to use. Overrides model settings. Mandatory for checkpoint models.", + "enum": ["ViT-H", "ViT-G", "ViT-L"], + "field_kind": "input", + "input": "any", + "orig_default": "ViT-H", + "orig_required": false, + "title": "Clip Vision Model", + "type": "string", + "ui_order": 2 + }, + "weight": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1, + "description": "The weight given to the IP-Adapter", + "field_kind": "input", + "input": "any", + "orig_default": 1, + "orig_required": false, + "title": "Weight" + }, + "method": { + "default": "full", + "description": "The method to apply the IP-Adapter", + "enum": ["full", "style", "composition", "style_strong", "style_precise"], + "field_kind": "input", + "input": "any", + "orig_default": "full", + "orig_required": false, + "title": "Method", + "type": "string" + }, + "begin_step_percent": { + "default": 0, + "description": "When the IP-Adapter is first applied (% of total steps)", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Begin Step Percent", + "type": "number" + }, + "end_step_percent": { + "default": 1, + "description": "When the IP-Adapter is last applied (% of total steps)", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1, + "orig_required": false, + "title": "End Step Percent", + "type": "number" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "A mask defining the region that this IP-Adapter applies to.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "type": { + "const": "ip_adapter", + "default": "ip_adapter", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["ip_adapter", "control"], + "title": "IP-Adapter - SD1.5, SDXL", + "type": "object", + "version": "1.5.1", + "output": { "$ref": "#/components/schemas/IPAdapterOutput" } + }, + "IPAdapterMetadataField": { + "description": "IP Adapter Field, minus the CLIP Vision Encoder model", + "properties": { + "image": { "$ref": "#/components/schemas/ImageField", "description": "The IP-Adapter image prompt." }, + "ip_adapter_model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "The IP-Adapter model." + }, + "clip_vision_model": { + "description": "The CLIP Vision model", + "enum": ["ViT-L", "ViT-H", "ViT-G"], + "title": "Clip Vision Model", + "type": "string" + }, + "method": { + "description": "Method to apply IP Weights with", + "enum": ["full", "style", "composition", "style_strong", "style_precise"], + "title": "Method", + "type": "string" + }, + "weight": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "description": "The weight given to the IP-Adapter", + "title": "Weight" + }, + "begin_step_percent": { + "description": "When the IP-Adapter is first applied (% of total steps)", + "title": "Begin Step Percent", + "type": "number" + }, + "end_step_percent": { + "description": "When the IP-Adapter is last applied (% of total steps)", + "title": "End Step Percent", + "type": "number" + } + }, + "required": [ + "image", + "ip_adapter_model", + "clip_vision_model", + "method", + "weight", + "begin_step_percent", + "end_step_percent" + ], + "title": "IPAdapterMetadataField", + "type": "object" + }, + "IPAdapterOutput": { + "class": "output", + "properties": { + "ip_adapter": { + "$ref": "#/components/schemas/IPAdapterField", + "description": "IP-Adapter to apply", + "field_kind": "output", + "title": "IP-Adapter", + "ui_hidden": false + }, + "type": { + "const": "ip_adapter_output", + "default": "ip_adapter_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "ip_adapter", "type", "type"], + "title": "IPAdapterOutput", + "type": "object" + }, + "IPAdapter_Checkpoint_FLUX_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "base" + ], + "title": "IPAdapter_Checkpoint_FLUX_Config" + }, + "IPAdapter_Checkpoint_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "base" + ], + "title": "IPAdapter_Checkpoint_SD1_Config" + }, + "IPAdapter_Checkpoint_SD2_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "base" + ], + "title": "IPAdapter_Checkpoint_SD2_Config" + }, + "IPAdapter_Checkpoint_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "base" + ], + "title": "IPAdapter_Checkpoint_SDXL_Config" + }, + "IPAdapter_InvokeAI_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, + "format": { "type": "string", "const": "invokeai", "title": "Format", "default": "invokeai" }, + "image_encoder_model_id": { "type": "string", "title": "Image Encoder Model Id" }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "image_encoder_model_id", + "base" + ], + "title": "IPAdapter_InvokeAI_SD1_Config" + }, + "IPAdapter_InvokeAI_SD2_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, + "format": { "type": "string", "const": "invokeai", "title": "Format", "default": "invokeai" }, + "image_encoder_model_id": { "type": "string", "title": "Image Encoder Model Id" }, + "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "image_encoder_model_id", + "base" + ], + "title": "IPAdapter_InvokeAI_SD2_Config" + }, + "IPAdapter_InvokeAI_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, + "format": { "type": "string", "const": "invokeai", "title": "Format", "default": "invokeai" }, + "image_encoder_model_id": { "type": "string", "title": "Image Encoder Model Id" }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "image_encoder_model_id", + "base" + ], + "title": "IPAdapter_InvokeAI_SDXL_Config" + }, + "IdealSizeInvocation": { + "class": "invocation", + "classification": "stable", + "description": "Calculates the ideal size for generation to avoid duplication", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "width": { + "default": 1024, + "description": "Final image width", + "field_kind": "input", + "input": "any", + "orig_default": 1024, + "orig_required": false, + "title": "Width", + "type": "integer" + }, + "height": { + "default": 576, + "description": "Final image height", + "field_kind": "input", + "input": "any", + "orig_default": 576, + "orig_required": false, + "title": "Height", + "type": "integer" + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "multiplier": { + "default": 1.0, + "description": "Amount to multiply the model's dimensions by when calculating the ideal size (may result in initial generation artifacts if too large)", + "field_kind": "input", + "input": "any", + "orig_default": 1.0, + "orig_required": false, + "title": "Multiplier", + "type": "number" + }, + "type": { + "const": "ideal_size", + "default": "ideal_size", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "math", "ideal_size"], + "title": "Ideal Size - SD1.5, SDXL", + "type": "object", + "version": "1.0.6", + "output": { "$ref": "#/components/schemas/IdealSizeOutput" } + }, + "IdealSizeOutput": { + "class": "output", + "description": "Base class for invocations that output an image", + "properties": { + "width": { + "description": "The ideal width of the image (in pixels)", + "field_kind": "output", + "title": "Width", + "type": "integer", + "ui_hidden": false + }, + "height": { + "description": "The ideal height of the image (in pixels)", + "field_kind": "output", + "title": "Height", + "type": "integer", + "ui_hidden": false + }, + "type": { + "const": "ideal_size_output", + "default": "ideal_size_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "width", "height", "type", "type"], + "title": "IdealSizeOutput", + "type": "object" + }, + "ImageBatchInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "special", + "description": "Create a batched generation, where the workflow is executed once for each image in the batch.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "batch_group_id": { + "default": "None", + "description": "The ID of this batch node's group. If provided, all batch nodes in with the same ID will be 'zipped' before execution, and all nodes' collections must be of the same size.", + "enum": ["None", "Group 1", "Group 2", "Group 3", "Group 4", "Group 5"], + "field_kind": "input", + "input": "direct", + "orig_default": "None", + "orig_required": false, + "title": "Batch Group", + "type": "string" + }, + "images": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/ImageField" }, "minItems": 1, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "The images to batch over", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Images" + }, + "type": { + "const": "image_batch", + "default": "image_batch", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "image", "batch", "special"], + "title": "Image Batch", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageBlurInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Blurs an image", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to blur", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "radius": { + "default": 8.0, + "description": "The blur radius", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 8.0, + "orig_required": false, + "title": "Radius", + "type": "number" + }, + "blur_type": { + "default": "gaussian", + "description": "The type of blur", + "enum": ["gaussian", "box"], + "field_kind": "input", + "input": "any", + "orig_default": "gaussian", + "orig_required": false, + "title": "Blur Type", + "type": "string" + }, + "type": { + "const": "img_blur", + "default": "img_blur", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "blur"], + "title": "Blur Image", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageCategory": { + "type": "string", + "enum": ["general", "mask", "control", "user", "other"], + "title": "ImageCategory", + "description": "The category of an image.\n\n- GENERAL: The image is an output, init image, or otherwise an image without a specialized purpose.\n- MASK: The image is a mask image.\n- CONTROL: The image is a ControlNet control image.\n- USER: The image is a user-provide image.\n- OTHER: The image is some other type of image with a specialized purpose. To be used by external nodes." + }, + "ImageChannelInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Gets a channel from an image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to get the channel from", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "channel": { + "default": "A", + "description": "The channel to get", + "enum": ["A", "R", "G", "B"], + "field_kind": "input", + "input": "any", + "orig_default": "A", + "orig_required": false, + "title": "Channel", + "type": "string" + }, + "type": { + "const": "img_chan", + "default": "img_chan", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "channel"], + "title": "Extract Image Channel", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageChannelMultiplyInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Scale a specific color channel of an image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to adjust", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "channel": { + "anyOf": [ + { + "enum": [ + "Red (RGBA)", + "Green (RGBA)", + "Blue (RGBA)", + "Alpha (RGBA)", + "Cyan (CMYK)", + "Magenta (CMYK)", + "Yellow (CMYK)", + "Black (CMYK)", + "Hue (HSV)", + "Saturation (HSV)", + "Value (HSV)", + "Luminosity (LAB)", + "A (LAB)", + "B (LAB)", + "Y (YCbCr)", + "Cb (YCbCr)", + "Cr (YCbCr)" + ], + "type": "string" + }, + { "type": "null" } + ], + "default": null, + "description": "Which channel to adjust", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Channel" + }, + "scale": { + "default": 1.0, + "description": "The amount to scale the channel by.", + "field_kind": "input", + "input": "any", + "minimum": 0.0, + "orig_default": 1.0, + "orig_required": false, + "title": "Scale", + "type": "number" + }, + "invert_channel": { + "default": false, + "description": "Invert the channel after scaling", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Invert Channel", + "type": "boolean" + }, + "type": { + "const": "img_channel_multiply", + "default": "img_channel_multiply", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": [ + "image", + "invert", + "scale", + "multiply", + "red", + "green", + "blue", + "alpha", + "cyan", + "magenta", + "yellow", + "black", + "hue", + "saturation", + "luminosity", + "value" + ], + "title": "Multiply Image Channel", + "type": "object", + "version": "1.2.3", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageChannelOffsetInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Add or subtract a value from a specific color channel of an image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to adjust", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "channel": { + "anyOf": [ + { + "enum": [ + "Red (RGBA)", + "Green (RGBA)", + "Blue (RGBA)", + "Alpha (RGBA)", + "Cyan (CMYK)", + "Magenta (CMYK)", + "Yellow (CMYK)", + "Black (CMYK)", + "Hue (HSV)", + "Saturation (HSV)", + "Value (HSV)", + "Luminosity (LAB)", + "A (LAB)", + "B (LAB)", + "Y (YCbCr)", + "Cb (YCbCr)", + "Cr (YCbCr)" + ], + "type": "string" + }, + { "type": "null" } + ], + "default": null, + "description": "Which channel to adjust", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Channel" + }, + "offset": { + "default": 0, + "description": "The amount to adjust the channel by", + "field_kind": "input", + "input": "any", + "maximum": 255, + "minimum": -255, + "orig_default": 0, + "orig_required": false, + "title": "Offset", + "type": "integer" + }, + "type": { + "const": "img_channel_offset", + "default": "img_channel_offset", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": [ + "image", + "offset", + "red", + "green", + "blue", + "alpha", + "cyan", + "magenta", + "yellow", + "black", + "hue", + "saturation", + "luminosity", + "value" + ], + "title": "Offset Image Channel", + "type": "object", + "version": "1.2.3", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageCollectionInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A collection of image primitive values", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "collection": { + "anyOf": [{ "items": { "$ref": "#/components/schemas/ImageField" }, "type": "array" }, { "type": "null" }], + "default": null, + "description": "The collection of image values", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Collection" + }, + "type": { + "const": "image_collection", + "default": "image_collection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "image", "collection"], + "title": "Image Collection Primitive", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/ImageCollectionOutput" } + }, + "ImageCollectionOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of images", + "properties": { + "collection": { + "description": "The output images", + "field_kind": "output", + "items": { "$ref": "#/components/schemas/ImageField" }, + "title": "Collection", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "image_collection_output", + "default": "image_collection_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "collection", "type", "type"], + "title": "ImageCollectionOutput", + "type": "object" + }, + "ImageConvertInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Converts an image to a different mode.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to convert", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mode": { + "default": "L", + "description": "The mode to convert to", + "enum": ["L", "RGB", "RGBA", "CMYK", "YCbCr", "LAB", "HSV", "I", "F"], + "field_kind": "input", + "input": "any", + "orig_default": "L", + "orig_required": false, + "title": "Mode", + "type": "string" + }, + "type": { + "const": "img_conv", + "default": "img_conv", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "convert"], + "title": "Convert Image Mode", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageCropInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Crops an image to a specified box. The box can be outside of the image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to crop", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "x": { + "default": 0, + "description": "The left x coordinate of the crop rectangle", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "X", + "type": "integer" + }, + "y": { + "default": 0, + "description": "The top y coordinate of the crop rectangle", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Y", + "type": "integer" + }, + "width": { + "default": 512, + "description": "The width of the crop rectangle", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 512, + "orig_required": false, + "title": "Width", + "type": "integer" + }, + "height": { + "default": 512, + "description": "The height of the crop rectangle", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 512, + "orig_required": false, + "title": "Height", + "type": "integer" + }, + "type": { + "const": "img_crop", + "default": "img_crop", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "crop"], + "title": "Crop Image", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageDTO": { + "properties": { + "image_name": { "type": "string", "title": "Image Name", "description": "The unique name of the image." }, + "image_url": { "type": "string", "title": "Image Url", "description": "The URL of the image." }, + "thumbnail_url": { + "type": "string", + "title": "Thumbnail Url", + "description": "The URL of the image's thumbnail." + }, + "image_origin": { "$ref": "#/components/schemas/ResourceOrigin", "description": "The type of the image." }, + "image_category": { + "$ref": "#/components/schemas/ImageCategory", + "description": "The category of the image." + }, + "width": { "type": "integer", "title": "Width", "description": "The width of the image in px." }, + "height": { "type": "integer", "title": "Height", "description": "The height of the image in px." }, + "created_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "title": "Created At", + "description": "The created timestamp of the image." + }, + "updated_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "title": "Updated At", + "description": "The updated timestamp of the image." + }, + "deleted_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "title": "Deleted At", + "description": "The deleted timestamp of the image." + }, + "is_intermediate": { + "type": "boolean", + "title": "Is Intermediate", + "description": "Whether this is an intermediate image." + }, + "session_id": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Session Id", + "description": "The session ID that generated this image, if it is a generated image." + }, + "node_id": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Node Id", + "description": "The node ID that generated this image, if it is a generated image." + }, + "starred": { "type": "boolean", "title": "Starred", "description": "Whether this image is starred." }, + "has_workflow": { + "type": "boolean", + "title": "Has Workflow", + "description": "Whether this image has a workflow." + }, + "board_id": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Board Id", + "description": "The id of the board the image belongs to, if one exists." + } + }, + "type": "object", + "required": [ + "image_name", + "image_url", + "thumbnail_url", + "image_origin", + "image_category", + "width", + "height", + "created_at", + "updated_at", + "is_intermediate", + "starred", + "has_workflow" + ], + "title": "ImageDTO", + "description": "Deserialized image record, enriched for the frontend." + }, + "ImageField": { + "properties": { + "image_name": { "type": "string", "title": "Image Name", "description": "The name of the image" } + }, + "type": "object", + "required": ["image_name"], + "title": "ImageField", + "description": "An image primitive field" + }, + "ImageGenerator": { + "category": "primitives", + "class": "invocation", + "classification": "special", + "description": "Generated a collection of images for use in a batched generation", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "generator": { + "$ref": "#/components/schemas/ImageGeneratorField", + "description": "The image generator.", + "field_kind": "input", + "input": "direct", + "orig_required": true, + "title": "Generator Type" + }, + "type": { + "const": "image_generator", + "default": "image_generator", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["generator", "type", "id"], + "tags": ["primitives", "board", "image", "batch", "special"], + "title": "Image Generator", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageGeneratorOutput" } + }, + "ImageGeneratorField": { "properties": {}, "title": "ImageGeneratorField", "type": "object" }, + "ImageGeneratorOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of boards", + "properties": { + "images": { + "description": "The generated images", + "field_kind": "output", + "items": { "$ref": "#/components/schemas/ImageField" }, + "title": "Images", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "image_generator_output", + "default": "image_generator_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "images", "type", "type"], + "title": "ImageGeneratorOutput", + "type": "object" + }, + "ImageHueAdjustmentInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Adjusts the Hue of an image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to adjust", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "hue": { + "default": 0, + "description": "The degrees by which to rotate the hue, 0-360", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Hue", + "type": "integer" + }, + "type": { + "const": "img_hue_adjust", + "default": "img_hue_adjust", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "hue"], + "title": "Adjust Image Hue", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageInverseLerpInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Inverse linear interpolation of all pixels of an image", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to lerp", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "min": { + "default": 0, + "description": "The minimum input value", + "field_kind": "input", + "input": "any", + "maximum": 255, + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Min", + "type": "integer" + }, + "max": { + "default": 255, + "description": "The maximum input value", + "field_kind": "input", + "input": "any", + "maximum": 255, + "minimum": 0, + "orig_default": 255, + "orig_required": false, + "title": "Max", + "type": "integer" + }, + "type": { + "const": "img_ilerp", + "default": "img_ilerp", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "ilerp"], + "title": "Inverse Lerp Image", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "An image primitive value", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to load", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "image", + "default": "image", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "image"], + "title": "Image Primitive", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageLerpInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Linear interpolation of all pixels of an image", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to lerp", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "min": { + "default": 0, + "description": "The minimum output value", + "field_kind": "input", + "input": "any", + "maximum": 255, + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Min", + "type": "integer" + }, + "max": { + "default": 255, + "description": "The maximum output value", + "field_kind": "input", + "input": "any", + "maximum": 255, + "minimum": 0, + "orig_default": 255, + "orig_required": false, + "title": "Max", + "type": "integer" + }, + "type": { + "const": "img_lerp", + "default": "img_lerp", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "lerp"], + "title": "Lerp Image", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageMaskToTensorInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "stable", + "description": "Convert a mask image to a tensor. Converts the image to grayscale and uses thresholding at the specified value.", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The mask image to convert.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "cutoff": { + "default": 128, + "description": "Cutoff (<)", + "field_kind": "input", + "input": "any", + "maximum": 255, + "minimum": 0, + "orig_default": 128, + "orig_required": false, + "title": "Cutoff", + "type": "integer" + }, + "invert": { + "default": false, + "description": "Whether to invert the mask.", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Invert", + "type": "boolean" + }, + "type": { + "const": "image_mask_to_tensor", + "default": "image_mask_to_tensor", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["conditioning"], + "title": "Image Mask to Tensor", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/MaskOutput" } + }, + "ImageMultiplyInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Multiplies two images together using `PIL.ImageChops.multiply()`.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image1": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The first image to multiply", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "image2": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The second image to multiply", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "img_mul", + "default": "img_mul", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "multiply"], + "title": "Multiply Images", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageNSFWBlurInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Add blur to NSFW-flagged images", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to check", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "img_nsfw", + "default": "img_nsfw", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "nsfw"], + "title": "Blur NSFW Image", + "type": "object", + "version": "1.2.3", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageNamesResult": { + "properties": { + "image_names": { + "items": { "type": "string" }, + "type": "array", + "title": "Image Names", + "description": "Ordered list of image names" + }, + "starred_count": { + "type": "integer", + "title": "Starred Count", + "description": "Number of starred images (when starred_first=True)" + }, + "total_count": { + "type": "integer", + "title": "Total Count", + "description": "Total number of images matching the query" + } + }, + "type": "object", + "required": ["image_names", "starred_count", "total_count"], + "title": "ImageNamesResult", + "description": "Response containing ordered image names with metadata for optimistic updates." + }, + "ImageNoiseInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Add noise to an image", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to add noise to", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Optional mask determining where to apply noise (black=noise, white=no noise)", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "seed": { + "default": 0, + "description": "Seed for random number generation", + "field_kind": "input", + "input": "any", + "maximum": 4294967295, + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Seed", + "type": "integer" + }, + "noise_type": { + "default": "gaussian", + "description": "The type of noise to add", + "enum": ["gaussian", "salt_and_pepper"], + "field_kind": "input", + "input": "any", + "orig_default": "gaussian", + "orig_required": false, + "title": "Noise Type", + "type": "string" + }, + "amount": { + "default": 0.1, + "description": "The amount of noise to add", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0.1, + "orig_required": false, + "title": "Amount", + "type": "number" + }, + "noise_color": { + "default": true, + "description": "Whether to add colored noise", + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "Noise Color", + "type": "boolean" + }, + "size": { + "default": 1, + "description": "The size of the noise points", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 1, + "orig_required": false, + "title": "Size", + "type": "integer" + }, + "type": { + "const": "img_noise", + "default": "img_noise", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "noise"], + "title": "Add Image Noise", + "type": "object", + "version": "1.1.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageOutput": { + "class": "output", + "description": "Base class for nodes that output a single image", + "properties": { + "image": { + "$ref": "#/components/schemas/ImageField", + "description": "The output image", + "field_kind": "output", + "ui_hidden": false + }, + "width": { + "description": "The width of the image in pixels", + "field_kind": "output", + "title": "Width", + "type": "integer", + "ui_hidden": false + }, + "height": { + "description": "The height of the image in pixels", + "field_kind": "output", + "title": "Height", + "type": "integer", + "ui_hidden": false + }, + "type": { + "const": "image_output", + "default": "image_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "image", "width", "height", "type", "type"], + "title": "ImageOutput", + "type": "object" + }, + "ImagePanelCoordinateOutput": { + "class": "output", + "properties": { + "x_left": { + "description": "The left x-coordinate of the panel.", + "field_kind": "output", + "title": "X Left", + "type": "integer", + "ui_hidden": false + }, + "y_top": { + "description": "The top y-coordinate of the panel.", + "field_kind": "output", + "title": "Y Top", + "type": "integer", + "ui_hidden": false + }, + "width": { + "description": "The width of the panel.", + "field_kind": "output", + "title": "Width", + "type": "integer", + "ui_hidden": false + }, + "height": { + "description": "The height of the panel.", + "field_kind": "output", + "title": "Height", + "type": "integer", + "ui_hidden": false + }, + "type": { + "const": "image_panel_coordinate_output", + "default": "image_panel_coordinate_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "x_left", "y_top", "width", "height", "type", "type"], + "title": "ImagePanelCoordinateOutput", + "type": "object" + }, + "ImagePanelLayoutInvocation": { + "category": "image", + "class": "invocation", + "classification": "prototype", + "description": "Get the coordinates of a single panel in a grid. (If the full image shape cannot be divided evenly into panels,\nthen the grid may not cover the entire image.)", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "width": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The width of the entire grid.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Width" + }, + "height": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The height of the entire grid.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Height" + }, + "num_cols": { + "default": 1, + "description": "The number of columns in the grid.", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 1, + "orig_required": false, + "title": "Num Cols", + "type": "integer" + }, + "num_rows": { + "default": 1, + "description": "The number of rows in the grid.", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 1, + "orig_required": false, + "title": "Num Rows", + "type": "integer" + }, + "panel_col_idx": { + "default": 0, + "description": "The column index of the panel to be processed.", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Panel Col Idx", + "type": "integer" + }, + "panel_row_idx": { + "default": 0, + "description": "The row index of the panel to be processed.", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Panel Row Idx", + "type": "integer" + }, + "type": { + "const": "image_panel_layout", + "default": "image_panel_layout", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "panel", "layout"], + "title": "Image Panel Layout", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImagePanelCoordinateOutput" } + }, + "ImagePasteInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Pastes an image into another image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "base_image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The base image", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to paste", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The mask to use when pasting", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "x": { + "default": 0, + "description": "The left x coordinate at which to paste the image", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "X", + "type": "integer" + }, + "y": { + "default": 0, + "description": "The top y coordinate at which to paste the image", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Y", + "type": "integer" + }, + "crop": { + "default": false, + "description": "Crop to base image dimensions", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Crop", + "type": "boolean" + }, + "type": { + "const": "img_paste", + "default": "img_paste", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "paste"], + "title": "Paste Image", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageRecordChanges": { + "properties": { + "image_category": { + "anyOf": [{ "$ref": "#/components/schemas/ImageCategory" }, { "type": "null" }], + "description": "The image's new category." + }, + "session_id": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Session Id", + "description": "The image's new session ID." + }, + "is_intermediate": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "title": "Is Intermediate", + "description": "The image's new `is_intermediate` flag." + }, + "starred": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "title": "Starred", + "description": "The image's new `starred` state" + } + }, + "additionalProperties": true, + "type": "object", + "title": "ImageRecordChanges", + "description": "A set of changes to apply to an image record.\n\nOnly limited changes are valid:\n - `image_category`: change the category of an image\n - `session_id`: change the session associated with an image\n - `is_intermediate`: change the image's `is_intermediate` flag\n - `starred`: change whether the image is starred" + }, + "ImageResizeInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Resizes an image to specific dimensions", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to resize", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "width": { + "default": 512, + "description": "The width to resize to (px)", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 512, + "orig_required": false, + "title": "Width", + "type": "integer" + }, + "height": { + "default": 512, + "description": "The height to resize to (px)", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 512, + "orig_required": false, + "title": "Height", + "type": "integer" + }, + "resample_mode": { + "default": "bicubic", + "description": "The resampling mode", + "enum": ["nearest", "box", "bilinear", "hamming", "bicubic", "lanczos"], + "field_kind": "input", + "input": "any", + "orig_default": "bicubic", + "orig_required": false, + "title": "Resample Mode", + "type": "string" + }, + "type": { + "const": "img_resize", + "default": "img_resize", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "resize"], + "title": "Resize Image", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageScaleInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Scales an image by a factor", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to scale", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "scale_factor": { + "default": 2.0, + "description": "The factor by which to scale the image", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 2.0, + "orig_required": false, + "title": "Scale Factor", + "type": "number" + }, + "resample_mode": { + "default": "bicubic", + "description": "The resampling mode", + "enum": ["nearest", "box", "bilinear", "hamming", "bicubic", "lanczos"], + "field_kind": "input", + "input": "any", + "orig_default": "bicubic", + "orig_required": false, + "title": "Resample Mode", + "type": "string" + }, + "type": { + "const": "img_scale", + "default": "img_scale", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "scale"], + "title": "Scale Image", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImageToLatentsInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Encodes an image into latents.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to encode", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "tiled": { + "default": false, + "description": "Processing using overlapping tiles (reduce memory consumption)", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Tiled", + "type": "boolean" + }, + "tile_size": { + "default": 0, + "description": "The tile size for VAE tiling in pixels (image space). If set to 0, the default tile size for the model will be used. Larger tile sizes generally produce better results at the cost of higher memory usage.", + "field_kind": "input", + "input": "any", + "multipleOf": 8, + "orig_default": 0, + "orig_required": false, + "title": "Tile Size", + "type": "integer" + }, + "fp32": { + "default": false, + "description": "Whether or not to use full float32 precision", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Fp32", + "type": "boolean" + }, + "color_compensation": { + "default": "None", + "description": "Apply VAE scaling compensation when encoding images (reduces color drift).", + "enum": ["None", "SDXL"], + "field_kind": "input", + "input": "any", + "orig_default": "None", + "orig_required": false, + "title": "Color Compensation", + "type": "string" + }, + "type": { + "const": "i2l", + "default": "i2l", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "image", "vae", "i2l"], + "title": "Image to Latents - SD1.5, SDXL", + "type": "object", + "version": "1.2.0", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "ImageUploadEntry": { + "properties": { + "image_dto": { "$ref": "#/components/schemas/ImageDTO", "description": "The image DTO" }, + "presigned_url": { + "type": "string", + "title": "Presigned Url", + "description": "The URL to get the presigned URL for the image upload" + } + }, + "type": "object", + "required": ["image_dto", "presigned_url"], + "title": "ImageUploadEntry" + }, + "ImageUrlsDTO": { + "properties": { + "image_name": { "type": "string", "title": "Image Name", "description": "The unique name of the image." }, + "image_url": { "type": "string", "title": "Image Url", "description": "The URL of the image." }, + "thumbnail_url": { + "type": "string", + "title": "Thumbnail Url", + "description": "The URL of the image's thumbnail." + } + }, + "type": "object", + "required": ["image_name", "image_url", "thumbnail_url"], + "title": "ImageUrlsDTO", + "description": "The URLs for an image and its thumbnail." + }, + "ImageWatermarkInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Add an invisible watermark to an image", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to check", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "text": { + "default": "InvokeAI", + "description": "Watermark text", + "field_kind": "input", + "input": "any", + "orig_default": "InvokeAI", + "orig_required": false, + "title": "Text", + "type": "string" + }, + "type": { + "const": "img_watermark", + "default": "img_watermark", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "watermark"], + "title": "Add Invisible Watermark", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ImagesDownloaded": { + "properties": { + "response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Response", + "description": "The message to display to the user when images begin downloading" + }, + "bulk_download_item_name": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Bulk Download Item Name", + "description": "The name of the bulk download item for which events will be emitted" + } + }, + "type": "object", + "title": "ImagesDownloaded" + }, + "InfillColorInvocation": { + "category": "inpaint", + "class": "invocation", + "classification": "stable", + "description": "Infills transparent areas of an image with a solid color", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "color": { + "$ref": "#/components/schemas/ColorField", + "default": { "r": 127, "g": 127, "b": 127, "a": 255 }, + "description": "The color to use to infill", + "field_kind": "input", + "input": "any", + "orig_default": { "a": 255, "b": 127, "g": 127, "r": 127 }, + "orig_required": false + }, + "type": { + "const": "infill_rgba", + "default": "infill_rgba", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "inpaint"], + "title": "Solid Color Infill", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "InfillPatchMatchInvocation": { + "category": "inpaint", + "class": "invocation", + "classification": "stable", + "description": "Infills transparent areas of an image using the PatchMatch algorithm", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "downscale": { + "default": 2.0, + "description": "Run patchmatch on downscaled image to speedup infill", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 2.0, + "orig_required": false, + "title": "Downscale", + "type": "number" + }, + "resample_mode": { + "default": "bicubic", + "description": "The resampling mode", + "enum": ["nearest", "box", "bilinear", "hamming", "bicubic", "lanczos"], + "field_kind": "input", + "input": "any", + "orig_default": "bicubic", + "orig_required": false, + "title": "Resample Mode", + "type": "string" + }, + "type": { + "const": "infill_patchmatch", + "default": "infill_patchmatch", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "inpaint"], + "title": "PatchMatch Infill", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "InfillTileInvocation": { + "category": "inpaint", + "class": "invocation", + "classification": "stable", + "description": "Infills transparent areas of an image with tiles of the image", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "tile_size": { + "default": 32, + "description": "The tile size (px)", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 32, + "orig_required": false, + "title": "Tile Size", + "type": "integer" + }, + "seed": { + "default": 0, + "description": "The seed to use for tile generation (omit for random)", + "field_kind": "input", + "input": "any", + "maximum": 4294967295, + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Seed", + "type": "integer" + }, + "type": { + "const": "infill_tile", + "default": "infill_tile", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "inpaint"], + "title": "Tile Infill", + "type": "object", + "version": "1.2.3", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "Input": { + "description": "The type of input a field accepts.\n- `Input.Direct`: The field must have its value provided directly, when the invocation and field are instantiated.\n- `Input.Connection`: The field must have its value provided by a connection.\n- `Input.Any`: The field may have its value provided either directly or by a connection.", + "enum": ["connection", "direct", "any"], + "title": "Input", + "type": "string" + }, + "InputFieldJSONSchemaExtra": { + "description": "Extra attributes to be added to input fields and their OpenAPI schema. Used during graph execution,\nand by the workflow editor during schema parsing and UI rendering.", + "properties": { + "input": { "$ref": "#/components/schemas/Input" }, + "field_kind": { "$ref": "#/components/schemas/FieldKind" }, + "orig_required": { "default": true, "title": "Orig Required", "type": "boolean" }, + "default": { "anyOf": [{}, { "type": "null" }], "default": null, "title": "Default" }, + "orig_default": { "anyOf": [{}, { "type": "null" }], "default": null, "title": "Orig Default" }, + "ui_hidden": { "default": false, "title": "Ui Hidden", "type": "boolean" }, + "ui_type": { "anyOf": [{ "$ref": "#/components/schemas/UIType" }, { "type": "null" }], "default": null }, + "ui_component": { + "anyOf": [{ "$ref": "#/components/schemas/UIComponent" }, { "type": "null" }], + "default": null + }, + "ui_order": { "anyOf": [{ "type": "integer" }, { "type": "null" }], "default": null, "title": "Ui Order" }, + "ui_choice_labels": { + "anyOf": [{ "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" }], + "default": null, + "title": "Ui Choice Labels" + }, + "ui_model_base": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/BaseModelType" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "title": "Ui Model Base" + }, + "ui_model_type": { + "anyOf": [{ "items": { "$ref": "#/components/schemas/ModelType" }, "type": "array" }, { "type": "null" }], + "default": null, + "title": "Ui Model Type" + }, + "ui_model_variant": { + "anyOf": [ + { + "items": { + "anyOf": [ + { "$ref": "#/components/schemas/ClipVariantType" }, + { "$ref": "#/components/schemas/ModelVariantType" } + ] + }, + "type": "array" + }, + { "type": "null" } + ], + "default": null, + "title": "Ui Model Variant" + }, + "ui_model_format": { + "anyOf": [{ "items": { "$ref": "#/components/schemas/ModelFormat" }, "type": "array" }, { "type": "null" }], + "default": null, + "title": "Ui Model Format" + } + }, + "required": [ + "input", + "field_kind", + "orig_required", + "default", + "orig_default", + "ui_hidden", + "ui_type", + "ui_component", + "ui_order", + "ui_choice_labels", + "ui_model_base", + "ui_model_type", + "ui_model_variant", + "ui_model_format" + ], + "title": "InputFieldJSONSchemaExtra", + "type": "object" + }, + "InstallStatus": { + "type": "string", + "enum": ["waiting", "downloading", "downloads_done", "running", "completed", "error", "cancelled"], + "title": "InstallStatus", + "description": "State of an install job running in the background." + }, + "IntegerBatchInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "special", + "description": "Create a batched generation, where the workflow is executed once for each integer in the batch.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "batch_group_id": { + "default": "None", + "description": "The ID of this batch node's group. If provided, all batch nodes in with the same ID will be 'zipped' before execution, and all nodes' collections must be of the same size.", + "enum": ["None", "Group 1", "Group 2", "Group 3", "Group 4", "Group 5"], + "field_kind": "input", + "input": "direct", + "orig_default": "None", + "orig_required": false, + "title": "Batch Group", + "type": "string" + }, + "integers": { + "anyOf": [{ "items": { "type": "integer" }, "minItems": 1, "type": "array" }, { "type": "null" }], + "default": null, + "description": "The integers to batch over", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Integers" + }, + "type": { + "const": "integer_batch", + "default": "integer_batch", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "integer", "number", "batch", "special"], + "title": "Integer Batch", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/IntegerOutput" } + }, + "IntegerCollectionInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A collection of integer primitive values", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "collection": { + "default": [], + "description": "The collection of integer values", + "field_kind": "input", + "input": "any", + "items": { "type": "integer" }, + "orig_default": [], + "orig_required": false, + "title": "Collection", + "type": "array" + }, + "type": { + "const": "integer_collection", + "default": "integer_collection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "integer", "collection"], + "title": "Integer Collection Primitive", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/IntegerCollectionOutput" } + }, + "IntegerCollectionOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of integers", + "properties": { + "collection": { + "description": "The int collection", + "field_kind": "output", + "items": { "type": "integer" }, + "title": "Collection", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "integer_collection_output", + "default": "integer_collection_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "collection", "type", "type"], + "title": "IntegerCollectionOutput", + "type": "object" + }, + "IntegerGenerator": { + "category": "primitives", + "class": "invocation", + "classification": "special", + "description": "Generated a range of integers for use in a batched generation", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "generator": { + "$ref": "#/components/schemas/IntegerGeneratorField", + "description": "The integer generator.", + "field_kind": "input", + "input": "direct", + "orig_required": true, + "title": "Generator Type" + }, + "type": { + "const": "integer_generator", + "default": "integer_generator", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["generator", "type", "id"], + "tags": ["primitives", "int", "number", "batch", "special"], + "title": "Integer Generator", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/IntegerGeneratorOutput" } + }, + "IntegerGeneratorField": { "properties": {}, "title": "IntegerGeneratorField", "type": "object" }, + "IntegerGeneratorOutput": { + "class": "output", + "properties": { + "integers": { + "description": "The generated integers", + "field_kind": "output", + "items": { "type": "integer" }, + "title": "Integers", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "integer_generator_output", + "default": "integer_generator_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "integers", "type", "type"], + "title": "IntegerGeneratorOutput", + "type": "object" + }, + "IntegerInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "An integer primitive value", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "value": { + "default": 0, + "description": "The integer value", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Value", + "type": "integer" + }, + "type": { + "const": "integer", + "default": "integer", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "integer"], + "title": "Integer Primitive", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/IntegerOutput" } + }, + "IntegerMathInvocation": { + "category": "math", + "class": "invocation", + "classification": "stable", + "description": "Performs integer math.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "operation": { + "default": "ADD", + "description": "The operation to perform", + "enum": ["ADD", "SUB", "MUL", "DIV", "EXP", "MOD", "ABS", "MIN", "MAX"], + "field_kind": "input", + "input": "any", + "orig_default": "ADD", + "orig_required": false, + "title": "Operation", + "type": "string", + "ui_choice_labels": { + "ABS": "Absolute Value of A", + "ADD": "Add A+B", + "DIV": "Divide A/B", + "EXP": "Exponentiate A^B", + "MAX": "Maximum(A,B)", + "MIN": "Minimum(A,B)", + "MOD": "Modulus A%B", + "MUL": "Multiply A*B", + "SUB": "Subtract A-B" + } + }, + "a": { + "default": 1, + "description": "The first number", + "field_kind": "input", + "input": "any", + "orig_default": 1, + "orig_required": false, + "title": "A", + "type": "integer" + }, + "b": { + "default": 1, + "description": "The second number", + "field_kind": "input", + "input": "any", + "orig_default": 1, + "orig_required": false, + "title": "B", + "type": "integer" + }, + "type": { + "const": "integer_math", + "default": "integer_math", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": [ + "math", + "integer", + "add", + "subtract", + "multiply", + "divide", + "modulus", + "power", + "absolute value", + "min", + "max" + ], + "title": "Integer Math", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/IntegerOutput" } + }, + "IntegerOutput": { + "class": "output", + "description": "Base class for nodes that output a single integer", + "properties": { + "value": { + "description": "The output integer", + "field_kind": "output", + "title": "Value", + "type": "integer", + "ui_hidden": false + }, + "type": { + "const": "integer_output", + "default": "integer_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "value", "type", "type"], + "title": "IntegerOutput", + "type": "object" + }, + "InvertTensorMaskInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "stable", + "description": "Inverts a tensor mask.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "The tensor mask to convert.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "invert_tensor_mask", + "default": "invert_tensor_mask", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["conditioning"], + "title": "Invert Tensor Mask", + "type": "object", + "version": "1.1.0", + "output": { "$ref": "#/components/schemas/MaskOutput" } + }, + "InvocationCacheStatus": { + "properties": { + "size": { "type": "integer", "title": "Size", "description": "The current size of the invocation cache" }, + "hits": { "type": "integer", "title": "Hits", "description": "The number of cache hits" }, + "misses": { "type": "integer", "title": "Misses", "description": "The number of cache misses" }, + "enabled": { + "type": "boolean", + "title": "Enabled", + "description": "Whether the invocation cache is enabled" + }, + "max_size": { + "type": "integer", + "title": "Max Size", + "description": "The maximum size of the invocation cache" + } + }, + "type": "object", + "required": ["size", "hits", "misses", "enabled", "max_size"], + "title": "InvocationCacheStatus" + }, + "InvocationCompleteEvent": { + "description": "Event model for invocation_complete", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, + "item_id": { "description": "The ID of the queue item", "title": "Item Id", "type": "integer" }, + "batch_id": { "description": "The ID of the queue batch", "title": "Batch Id", "type": "string" }, + "origin": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The origin of the queue item", + "title": "Origin" + }, + "destination": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The destination of the queue item", + "title": "Destination" + }, + "session_id": { + "description": "The ID of the session (aka graph execution state)", + "title": "Session Id", + "type": "string" + }, + "invocation": { + "description": "The ID of the invocation", + "oneOf": [ + { "$ref": "#/components/schemas/AddInvocation" }, + { "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" }, + { "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" }, + { "$ref": "#/components/schemas/ApplyMaskToImageInvocation" }, + { "$ref": "#/components/schemas/BlankImageInvocation" }, + { "$ref": "#/components/schemas/BlendLatentsInvocation" }, + { "$ref": "#/components/schemas/BooleanCollectionInvocation" }, + { "$ref": "#/components/schemas/BooleanInvocation" }, + { "$ref": "#/components/schemas/BoundingBoxInvocation" }, + { "$ref": "#/components/schemas/CLIPSkipInvocation" }, + { "$ref": "#/components/schemas/CV2InfillInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" }, + { "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/CanvasPasteBackInvocation" }, + { "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" }, + { "$ref": "#/components/schemas/CenterPadCropInvocation" }, + { "$ref": "#/components/schemas/CogView4DenoiseInvocation" }, + { "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" }, + { "$ref": "#/components/schemas/CogView4TextEncoderInvocation" }, + { "$ref": "#/components/schemas/CollectInvocation" }, + { "$ref": "#/components/schemas/ColorCorrectInvocation" }, + { "$ref": "#/components/schemas/ColorInvocation" }, + { "$ref": "#/components/schemas/ColorMapInvocation" }, + { "$ref": "#/components/schemas/CompelInvocation" }, + { "$ref": "#/components/schemas/ConditioningCollectionInvocation" }, + { "$ref": "#/components/schemas/ConditioningInvocation" }, + { "$ref": "#/components/schemas/ContentShuffleInvocation" }, + { "$ref": "#/components/schemas/ControlNetInvocation" }, + { "$ref": "#/components/schemas/CoreMetadataInvocation" }, + { "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" }, + { "$ref": "#/components/schemas/CreateGradientMaskInvocation" }, + { "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/CropLatentsCoreInvocation" }, + { "$ref": "#/components/schemas/CvInpaintInvocation" }, + { "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" }, + { "$ref": "#/components/schemas/DenoiseLatentsInvocation" }, + { "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" }, + { "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" }, + { "$ref": "#/components/schemas/DivideInvocation" }, + { "$ref": "#/components/schemas/DynamicPromptInvocation" }, + { "$ref": "#/components/schemas/ESRGANInvocation" }, + { "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" }, + { "$ref": "#/components/schemas/FLUXLoRACollectionLoader" }, + { "$ref": "#/components/schemas/FaceIdentifierInvocation" }, + { "$ref": "#/components/schemas/FaceMaskInvocation" }, + { "$ref": "#/components/schemas/FaceOffInvocation" }, + { "$ref": "#/components/schemas/FloatBatchInvocation" }, + { "$ref": "#/components/schemas/FloatCollectionInvocation" }, + { "$ref": "#/components/schemas/FloatGenerator" }, + { "$ref": "#/components/schemas/FloatInvocation" }, + { "$ref": "#/components/schemas/FloatLinearRangeInvocation" }, + { "$ref": "#/components/schemas/FloatMathInvocation" }, + { "$ref": "#/components/schemas/FloatToIntegerInvocation" }, + { "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/FluxControlNetInvocation" }, + { "$ref": "#/components/schemas/FluxDenoiseInvocation" }, + { "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" }, + { "$ref": "#/components/schemas/FluxFillInvocation" }, + { "$ref": "#/components/schemas/FluxIPAdapterInvocation" }, + { "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" }, + { "$ref": "#/components/schemas/FluxKontextInvocation" }, + { "$ref": "#/components/schemas/FluxLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/FluxModelLoaderInvocation" }, + { "$ref": "#/components/schemas/FluxReduxInvocation" }, + { "$ref": "#/components/schemas/FluxTextEncoderInvocation" }, + { "$ref": "#/components/schemas/FluxVaeDecodeInvocation" }, + { "$ref": "#/components/schemas/FluxVaeEncodeInvocation" }, + { "$ref": "#/components/schemas/FreeUInvocation" }, + { "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/GroundingDinoInvocation" }, + { "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/HeuristicResizeInvocation" }, + { "$ref": "#/components/schemas/IPAdapterInvocation" }, + { "$ref": "#/components/schemas/IdealSizeInvocation" }, + { "$ref": "#/components/schemas/ImageBatchInvocation" }, + { "$ref": "#/components/schemas/ImageBlurInvocation" }, + { "$ref": "#/components/schemas/ImageChannelInvocation" }, + { "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" }, + { "$ref": "#/components/schemas/ImageChannelOffsetInvocation" }, + { "$ref": "#/components/schemas/ImageCollectionInvocation" }, + { "$ref": "#/components/schemas/ImageConvertInvocation" }, + { "$ref": "#/components/schemas/ImageCropInvocation" }, + { "$ref": "#/components/schemas/ImageGenerator" }, + { "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" }, + { "$ref": "#/components/schemas/ImageInverseLerpInvocation" }, + { "$ref": "#/components/schemas/ImageInvocation" }, + { "$ref": "#/components/schemas/ImageLerpInvocation" }, + { "$ref": "#/components/schemas/ImageMaskToTensorInvocation" }, + { "$ref": "#/components/schemas/ImageMultiplyInvocation" }, + { "$ref": "#/components/schemas/ImageNSFWBlurInvocation" }, + { "$ref": "#/components/schemas/ImageNoiseInvocation" }, + { "$ref": "#/components/schemas/ImagePanelLayoutInvocation" }, + { "$ref": "#/components/schemas/ImagePasteInvocation" }, + { "$ref": "#/components/schemas/ImageResizeInvocation" }, + { "$ref": "#/components/schemas/ImageScaleInvocation" }, + { "$ref": "#/components/schemas/ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/ImageWatermarkInvocation" }, + { "$ref": "#/components/schemas/InfillColorInvocation" }, + { "$ref": "#/components/schemas/InfillPatchMatchInvocation" }, + { "$ref": "#/components/schemas/InfillTileInvocation" }, + { "$ref": "#/components/schemas/IntegerBatchInvocation" }, + { "$ref": "#/components/schemas/IntegerCollectionInvocation" }, + { "$ref": "#/components/schemas/IntegerGenerator" }, + { "$ref": "#/components/schemas/IntegerInvocation" }, + { "$ref": "#/components/schemas/IntegerMathInvocation" }, + { "$ref": "#/components/schemas/InvertTensorMaskInvocation" }, + { "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" }, + { "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" }, + { "$ref": "#/components/schemas/InvokeImageBlendInvocation" }, + { "$ref": "#/components/schemas/InvokeImageCompositorInvocation" }, + { "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" }, + { "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" }, + { "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" }, + { "$ref": "#/components/schemas/IterateInvocation" }, + { "$ref": "#/components/schemas/LaMaInfillInvocation" }, + { "$ref": "#/components/schemas/LatentsCollectionInvocation" }, + { "$ref": "#/components/schemas/LatentsInvocation" }, + { "$ref": "#/components/schemas/LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" }, + { "$ref": "#/components/schemas/LoRACollectionLoader" }, + { "$ref": "#/components/schemas/LoRALoaderInvocation" }, + { "$ref": "#/components/schemas/LoRASelectorInvocation" }, + { "$ref": "#/components/schemas/MLSDDetectionInvocation" }, + { "$ref": "#/components/schemas/MainModelLoaderInvocation" }, + { "$ref": "#/components/schemas/MaskCombineInvocation" }, + { "$ref": "#/components/schemas/MaskEdgeInvocation" }, + { "$ref": "#/components/schemas/MaskFromAlphaInvocation" }, + { "$ref": "#/components/schemas/MaskFromIDInvocation" }, + { "$ref": "#/components/schemas/MaskTensorToImageInvocation" }, + { "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" }, + { "$ref": "#/components/schemas/MergeMetadataInvocation" }, + { "$ref": "#/components/schemas/MergeTilesToImageInvocation" }, + { "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" }, + { "$ref": "#/components/schemas/MetadataFromImageInvocation" }, + { "$ref": "#/components/schemas/MetadataInvocation" }, + { "$ref": "#/components/schemas/MetadataItemInvocation" }, + { "$ref": "#/components/schemas/MetadataItemLinkedInvocation" }, + { "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToBoolInvocation" }, + { "$ref": "#/components/schemas/MetadataToControlnetsInvocation" }, + { "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToFloatInvocation" }, + { "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" }, + { "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToIntegerInvocation" }, + { "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToLorasInvocation" }, + { "$ref": "#/components/schemas/MetadataToModelInvocation" }, + { "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" }, + { "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" }, + { "$ref": "#/components/schemas/MetadataToSchedulerInvocation" }, + { "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToStringInvocation" }, + { "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" }, + { "$ref": "#/components/schemas/MetadataToVAEInvocation" }, + { "$ref": "#/components/schemas/ModelIdentifierInvocation" }, + { "$ref": "#/components/schemas/MultiplyInvocation" }, + { "$ref": "#/components/schemas/NoiseInvocation" }, + { "$ref": "#/components/schemas/NormalMapInvocation" }, + { "$ref": "#/components/schemas/PairTileImageInvocation" }, + { "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/PromptsFromFileInvocation" }, + { "$ref": "#/components/schemas/RandomFloatInvocation" }, + { "$ref": "#/components/schemas/RandomIntInvocation" }, + { "$ref": "#/components/schemas/RandomRangeInvocation" }, + { "$ref": "#/components/schemas/RangeInvocation" }, + { "$ref": "#/components/schemas/RangeOfSizeInvocation" }, + { "$ref": "#/components/schemas/RectangleMaskInvocation" }, + { "$ref": "#/components/schemas/ResizeLatentsInvocation" }, + { "$ref": "#/components/schemas/RoundInvocation" }, + { "$ref": "#/components/schemas/SD3DenoiseInvocation" }, + { "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/SD3LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/SDXLCompelPromptInvocation" }, + { "$ref": "#/components/schemas/SDXLLoRACollectionLoader" }, + { "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/SDXLModelLoaderInvocation" }, + { "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" }, + { "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" }, + { "$ref": "#/components/schemas/SaveImageInvocation" }, + { "$ref": "#/components/schemas/ScaleLatentsInvocation" }, + { "$ref": "#/components/schemas/SchedulerInvocation" }, + { "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" }, + { "$ref": "#/components/schemas/Sd3TextEncoderInvocation" }, + { "$ref": "#/components/schemas/SeamlessModeInvocation" }, + { "$ref": "#/components/schemas/SegmentAnythingInvocation" }, + { "$ref": "#/components/schemas/ShowImageInvocation" }, + { "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" }, + { "$ref": "#/components/schemas/SpandrelImageToImageInvocation" }, + { "$ref": "#/components/schemas/StringBatchInvocation" }, + { "$ref": "#/components/schemas/StringCollectionInvocation" }, + { "$ref": "#/components/schemas/StringGenerator" }, + { "$ref": "#/components/schemas/StringInvocation" }, + { "$ref": "#/components/schemas/StringJoinInvocation" }, + { "$ref": "#/components/schemas/StringJoinThreeInvocation" }, + { "$ref": "#/components/schemas/StringReplaceInvocation" }, + { "$ref": "#/components/schemas/StringSplitInvocation" }, + { "$ref": "#/components/schemas/StringSplitNegInvocation" }, + { "$ref": "#/components/schemas/SubtractInvocation" }, + { "$ref": "#/components/schemas/T2IAdapterInvocation" }, + { "$ref": "#/components/schemas/TileToPropertiesInvocation" }, + { "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" }, + { "$ref": "#/components/schemas/UnsharpMaskInvocation" }, + { "$ref": "#/components/schemas/VAELoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageDenoiseInvocation" }, + { "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" }, + { "$ref": "#/components/schemas/ZImageLoRACollectionLoader" }, + { "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageModelLoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageTextEncoderInvocation" } + ], + "title": "Invocation" + }, + "invocation_source_id": { + "description": "The ID of the prepared invocation's source node", + "title": "Invocation Source Id", + "type": "string" + }, + "result": { + "description": "The result of the invocation", + "oneOf": [ + { "$ref": "#/components/schemas/BooleanCollectionOutput" }, + { "$ref": "#/components/schemas/BooleanOutput" }, + { "$ref": "#/components/schemas/BoundingBoxCollectionOutput" }, + { "$ref": "#/components/schemas/BoundingBoxOutput" }, + { "$ref": "#/components/schemas/CLIPOutput" }, + { "$ref": "#/components/schemas/CLIPSkipInvocationOutput" }, + { "$ref": "#/components/schemas/CalculateImageTilesOutput" }, + { "$ref": "#/components/schemas/CogView4ConditioningOutput" }, + { "$ref": "#/components/schemas/CogView4ModelLoaderOutput" }, + { "$ref": "#/components/schemas/CollectInvocationOutput" }, + { "$ref": "#/components/schemas/ColorCollectionOutput" }, + { "$ref": "#/components/schemas/ColorOutput" }, + { "$ref": "#/components/schemas/ConditioningCollectionOutput" }, + { "$ref": "#/components/schemas/ConditioningOutput" }, + { "$ref": "#/components/schemas/ControlOutput" }, + { "$ref": "#/components/schemas/DenoiseMaskOutput" }, + { "$ref": "#/components/schemas/FaceMaskOutput" }, + { "$ref": "#/components/schemas/FaceOffOutput" }, + { "$ref": "#/components/schemas/FloatCollectionOutput" }, + { "$ref": "#/components/schemas/FloatGeneratorOutput" }, + { "$ref": "#/components/schemas/FloatOutput" }, + { "$ref": "#/components/schemas/FluxConditioningCollectionOutput" }, + { "$ref": "#/components/schemas/FluxConditioningOutput" }, + { "$ref": "#/components/schemas/FluxControlLoRALoaderOutput" }, + { "$ref": "#/components/schemas/FluxControlNetOutput" }, + { "$ref": "#/components/schemas/FluxFillOutput" }, + { "$ref": "#/components/schemas/FluxKontextOutput" }, + { "$ref": "#/components/schemas/FluxLoRALoaderOutput" }, + { "$ref": "#/components/schemas/FluxModelLoaderOutput" }, + { "$ref": "#/components/schemas/FluxReduxOutput" }, + { "$ref": "#/components/schemas/GradientMaskOutput" }, + { "$ref": "#/components/schemas/IPAdapterOutput" }, + { "$ref": "#/components/schemas/IdealSizeOutput" }, + { "$ref": "#/components/schemas/ImageCollectionOutput" }, + { "$ref": "#/components/schemas/ImageGeneratorOutput" }, + { "$ref": "#/components/schemas/ImageOutput" }, + { "$ref": "#/components/schemas/ImagePanelCoordinateOutput" }, + { "$ref": "#/components/schemas/IntegerCollectionOutput" }, + { "$ref": "#/components/schemas/IntegerGeneratorOutput" }, + { "$ref": "#/components/schemas/IntegerOutput" }, + { "$ref": "#/components/schemas/IterateInvocationOutput" }, + { "$ref": "#/components/schemas/LatentsCollectionOutput" }, + { "$ref": "#/components/schemas/LatentsMetaOutput" }, + { "$ref": "#/components/schemas/LatentsOutput" }, + { "$ref": "#/components/schemas/LoRALoaderOutput" }, + { "$ref": "#/components/schemas/LoRASelectorOutput" }, + { "$ref": "#/components/schemas/MDControlListOutput" }, + { "$ref": "#/components/schemas/MDIPAdapterListOutput" }, + { "$ref": "#/components/schemas/MDT2IAdapterListOutput" }, + { "$ref": "#/components/schemas/MaskOutput" }, + { "$ref": "#/components/schemas/MetadataItemOutput" }, + { "$ref": "#/components/schemas/MetadataOutput" }, + { "$ref": "#/components/schemas/MetadataToLorasCollectionOutput" }, + { "$ref": "#/components/schemas/MetadataToModelOutput" }, + { "$ref": "#/components/schemas/MetadataToSDXLModelOutput" }, + { "$ref": "#/components/schemas/ModelIdentifierOutput" }, + { "$ref": "#/components/schemas/ModelLoaderOutput" }, + { "$ref": "#/components/schemas/NoiseOutput" }, + { "$ref": "#/components/schemas/PairTileImageOutput" }, + { "$ref": "#/components/schemas/SD3ConditioningOutput" }, + { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" }, + { "$ref": "#/components/schemas/SDXLModelLoaderOutput" }, + { "$ref": "#/components/schemas/SDXLRefinerModelLoaderOutput" }, + { "$ref": "#/components/schemas/SchedulerOutput" }, + { "$ref": "#/components/schemas/Sd3ModelLoaderOutput" }, + { "$ref": "#/components/schemas/SeamlessModeOutput" }, + { "$ref": "#/components/schemas/String2Output" }, + { "$ref": "#/components/schemas/StringCollectionOutput" }, + { "$ref": "#/components/schemas/StringGeneratorOutput" }, + { "$ref": "#/components/schemas/StringOutput" }, + { "$ref": "#/components/schemas/StringPosNegOutput" }, + { "$ref": "#/components/schemas/T2IAdapterOutput" }, + { "$ref": "#/components/schemas/TileToPropertiesOutput" }, + { "$ref": "#/components/schemas/UNetOutput" }, + { "$ref": "#/components/schemas/VAEOutput" }, + { "$ref": "#/components/schemas/ZImageConditioningOutput" }, + { "$ref": "#/components/schemas/ZImageLoRALoaderOutput" }, + { "$ref": "#/components/schemas/ZImageModelLoaderOutput" } + ], + "title": "Result" + } + }, + "required": [ + "timestamp", + "queue_id", + "item_id", + "batch_id", + "origin", + "destination", + "session_id", + "invocation", + "invocation_source_id", + "result" + ], + "title": "InvocationCompleteEvent", + "type": "object" + }, + "InvocationErrorEvent": { + "description": "Event model for invocation_error", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, + "item_id": { "description": "The ID of the queue item", "title": "Item Id", "type": "integer" }, + "batch_id": { "description": "The ID of the queue batch", "title": "Batch Id", "type": "string" }, + "origin": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The origin of the queue item", + "title": "Origin" + }, + "destination": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The destination of the queue item", + "title": "Destination" + }, + "session_id": { + "description": "The ID of the session (aka graph execution state)", + "title": "Session Id", + "type": "string" + }, + "invocation": { + "description": "The ID of the invocation", + "oneOf": [ + { "$ref": "#/components/schemas/AddInvocation" }, + { "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" }, + { "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" }, + { "$ref": "#/components/schemas/ApplyMaskToImageInvocation" }, + { "$ref": "#/components/schemas/BlankImageInvocation" }, + { "$ref": "#/components/schemas/BlendLatentsInvocation" }, + { "$ref": "#/components/schemas/BooleanCollectionInvocation" }, + { "$ref": "#/components/schemas/BooleanInvocation" }, + { "$ref": "#/components/schemas/BoundingBoxInvocation" }, + { "$ref": "#/components/schemas/CLIPSkipInvocation" }, + { "$ref": "#/components/schemas/CV2InfillInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" }, + { "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/CanvasPasteBackInvocation" }, + { "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" }, + { "$ref": "#/components/schemas/CenterPadCropInvocation" }, + { "$ref": "#/components/schemas/CogView4DenoiseInvocation" }, + { "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" }, + { "$ref": "#/components/schemas/CogView4TextEncoderInvocation" }, + { "$ref": "#/components/schemas/CollectInvocation" }, + { "$ref": "#/components/schemas/ColorCorrectInvocation" }, + { "$ref": "#/components/schemas/ColorInvocation" }, + { "$ref": "#/components/schemas/ColorMapInvocation" }, + { "$ref": "#/components/schemas/CompelInvocation" }, + { "$ref": "#/components/schemas/ConditioningCollectionInvocation" }, + { "$ref": "#/components/schemas/ConditioningInvocation" }, + { "$ref": "#/components/schemas/ContentShuffleInvocation" }, + { "$ref": "#/components/schemas/ControlNetInvocation" }, + { "$ref": "#/components/schemas/CoreMetadataInvocation" }, + { "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" }, + { "$ref": "#/components/schemas/CreateGradientMaskInvocation" }, + { "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/CropLatentsCoreInvocation" }, + { "$ref": "#/components/schemas/CvInpaintInvocation" }, + { "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" }, + { "$ref": "#/components/schemas/DenoiseLatentsInvocation" }, + { "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" }, + { "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" }, + { "$ref": "#/components/schemas/DivideInvocation" }, + { "$ref": "#/components/schemas/DynamicPromptInvocation" }, + { "$ref": "#/components/schemas/ESRGANInvocation" }, + { "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" }, + { "$ref": "#/components/schemas/FLUXLoRACollectionLoader" }, + { "$ref": "#/components/schemas/FaceIdentifierInvocation" }, + { "$ref": "#/components/schemas/FaceMaskInvocation" }, + { "$ref": "#/components/schemas/FaceOffInvocation" }, + { "$ref": "#/components/schemas/FloatBatchInvocation" }, + { "$ref": "#/components/schemas/FloatCollectionInvocation" }, + { "$ref": "#/components/schemas/FloatGenerator" }, + { "$ref": "#/components/schemas/FloatInvocation" }, + { "$ref": "#/components/schemas/FloatLinearRangeInvocation" }, + { "$ref": "#/components/schemas/FloatMathInvocation" }, + { "$ref": "#/components/schemas/FloatToIntegerInvocation" }, + { "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/FluxControlNetInvocation" }, + { "$ref": "#/components/schemas/FluxDenoiseInvocation" }, + { "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" }, + { "$ref": "#/components/schemas/FluxFillInvocation" }, + { "$ref": "#/components/schemas/FluxIPAdapterInvocation" }, + { "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" }, + { "$ref": "#/components/schemas/FluxKontextInvocation" }, + { "$ref": "#/components/schemas/FluxLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/FluxModelLoaderInvocation" }, + { "$ref": "#/components/schemas/FluxReduxInvocation" }, + { "$ref": "#/components/schemas/FluxTextEncoderInvocation" }, + { "$ref": "#/components/schemas/FluxVaeDecodeInvocation" }, + { "$ref": "#/components/schemas/FluxVaeEncodeInvocation" }, + { "$ref": "#/components/schemas/FreeUInvocation" }, + { "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/GroundingDinoInvocation" }, + { "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/HeuristicResizeInvocation" }, + { "$ref": "#/components/schemas/IPAdapterInvocation" }, + { "$ref": "#/components/schemas/IdealSizeInvocation" }, + { "$ref": "#/components/schemas/ImageBatchInvocation" }, + { "$ref": "#/components/schemas/ImageBlurInvocation" }, + { "$ref": "#/components/schemas/ImageChannelInvocation" }, + { "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" }, + { "$ref": "#/components/schemas/ImageChannelOffsetInvocation" }, + { "$ref": "#/components/schemas/ImageCollectionInvocation" }, + { "$ref": "#/components/schemas/ImageConvertInvocation" }, + { "$ref": "#/components/schemas/ImageCropInvocation" }, + { "$ref": "#/components/schemas/ImageGenerator" }, + { "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" }, + { "$ref": "#/components/schemas/ImageInverseLerpInvocation" }, + { "$ref": "#/components/schemas/ImageInvocation" }, + { "$ref": "#/components/schemas/ImageLerpInvocation" }, + { "$ref": "#/components/schemas/ImageMaskToTensorInvocation" }, + { "$ref": "#/components/schemas/ImageMultiplyInvocation" }, + { "$ref": "#/components/schemas/ImageNSFWBlurInvocation" }, + { "$ref": "#/components/schemas/ImageNoiseInvocation" }, + { "$ref": "#/components/schemas/ImagePanelLayoutInvocation" }, + { "$ref": "#/components/schemas/ImagePasteInvocation" }, + { "$ref": "#/components/schemas/ImageResizeInvocation" }, + { "$ref": "#/components/schemas/ImageScaleInvocation" }, + { "$ref": "#/components/schemas/ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/ImageWatermarkInvocation" }, + { "$ref": "#/components/schemas/InfillColorInvocation" }, + { "$ref": "#/components/schemas/InfillPatchMatchInvocation" }, + { "$ref": "#/components/schemas/InfillTileInvocation" }, + { "$ref": "#/components/schemas/IntegerBatchInvocation" }, + { "$ref": "#/components/schemas/IntegerCollectionInvocation" }, + { "$ref": "#/components/schemas/IntegerGenerator" }, + { "$ref": "#/components/schemas/IntegerInvocation" }, + { "$ref": "#/components/schemas/IntegerMathInvocation" }, + { "$ref": "#/components/schemas/InvertTensorMaskInvocation" }, + { "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" }, + { "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" }, + { "$ref": "#/components/schemas/InvokeImageBlendInvocation" }, + { "$ref": "#/components/schemas/InvokeImageCompositorInvocation" }, + { "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" }, + { "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" }, + { "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" }, + { "$ref": "#/components/schemas/IterateInvocation" }, + { "$ref": "#/components/schemas/LaMaInfillInvocation" }, + { "$ref": "#/components/schemas/LatentsCollectionInvocation" }, + { "$ref": "#/components/schemas/LatentsInvocation" }, + { "$ref": "#/components/schemas/LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" }, + { "$ref": "#/components/schemas/LoRACollectionLoader" }, + { "$ref": "#/components/schemas/LoRALoaderInvocation" }, + { "$ref": "#/components/schemas/LoRASelectorInvocation" }, + { "$ref": "#/components/schemas/MLSDDetectionInvocation" }, + { "$ref": "#/components/schemas/MainModelLoaderInvocation" }, + { "$ref": "#/components/schemas/MaskCombineInvocation" }, + { "$ref": "#/components/schemas/MaskEdgeInvocation" }, + { "$ref": "#/components/schemas/MaskFromAlphaInvocation" }, + { "$ref": "#/components/schemas/MaskFromIDInvocation" }, + { "$ref": "#/components/schemas/MaskTensorToImageInvocation" }, + { "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" }, + { "$ref": "#/components/schemas/MergeMetadataInvocation" }, + { "$ref": "#/components/schemas/MergeTilesToImageInvocation" }, + { "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" }, + { "$ref": "#/components/schemas/MetadataFromImageInvocation" }, + { "$ref": "#/components/schemas/MetadataInvocation" }, + { "$ref": "#/components/schemas/MetadataItemInvocation" }, + { "$ref": "#/components/schemas/MetadataItemLinkedInvocation" }, + { "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToBoolInvocation" }, + { "$ref": "#/components/schemas/MetadataToControlnetsInvocation" }, + { "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToFloatInvocation" }, + { "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" }, + { "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToIntegerInvocation" }, + { "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToLorasInvocation" }, + { "$ref": "#/components/schemas/MetadataToModelInvocation" }, + { "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" }, + { "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" }, + { "$ref": "#/components/schemas/MetadataToSchedulerInvocation" }, + { "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToStringInvocation" }, + { "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" }, + { "$ref": "#/components/schemas/MetadataToVAEInvocation" }, + { "$ref": "#/components/schemas/ModelIdentifierInvocation" }, + { "$ref": "#/components/schemas/MultiplyInvocation" }, + { "$ref": "#/components/schemas/NoiseInvocation" }, + { "$ref": "#/components/schemas/NormalMapInvocation" }, + { "$ref": "#/components/schemas/PairTileImageInvocation" }, + { "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/PromptsFromFileInvocation" }, + { "$ref": "#/components/schemas/RandomFloatInvocation" }, + { "$ref": "#/components/schemas/RandomIntInvocation" }, + { "$ref": "#/components/schemas/RandomRangeInvocation" }, + { "$ref": "#/components/schemas/RangeInvocation" }, + { "$ref": "#/components/schemas/RangeOfSizeInvocation" }, + { "$ref": "#/components/schemas/RectangleMaskInvocation" }, + { "$ref": "#/components/schemas/ResizeLatentsInvocation" }, + { "$ref": "#/components/schemas/RoundInvocation" }, + { "$ref": "#/components/schemas/SD3DenoiseInvocation" }, + { "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/SD3LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/SDXLCompelPromptInvocation" }, + { "$ref": "#/components/schemas/SDXLLoRACollectionLoader" }, + { "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/SDXLModelLoaderInvocation" }, + { "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" }, + { "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" }, + { "$ref": "#/components/schemas/SaveImageInvocation" }, + { "$ref": "#/components/schemas/ScaleLatentsInvocation" }, + { "$ref": "#/components/schemas/SchedulerInvocation" }, + { "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" }, + { "$ref": "#/components/schemas/Sd3TextEncoderInvocation" }, + { "$ref": "#/components/schemas/SeamlessModeInvocation" }, + { "$ref": "#/components/schemas/SegmentAnythingInvocation" }, + { "$ref": "#/components/schemas/ShowImageInvocation" }, + { "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" }, + { "$ref": "#/components/schemas/SpandrelImageToImageInvocation" }, + { "$ref": "#/components/schemas/StringBatchInvocation" }, + { "$ref": "#/components/schemas/StringCollectionInvocation" }, + { "$ref": "#/components/schemas/StringGenerator" }, + { "$ref": "#/components/schemas/StringInvocation" }, + { "$ref": "#/components/schemas/StringJoinInvocation" }, + { "$ref": "#/components/schemas/StringJoinThreeInvocation" }, + { "$ref": "#/components/schemas/StringReplaceInvocation" }, + { "$ref": "#/components/schemas/StringSplitInvocation" }, + { "$ref": "#/components/schemas/StringSplitNegInvocation" }, + { "$ref": "#/components/schemas/SubtractInvocation" }, + { "$ref": "#/components/schemas/T2IAdapterInvocation" }, + { "$ref": "#/components/schemas/TileToPropertiesInvocation" }, + { "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" }, + { "$ref": "#/components/schemas/UnsharpMaskInvocation" }, + { "$ref": "#/components/schemas/VAELoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageDenoiseInvocation" }, + { "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" }, + { "$ref": "#/components/schemas/ZImageLoRACollectionLoader" }, + { "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageModelLoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageTextEncoderInvocation" } + ], + "title": "Invocation" + }, + "invocation_source_id": { + "description": "The ID of the prepared invocation's source node", + "title": "Invocation Source Id", + "type": "string" + }, + "error_type": { "description": "The error type", "title": "Error Type", "type": "string" }, + "error_message": { "description": "The error message", "title": "Error Message", "type": "string" }, + "error_traceback": { "description": "The error traceback", "title": "Error Traceback", "type": "string" } + }, + "required": [ + "timestamp", + "queue_id", + "item_id", + "batch_id", + "origin", + "destination", + "session_id", + "invocation", + "invocation_source_id", + "error_type", + "error_message", + "error_traceback" + ], + "title": "InvocationErrorEvent", + "type": "object" + }, + "InvocationOutputMap": { + "type": "object", + "properties": { + "add": { "$ref": "#/components/schemas/IntegerOutput" }, + "alpha_mask_to_tensor": { "$ref": "#/components/schemas/MaskOutput" }, + "apply_mask_to_image": { "$ref": "#/components/schemas/ImageOutput" }, + "apply_tensor_mask_to_image": { "$ref": "#/components/schemas/ImageOutput" }, + "blank_image": { "$ref": "#/components/schemas/ImageOutput" }, + "boolean": { "$ref": "#/components/schemas/BooleanOutput" }, + "boolean_collection": { "$ref": "#/components/schemas/BooleanCollectionOutput" }, + "bounding_box": { "$ref": "#/components/schemas/BoundingBoxOutput" }, + "calculate_image_tiles": { "$ref": "#/components/schemas/CalculateImageTilesOutput" }, + "calculate_image_tiles_even_split": { "$ref": "#/components/schemas/CalculateImageTilesOutput" }, + "calculate_image_tiles_min_overlap": { "$ref": "#/components/schemas/CalculateImageTilesOutput" }, + "canny_edge_detection": { "$ref": "#/components/schemas/ImageOutput" }, + "canvas_paste_back": { "$ref": "#/components/schemas/ImageOutput" }, + "canvas_v2_mask_and_crop": { "$ref": "#/components/schemas/ImageOutput" }, + "clip_skip": { "$ref": "#/components/schemas/CLIPSkipInvocationOutput" }, + "cogview4_denoise": { "$ref": "#/components/schemas/LatentsOutput" }, + "cogview4_i2l": { "$ref": "#/components/schemas/LatentsOutput" }, + "cogview4_l2i": { "$ref": "#/components/schemas/ImageOutput" }, + "cogview4_model_loader": { "$ref": "#/components/schemas/CogView4ModelLoaderOutput" }, + "cogview4_text_encoder": { "$ref": "#/components/schemas/CogView4ConditioningOutput" }, + "collect": { "$ref": "#/components/schemas/CollectInvocationOutput" }, + "color": { "$ref": "#/components/schemas/ColorOutput" }, + "color_correct": { "$ref": "#/components/schemas/ImageOutput" }, + "color_map": { "$ref": "#/components/schemas/ImageOutput" }, + "compel": { "$ref": "#/components/schemas/ConditioningOutput" }, + "conditioning": { "$ref": "#/components/schemas/ConditioningOutput" }, + "conditioning_collection": { "$ref": "#/components/schemas/ConditioningCollectionOutput" }, + "content_shuffle": { "$ref": "#/components/schemas/ImageOutput" }, + "controlnet": { "$ref": "#/components/schemas/ControlOutput" }, + "core_metadata": { "$ref": "#/components/schemas/MetadataOutput" }, + "create_denoise_mask": { "$ref": "#/components/schemas/DenoiseMaskOutput" }, + "create_gradient_mask": { "$ref": "#/components/schemas/GradientMaskOutput" }, + "crop_image_to_bounding_box": { "$ref": "#/components/schemas/ImageOutput" }, + "crop_latents": { "$ref": "#/components/schemas/LatentsOutput" }, + "cv_inpaint": { "$ref": "#/components/schemas/ImageOutput" }, + "denoise_latents": { "$ref": "#/components/schemas/LatentsOutput" }, + "denoise_latents_meta": { "$ref": "#/components/schemas/LatentsMetaOutput" }, + "depth_anything_depth_estimation": { "$ref": "#/components/schemas/ImageOutput" }, + "div": { "$ref": "#/components/schemas/IntegerOutput" }, + "dw_openpose_detection": { "$ref": "#/components/schemas/ImageOutput" }, + "dynamic_prompt": { "$ref": "#/components/schemas/StringCollectionOutput" }, + "esrgan": { "$ref": "#/components/schemas/ImageOutput" }, + "expand_mask_with_fade": { "$ref": "#/components/schemas/ImageOutput" }, + "face_identifier": { "$ref": "#/components/schemas/ImageOutput" }, + "face_mask_detection": { "$ref": "#/components/schemas/FaceMaskOutput" }, + "face_off": { "$ref": "#/components/schemas/FaceOffOutput" }, + "float": { "$ref": "#/components/schemas/FloatOutput" }, + "float_batch": { "$ref": "#/components/schemas/FloatOutput" }, + "float_collection": { "$ref": "#/components/schemas/FloatCollectionOutput" }, + "float_generator": { "$ref": "#/components/schemas/FloatGeneratorOutput" }, + "float_math": { "$ref": "#/components/schemas/FloatOutput" }, + "float_range": { "$ref": "#/components/schemas/FloatCollectionOutput" }, + "float_to_int": { "$ref": "#/components/schemas/IntegerOutput" }, + "flux_control_lora_loader": { "$ref": "#/components/schemas/FluxControlLoRALoaderOutput" }, + "flux_controlnet": { "$ref": "#/components/schemas/FluxControlNetOutput" }, + "flux_denoise": { "$ref": "#/components/schemas/LatentsOutput" }, + "flux_denoise_meta": { "$ref": "#/components/schemas/LatentsMetaOutput" }, + "flux_fill": { "$ref": "#/components/schemas/FluxFillOutput" }, + "flux_ip_adapter": { "$ref": "#/components/schemas/IPAdapterOutput" }, + "flux_kontext": { "$ref": "#/components/schemas/FluxKontextOutput" }, + "flux_kontext_image_prep": { "$ref": "#/components/schemas/ImageOutput" }, + "flux_lora_collection_loader": { "$ref": "#/components/schemas/FluxLoRALoaderOutput" }, + "flux_lora_loader": { "$ref": "#/components/schemas/FluxLoRALoaderOutput" }, + "flux_model_loader": { "$ref": "#/components/schemas/FluxModelLoaderOutput" }, + "flux_redux": { "$ref": "#/components/schemas/FluxReduxOutput" }, + "flux_text_encoder": { "$ref": "#/components/schemas/FluxConditioningOutput" }, + "flux_vae_decode": { "$ref": "#/components/schemas/ImageOutput" }, + "flux_vae_encode": { "$ref": "#/components/schemas/LatentsOutput" }, + "freeu": { "$ref": "#/components/schemas/UNetOutput" }, + "get_image_mask_bounding_box": { "$ref": "#/components/schemas/BoundingBoxOutput" }, + "grounding_dino": { "$ref": "#/components/schemas/BoundingBoxCollectionOutput" }, + "hed_edge_detection": { "$ref": "#/components/schemas/ImageOutput" }, + "heuristic_resize": { "$ref": "#/components/schemas/ImageOutput" }, + "i2l": { "$ref": "#/components/schemas/LatentsOutput" }, + "ideal_size": { "$ref": "#/components/schemas/IdealSizeOutput" }, + "image": { "$ref": "#/components/schemas/ImageOutput" }, + "image_batch": { "$ref": "#/components/schemas/ImageOutput" }, + "image_collection": { "$ref": "#/components/schemas/ImageCollectionOutput" }, + "image_generator": { "$ref": "#/components/schemas/ImageGeneratorOutput" }, + "image_mask_to_tensor": { "$ref": "#/components/schemas/MaskOutput" }, + "image_panel_layout": { "$ref": "#/components/schemas/ImagePanelCoordinateOutput" }, + "img_blur": { "$ref": "#/components/schemas/ImageOutput" }, + "img_chan": { "$ref": "#/components/schemas/ImageOutput" }, + "img_channel_multiply": { "$ref": "#/components/schemas/ImageOutput" }, + "img_channel_offset": { "$ref": "#/components/schemas/ImageOutput" }, + "img_conv": { "$ref": "#/components/schemas/ImageOutput" }, + "img_crop": { "$ref": "#/components/schemas/ImageOutput" }, + "img_hue_adjust": { "$ref": "#/components/schemas/ImageOutput" }, + "img_ilerp": { "$ref": "#/components/schemas/ImageOutput" }, + "img_lerp": { "$ref": "#/components/schemas/ImageOutput" }, + "img_mul": { "$ref": "#/components/schemas/ImageOutput" }, + "img_noise": { "$ref": "#/components/schemas/ImageOutput" }, + "img_nsfw": { "$ref": "#/components/schemas/ImageOutput" }, + "img_pad_crop": { "$ref": "#/components/schemas/ImageOutput" }, + "img_paste": { "$ref": "#/components/schemas/ImageOutput" }, + "img_resize": { "$ref": "#/components/schemas/ImageOutput" }, + "img_scale": { "$ref": "#/components/schemas/ImageOutput" }, + "img_watermark": { "$ref": "#/components/schemas/ImageOutput" }, + "infill_cv2": { "$ref": "#/components/schemas/ImageOutput" }, + "infill_lama": { "$ref": "#/components/schemas/ImageOutput" }, + "infill_patchmatch": { "$ref": "#/components/schemas/ImageOutput" }, + "infill_rgba": { "$ref": "#/components/schemas/ImageOutput" }, + "infill_tile": { "$ref": "#/components/schemas/ImageOutput" }, + "integer": { "$ref": "#/components/schemas/IntegerOutput" }, + "integer_batch": { "$ref": "#/components/schemas/IntegerOutput" }, + "integer_collection": { "$ref": "#/components/schemas/IntegerCollectionOutput" }, + "integer_generator": { "$ref": "#/components/schemas/IntegerGeneratorOutput" }, + "integer_math": { "$ref": "#/components/schemas/IntegerOutput" }, + "invert_tensor_mask": { "$ref": "#/components/schemas/MaskOutput" }, + "invokeai_ealightness": { "$ref": "#/components/schemas/ImageOutput" }, + "invokeai_img_blend": { "$ref": "#/components/schemas/ImageOutput" }, + "invokeai_img_composite": { "$ref": "#/components/schemas/ImageOutput" }, + "invokeai_img_dilate_erode": { "$ref": "#/components/schemas/ImageOutput" }, + "invokeai_img_enhance": { "$ref": "#/components/schemas/ImageOutput" }, + "invokeai_img_hue_adjust_plus": { "$ref": "#/components/schemas/ImageOutput" }, + "invokeai_img_val_thresholds": { "$ref": "#/components/schemas/ImageOutput" }, + "ip_adapter": { "$ref": "#/components/schemas/IPAdapterOutput" }, + "iterate": { "$ref": "#/components/schemas/IterateInvocationOutput" }, + "l2i": { "$ref": "#/components/schemas/ImageOutput" }, + "latents": { "$ref": "#/components/schemas/LatentsOutput" }, + "latents_collection": { "$ref": "#/components/schemas/LatentsCollectionOutput" }, + "lblend": { "$ref": "#/components/schemas/LatentsOutput" }, + "lineart_anime_edge_detection": { "$ref": "#/components/schemas/ImageOutput" }, + "lineart_edge_detection": { "$ref": "#/components/schemas/ImageOutput" }, + "llava_onevision_vllm": { "$ref": "#/components/schemas/StringOutput" }, + "lora_collection_loader": { "$ref": "#/components/schemas/LoRALoaderOutput" }, + "lora_loader": { "$ref": "#/components/schemas/LoRALoaderOutput" }, + "lora_selector": { "$ref": "#/components/schemas/LoRASelectorOutput" }, + "lresize": { "$ref": "#/components/schemas/LatentsOutput" }, + "lscale": { "$ref": "#/components/schemas/LatentsOutput" }, + "main_model_loader": { "$ref": "#/components/schemas/ModelLoaderOutput" }, + "mask_combine": { "$ref": "#/components/schemas/ImageOutput" }, + "mask_edge": { "$ref": "#/components/schemas/ImageOutput" }, + "mask_from_id": { "$ref": "#/components/schemas/ImageOutput" }, + "mediapipe_face_detection": { "$ref": "#/components/schemas/ImageOutput" }, + "merge_metadata": { "$ref": "#/components/schemas/MetadataOutput" }, + "merge_tiles_to_image": { "$ref": "#/components/schemas/ImageOutput" }, + "metadata": { "$ref": "#/components/schemas/MetadataOutput" }, + "metadata_field_extractor": { "$ref": "#/components/schemas/StringOutput" }, + "metadata_from_image": { "$ref": "#/components/schemas/MetadataOutput" }, + "metadata_item": { "$ref": "#/components/schemas/MetadataItemOutput" }, + "metadata_item_linked": { "$ref": "#/components/schemas/MetadataOutput" }, + "metadata_to_bool": { "$ref": "#/components/schemas/BooleanOutput" }, + "metadata_to_bool_collection": { "$ref": "#/components/schemas/BooleanCollectionOutput" }, + "metadata_to_controlnets": { "$ref": "#/components/schemas/MDControlListOutput" }, + "metadata_to_float": { "$ref": "#/components/schemas/FloatOutput" }, + "metadata_to_float_collection": { "$ref": "#/components/schemas/FloatCollectionOutput" }, + "metadata_to_integer": { "$ref": "#/components/schemas/IntegerOutput" }, + "metadata_to_integer_collection": { "$ref": "#/components/schemas/IntegerCollectionOutput" }, + "metadata_to_ip_adapters": { "$ref": "#/components/schemas/MDIPAdapterListOutput" }, + "metadata_to_lora_collection": { "$ref": "#/components/schemas/MetadataToLorasCollectionOutput" }, + "metadata_to_loras": { "$ref": "#/components/schemas/LoRALoaderOutput" }, + "metadata_to_model": { "$ref": "#/components/schemas/MetadataToModelOutput" }, + "metadata_to_scheduler": { "$ref": "#/components/schemas/SchedulerOutput" }, + "metadata_to_sdlx_loras": { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" }, + "metadata_to_sdxl_model": { "$ref": "#/components/schemas/MetadataToSDXLModelOutput" }, + "metadata_to_string": { "$ref": "#/components/schemas/StringOutput" }, + "metadata_to_string_collection": { "$ref": "#/components/schemas/StringCollectionOutput" }, + "metadata_to_t2i_adapters": { "$ref": "#/components/schemas/MDT2IAdapterListOutput" }, + "metadata_to_vae": { "$ref": "#/components/schemas/VAEOutput" }, + "mlsd_detection": { "$ref": "#/components/schemas/ImageOutput" }, + "model_identifier": { "$ref": "#/components/schemas/ModelIdentifierOutput" }, + "mul": { "$ref": "#/components/schemas/IntegerOutput" }, + "noise": { "$ref": "#/components/schemas/NoiseOutput" }, + "normal_map": { "$ref": "#/components/schemas/ImageOutput" }, + "pair_tile_image": { "$ref": "#/components/schemas/PairTileImageOutput" }, + "paste_image_into_bounding_box": { "$ref": "#/components/schemas/ImageOutput" }, + "pidi_edge_detection": { "$ref": "#/components/schemas/ImageOutput" }, + "prompt_from_file": { "$ref": "#/components/schemas/StringCollectionOutput" }, + "rand_float": { "$ref": "#/components/schemas/FloatOutput" }, + "rand_int": { "$ref": "#/components/schemas/IntegerOutput" }, + "random_range": { "$ref": "#/components/schemas/IntegerCollectionOutput" }, + "range": { "$ref": "#/components/schemas/IntegerCollectionOutput" }, + "range_of_size": { "$ref": "#/components/schemas/IntegerCollectionOutput" }, + "rectangle_mask": { "$ref": "#/components/schemas/MaskOutput" }, + "round_float": { "$ref": "#/components/schemas/FloatOutput" }, + "save_image": { "$ref": "#/components/schemas/ImageOutput" }, + "scheduler": { "$ref": "#/components/schemas/SchedulerOutput" }, + "sd3_denoise": { "$ref": "#/components/schemas/LatentsOutput" }, + "sd3_i2l": { "$ref": "#/components/schemas/LatentsOutput" }, + "sd3_l2i": { "$ref": "#/components/schemas/ImageOutput" }, + "sd3_model_loader": { "$ref": "#/components/schemas/Sd3ModelLoaderOutput" }, + "sd3_text_encoder": { "$ref": "#/components/schemas/SD3ConditioningOutput" }, + "sdxl_compel_prompt": { "$ref": "#/components/schemas/ConditioningOutput" }, + "sdxl_lora_collection_loader": { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" }, + "sdxl_lora_loader": { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" }, + "sdxl_model_loader": { "$ref": "#/components/schemas/SDXLModelLoaderOutput" }, + "sdxl_refiner_compel_prompt": { "$ref": "#/components/schemas/ConditioningOutput" }, + "sdxl_refiner_model_loader": { "$ref": "#/components/schemas/SDXLRefinerModelLoaderOutput" }, + "seamless": { "$ref": "#/components/schemas/SeamlessModeOutput" }, + "segment_anything": { "$ref": "#/components/schemas/MaskOutput" }, + "show_image": { "$ref": "#/components/schemas/ImageOutput" }, + "spandrel_image_to_image": { "$ref": "#/components/schemas/ImageOutput" }, + "spandrel_image_to_image_autoscale": { "$ref": "#/components/schemas/ImageOutput" }, + "string": { "$ref": "#/components/schemas/StringOutput" }, + "string_batch": { "$ref": "#/components/schemas/StringOutput" }, + "string_collection": { "$ref": "#/components/schemas/StringCollectionOutput" }, + "string_generator": { "$ref": "#/components/schemas/StringGeneratorOutput" }, + "string_join": { "$ref": "#/components/schemas/StringOutput" }, + "string_join_three": { "$ref": "#/components/schemas/StringOutput" }, + "string_replace": { "$ref": "#/components/schemas/StringOutput" }, + "string_split": { "$ref": "#/components/schemas/String2Output" }, + "string_split_neg": { "$ref": "#/components/schemas/StringPosNegOutput" }, + "sub": { "$ref": "#/components/schemas/IntegerOutput" }, + "t2i_adapter": { "$ref": "#/components/schemas/T2IAdapterOutput" }, + "tensor_mask_to_image": { "$ref": "#/components/schemas/ImageOutput" }, + "tile_to_properties": { "$ref": "#/components/schemas/TileToPropertiesOutput" }, + "tiled_multi_diffusion_denoise_latents": { "$ref": "#/components/schemas/LatentsOutput" }, + "tomask": { "$ref": "#/components/schemas/ImageOutput" }, + "unsharp_mask": { "$ref": "#/components/schemas/ImageOutput" }, + "vae_loader": { "$ref": "#/components/schemas/VAEOutput" }, + "z_image_denoise": { "$ref": "#/components/schemas/LatentsOutput" }, + "z_image_i2l": { "$ref": "#/components/schemas/LatentsOutput" }, + "z_image_l2i": { "$ref": "#/components/schemas/ImageOutput" }, + "z_image_lora_collection_loader": { "$ref": "#/components/schemas/ZImageLoRALoaderOutput" }, + "z_image_lora_loader": { "$ref": "#/components/schemas/ZImageLoRALoaderOutput" }, + "z_image_model_loader": { "$ref": "#/components/schemas/ZImageModelLoaderOutput" }, + "z_image_text_encoder": { "$ref": "#/components/schemas/ZImageConditioningOutput" } + }, + "required": [ + "invokeai_img_val_thresholds", + "lora_loader", + "flux_kontext_image_prep", + "canny_edge_detection", + "infill_patchmatch", + "calculate_image_tiles_min_overlap", + "esrgan", + "metadata_to_float_collection", + "metadata_to_float", + "flux_control_lora_loader", + "heuristic_resize", + "freeu", + "l2i", + "float_batch", + "string", + "metadata_to_model", + "img_lerp", + "float_math", + "metadata_field_extractor", + "add", + "invokeai_img_dilate_erode", + "sdxl_lora_collection_loader", + "infill_cv2", + "tiled_multi_diffusion_denoise_latents", + "img_crop", + "flux_denoise", + "metadata_to_bool", + "tensor_mask_to_image", + "img_noise", + "mask_from_id", + "image_generator", + "pidi_edge_detection", + "show_image", + "metadata_to_ip_adapters", + "cogview4_denoise", + "i2l", + "tomask", + "latents_collection", + "lscale", + "controlnet", + "lora_collection_loader", + "spandrel_image_to_image_autoscale", + "sd3_text_encoder", + "metadata_to_sdxl_model", + "clip_skip", + "create_denoise_mask", + "infill_rgba", + "string_split_neg", + "canvas_paste_back", + "flux_vae_decode", + "flux_ip_adapter", + "integer_math", + "sdxl_lora_loader", + "paste_image_into_bounding_box", + "model_identifier", + "z_image_lora_loader", + "flux_text_encoder", + "boolean_collection", + "metadata", + "image_mask_to_tensor", + "cogview4_i2l", + "invokeai_img_blend", + "mask_edge", + "img_chan", + "latents", + "grounding_dino", + "flux_controlnet", + "invokeai_img_hue_adjust_plus", + "img_conv", + "round_float", + "infill_tile", + "canvas_v2_mask_and_crop", + "img_paste", + "flux_lora_collection_loader", + "dw_openpose_detection", + "create_gradient_mask", + "z_image_lora_collection_loader", + "blank_image", + "metadata_to_integer_collection", + "image", + "metadata_to_sdlx_loras", + "flux_fill", + "noise", + "sd3_l2i", + "llava_onevision_vllm", + "range_of_size", + "infill_lama", + "img_mul", + "color", + "metadata_to_t2i_adapters", + "float", + "integer", + "metadata_to_string", + "compel", + "lora_selector", + "conditioning_collection", + "lresize", + "ideal_size", + "sdxl_refiner_model_loader", + "flux_redux", + "rand_float", + "face_mask_detection", + "ip_adapter", + "sdxl_refiner_compel_prompt", + "z_image_l2i", + "z_image_denoise", + "spandrel_image_to_image", + "img_pad_crop", + "float_range", + "metadata_to_controlnets", + "apply_tensor_mask_to_image", + "calculate_image_tiles", + "mask_combine", + "metadata_to_loras", + "metadata_item_linked", + "cogview4_l2i", + "bounding_box", + "sd3_i2l", + "flux_vae_encode", + "float_to_int", + "invokeai_img_enhance", + "string_join_three", + "string_generator", + "normal_map", + "metadata_to_lora_collection", + "merge_metadata", + "invokeai_ealightness", + "img_nsfw", + "sd3_denoise", + "face_identifier", + "z_image_model_loader", + "denoise_latents_meta", + "integer_collection", + "flux_kontext", + "metadata_from_image", + "rectangle_mask", + "content_shuffle", + "seamless", + "z_image_i2l", + "string_replace", + "apply_mask_to_image", + "float_collection", + "cogview4_model_loader", + "pair_tile_image", + "segment_anything", + "mlsd_detection", + "hed_edge_detection", + "depth_anything_depth_estimation", + "scheduler", + "mediapipe_face_detection", + "lineart_edge_detection", + "main_model_loader", + "img_channel_offset", + "float_generator", + "calculate_image_tiles_even_split", + "flux_denoise_meta", + "rand_int", + "div", + "iterate", + "cv_inpaint", + "tile_to_properties", + "save_image", + "img_ilerp", + "image_collection", + "unsharp_mask", + "alpha_mask_to_tensor", + "image_batch", + "metadata_to_bool_collection", + "sdxl_compel_prompt", + "lineart_anime_edge_detection", + "prompt_from_file", + "sub", + "cogview4_text_encoder", + "invokeai_img_composite", + "string_split", + "string_batch", + "boolean", + "metadata_to_scheduler", + "get_image_mask_bounding_box", + "z_image_text_encoder", + "img_watermark", + "img_scale", + "flux_model_loader", + "t2i_adapter", + "color_map", + "invert_tensor_mask", + "vae_loader", + "merge_tiles_to_image", + "img_hue_adjust", + "conditioning", + "metadata_to_string_collection", + "string_collection", + "random_range", + "crop_image_to_bounding_box", + "img_channel_multiply", + "img_blur", + "sd3_model_loader", + "mul", + "collect", + "crop_latents", + "lblend", + "integer_batch", + "flux_lora_loader", + "core_metadata", + "face_off", + "range", + "image_panel_layout", + "color_correct", + "integer_generator", + "img_resize", + "sdxl_model_loader", + "metadata_to_vae", + "denoise_latents", + "dynamic_prompt", + "string_join", + "expand_mask_with_fade", + "metadata_to_integer", + "metadata_item" + ] + }, + "InvocationProgressEvent": { + "description": "Event model for invocation_progress", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, + "item_id": { "description": "The ID of the queue item", "title": "Item Id", "type": "integer" }, + "batch_id": { "description": "The ID of the queue batch", "title": "Batch Id", "type": "string" }, + "origin": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The origin of the queue item", + "title": "Origin" + }, + "destination": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The destination of the queue item", + "title": "Destination" + }, + "session_id": { + "description": "The ID of the session (aka graph execution state)", + "title": "Session Id", + "type": "string" + }, + "invocation": { + "description": "The ID of the invocation", + "oneOf": [ + { "$ref": "#/components/schemas/AddInvocation" }, + { "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" }, + { "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" }, + { "$ref": "#/components/schemas/ApplyMaskToImageInvocation" }, + { "$ref": "#/components/schemas/BlankImageInvocation" }, + { "$ref": "#/components/schemas/BlendLatentsInvocation" }, + { "$ref": "#/components/schemas/BooleanCollectionInvocation" }, + { "$ref": "#/components/schemas/BooleanInvocation" }, + { "$ref": "#/components/schemas/BoundingBoxInvocation" }, + { "$ref": "#/components/schemas/CLIPSkipInvocation" }, + { "$ref": "#/components/schemas/CV2InfillInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" }, + { "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/CanvasPasteBackInvocation" }, + { "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" }, + { "$ref": "#/components/schemas/CenterPadCropInvocation" }, + { "$ref": "#/components/schemas/CogView4DenoiseInvocation" }, + { "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" }, + { "$ref": "#/components/schemas/CogView4TextEncoderInvocation" }, + { "$ref": "#/components/schemas/CollectInvocation" }, + { "$ref": "#/components/schemas/ColorCorrectInvocation" }, + { "$ref": "#/components/schemas/ColorInvocation" }, + { "$ref": "#/components/schemas/ColorMapInvocation" }, + { "$ref": "#/components/schemas/CompelInvocation" }, + { "$ref": "#/components/schemas/ConditioningCollectionInvocation" }, + { "$ref": "#/components/schemas/ConditioningInvocation" }, + { "$ref": "#/components/schemas/ContentShuffleInvocation" }, + { "$ref": "#/components/schemas/ControlNetInvocation" }, + { "$ref": "#/components/schemas/CoreMetadataInvocation" }, + { "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" }, + { "$ref": "#/components/schemas/CreateGradientMaskInvocation" }, + { "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/CropLatentsCoreInvocation" }, + { "$ref": "#/components/schemas/CvInpaintInvocation" }, + { "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" }, + { "$ref": "#/components/schemas/DenoiseLatentsInvocation" }, + { "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" }, + { "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" }, + { "$ref": "#/components/schemas/DivideInvocation" }, + { "$ref": "#/components/schemas/DynamicPromptInvocation" }, + { "$ref": "#/components/schemas/ESRGANInvocation" }, + { "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" }, + { "$ref": "#/components/schemas/FLUXLoRACollectionLoader" }, + { "$ref": "#/components/schemas/FaceIdentifierInvocation" }, + { "$ref": "#/components/schemas/FaceMaskInvocation" }, + { "$ref": "#/components/schemas/FaceOffInvocation" }, + { "$ref": "#/components/schemas/FloatBatchInvocation" }, + { "$ref": "#/components/schemas/FloatCollectionInvocation" }, + { "$ref": "#/components/schemas/FloatGenerator" }, + { "$ref": "#/components/schemas/FloatInvocation" }, + { "$ref": "#/components/schemas/FloatLinearRangeInvocation" }, + { "$ref": "#/components/schemas/FloatMathInvocation" }, + { "$ref": "#/components/schemas/FloatToIntegerInvocation" }, + { "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/FluxControlNetInvocation" }, + { "$ref": "#/components/schemas/FluxDenoiseInvocation" }, + { "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" }, + { "$ref": "#/components/schemas/FluxFillInvocation" }, + { "$ref": "#/components/schemas/FluxIPAdapterInvocation" }, + { "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" }, + { "$ref": "#/components/schemas/FluxKontextInvocation" }, + { "$ref": "#/components/schemas/FluxLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/FluxModelLoaderInvocation" }, + { "$ref": "#/components/schemas/FluxReduxInvocation" }, + { "$ref": "#/components/schemas/FluxTextEncoderInvocation" }, + { "$ref": "#/components/schemas/FluxVaeDecodeInvocation" }, + { "$ref": "#/components/schemas/FluxVaeEncodeInvocation" }, + { "$ref": "#/components/schemas/FreeUInvocation" }, + { "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/GroundingDinoInvocation" }, + { "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/HeuristicResizeInvocation" }, + { "$ref": "#/components/schemas/IPAdapterInvocation" }, + { "$ref": "#/components/schemas/IdealSizeInvocation" }, + { "$ref": "#/components/schemas/ImageBatchInvocation" }, + { "$ref": "#/components/schemas/ImageBlurInvocation" }, + { "$ref": "#/components/schemas/ImageChannelInvocation" }, + { "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" }, + { "$ref": "#/components/schemas/ImageChannelOffsetInvocation" }, + { "$ref": "#/components/schemas/ImageCollectionInvocation" }, + { "$ref": "#/components/schemas/ImageConvertInvocation" }, + { "$ref": "#/components/schemas/ImageCropInvocation" }, + { "$ref": "#/components/schemas/ImageGenerator" }, + { "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" }, + { "$ref": "#/components/schemas/ImageInverseLerpInvocation" }, + { "$ref": "#/components/schemas/ImageInvocation" }, + { "$ref": "#/components/schemas/ImageLerpInvocation" }, + { "$ref": "#/components/schemas/ImageMaskToTensorInvocation" }, + { "$ref": "#/components/schemas/ImageMultiplyInvocation" }, + { "$ref": "#/components/schemas/ImageNSFWBlurInvocation" }, + { "$ref": "#/components/schemas/ImageNoiseInvocation" }, + { "$ref": "#/components/schemas/ImagePanelLayoutInvocation" }, + { "$ref": "#/components/schemas/ImagePasteInvocation" }, + { "$ref": "#/components/schemas/ImageResizeInvocation" }, + { "$ref": "#/components/schemas/ImageScaleInvocation" }, + { "$ref": "#/components/schemas/ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/ImageWatermarkInvocation" }, + { "$ref": "#/components/schemas/InfillColorInvocation" }, + { "$ref": "#/components/schemas/InfillPatchMatchInvocation" }, + { "$ref": "#/components/schemas/InfillTileInvocation" }, + { "$ref": "#/components/schemas/IntegerBatchInvocation" }, + { "$ref": "#/components/schemas/IntegerCollectionInvocation" }, + { "$ref": "#/components/schemas/IntegerGenerator" }, + { "$ref": "#/components/schemas/IntegerInvocation" }, + { "$ref": "#/components/schemas/IntegerMathInvocation" }, + { "$ref": "#/components/schemas/InvertTensorMaskInvocation" }, + { "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" }, + { "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" }, + { "$ref": "#/components/schemas/InvokeImageBlendInvocation" }, + { "$ref": "#/components/schemas/InvokeImageCompositorInvocation" }, + { "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" }, + { "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" }, + { "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" }, + { "$ref": "#/components/schemas/IterateInvocation" }, + { "$ref": "#/components/schemas/LaMaInfillInvocation" }, + { "$ref": "#/components/schemas/LatentsCollectionInvocation" }, + { "$ref": "#/components/schemas/LatentsInvocation" }, + { "$ref": "#/components/schemas/LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" }, + { "$ref": "#/components/schemas/LoRACollectionLoader" }, + { "$ref": "#/components/schemas/LoRALoaderInvocation" }, + { "$ref": "#/components/schemas/LoRASelectorInvocation" }, + { "$ref": "#/components/schemas/MLSDDetectionInvocation" }, + { "$ref": "#/components/schemas/MainModelLoaderInvocation" }, + { "$ref": "#/components/schemas/MaskCombineInvocation" }, + { "$ref": "#/components/schemas/MaskEdgeInvocation" }, + { "$ref": "#/components/schemas/MaskFromAlphaInvocation" }, + { "$ref": "#/components/schemas/MaskFromIDInvocation" }, + { "$ref": "#/components/schemas/MaskTensorToImageInvocation" }, + { "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" }, + { "$ref": "#/components/schemas/MergeMetadataInvocation" }, + { "$ref": "#/components/schemas/MergeTilesToImageInvocation" }, + { "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" }, + { "$ref": "#/components/schemas/MetadataFromImageInvocation" }, + { "$ref": "#/components/schemas/MetadataInvocation" }, + { "$ref": "#/components/schemas/MetadataItemInvocation" }, + { "$ref": "#/components/schemas/MetadataItemLinkedInvocation" }, + { "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToBoolInvocation" }, + { "$ref": "#/components/schemas/MetadataToControlnetsInvocation" }, + { "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToFloatInvocation" }, + { "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" }, + { "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToIntegerInvocation" }, + { "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToLorasInvocation" }, + { "$ref": "#/components/schemas/MetadataToModelInvocation" }, + { "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" }, + { "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" }, + { "$ref": "#/components/schemas/MetadataToSchedulerInvocation" }, + { "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToStringInvocation" }, + { "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" }, + { "$ref": "#/components/schemas/MetadataToVAEInvocation" }, + { "$ref": "#/components/schemas/ModelIdentifierInvocation" }, + { "$ref": "#/components/schemas/MultiplyInvocation" }, + { "$ref": "#/components/schemas/NoiseInvocation" }, + { "$ref": "#/components/schemas/NormalMapInvocation" }, + { "$ref": "#/components/schemas/PairTileImageInvocation" }, + { "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/PromptsFromFileInvocation" }, + { "$ref": "#/components/schemas/RandomFloatInvocation" }, + { "$ref": "#/components/schemas/RandomIntInvocation" }, + { "$ref": "#/components/schemas/RandomRangeInvocation" }, + { "$ref": "#/components/schemas/RangeInvocation" }, + { "$ref": "#/components/schemas/RangeOfSizeInvocation" }, + { "$ref": "#/components/schemas/RectangleMaskInvocation" }, + { "$ref": "#/components/schemas/ResizeLatentsInvocation" }, + { "$ref": "#/components/schemas/RoundInvocation" }, + { "$ref": "#/components/schemas/SD3DenoiseInvocation" }, + { "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/SD3LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/SDXLCompelPromptInvocation" }, + { "$ref": "#/components/schemas/SDXLLoRACollectionLoader" }, + { "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/SDXLModelLoaderInvocation" }, + { "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" }, + { "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" }, + { "$ref": "#/components/schemas/SaveImageInvocation" }, + { "$ref": "#/components/schemas/ScaleLatentsInvocation" }, + { "$ref": "#/components/schemas/SchedulerInvocation" }, + { "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" }, + { "$ref": "#/components/schemas/Sd3TextEncoderInvocation" }, + { "$ref": "#/components/schemas/SeamlessModeInvocation" }, + { "$ref": "#/components/schemas/SegmentAnythingInvocation" }, + { "$ref": "#/components/schemas/ShowImageInvocation" }, + { "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" }, + { "$ref": "#/components/schemas/SpandrelImageToImageInvocation" }, + { "$ref": "#/components/schemas/StringBatchInvocation" }, + { "$ref": "#/components/schemas/StringCollectionInvocation" }, + { "$ref": "#/components/schemas/StringGenerator" }, + { "$ref": "#/components/schemas/StringInvocation" }, + { "$ref": "#/components/schemas/StringJoinInvocation" }, + { "$ref": "#/components/schemas/StringJoinThreeInvocation" }, + { "$ref": "#/components/schemas/StringReplaceInvocation" }, + { "$ref": "#/components/schemas/StringSplitInvocation" }, + { "$ref": "#/components/schemas/StringSplitNegInvocation" }, + { "$ref": "#/components/schemas/SubtractInvocation" }, + { "$ref": "#/components/schemas/T2IAdapterInvocation" }, + { "$ref": "#/components/schemas/TileToPropertiesInvocation" }, + { "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" }, + { "$ref": "#/components/schemas/UnsharpMaskInvocation" }, + { "$ref": "#/components/schemas/VAELoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageDenoiseInvocation" }, + { "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" }, + { "$ref": "#/components/schemas/ZImageLoRACollectionLoader" }, + { "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageModelLoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageTextEncoderInvocation" } + ], + "title": "Invocation" + }, + "invocation_source_id": { + "description": "The ID of the prepared invocation's source node", + "title": "Invocation Source Id", + "type": "string" + }, + "message": { "description": "A message to display", "title": "Message", "type": "string" }, + "percentage": { + "anyOf": [{ "maximum": 1, "minimum": 0, "type": "number" }, { "type": "null" }], + "default": null, + "description": "The percentage of the progress (omit to indicate indeterminate progress)", + "title": "Percentage" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ProgressImage" }, { "type": "null" }], + "default": null, + "description": "An image representing the current state of the progress" + } + }, + "required": [ + "timestamp", + "queue_id", + "item_id", + "batch_id", + "origin", + "destination", + "session_id", + "invocation", + "invocation_source_id", + "message", + "percentage", + "image" + ], + "title": "InvocationProgressEvent", + "type": "object" + }, + "InvocationStartedEvent": { + "description": "Event model for invocation_started", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, + "item_id": { "description": "The ID of the queue item", "title": "Item Id", "type": "integer" }, + "batch_id": { "description": "The ID of the queue batch", "title": "Batch Id", "type": "string" }, + "origin": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The origin of the queue item", + "title": "Origin" + }, + "destination": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The destination of the queue item", + "title": "Destination" + }, + "session_id": { + "description": "The ID of the session (aka graph execution state)", + "title": "Session Id", + "type": "string" + }, + "invocation": { + "description": "The ID of the invocation", + "oneOf": [ + { "$ref": "#/components/schemas/AddInvocation" }, + { "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" }, + { "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" }, + { "$ref": "#/components/schemas/ApplyMaskToImageInvocation" }, + { "$ref": "#/components/schemas/BlankImageInvocation" }, + { "$ref": "#/components/schemas/BlendLatentsInvocation" }, + { "$ref": "#/components/schemas/BooleanCollectionInvocation" }, + { "$ref": "#/components/schemas/BooleanInvocation" }, + { "$ref": "#/components/schemas/BoundingBoxInvocation" }, + { "$ref": "#/components/schemas/CLIPSkipInvocation" }, + { "$ref": "#/components/schemas/CV2InfillInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesInvocation" }, + { "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" }, + { "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/CanvasPasteBackInvocation" }, + { "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" }, + { "$ref": "#/components/schemas/CenterPadCropInvocation" }, + { "$ref": "#/components/schemas/CogView4DenoiseInvocation" }, + { "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" }, + { "$ref": "#/components/schemas/CogView4TextEncoderInvocation" }, + { "$ref": "#/components/schemas/CollectInvocation" }, + { "$ref": "#/components/schemas/ColorCorrectInvocation" }, + { "$ref": "#/components/schemas/ColorInvocation" }, + { "$ref": "#/components/schemas/ColorMapInvocation" }, + { "$ref": "#/components/schemas/CompelInvocation" }, + { "$ref": "#/components/schemas/ConditioningCollectionInvocation" }, + { "$ref": "#/components/schemas/ConditioningInvocation" }, + { "$ref": "#/components/schemas/ContentShuffleInvocation" }, + { "$ref": "#/components/schemas/ControlNetInvocation" }, + { "$ref": "#/components/schemas/CoreMetadataInvocation" }, + { "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" }, + { "$ref": "#/components/schemas/CreateGradientMaskInvocation" }, + { "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/CropLatentsCoreInvocation" }, + { "$ref": "#/components/schemas/CvInpaintInvocation" }, + { "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" }, + { "$ref": "#/components/schemas/DenoiseLatentsInvocation" }, + { "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" }, + { "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" }, + { "$ref": "#/components/schemas/DivideInvocation" }, + { "$ref": "#/components/schemas/DynamicPromptInvocation" }, + { "$ref": "#/components/schemas/ESRGANInvocation" }, + { "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" }, + { "$ref": "#/components/schemas/FLUXLoRACollectionLoader" }, + { "$ref": "#/components/schemas/FaceIdentifierInvocation" }, + { "$ref": "#/components/schemas/FaceMaskInvocation" }, + { "$ref": "#/components/schemas/FaceOffInvocation" }, + { "$ref": "#/components/schemas/FloatBatchInvocation" }, + { "$ref": "#/components/schemas/FloatCollectionInvocation" }, + { "$ref": "#/components/schemas/FloatGenerator" }, + { "$ref": "#/components/schemas/FloatInvocation" }, + { "$ref": "#/components/schemas/FloatLinearRangeInvocation" }, + { "$ref": "#/components/schemas/FloatMathInvocation" }, + { "$ref": "#/components/schemas/FloatToIntegerInvocation" }, + { "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/FluxControlNetInvocation" }, + { "$ref": "#/components/schemas/FluxDenoiseInvocation" }, + { "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" }, + { "$ref": "#/components/schemas/FluxFillInvocation" }, + { "$ref": "#/components/schemas/FluxIPAdapterInvocation" }, + { "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" }, + { "$ref": "#/components/schemas/FluxKontextInvocation" }, + { "$ref": "#/components/schemas/FluxLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/FluxModelLoaderInvocation" }, + { "$ref": "#/components/schemas/FluxReduxInvocation" }, + { "$ref": "#/components/schemas/FluxTextEncoderInvocation" }, + { "$ref": "#/components/schemas/FluxVaeDecodeInvocation" }, + { "$ref": "#/components/schemas/FluxVaeEncodeInvocation" }, + { "$ref": "#/components/schemas/FreeUInvocation" }, + { "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/GroundingDinoInvocation" }, + { "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/HeuristicResizeInvocation" }, + { "$ref": "#/components/schemas/IPAdapterInvocation" }, + { "$ref": "#/components/schemas/IdealSizeInvocation" }, + { "$ref": "#/components/schemas/ImageBatchInvocation" }, + { "$ref": "#/components/schemas/ImageBlurInvocation" }, + { "$ref": "#/components/schemas/ImageChannelInvocation" }, + { "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" }, + { "$ref": "#/components/schemas/ImageChannelOffsetInvocation" }, + { "$ref": "#/components/schemas/ImageCollectionInvocation" }, + { "$ref": "#/components/schemas/ImageConvertInvocation" }, + { "$ref": "#/components/schemas/ImageCropInvocation" }, + { "$ref": "#/components/schemas/ImageGenerator" }, + { "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" }, + { "$ref": "#/components/schemas/ImageInverseLerpInvocation" }, + { "$ref": "#/components/schemas/ImageInvocation" }, + { "$ref": "#/components/schemas/ImageLerpInvocation" }, + { "$ref": "#/components/schemas/ImageMaskToTensorInvocation" }, + { "$ref": "#/components/schemas/ImageMultiplyInvocation" }, + { "$ref": "#/components/schemas/ImageNSFWBlurInvocation" }, + { "$ref": "#/components/schemas/ImageNoiseInvocation" }, + { "$ref": "#/components/schemas/ImagePanelLayoutInvocation" }, + { "$ref": "#/components/schemas/ImagePasteInvocation" }, + { "$ref": "#/components/schemas/ImageResizeInvocation" }, + { "$ref": "#/components/schemas/ImageScaleInvocation" }, + { "$ref": "#/components/schemas/ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/ImageWatermarkInvocation" }, + { "$ref": "#/components/schemas/InfillColorInvocation" }, + { "$ref": "#/components/schemas/InfillPatchMatchInvocation" }, + { "$ref": "#/components/schemas/InfillTileInvocation" }, + { "$ref": "#/components/schemas/IntegerBatchInvocation" }, + { "$ref": "#/components/schemas/IntegerCollectionInvocation" }, + { "$ref": "#/components/schemas/IntegerGenerator" }, + { "$ref": "#/components/schemas/IntegerInvocation" }, + { "$ref": "#/components/schemas/IntegerMathInvocation" }, + { "$ref": "#/components/schemas/InvertTensorMaskInvocation" }, + { "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" }, + { "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" }, + { "$ref": "#/components/schemas/InvokeImageBlendInvocation" }, + { "$ref": "#/components/schemas/InvokeImageCompositorInvocation" }, + { "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" }, + { "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" }, + { "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" }, + { "$ref": "#/components/schemas/IterateInvocation" }, + { "$ref": "#/components/schemas/LaMaInfillInvocation" }, + { "$ref": "#/components/schemas/LatentsCollectionInvocation" }, + { "$ref": "#/components/schemas/LatentsInvocation" }, + { "$ref": "#/components/schemas/LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" }, + { "$ref": "#/components/schemas/LoRACollectionLoader" }, + { "$ref": "#/components/schemas/LoRALoaderInvocation" }, + { "$ref": "#/components/schemas/LoRASelectorInvocation" }, + { "$ref": "#/components/schemas/MLSDDetectionInvocation" }, + { "$ref": "#/components/schemas/MainModelLoaderInvocation" }, + { "$ref": "#/components/schemas/MaskCombineInvocation" }, + { "$ref": "#/components/schemas/MaskEdgeInvocation" }, + { "$ref": "#/components/schemas/MaskFromAlphaInvocation" }, + { "$ref": "#/components/schemas/MaskFromIDInvocation" }, + { "$ref": "#/components/schemas/MaskTensorToImageInvocation" }, + { "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" }, + { "$ref": "#/components/schemas/MergeMetadataInvocation" }, + { "$ref": "#/components/schemas/MergeTilesToImageInvocation" }, + { "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" }, + { "$ref": "#/components/schemas/MetadataFromImageInvocation" }, + { "$ref": "#/components/schemas/MetadataInvocation" }, + { "$ref": "#/components/schemas/MetadataItemInvocation" }, + { "$ref": "#/components/schemas/MetadataItemLinkedInvocation" }, + { "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToBoolInvocation" }, + { "$ref": "#/components/schemas/MetadataToControlnetsInvocation" }, + { "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToFloatInvocation" }, + { "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" }, + { "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToIntegerInvocation" }, + { "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToLorasInvocation" }, + { "$ref": "#/components/schemas/MetadataToModelInvocation" }, + { "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" }, + { "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" }, + { "$ref": "#/components/schemas/MetadataToSchedulerInvocation" }, + { "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" }, + { "$ref": "#/components/schemas/MetadataToStringInvocation" }, + { "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" }, + { "$ref": "#/components/schemas/MetadataToVAEInvocation" }, + { "$ref": "#/components/schemas/ModelIdentifierInvocation" }, + { "$ref": "#/components/schemas/MultiplyInvocation" }, + { "$ref": "#/components/schemas/NoiseInvocation" }, + { "$ref": "#/components/schemas/NormalMapInvocation" }, + { "$ref": "#/components/schemas/PairTileImageInvocation" }, + { "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" }, + { "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" }, + { "$ref": "#/components/schemas/PromptsFromFileInvocation" }, + { "$ref": "#/components/schemas/RandomFloatInvocation" }, + { "$ref": "#/components/schemas/RandomIntInvocation" }, + { "$ref": "#/components/schemas/RandomRangeInvocation" }, + { "$ref": "#/components/schemas/RangeInvocation" }, + { "$ref": "#/components/schemas/RangeOfSizeInvocation" }, + { "$ref": "#/components/schemas/RectangleMaskInvocation" }, + { "$ref": "#/components/schemas/ResizeLatentsInvocation" }, + { "$ref": "#/components/schemas/RoundInvocation" }, + { "$ref": "#/components/schemas/SD3DenoiseInvocation" }, + { "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/SD3LatentsToImageInvocation" }, + { "$ref": "#/components/schemas/SDXLCompelPromptInvocation" }, + { "$ref": "#/components/schemas/SDXLLoRACollectionLoader" }, + { "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/SDXLModelLoaderInvocation" }, + { "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" }, + { "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" }, + { "$ref": "#/components/schemas/SaveImageInvocation" }, + { "$ref": "#/components/schemas/ScaleLatentsInvocation" }, + { "$ref": "#/components/schemas/SchedulerInvocation" }, + { "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" }, + { "$ref": "#/components/schemas/Sd3TextEncoderInvocation" }, + { "$ref": "#/components/schemas/SeamlessModeInvocation" }, + { "$ref": "#/components/schemas/SegmentAnythingInvocation" }, + { "$ref": "#/components/schemas/ShowImageInvocation" }, + { "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" }, + { "$ref": "#/components/schemas/SpandrelImageToImageInvocation" }, + { "$ref": "#/components/schemas/StringBatchInvocation" }, + { "$ref": "#/components/schemas/StringCollectionInvocation" }, + { "$ref": "#/components/schemas/StringGenerator" }, + { "$ref": "#/components/schemas/StringInvocation" }, + { "$ref": "#/components/schemas/StringJoinInvocation" }, + { "$ref": "#/components/schemas/StringJoinThreeInvocation" }, + { "$ref": "#/components/schemas/StringReplaceInvocation" }, + { "$ref": "#/components/schemas/StringSplitInvocation" }, + { "$ref": "#/components/schemas/StringSplitNegInvocation" }, + { "$ref": "#/components/schemas/SubtractInvocation" }, + { "$ref": "#/components/schemas/T2IAdapterInvocation" }, + { "$ref": "#/components/schemas/TileToPropertiesInvocation" }, + { "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" }, + { "$ref": "#/components/schemas/UnsharpMaskInvocation" }, + { "$ref": "#/components/schemas/VAELoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageDenoiseInvocation" }, + { "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" }, + { "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" }, + { "$ref": "#/components/schemas/ZImageLoRACollectionLoader" }, + { "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageModelLoaderInvocation" }, + { "$ref": "#/components/schemas/ZImageTextEncoderInvocation" } + ], + "title": "Invocation" + }, + "invocation_source_id": { + "description": "The ID of the prepared invocation's source node", + "title": "Invocation Source Id", + "type": "string" + } + }, + "required": [ + "timestamp", + "queue_id", + "item_id", + "batch_id", + "origin", + "destination", + "session_id", + "invocation", + "invocation_source_id" + ], + "title": "InvocationStartedEvent", + "type": "object" + }, + "InvokeAIAppConfig": { + "properties": { + "schema_version": { + "type": "string", + "title": "Schema Version", + "description": "Schema version of the config file. This is not a user-configurable setting.", + "default": "4.0.2" + }, + "legacy_models_yaml_path": { + "anyOf": [{ "type": "string", "format": "path" }, { "type": "null" }], + "title": "Legacy Models Yaml Path", + "description": "Path to the legacy models.yaml file. This is not a user-configurable setting." + }, + "host": { + "type": "string", + "title": "Host", + "description": "IP address to bind to. Use `0.0.0.0` to serve to your local network.", + "default": "127.0.0.1" + }, + "port": { "type": "integer", "title": "Port", "description": "Port to bind to.", "default": 9090 }, + "allow_origins": { + "items": { "type": "string" }, + "type": "array", + "title": "Allow Origins", + "description": "Allowed CORS origins.", + "default": [] + }, + "allow_credentials": { + "type": "boolean", + "title": "Allow Credentials", + "description": "Allow CORS credentials.", + "default": true + }, + "allow_methods": { + "items": { "type": "string" }, + "type": "array", + "title": "Allow Methods", + "description": "Methods allowed for CORS.", + "default": ["*"] + }, + "allow_headers": { + "items": { "type": "string" }, + "type": "array", + "title": "Allow Headers", + "description": "Headers allowed for CORS.", + "default": ["*"] + }, + "ssl_certfile": { + "anyOf": [{ "type": "string", "format": "path" }, { "type": "null" }], + "title": "Ssl Certfile", + "description": "SSL certificate file for HTTPS. See https://www.uvicorn.org/settings/#https." + }, + "ssl_keyfile": { + "anyOf": [{ "type": "string", "format": "path" }, { "type": "null" }], + "title": "Ssl Keyfile", + "description": "SSL key file for HTTPS. See https://www.uvicorn.org/settings/#https." + }, + "log_tokenization": { + "type": "boolean", + "title": "Log Tokenization", + "description": "Enable logging of parsed prompt tokens.", + "default": false + }, + "patchmatch": { + "type": "boolean", + "title": "Patchmatch", + "description": "Enable patchmatch inpaint code.", + "default": true + }, + "models_dir": { + "type": "string", + "format": "path", + "title": "Models Dir", + "description": "Path to the models directory.", + "default": "models" + }, + "convert_cache_dir": { + "type": "string", + "format": "path", + "title": "Convert Cache Dir", + "description": "Path to the converted models cache directory (DEPRECATED, but do not delete because it is needed for migration from previous versions).", + "default": "models\\.convert_cache" + }, + "download_cache_dir": { + "type": "string", + "format": "path", + "title": "Download Cache Dir", + "description": "Path to the directory that contains dynamically downloaded models.", + "default": "models\\.download_cache" + }, + "legacy_conf_dir": { + "type": "string", + "format": "path", + "title": "Legacy Conf Dir", + "description": "Path to directory of legacy checkpoint config files.", + "default": "configs" + }, + "db_dir": { + "type": "string", + "format": "path", + "title": "Db Dir", + "description": "Path to InvokeAI databases directory.", + "default": "databases" + }, + "outputs_dir": { + "type": "string", + "format": "path", + "title": "Outputs Dir", + "description": "Path to directory for outputs.", + "default": "outputs" + }, + "custom_nodes_dir": { + "type": "string", + "format": "path", + "title": "Custom Nodes Dir", + "description": "Path to directory for custom nodes.", + "default": "nodes" + }, + "style_presets_dir": { + "type": "string", + "format": "path", + "title": "Style Presets Dir", + "description": "Path to directory for style presets.", + "default": "style_presets" + }, + "workflow_thumbnails_dir": { + "type": "string", + "format": "path", + "title": "Workflow Thumbnails Dir", + "description": "Path to directory for workflow thumbnails.", + "default": "workflow_thumbnails" + }, + "log_handlers": { + "items": { "type": "string" }, + "type": "array", + "title": "Log Handlers", + "description": "Log handler. Valid options are \"console\", \"file=\", \"syslog=path|address:host:port\", \"http=\".", + "default": ["console"] + }, + "log_format": { + "type": "string", + "enum": ["plain", "color", "syslog", "legacy"], + "title": "Log Format", + "description": "Log format. Use \"plain\" for text-only, \"color\" for colorized output, \"legacy\" for 2.3-style logging and \"syslog\" for syslog-style.", + "default": "color" + }, + "log_level": { + "type": "string", + "enum": ["debug", "info", "warning", "error", "critical"], + "title": "Log Level", + "description": "Emit logging messages at this level or higher.", + "default": "info" + }, + "log_sql": { + "type": "boolean", + "title": "Log Sql", + "description": "Log SQL queries. `log_level` must be `debug` for this to do anything. Extremely verbose.", + "default": false + }, + "log_level_network": { + "type": "string", + "enum": ["debug", "info", "warning", "error", "critical"], + "title": "Log Level Network", + "description": "Log level for network-related messages. 'info' and 'debug' are very verbose.", + "default": "warning" + }, + "use_memory_db": { + "type": "boolean", + "title": "Use Memory Db", + "description": "Use in-memory database. Useful for development.", + "default": false + }, + "dev_reload": { + "type": "boolean", + "title": "Dev Reload", + "description": "Automatically reload when Python sources are changed. Does not reload node definitions.", + "default": false + }, + "profile_graphs": { + "type": "boolean", + "title": "Profile Graphs", + "description": "Enable graph profiling using `cProfile`.", + "default": false + }, + "profile_prefix": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Profile Prefix", + "description": "An optional prefix for profile output files." + }, + "profiles_dir": { + "type": "string", + "format": "path", + "title": "Profiles Dir", + "description": "Path to profiles output directory.", + "default": "profiles" + }, + "max_cache_ram_gb": { + "anyOf": [{ "type": "number", "exclusiveMinimum": 0.0 }, { "type": "null" }], + "title": "Max Cache Ram Gb", + "description": "The maximum amount of CPU RAM to use for model caching in GB. If unset, the limit will be configured based on the available RAM. In most cases, it is recommended to leave this unset." + }, + "max_cache_vram_gb": { + "anyOf": [{ "type": "number", "minimum": 0.0 }, { "type": "null" }], + "title": "Max Cache Vram Gb", + "description": "The amount of VRAM to use for model caching in GB. If unset, the limit will be configured based on the available VRAM and the device_working_mem_gb. In most cases, it is recommended to leave this unset." + }, + "log_memory_usage": { + "type": "boolean", + "title": "Log Memory Usage", + "description": "If True, a memory snapshot will be captured before and after every model cache operation, and the result will be logged (at debug level). There is a time cost to capturing the memory snapshots, so it is recommended to only enable this feature if you are actively inspecting the model cache's behaviour.", + "default": false + }, + "device_working_mem_gb": { + "type": "number", + "title": "Device Working Mem Gb", + "description": "The amount of working memory to keep available on the compute device (in GB). Has no effect if running on CPU. If you are experiencing OOM errors, try increasing this value.", + "default": 3 + }, + "enable_partial_loading": { + "type": "boolean", + "title": "Enable Partial Loading", + "description": "Enable partial loading of models. This enables models to run with reduced VRAM requirements (at the cost of slower speed) by streaming the model from RAM to VRAM as its used. In some edge cases, partial loading can cause models to run more slowly if they were previously being fully loaded into VRAM.", + "default": false + }, + "keep_ram_copy_of_weights": { + "type": "boolean", + "title": "Keep Ram Copy Of Weights", + "description": "Whether to keep a full RAM copy of a model's weights when the model is loaded in VRAM. Keeping a RAM copy increases average RAM usage, but speeds up model switching and LoRA patching (assuming there is sufficient RAM). Set this to False if RAM pressure is consistently high.", + "default": true + }, + "ram": { + "anyOf": [{ "type": "number", "exclusiveMinimum": 0.0 }, { "type": "null" }], + "title": "Ram", + "description": "DEPRECATED: This setting is no longer used. It has been replaced by `max_cache_ram_gb`, but most users will not need to use this config since automatic cache size limits should work well in most cases. This config setting will be removed once the new model cache behavior is stable." + }, + "vram": { + "anyOf": [{ "type": "number", "minimum": 0.0 }, { "type": "null" }], + "title": "Vram", + "description": "DEPRECATED: This setting is no longer used. It has been replaced by `max_cache_vram_gb`, but most users will not need to use this config since automatic cache size limits should work well in most cases. This config setting will be removed once the new model cache behavior is stable." + }, + "lazy_offload": { + "type": "boolean", + "title": "Lazy Offload", + "description": "DEPRECATED: This setting is no longer used. Lazy-offloading is enabled by default. This config setting will be removed once the new model cache behavior is stable.", + "default": true + }, + "pytorch_cuda_alloc_conf": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Pytorch Cuda Alloc Conf", + "description": "Configure the Torch CUDA memory allocator. This will impact peak reserved VRAM usage and performance. Setting to \"backend:cudaMallocAsync\" works well on many systems. The optimal configuration is highly dependent on the system configuration (device type, VRAM, CUDA driver version, etc.), so must be tuned experimentally." + }, + "device": { + "type": "string", + "pattern": "^(auto|cpu|mps|cuda(:\\d+)?)$", + "title": "Device", + "description": "Preferred execution device. `auto` will choose the device depending on the hardware platform and the installed torch capabilities.
Valid values: `auto`, `cpu`, `cuda`, `mps`, `cuda:N` (where N is a device number)", + "default": "auto" + }, + "precision": { + "type": "string", + "enum": ["auto", "float16", "bfloat16", "float32"], + "title": "Precision", + "description": "Floating point precision. `float16` will consume half the memory of `float32` but produce slightly lower-quality images. The `auto` setting will guess the proper precision based on your video card and operating system.", + "default": "auto" + }, + "sequential_guidance": { + "type": "boolean", + "title": "Sequential Guidance", + "description": "Whether to calculate guidance in serial instead of in parallel, lowering memory requirements.", + "default": false + }, + "attention_type": { + "type": "string", + "enum": ["auto", "normal", "xformers", "sliced", "torch-sdp"], + "title": "Attention Type", + "description": "Attention type.", + "default": "auto" + }, + "attention_slice_size": { + "enum": ["auto", "balanced", "max", 1, 2, 3, 4, 5, 6, 7, 8], + "title": "Attention Slice Size", + "description": "Slice size, valid when attention_type==\"sliced\".", + "default": "auto" + }, + "force_tiled_decode": { + "type": "boolean", + "title": "Force Tiled Decode", + "description": "Whether to enable tiled VAE decode (reduces memory consumption with some performance penalty).", + "default": false + }, + "pil_compress_level": { + "type": "integer", + "title": "Pil Compress Level", + "description": "The compress_level setting of PIL.Image.save(), used for PNG encoding. All settings are lossless. 0 = no compression, 1 = fastest with slightly larger filesize, 9 = slowest with smallest filesize. 1 is typically the best setting.", + "default": 1 + }, + "max_queue_size": { + "type": "integer", + "exclusiveMinimum": 0.0, + "title": "Max Queue Size", + "description": "Maximum number of items in the session queue.", + "default": 10000 + }, + "clear_queue_on_startup": { + "type": "boolean", + "title": "Clear Queue On Startup", + "description": "Empties session queue on startup.", + "default": false + }, + "allow_nodes": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "title": "Allow Nodes", + "description": "List of nodes to allow. Omit to allow all." + }, + "deny_nodes": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "title": "Deny Nodes", + "description": "List of nodes to deny. Omit to deny none." + }, + "node_cache_size": { + "type": "integer", + "title": "Node Cache Size", + "description": "How many cached nodes to keep in memory.", + "default": 512 + }, + "hashing_algorithm": { + "type": "string", + "enum": [ + "blake3_multi", + "blake3_single", + "random", + "md5", + "sha1", + "sha224", + "sha256", + "sha384", + "sha512", + "blake2b", + "blake2s", + "sha3_224", + "sha3_256", + "sha3_384", + "sha3_512", + "shake_128", + "shake_256" + ], + "title": "Hashing Algorithm", + "description": "Model hashing algorthim for model installs. 'blake3_multi' is best for SSDs. 'blake3_single' is best for spinning disk HDDs. 'random' disables hashing, instead assigning a UUID to models. Useful when using a memory db to reduce model installation time, or if you don't care about storing stable hashes for models. Alternatively, any other hashlib algorithm is accepted, though these are not nearly as performant as blake3.", + "default": "blake3_single" + }, + "remote_api_tokens": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/URLRegexTokenPair" }, "type": "array" }, + { "type": "null" } + ], + "title": "Remote Api Tokens", + "description": "List of regular expression and token pairs used when downloading models from URLs. The download URL is tested against the regex, and if it matches, the token is provided in as a Bearer token." + }, + "scan_models_on_startup": { + "type": "boolean", + "title": "Scan Models On Startup", + "description": "Scan the models directory on startup, registering orphaned models. This is typically only used in conjunction with `use_memory_db` for testing purposes.", + "default": false + }, + "unsafe_disable_picklescan": { + "type": "boolean", + "title": "Unsafe Disable Picklescan", + "description": "UNSAFE. Disable the picklescan security check during model installation. Recommended only for development and testing purposes. This will allow arbitrary code execution during model installation, so should never be used in production.", + "default": false + }, + "allow_unknown_models": { + "type": "boolean", + "title": "Allow Unknown Models", + "description": "Allow installation of models that we are unable to identify. If enabled, models will be marked as `unknown` in the database, and will not have any metadata associated with them. If disabled, unknown models will be rejected during installation.", + "default": true + } + }, + "additionalProperties": false, + "type": "object", + "title": "InvokeAIAppConfig", + "description": "Invoke's global app configuration.\n\nTypically, you won't need to interact with this class directly. Instead, use the `get_config` function from `invokeai.app.services.config` to get a singleton config object.\n\nAttributes:\n host: IP address to bind to. Use `0.0.0.0` to serve to your local network.\n port: Port to bind to.\n allow_origins: Allowed CORS origins.\n allow_credentials: Allow CORS credentials.\n allow_methods: Methods allowed for CORS.\n allow_headers: Headers allowed for CORS.\n ssl_certfile: SSL certificate file for HTTPS. See https://www.uvicorn.org/settings/#https.\n ssl_keyfile: SSL key file for HTTPS. See https://www.uvicorn.org/settings/#https.\n log_tokenization: Enable logging of parsed prompt tokens.\n patchmatch: Enable patchmatch inpaint code.\n models_dir: Path to the models directory.\n convert_cache_dir: Path to the converted models cache directory (DEPRECATED, but do not delete because it is needed for migration from previous versions).\n download_cache_dir: Path to the directory that contains dynamically downloaded models.\n legacy_conf_dir: Path to directory of legacy checkpoint config files.\n db_dir: Path to InvokeAI databases directory.\n outputs_dir: Path to directory for outputs.\n custom_nodes_dir: Path to directory for custom nodes.\n style_presets_dir: Path to directory for style presets.\n workflow_thumbnails_dir: Path to directory for workflow thumbnails.\n log_handlers: Log handler. Valid options are \"console\", \"file=\", \"syslog=path|address:host:port\", \"http=\".\n log_format: Log format. Use \"plain\" for text-only, \"color\" for colorized output, \"legacy\" for 2.3-style logging and \"syslog\" for syslog-style.
Valid values: `plain`, `color`, `syslog`, `legacy`\n log_level: Emit logging messages at this level or higher.
Valid values: `debug`, `info`, `warning`, `error`, `critical`\n log_sql: Log SQL queries. `log_level` must be `debug` for this to do anything. Extremely verbose.\n log_level_network: Log level for network-related messages. 'info' and 'debug' are very verbose.
Valid values: `debug`, `info`, `warning`, `error`, `critical`\n use_memory_db: Use in-memory database. Useful for development.\n dev_reload: Automatically reload when Python sources are changed. Does not reload node definitions.\n profile_graphs: Enable graph profiling using `cProfile`.\n profile_prefix: An optional prefix for profile output files.\n profiles_dir: Path to profiles output directory.\n max_cache_ram_gb: The maximum amount of CPU RAM to use for model caching in GB. If unset, the limit will be configured based on the available RAM. In most cases, it is recommended to leave this unset.\n max_cache_vram_gb: The amount of VRAM to use for model caching in GB. If unset, the limit will be configured based on the available VRAM and the device_working_mem_gb. In most cases, it is recommended to leave this unset.\n log_memory_usage: If True, a memory snapshot will be captured before and after every model cache operation, and the result will be logged (at debug level). There is a time cost to capturing the memory snapshots, so it is recommended to only enable this feature if you are actively inspecting the model cache's behaviour.\n device_working_mem_gb: The amount of working memory to keep available on the compute device (in GB). Has no effect if running on CPU. If you are experiencing OOM errors, try increasing this value.\n enable_partial_loading: Enable partial loading of models. This enables models to run with reduced VRAM requirements (at the cost of slower speed) by streaming the model from RAM to VRAM as its used. In some edge cases, partial loading can cause models to run more slowly if they were previously being fully loaded into VRAM.\n keep_ram_copy_of_weights: Whether to keep a full RAM copy of a model's weights when the model is loaded in VRAM. Keeping a RAM copy increases average RAM usage, but speeds up model switching and LoRA patching (assuming there is sufficient RAM). Set this to False if RAM pressure is consistently high.\n ram: DEPRECATED: This setting is no longer used. It has been replaced by `max_cache_ram_gb`, but most users will not need to use this config since automatic cache size limits should work well in most cases. This config setting will be removed once the new model cache behavior is stable.\n vram: DEPRECATED: This setting is no longer used. It has been replaced by `max_cache_vram_gb`, but most users will not need to use this config since automatic cache size limits should work well in most cases. This config setting will be removed once the new model cache behavior is stable.\n lazy_offload: DEPRECATED: This setting is no longer used. Lazy-offloading is enabled by default. This config setting will be removed once the new model cache behavior is stable.\n pytorch_cuda_alloc_conf: Configure the Torch CUDA memory allocator. This will impact peak reserved VRAM usage and performance. Setting to \"backend:cudaMallocAsync\" works well on many systems. The optimal configuration is highly dependent on the system configuration (device type, VRAM, CUDA driver version, etc.), so must be tuned experimentally.\n device: Preferred execution device. `auto` will choose the device depending on the hardware platform and the installed torch capabilities.
Valid values: `auto`, `cpu`, `cuda`, `mps`, `cuda:N` (where N is a device number)\n precision: Floating point precision. `float16` will consume half the memory of `float32` but produce slightly lower-quality images. The `auto` setting will guess the proper precision based on your video card and operating system.
Valid values: `auto`, `float16`, `bfloat16`, `float32`\n sequential_guidance: Whether to calculate guidance in serial instead of in parallel, lowering memory requirements.\n attention_type: Attention type.
Valid values: `auto`, `normal`, `xformers`, `sliced`, `torch-sdp`\n attention_slice_size: Slice size, valid when attention_type==\"sliced\".
Valid values: `auto`, `balanced`, `max`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`\n force_tiled_decode: Whether to enable tiled VAE decode (reduces memory consumption with some performance penalty).\n pil_compress_level: The compress_level setting of PIL.Image.save(), used for PNG encoding. All settings are lossless. 0 = no compression, 1 = fastest with slightly larger filesize, 9 = slowest with smallest filesize. 1 is typically the best setting.\n max_queue_size: Maximum number of items in the session queue.\n clear_queue_on_startup: Empties session queue on startup.\n allow_nodes: List of nodes to allow. Omit to allow all.\n deny_nodes: List of nodes to deny. Omit to deny none.\n node_cache_size: How many cached nodes to keep in memory.\n hashing_algorithm: Model hashing algorthim for model installs. 'blake3_multi' is best for SSDs. 'blake3_single' is best for spinning disk HDDs. 'random' disables hashing, instead assigning a UUID to models. Useful when using a memory db to reduce model installation time, or if you don't care about storing stable hashes for models. Alternatively, any other hashlib algorithm is accepted, though these are not nearly as performant as blake3.
Valid values: `blake3_multi`, `blake3_single`, `random`, `md5`, `sha1`, `sha224`, `sha256`, `sha384`, `sha512`, `blake2b`, `blake2s`, `sha3_224`, `sha3_256`, `sha3_384`, `sha3_512`, `shake_128`, `shake_256`\n remote_api_tokens: List of regular expression and token pairs used when downloading models from URLs. The download URL is tested against the regex, and if it matches, the token is provided in as a Bearer token.\n scan_models_on_startup: Scan the models directory on startup, registering orphaned models. This is typically only used in conjunction with `use_memory_db` for testing purposes.\n unsafe_disable_picklescan: UNSAFE. Disable the picklescan security check during model installation. Recommended only for development and testing purposes. This will allow arbitrary code execution during model installation, so should never be used in production.\n allow_unknown_models: Allow installation of models that we are unable to identify. If enabled, models will be marked as `unknown` in the database, and will not have any metadata associated with them. If disabled, unknown models will be rejected during installation." + }, + "InvokeAIAppConfigWithSetFields": { + "properties": { + "set_fields": { + "items": { "type": "string" }, + "type": "array", + "uniqueItems": true, + "title": "Set Fields", + "description": "The set fields" + }, + "config": { "$ref": "#/components/schemas/InvokeAIAppConfig", "description": "The InvokeAI App Config" } + }, + "type": "object", + "required": ["set_fields", "config"], + "title": "InvokeAIAppConfigWithSetFields", + "description": "InvokeAI App Config with model fields set" + }, + "InvokeAdjustImageHuePlusInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Adjusts the Hue of an image by rotating it in the selected color space. Originally created by @dwringer", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to adjust", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "space": { + "default": "HSV / HSL / RGB", + "description": "Color space in which to rotate hue by polar coords (*: non-invertible)", + "enum": [ + "HSV / HSL / RGB", + "Okhsl", + "Okhsv", + "*Oklch / Oklab", + "*LCh / CIELab", + "*UPLab (w/CIELab_to_UPLab.icc)" + ], + "field_kind": "input", + "input": "any", + "orig_default": "HSV / HSL / RGB", + "orig_required": false, + "title": "Space", + "type": "string" + }, + "degrees": { + "default": 0.0, + "description": "Degrees by which to rotate image hue", + "field_kind": "input", + "input": "any", + "orig_default": 0.0, + "orig_required": false, + "title": "Degrees", + "type": "number" + }, + "preserve_lightness": { + "default": false, + "description": "Whether to preserve CIELAB lightness values", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Preserve Lightness", + "type": "boolean" + }, + "ok_adaptive_gamut": { + "default": 0.05, + "description": "Higher preserves chroma at the expense of lightness (Oklab)", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0.05, + "orig_required": false, + "title": "Ok Adaptive Gamut", + "type": "number" + }, + "ok_high_precision": { + "default": true, + "description": "Use more steps in computing gamut (Oklab/Okhsv/Okhsl)", + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "Ok High Precision", + "type": "boolean" + }, + "type": { + "const": "invokeai_img_hue_adjust_plus", + "default": "invokeai_img_hue_adjust_plus", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "hue", "oklab", "cielab", "uplab", "lch", "hsv", "hsl", "lab"], + "title": "Adjust Image Hue Plus", + "type": "object", + "version": "1.2.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "InvokeEquivalentAchromaticLightnessInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Calculate Equivalent Achromatic Lightness from image. Originally created by @dwringer", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Image from which to get channel", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "invokeai_ealightness", + "default": "invokeai_ealightness", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "channel", "mask", "cielab", "lab"], + "title": "Equivalent Achromatic Lightness", + "type": "object", + "version": "1.2.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "InvokeImageBlendInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Blend two images together, with optional opacity, mask, and blend modes. Originally created by @dwringer", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "layer_upper": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The top image to blend", + "field_kind": "input", + "input": "any", + "orig_required": true, + "ui_order": 1 + }, + "blend_mode": { + "default": "Normal", + "description": "Available blend modes", + "enum": [ + "Normal", + "Lighten Only", + "Darken Only", + "Lighten Only (EAL)", + "Darken Only (EAL)", + "Hue", + "Saturation", + "Color", + "Luminosity", + "Linear Dodge (Add)", + "Subtract", + "Multiply", + "Divide", + "Screen", + "Overlay", + "Linear Burn", + "Difference", + "Hard Light", + "Soft Light", + "Vivid Light", + "Linear Light", + "Color Burn", + "Color Dodge" + ], + "field_kind": "input", + "input": "any", + "orig_default": "Normal", + "orig_required": false, + "title": "Blend Mode", + "type": "string", + "ui_order": 2 + }, + "opacity": { + "default": 1.0, + "description": "Desired opacity of the upper layer", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Opacity", + "type": "number", + "ui_order": 3 + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Optional mask, used to restrict areas from blending", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "ui_order": 4 + }, + "fit_to_width": { + "default": false, + "description": "Scale upper layer to fit base width", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Fit To Width", + "type": "boolean", + "ui_order": 5 + }, + "fit_to_height": { + "default": true, + "description": "Scale upper layer to fit base height", + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "Fit To Height", + "type": "boolean", + "ui_order": 6 + }, + "layer_base": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The bottom image to blend", + "field_kind": "input", + "input": "any", + "orig_required": true, + "ui_order": 7 + }, + "color_space": { + "default": "RGB", + "description": "Available color spaces for blend computations", + "enum": ["RGB", "Linear RGB", "HSL (RGB)", "HSV (RGB)", "Okhsl", "Okhsv", "Oklch (Oklab)", "LCh (CIELab)"], + "field_kind": "input", + "input": "any", + "orig_default": "RGB", + "orig_required": false, + "title": "Color Space", + "type": "string", + "ui_order": 8 + }, + "adaptive_gamut": { + "default": 0.0, + "description": "Adaptive gamut clipping (0=off). Higher prioritizes chroma over lightness", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0.0, + "orig_required": false, + "title": "Adaptive Gamut", + "type": "number", + "ui_order": 9 + }, + "high_precision": { + "default": true, + "description": "Use more steps in computing gamut when possible", + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "High Precision", + "type": "boolean", + "ui_order": 10 + }, + "type": { + "const": "invokeai_img_blend", + "default": "invokeai_img_blend", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "blend", "layer", "alpha", "composite", "dodge", "burn"], + "title": "Image Layer Blend", + "type": "object", + "version": "1.2.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "InvokeImageCompositorInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Removes backdrop from subject image then overlays subject on background image. Originally created by @dwringer", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image_subject": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Image of the subject on a plain monochrome background", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "image_background": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "Image of a background scene", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "chroma_key": { + "default": "", + "description": "Can be empty for corner flood select, or CSS-3 color or tuple", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "Chroma Key", + "type": "string" + }, + "threshold": { + "default": 50, + "description": "Subject isolation flood-fill threshold", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 50, + "orig_required": false, + "title": "Threshold", + "type": "integer" + }, + "fill_x": { + "default": false, + "description": "Scale base subject image to fit background width", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Fill X", + "type": "boolean" + }, + "fill_y": { + "default": true, + "description": "Scale base subject image to fit background height", + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "Fill Y", + "type": "boolean" + }, + "x_offset": { + "default": 0, + "description": "x-offset for the subject", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "X Offset", + "type": "integer" + }, + "y_offset": { + "default": 0, + "description": "y-offset for the subject", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Y Offset", + "type": "integer" + }, + "type": { + "const": "invokeai_img_composite", + "default": "invokeai_img_composite", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "compose", "chroma", "key"], + "title": "Image Compositor", + "type": "object", + "version": "1.2.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "InvokeImageDilateOrErodeInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Dilate (expand) or erode (contract) an image. Originally created by @dwringer", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image from which to create a mask", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "lightness_only": { + "default": false, + "description": "If true, only applies to image lightness (CIELa*b*)", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Lightness Only", + "type": "boolean" + }, + "radius_w": { + "default": 4, + "description": "Width (in pixels) by which to dilate(expand) or erode (contract) the image", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 4, + "orig_required": false, + "title": "Radius W", + "type": "integer" + }, + "radius_h": { + "default": 4, + "description": "Height (in pixels) by which to dilate(expand) or erode (contract) the image", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 4, + "orig_required": false, + "title": "Radius H", + "type": "integer" + }, + "mode": { + "default": "Dilate", + "description": "How to operate on the image", + "enum": ["Dilate", "Erode"], + "field_kind": "input", + "input": "any", + "orig_default": "Dilate", + "orig_required": false, + "title": "Mode", + "type": "string" + }, + "type": { + "const": "invokeai_img_dilate_erode", + "default": "invokeai_img_dilate_erode", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "mask", "dilate", "erode", "expand", "contract", "mask"], + "title": "Image Dilate or Erode", + "type": "object", + "version": "1.3.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "InvokeImageEnhanceInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Applies processing from PIL's ImageEnhance module. Originally created by @dwringer", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image for which to apply processing", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "invert": { + "default": false, + "description": "Whether to invert the image colors", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Invert", + "type": "boolean" + }, + "color": { + "default": 1.0, + "description": "Color enhancement factor", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Color", + "type": "number" + }, + "contrast": { + "default": 1.0, + "description": "Contrast enhancement factor", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Contrast", + "type": "number" + }, + "brightness": { + "default": 1.0, + "description": "Brightness enhancement factor", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Brightness", + "type": "number" + }, + "sharpness": { + "default": 1.0, + "description": "Sharpness enhancement factor", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Sharpness", + "type": "number" + }, + "type": { + "const": "invokeai_img_enhance", + "default": "invokeai_img_enhance", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["enhance", "image"], + "title": "Enhance Image", + "type": "object", + "version": "1.2.1", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "InvokeImageValueThresholdsInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Clip image to pure black/white past specified thresholds. Originally created by @dwringer", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image from which to create a mask", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "invert_output": { + "default": false, + "description": "Make light areas dark and vice versa", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Invert Output", + "type": "boolean" + }, + "renormalize_values": { + "default": false, + "description": "Rescale remaining values from minimum to maximum", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Renormalize Values", + "type": "boolean" + }, + "lightness_only": { + "default": false, + "description": "If true, only applies to image lightness (CIELa*b*)", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Lightness Only", + "type": "boolean" + }, + "threshold_upper": { + "default": 0.5, + "description": "Threshold above which will be set to full value", + "field_kind": "input", + "input": "any", + "orig_default": 0.5, + "orig_required": false, + "title": "Threshold Upper", + "type": "number" + }, + "threshold_lower": { + "default": 0.5, + "description": "Threshold below which will be set to minimum value", + "field_kind": "input", + "input": "any", + "orig_default": 0.5, + "orig_required": false, + "title": "Threshold Lower", + "type": "number" + }, + "type": { + "const": "invokeai_img_val_thresholds", + "default": "invokeai_img_val_thresholds", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "mask", "value", "threshold"], + "title": "Image Value Thresholds", + "type": "object", + "version": "1.2.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ItemIdsResult": { + "properties": { + "item_ids": { + "items": { "type": "integer" }, + "type": "array", + "title": "Item Ids", + "description": "Ordered list of item ids" + }, + "total_count": { + "type": "integer", + "title": "Total Count", + "description": "Total number of queue items matching the query" + } + }, + "type": "object", + "required": ["item_ids", "total_count"], + "title": "ItemIdsResult", + "description": "Response containing ordered item ids with metadata for optimistic updates." + }, + "IterateInvocation": { + "class": "invocation", + "classification": "stable", + "description": "Iterates over a list of items", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "collection": { + "default": [], + "description": "The list of items to iterate over", + "field_kind": "input", + "input": "any", + "items": {}, + "orig_default": [], + "orig_required": false, + "title": "Collection", + "type": "array", + "ui_type": "CollectionField" + }, + "index": { + "default": 0, + "description": "The index, will be provided on executed iterators", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Index", + "type": "integer", + "ui_hidden": true + }, + "type": { + "const": "iterate", + "default": "iterate", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "title": "IterateInvocation", + "type": "object", + "version": "1.1.0", + "output": { "$ref": "#/components/schemas/IterateInvocationOutput" } + }, + "IterateInvocationOutput": { + "class": "output", + "description": "Used to connect iteration outputs. Will be expanded to a specific output.", + "properties": { + "item": { + "description": "The item being iterated over", + "field_kind": "output", + "title": "Collection Item", + "ui_hidden": false, + "ui_type": "CollectionItemField" + }, + "index": { + "description": "The index of the item", + "field_kind": "output", + "title": "Index", + "type": "integer", + "ui_hidden": false + }, + "total": { + "description": "The total number of items", + "field_kind": "output", + "title": "Total", + "type": "integer", + "ui_hidden": false + }, + "type": { + "const": "iterate_output", + "default": "iterate_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "item", "index", "total", "type", "type"], + "title": "IterateInvocationOutput", + "type": "object" + }, + "JsonValue": {}, + "LaMaInfillInvocation": { + "category": "inpaint", + "class": "invocation", + "classification": "stable", + "description": "Infills transparent areas of an image using the LaMa model", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "infill_lama", + "default": "infill_lama", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "inpaint"], + "title": "LaMa Infill", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "LatentsCollectionInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A collection of latents tensor primitive values", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "collection": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/LatentsField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "The collection of latents tensors", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Collection" + }, + "type": { + "const": "latents_collection", + "default": "latents_collection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "latents", "collection"], + "title": "Latents Collection Primitive", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/LatentsCollectionOutput" } + }, + "LatentsCollectionOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of latents tensors", + "properties": { + "collection": { + "description": "Latents tensor", + "field_kind": "output", + "items": { "$ref": "#/components/schemas/LatentsField" }, + "title": "Collection", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "latents_collection_output", + "default": "latents_collection_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "collection", "type", "type"], + "title": "LatentsCollectionOutput", + "type": "object" + }, + "LatentsField": { + "description": "A latents tensor primitive field", + "properties": { + "latents_name": { "description": "The name of the latents", "title": "Latents Name", "type": "string" }, + "seed": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "Seed used to generate this latents", + "title": "Seed" + } + }, + "required": ["latents_name"], + "title": "LatentsField", + "type": "object" + }, + "LatentsInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A latents tensor primitive value", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "The latents tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "type": { + "const": "latents", + "default": "latents", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "latents"], + "title": "Latents Primitive", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "LatentsMetaOutput": { + "class": "output", + "description": "Latents + metadata", + "properties": { + "metadata": { + "$ref": "#/components/schemas/MetadataField", + "description": "Metadata Dict", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "latents_meta_output", + "default": "latents_meta_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + }, + "latents": { + "$ref": "#/components/schemas/LatentsField", + "description": "Latents tensor", + "field_kind": "output", + "ui_hidden": false + }, + "width": { + "description": "Width of output (px)", + "field_kind": "output", + "title": "Width", + "type": "integer", + "ui_hidden": false + }, + "height": { + "description": "Height of output (px)", + "field_kind": "output", + "title": "Height", + "type": "integer", + "ui_hidden": false + } + }, + "required": ["output_meta", "metadata", "type", "latents", "width", "height", "type"], + "title": "LatentsMetaOutput", + "type": "object" + }, + "LatentsOutput": { + "class": "output", + "description": "Base class for nodes that output a single latents tensor", + "properties": { + "latents": { + "$ref": "#/components/schemas/LatentsField", + "description": "Latents tensor", + "field_kind": "output", + "ui_hidden": false + }, + "width": { + "description": "Width of output (px)", + "field_kind": "output", + "title": "Width", + "type": "integer", + "ui_hidden": false + }, + "height": { + "description": "Height of output (px)", + "field_kind": "output", + "title": "Height", + "type": "integer", + "ui_hidden": false + }, + "type": { + "const": "latents_output", + "default": "latents_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "latents", "width", "height", "type", "type"], + "title": "LatentsOutput", + "type": "object" + }, + "LatentsToImageInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Generates an image from latents.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "tiled": { + "default": false, + "description": "Processing using overlapping tiles (reduce memory consumption)", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Tiled", + "type": "boolean" + }, + "tile_size": { + "default": 0, + "description": "The tile size for VAE tiling in pixels (image space). If set to 0, the default tile size for the model will be used. Larger tile sizes generally produce better results at the cost of higher memory usage.", + "field_kind": "input", + "input": "any", + "multipleOf": 8, + "orig_default": 0, + "orig_required": false, + "title": "Tile Size", + "type": "integer" + }, + "fp32": { + "default": false, + "description": "Whether or not to use full float32 precision", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Fp32", + "type": "boolean" + }, + "type": { + "const": "l2i", + "default": "l2i", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "image", "vae", "l2i"], + "title": "Latents to Image - SD1.5, SDXL", + "type": "object", + "version": "1.3.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "LineartAnimeEdgeDetectionInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Geneartes an edge map using the Lineart model.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "lineart_anime_edge_detection", + "default": "lineart_anime_edge_detection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet", "lineart"], + "title": "Lineart Anime Edge Detection", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "LineartEdgeDetectionInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Generates an edge map using the Lineart model.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "coarse": { + "default": false, + "description": "Whether to use coarse mode", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Coarse", + "type": "boolean" + }, + "type": { + "const": "lineart_edge_detection", + "default": "lineart_edge_detection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet", "lineart"], + "title": "Lineart Edge Detection", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "LlavaOnevisionVllmInvocation": { + "category": "vllm", + "class": "invocation", + "classification": "beta", + "description": "Run a LLaVA OneVision VLLM model.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "images": { + "anyOf": [ + { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/ImageField" }, "type": "array" }, + { "$ref": "#/components/schemas/ImageField" } + ], + "maxLength": 3 + }, + { "type": "null" } + ], + "default": null, + "description": "Input image.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Images" + }, + "prompt": { + "default": "", + "description": "Input text prompt.", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "Prompt", + "type": "string", + "ui_component": "textarea" + }, + "vllm_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "The VLLM model to use", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "LLaVA Model Type", + "ui_model_type": ["llava_onevision"] + }, + "type": { + "const": "llava_onevision_vllm", + "default": "llava_onevision_vllm", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["vllm"], + "title": "LLaVA OneVision VLLM", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/StringOutput" } + }, + "LlavaOnevision_Diffusers_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "type": { "type": "string", "const": "llava_onevision", "title": "Type", "default": "llava_onevision" }, + "base": { "type": "string", "const": "any", "title": "Base", "default": "any" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "type", + "base" + ], + "title": "LlavaOnevision_Diffusers_Config", + "description": "Model config for Llava Onevision models." + }, + "LoRACollectionLoader": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Applies a collection of LoRAs to the provided UNet and CLIP models.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "loras": { + "anyOf": [ + { "$ref": "#/components/schemas/LoRAField" }, + { "items": { "$ref": "#/components/schemas/LoRAField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "LoRA models and weights. May be a single LoRA or collection.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "LoRAs" + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "UNet" + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "CLIP" + }, + "type": { + "const": "lora_collection_loader", + "default": "lora_collection_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["model"], + "title": "Apply LoRA Collection - SD1.5", + "type": "object", + "version": "1.1.2", + "output": { "$ref": "#/components/schemas/LoRALoaderOutput" } + }, + "LoRAField": { + "properties": { + "lora": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "Info to load lora model" }, + "weight": { "description": "Weight to apply to lora model", "title": "Weight", "type": "number" } + }, + "required": ["lora", "weight"], + "title": "LoRAField", + "type": "object" + }, + "LoRALoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Apply selected lora to unet and text_encoder.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "lora": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "LoRA model to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "LoRA", + "ui_model_base": ["sd-1"], + "ui_model_type": ["lora"] + }, + "weight": { + "default": 0.75, + "description": "The weight at which the LoRA is applied to each model", + "field_kind": "input", + "input": "any", + "orig_default": 0.75, + "orig_required": false, + "title": "Weight", + "type": "number" + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "UNet" + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "CLIP" + }, + "type": { + "const": "lora_loader", + "default": "lora_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["model"], + "title": "Apply LoRA - SD1.5", + "type": "object", + "version": "1.0.4", + "output": { "$ref": "#/components/schemas/LoRALoaderOutput" } + }, + "LoRALoaderOutput": { + "class": "output", + "description": "Model loader output", + "properties": { + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "output", + "title": "UNet", + "ui_hidden": false + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP", + "ui_hidden": false + }, + "type": { + "const": "lora_loader_output", + "default": "lora_loader_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "unet", "clip", "type", "type"], + "title": "LoRALoaderOutput", + "type": "object" + }, + "LoRAMetadataField": { + "description": "LoRA Metadata Field", + "properties": { + "model": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "LoRA model to load" }, + "weight": { + "description": "The weight at which the LoRA is applied to each model", + "title": "Weight", + "type": "number" + } + }, + "required": ["model", "weight"], + "title": "LoRAMetadataField", + "type": "object" + }, + "LoRASelectorInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Selects a LoRA model and weight.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "lora": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "LoRA model to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "LoRA", + "ui_model_type": ["lora"] + }, + "weight": { + "default": 0.75, + "description": "The weight at which the LoRA is applied to each model", + "field_kind": "input", + "input": "any", + "orig_default": 0.75, + "orig_required": false, + "title": "Weight", + "type": "number" + }, + "type": { + "const": "lora_selector", + "default": "lora_selector", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["model"], + "title": "Select LoRA", + "type": "object", + "version": "1.0.3", + "output": { "$ref": "#/components/schemas/LoRASelectorOutput" } + }, + "LoRASelectorOutput": { + "class": "output", + "description": "Model loader output", + "properties": { + "lora": { + "$ref": "#/components/schemas/LoRAField", + "description": "LoRA model and weight", + "field_kind": "output", + "title": "LoRA", + "ui_hidden": false + }, + "type": { + "const": "lora_selector_output", + "default": "lora_selector_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "lora", "type", "type"], + "title": "LoRASelectorOutput", + "type": "object" + }, + "LoRA_Diffusers_FLUX_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "base" + ], + "title": "LoRA_Diffusers_FLUX_Config" + }, + "LoRA_Diffusers_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "base" + ], + "title": "LoRA_Diffusers_SD1_Config" + }, + "LoRA_Diffusers_SD2_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "base" + ], + "title": "LoRA_Diffusers_SD2_Config" + }, + "LoRA_Diffusers_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "base" + ], + "title": "LoRA_Diffusers_SDXL_Config" + }, + "LoRA_Diffusers_ZImage_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "base": { "type": "string", "const": "z-image", "title": "Base", "default": "z-image" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "base" + ], + "title": "LoRA_Diffusers_ZImage_Config", + "description": "Model config for Z-Image LoRA models in Diffusers format." + }, + "LoRA_LyCORIS_FLUX_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "lycoris", "title": "Format", "default": "lycoris" }, + "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "base" + ], + "title": "LoRA_LyCORIS_FLUX_Config" + }, + "LoRA_LyCORIS_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "lycoris", "title": "Format", "default": "lycoris" }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "base" + ], + "title": "LoRA_LyCORIS_SD1_Config" + }, + "LoRA_LyCORIS_SD2_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "lycoris", "title": "Format", "default": "lycoris" }, + "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "base" + ], + "title": "LoRA_LyCORIS_SD2_Config" + }, + "LoRA_LyCORIS_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "lycoris", "title": "Format", "default": "lycoris" }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "base" + ], + "title": "LoRA_LyCORIS_SDXL_Config" + }, + "LoRA_LyCORIS_ZImage_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "lycoris", "title": "Format", "default": "lycoris" }, + "base": { "type": "string", "const": "z-image", "title": "Base", "default": "z-image" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "base" + ], + "title": "LoRA_LyCORIS_ZImage_Config", + "description": "Model config for Z-Image LoRA models in LyCORIS format." + }, + "LoRA_OMI_FLUX_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "omi", "title": "Format", "default": "omi" }, + "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "base" + ], + "title": "LoRA_OMI_FLUX_Config" + }, + "LoRA_OMI_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "omi", "title": "Format", "default": "omi" }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "base" + ], + "title": "LoRA_OMI_SDXL_Config" + }, + "LocalModelSource": { + "properties": { + "path": { "anyOf": [{ "type": "string" }, { "type": "string", "format": "path" }], "title": "Path" }, + "inplace": { "anyOf": [{ "type": "boolean" }, { "type": "null" }], "title": "Inplace", "default": false }, + "type": { "type": "string", "const": "local", "title": "Type", "default": "local" } + }, + "type": "object", + "required": ["path"], + "title": "LocalModelSource", + "description": "A local file or directory path." + }, + "LogLevel": { "type": "integer", "enum": [0, 10, 20, 30, 40, 50], "title": "LogLevel" }, + "LoraModelDefaultSettings": { + "properties": { + "weight": { + "anyOf": [{ "type": "number", "maximum": 2.0, "minimum": -1.0 }, { "type": "null" }], + "title": "Weight", + "description": "Default weight for this model" + } + }, + "additionalProperties": false, + "type": "object", + "title": "LoraModelDefaultSettings" + }, + "MDControlListOutput": { + "class": "output", + "properties": { + "control_list": { + "anyOf": [ + { "$ref": "#/components/schemas/ControlField" }, + { "items": { "$ref": "#/components/schemas/ControlField" }, "type": "array" }, + { "type": "null" } + ], + "description": "ControlNet(s) to apply", + "field_kind": "output", + "title": "ControlNet-List", + "ui_hidden": false + }, + "type": { + "const": "md_control_list_output", + "default": "md_control_list_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "control_list", "type", "type"], + "title": "MDControlListOutput", + "type": "object" + }, + "MDIPAdapterListOutput": { + "class": "output", + "properties": { + "ip_adapter_list": { + "anyOf": [ + { "$ref": "#/components/schemas/IPAdapterField" }, + { "items": { "$ref": "#/components/schemas/IPAdapterField" }, "type": "array" }, + { "type": "null" } + ], + "description": "IP-Adapter to apply", + "field_kind": "output", + "title": "IP-Adapter-List", + "ui_hidden": false + }, + "type": { + "const": "md_ip_adapter_list_output", + "default": "md_ip_adapter_list_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "ip_adapter_list", "type", "type"], + "title": "MDIPAdapterListOutput", + "type": "object" + }, + "MDT2IAdapterListOutput": { + "class": "output", + "properties": { + "t2i_adapter_list": { + "anyOf": [ + { "$ref": "#/components/schemas/T2IAdapterField" }, + { "items": { "$ref": "#/components/schemas/T2IAdapterField" }, "type": "array" }, + { "type": "null" } + ], + "description": "T2I-Adapter(s) to apply", + "field_kind": "output", + "title": "T2I Adapter-List", + "ui_hidden": false + }, + "type": { + "const": "md_ip_adapters_output", + "default": "md_ip_adapters_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "t2i_adapter_list", "type", "type"], + "title": "MDT2IAdapterListOutput", + "type": "object" + }, + "MLSDDetectionInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Generates an line segment map using MLSD.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "score_threshold": { + "default": 0.1, + "description": "The threshold used to score points when determining line segments", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0.1, + "orig_required": false, + "title": "Score Threshold", + "type": "number" + }, + "distance_threshold": { + "default": 20.0, + "description": "Threshold for including a line segment - lines shorter than this distance will be discarded", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 20.0, + "orig_required": false, + "title": "Distance Threshold", + "type": "number" + }, + "type": { + "const": "mlsd_detection", + "default": "mlsd_detection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet", "mlsd", "edge"], + "title": "MLSD Detection", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "MainModelDefaultSettings": { + "properties": { + "vae": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Vae", + "description": "Default VAE for this model (model key)" + }, + "vae_precision": { + "anyOf": [{ "type": "string", "enum": ["fp16", "fp32"] }, { "type": "null" }], + "title": "Vae Precision", + "description": "Default VAE precision for this model" + }, + "scheduler": { + "anyOf": [ + { + "type": "string", + "enum": [ + "ddim", + "ddpm", + "deis", + "deis_k", + "lms", + "lms_k", + "pndm", + "heun", + "heun_k", + "euler", + "euler_k", + "euler_a", + "kdpm_2", + "kdpm_2_k", + "kdpm_2_a", + "kdpm_2_a_k", + "dpmpp_2s", + "dpmpp_2s_k", + "dpmpp_2m", + "dpmpp_2m_k", + "dpmpp_2m_sde", + "dpmpp_2m_sde_k", + "dpmpp_3m", + "dpmpp_3m_k", + "dpmpp_sde", + "dpmpp_sde_k", + "unipc", + "unipc_k", + "lcm", + "tcd" + ] + }, + { "type": "null" } + ], + "title": "Scheduler", + "description": "Default scheduler for this model" + }, + "steps": { + "anyOf": [{ "type": "integer", "exclusiveMinimum": 0.0 }, { "type": "null" }], + "title": "Steps", + "description": "Default number of steps for this model" + }, + "cfg_scale": { + "anyOf": [{ "type": "number", "minimum": 1.0 }, { "type": "null" }], + "title": "Cfg Scale", + "description": "Default CFG Scale for this model" + }, + "cfg_rescale_multiplier": { + "anyOf": [{ "type": "number", "exclusiveMaximum": 1.0, "minimum": 0.0 }, { "type": "null" }], + "title": "Cfg Rescale Multiplier", + "description": "Default CFG Rescale Multiplier for this model" + }, + "width": { + "anyOf": [{ "type": "integer", "multipleOf": 8.0, "minimum": 64.0 }, { "type": "null" }], + "title": "Width", + "description": "Default width for this model" + }, + "height": { + "anyOf": [{ "type": "integer", "multipleOf": 8.0, "minimum": 64.0 }, { "type": "null" }], + "title": "Height", + "description": "Default height for this model" + }, + "guidance": { + "anyOf": [{ "type": "number", "minimum": 1.0 }, { "type": "null" }], + "title": "Guidance", + "description": "Default Guidance for this model" + } + }, + "additionalProperties": false, + "type": "object", + "title": "MainModelDefaultSettings" + }, + "MainModelLoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Loads a main model, outputting its submodels.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "Main model (UNet, VAE, CLIP) to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "ui_model_base": ["sd-1", "sd-2"], + "ui_model_type": ["main"] + }, + "type": { + "const": "main_model_loader", + "default": "main_model_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["model"], + "title": "Main Model - SD1.5, SD2", + "type": "object", + "version": "1.0.4", + "output": { "$ref": "#/components/schemas/ModelLoaderOutput" } + }, + "Main_BnBNF4_FLUX_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" }, + "format": { + "type": "string", + "const": "bnb_quantized_nf4b", + "title": "Format", + "default": "bnb_quantized_nf4b" + }, + "variant": { "$ref": "#/components/schemas/FluxVariantType" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "config_path", + "base", + "format", + "variant" + ], + "title": "Main_BnBNF4_FLUX_Config", + "description": "Model config for main checkpoint models." + }, + "Main_Checkpoint_FLUX_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" }, + "variant": { "$ref": "#/components/schemas/FluxVariantType" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "config_path", + "format", + "base", + "variant" + ], + "title": "Main_Checkpoint_FLUX_Config", + "description": "Model config for main checkpoint models." + }, + "Main_Checkpoint_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, + "variant": { "$ref": "#/components/schemas/ModelVariantType" }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "config_path", + "format", + "prediction_type", + "variant", + "base" + ], + "title": "Main_Checkpoint_SD1_Config" + }, + "Main_Checkpoint_SD2_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, + "variant": { "$ref": "#/components/schemas/ModelVariantType" }, + "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "config_path", + "format", + "prediction_type", + "variant", + "base" + ], + "title": "Main_Checkpoint_SD2_Config" + }, + "Main_Checkpoint_SDXLRefiner_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, + "variant": { "$ref": "#/components/schemas/ModelVariantType" }, + "base": { "type": "string", "const": "sdxl-refiner", "title": "Base", "default": "sdxl-refiner" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "config_path", + "format", + "prediction_type", + "variant", + "base" + ], + "title": "Main_Checkpoint_SDXLRefiner_Config" + }, + "Main_Checkpoint_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, + "variant": { "$ref": "#/components/schemas/ModelVariantType" }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "config_path", + "format", + "prediction_type", + "variant", + "base" + ], + "title": "Main_Checkpoint_SDXL_Config" + }, + "Main_Diffusers_CogView4_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "base": { "type": "string", "const": "cogview4", "title": "Base", "default": "cogview4" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "repo_variant", + "base" + ], + "title": "Main_Diffusers_CogView4_Config" + }, + "Main_Diffusers_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, + "variant": { "$ref": "#/components/schemas/ModelVariantType" }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "repo_variant", + "prediction_type", + "variant", + "base" + ], + "title": "Main_Diffusers_SD1_Config" + }, + "Main_Diffusers_SD2_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, + "variant": { "$ref": "#/components/schemas/ModelVariantType" }, + "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "repo_variant", + "prediction_type", + "variant", + "base" + ], + "title": "Main_Diffusers_SD2_Config" + }, + "Main_Diffusers_SD3_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "base": { "type": "string", "const": "sd-3", "title": "Base", "default": "sd-3" }, + "submodels": { + "anyOf": [ + { + "additionalProperties": { "$ref": "#/components/schemas/SubmodelDefinition" }, + "propertyNames": { "$ref": "#/components/schemas/SubModelType" }, + "type": "object" + }, + { "type": "null" } + ], + "title": "Submodels", + "description": "Loadable submodels in this model" + } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "repo_variant", + "base", + "submodels" + ], + "title": "Main_Diffusers_SD3_Config" + }, + "Main_Diffusers_SDXLRefiner_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, + "variant": { "$ref": "#/components/schemas/ModelVariantType" }, + "base": { "type": "string", "const": "sdxl-refiner", "title": "Base", "default": "sdxl-refiner" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "repo_variant", + "prediction_type", + "variant", + "base" + ], + "title": "Main_Diffusers_SDXLRefiner_Config" + }, + "Main_Diffusers_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, + "variant": { "$ref": "#/components/schemas/ModelVariantType" }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "repo_variant", + "prediction_type", + "variant", + "base" + ], + "title": "Main_Diffusers_SDXL_Config" + }, + "Main_Diffusers_ZImage_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "base": { "type": "string", "const": "z-image", "title": "Base", "default": "z-image" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "format", + "repo_variant", + "base" + ], + "title": "Main_Diffusers_ZImage_Config", + "description": "Model config for Z-Image diffusers models (Z-Image-Turbo, Z-Image-Base, Z-Image-Edit)." + }, + "Main_GGUF_FLUX_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" }, + "format": { "type": "string", "const": "gguf_quantized", "title": "Format", "default": "gguf_quantized" }, + "variant": { "$ref": "#/components/schemas/FluxVariantType" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "config_path", + "base", + "format", + "variant" + ], + "title": "Main_GGUF_FLUX_Config", + "description": "Model config for main checkpoint models." + }, + "Main_GGUF_ZImage_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "description": "Default settings for this model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "base": { "type": "string", "const": "z-image", "title": "Base", "default": "z-image" }, + "format": { "type": "string", "const": "gguf_quantized", "title": "Format", "default": "gguf_quantized" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "trigger_phrases", + "default_settings", + "config_path", + "base", + "format" + ], + "title": "Main_GGUF_ZImage_Config", + "description": "Model config for GGUF-quantized Z-Image transformer models." + }, + "MaskCombineInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Combine two masks together by multiplying them using `PIL.ImageChops.multiply()`.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "mask1": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The first mask to combine", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "mask2": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The second image to combine", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "mask_combine", + "default": "mask_combine", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "mask", "multiply"], + "title": "Combine Masks", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "MaskEdgeInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Applies an edge mask to an image", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to apply the mask to", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "edge_size": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The size of the edge", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Edge Size" + }, + "edge_blur": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The amount of blur on the edge", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Edge Blur" + }, + "low_threshold": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "First threshold for the hysteresis procedure in Canny edge detection", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Low Threshold" + }, + "high_threshold": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "Second threshold for the hysteresis procedure in Canny edge detection", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "High Threshold" + }, + "type": { + "const": "mask_edge", + "default": "mask_edge", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "mask", "inpaint"], + "title": "Mask Edge", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "MaskFromAlphaInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Extracts the alpha channel of an image as a mask.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to create the mask from", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "invert": { + "default": false, + "description": "Whether or not to invert the mask", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Invert", + "type": "boolean" + }, + "type": { + "const": "tomask", + "default": "tomask", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "mask"], + "title": "Mask from Alpha", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "MaskFromIDInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Generate a mask for a particular color in an ID Map", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to create the mask from", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "color": { + "anyOf": [{ "$ref": "#/components/schemas/ColorField" }, { "type": "null" }], + "default": null, + "description": "ID color to mask", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "threshold": { + "default": 100, + "description": "Threshold for color detection", + "field_kind": "input", + "input": "any", + "orig_default": 100, + "orig_required": false, + "title": "Threshold", + "type": "integer" + }, + "invert": { + "default": false, + "description": "Whether or not to invert the mask", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Invert", + "type": "boolean" + }, + "type": { + "const": "mask_from_id", + "default": "mask_from_id", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "mask", "id"], + "title": "Mask from Segmented Image", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "MaskOutput": { + "class": "output", + "description": "A torch mask tensor.", + "properties": { + "mask": { + "$ref": "#/components/schemas/TensorField", + "description": "The mask.", + "field_kind": "output", + "ui_hidden": false + }, + "width": { + "description": "The width of the mask in pixels.", + "field_kind": "output", + "title": "Width", + "type": "integer", + "ui_hidden": false + }, + "height": { + "description": "The height of the mask in pixels.", + "field_kind": "output", + "title": "Height", + "type": "integer", + "ui_hidden": false + }, + "type": { + "const": "mask_output", + "default": "mask_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "mask", "width", "height", "type", "type"], + "title": "MaskOutput", + "type": "object" + }, + "MaskTensorToImageInvocation": { + "category": "mask", + "class": "invocation", + "classification": "stable", + "description": "Convert a mask tensor to an image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "The mask tensor to convert.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "tensor_mask_to_image", + "default": "tensor_mask_to_image", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["mask"], + "title": "Tensor Mask to Image", + "type": "object", + "version": "1.1.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "MediaPipeFaceDetectionInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Detects faces using MediaPipe.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "max_faces": { + "default": 1, + "description": "Maximum number of faces to detect", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 1, + "orig_required": false, + "title": "Max Faces", + "type": "integer" + }, + "min_confidence": { + "default": 0.5, + "description": "Minimum confidence for face detection", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0.5, + "orig_required": false, + "title": "Min Confidence", + "type": "number" + }, + "type": { + "const": "mediapipe_face_detection", + "default": "mediapipe_face_detection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet", "face"], + "title": "MediaPipe Face Detection", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "MergeMetadataInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "stable", + "description": "Merged a collection of MetadataDict into a single MetadataDict.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "collection": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/MetadataField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "Collection of Metadata", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Collection" + }, + "type": { + "const": "merge_metadata", + "default": "merge_metadata", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata Merge", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/MetadataOutput" } + }, + "MergeTilesToImageInvocation": { + "category": "tiles", + "class": "invocation", + "classification": "stable", + "description": "Merge multiple tile images into a single image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "tiles_with_images": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/TileWithImage" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "A list of tile images with tile properties.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Tiles With Images" + }, + "blend_mode": { + "default": "Seam", + "description": "blending type Linear or Seam", + "enum": ["Linear", "Seam"], + "field_kind": "input", + "input": "direct", + "orig_default": "Seam", + "orig_required": false, + "title": "Blend Mode", + "type": "string" + }, + "blend_amount": { + "default": 32, + "description": "The amount to blend adjacent tiles in pixels. Must be <= the amount of overlap between adjacent tiles.", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 32, + "orig_required": false, + "title": "Blend Amount", + "type": "integer" + }, + "type": { + "const": "merge_tiles_to_image", + "default": "merge_tiles_to_image", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["tiles"], + "title": "Merge Tiles to Image", + "type": "object", + "version": "1.1.1", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "MetadataField": { + "additionalProperties": true, + "type": "object", + "title": "MetadataField", + "description": "Pydantic model for metadata with custom root of type dict[str, Any].\nMetadata is stored without a strict schema." + }, + "MetadataFieldExtractorInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "deprecated", + "description": "Extracts the text value from an image's metadata given a key.\nRaises an error if the image has no metadata or if the value is not a string (nesting not permitted).", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to extract metadata from", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "key": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The key in the image's metadata to extract the value from", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Key" + }, + "type": { + "const": "metadata_field_extractor", + "default": "metadata_field_extractor", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata Field Extractor", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/StringOutput" } + }, + "MetadataFromImageInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Used to create a core metadata item then Add/Update it to the provided metadata", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "metadata_from_image", + "default": "metadata_from_image", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata From Image", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/MetadataOutput" } + }, + "MetadataInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "stable", + "description": "Takes a MetadataItem or collection of MetadataItems and outputs a MetadataDict.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "items": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/MetadataItemField" }, "type": "array" }, + { "$ref": "#/components/schemas/MetadataItemField" }, + { "type": "null" } + ], + "default": null, + "description": "A single metadata item or collection of metadata items", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Items" + }, + "type": { + "const": "metadata", + "default": "metadata", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/MetadataOutput" } + }, + "MetadataItemField": { + "properties": { + "label": { "description": "Label for this metadata item", "title": "Label", "type": "string" }, + "value": { "description": "The value for this metadata item (may be any type)", "title": "Value" } + }, + "required": ["label", "value"], + "title": "MetadataItemField", + "type": "object" + }, + "MetadataItemInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "stable", + "description": "Used to create an arbitrary metadata item. Provide \"label\" and make a connection to \"value\" to store that data as the value.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Label" + }, + "value": { + "anyOf": [{}, { "type": "null" }], + "default": null, + "description": "The value for this metadata item (may be any type)", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Value", + "ui_type": "AnyField" + }, + "type": { + "const": "metadata_item", + "default": "metadata_item", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata Item", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/MetadataItemOutput" } + }, + "MetadataItemLinkedInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Used to Create/Add/Update a value into a metadata label", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "* CUSTOM LABEL *", + "description": "Label for this metadata item", + "enum": [ + "* CUSTOM LABEL *", + "positive_prompt", + "positive_style_prompt", + "negative_prompt", + "negative_style_prompt", + "width", + "height", + "seed", + "cfg_scale", + "cfg_rescale_multiplier", + "steps", + "scheduler", + "clip_skip", + "model", + "vae", + "seamless_x", + "seamless_y", + "guidance", + "cfg_scale_start_step", + "cfg_scale_end_step" + ], + "field_kind": "input", + "input": "direct", + "orig_default": "* CUSTOM LABEL *", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "value": { + "anyOf": [{}, { "type": "null" }], + "default": null, + "description": "The value for this metadata item (may be any type)", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Value", + "ui_type": "AnyField" + }, + "type": { + "const": "metadata_item_linked", + "default": "metadata_item_linked", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata Item Linked", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/MetadataOutput" } + }, + "MetadataItemOutput": { + "class": "output", + "description": "Metadata Item Output", + "properties": { + "item": { + "$ref": "#/components/schemas/MetadataItemField", + "description": "Metadata Item", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "metadata_item_output", + "default": "metadata_item_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "item", "type", "type"], + "title": "MetadataItemOutput", + "type": "object" + }, + "MetadataOutput": { + "class": "output", + "properties": { + "metadata": { + "$ref": "#/components/schemas/MetadataField", + "description": "Metadata Dict", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "metadata_output", + "default": "metadata_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "metadata", "type", "type"], + "title": "MetadataOutput", + "type": "object" + }, + "MetadataToBoolCollectionInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a Boolean value Collection of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "* CUSTOM LABEL *", + "description": "Label for this metadata item", + "enum": ["* CUSTOM LABEL *", "seamless_x", "seamless_y"], + "field_kind": "input", + "input": "direct", + "orig_default": "* CUSTOM LABEL *", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "default_value": { + "anyOf": [{ "items": { "type": "boolean" }, "type": "array" }, { "type": "null" }], + "default": null, + "description": "The default bool to use if not found in the metadata", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Default Value" + }, + "type": { + "const": "metadata_to_bool_collection", + "default": "metadata_to_bool_collection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To Bool Collection", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/BooleanCollectionOutput" } + }, + "MetadataToBoolInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a Boolean value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "* CUSTOM LABEL *", + "description": "Label for this metadata item", + "enum": ["* CUSTOM LABEL *", "seamless_x", "seamless_y"], + "field_kind": "input", + "input": "direct", + "orig_default": "* CUSTOM LABEL *", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "default_value": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "default": null, + "description": "The default bool to use if not found in the metadata", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Default Value" + }, + "type": { + "const": "metadata_to_bool", + "default": "metadata_to_bool", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To Bool", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/BooleanOutput" } + }, + "MetadataToControlnetsInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a Controlnets value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "control_list": { + "anyOf": [ + { "$ref": "#/components/schemas/ControlField" }, + { "items": { "$ref": "#/components/schemas/ControlField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "ControlNet-List" + }, + "type": { + "const": "metadata_to_controlnets", + "default": "metadata_to_controlnets", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To ControlNets", + "type": "object", + "version": "1.2.0", + "output": { "$ref": "#/components/schemas/MDControlListOutput" } + }, + "MetadataToFloatCollectionInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a Float value Collection of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "* CUSTOM LABEL *", + "description": "Label for this metadata item", + "enum": ["* CUSTOM LABEL *", "cfg_scale", "cfg_rescale_multiplier", "guidance"], + "field_kind": "input", + "input": "direct", + "orig_default": "* CUSTOM LABEL *", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "default_value": { + "anyOf": [{ "items": { "type": "number" }, "type": "array" }, { "type": "null" }], + "default": null, + "description": "The default float to use if not found in the metadata", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Default Value" + }, + "type": { + "const": "metadata_to_float_collection", + "default": "metadata_to_float_collection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To Float Collection", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/FloatCollectionOutput" } + }, + "MetadataToFloatInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a Float value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "* CUSTOM LABEL *", + "description": "Label for this metadata item", + "enum": ["* CUSTOM LABEL *", "cfg_scale", "cfg_rescale_multiplier", "guidance"], + "field_kind": "input", + "input": "direct", + "orig_default": "* CUSTOM LABEL *", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "default_value": { + "anyOf": [{ "type": "number" }, { "type": "null" }], + "default": null, + "description": "The default float to use if not found in the metadata", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Default Value" + }, + "type": { + "const": "metadata_to_float", + "default": "metadata_to_float", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To Float", + "type": "object", + "version": "1.1.0", + "output": { "$ref": "#/components/schemas/FloatOutput" } + }, + "MetadataToIPAdaptersInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a IP-Adapters value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "ip_adapter_list": { + "anyOf": [ + { "$ref": "#/components/schemas/IPAdapterField" }, + { "items": { "$ref": "#/components/schemas/IPAdapterField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "IP-Adapter to apply", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "IP-Adapter-List" + }, + "type": { + "const": "metadata_to_ip_adapters", + "default": "metadata_to_ip_adapters", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To IP-Adapters", + "type": "object", + "version": "1.2.0", + "output": { "$ref": "#/components/schemas/MDIPAdapterListOutput" } + }, + "MetadataToIntegerCollectionInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts an integer value Collection of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "* CUSTOM LABEL *", + "description": "Label for this metadata item", + "enum": [ + "* CUSTOM LABEL *", + "width", + "height", + "seed", + "steps", + "clip_skip", + "cfg_scale_start_step", + "cfg_scale_end_step" + ], + "field_kind": "input", + "input": "direct", + "orig_default": "* CUSTOM LABEL *", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "default_value": { + "anyOf": [{ "items": { "type": "integer" }, "type": "array" }, { "type": "null" }], + "default": null, + "description": "The default integer to use if not found in the metadata", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Default Value" + }, + "type": { + "const": "metadata_to_integer_collection", + "default": "metadata_to_integer_collection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To Integer Collection", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/IntegerCollectionOutput" } + }, + "MetadataToIntegerInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts an integer value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "* CUSTOM LABEL *", + "description": "Label for this metadata item", + "enum": [ + "* CUSTOM LABEL *", + "width", + "height", + "seed", + "steps", + "clip_skip", + "cfg_scale_start_step", + "cfg_scale_end_step" + ], + "field_kind": "input", + "input": "direct", + "orig_default": "* CUSTOM LABEL *", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "default_value": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The default integer to use if not found in the metadata", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Default Value" + }, + "type": { + "const": "metadata_to_integer", + "default": "metadata_to_integer", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To Integer", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/IntegerOutput" } + }, + "MetadataToLorasCollectionInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts Lora(s) from metadata into a collection", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "custom_label": { + "default": "loras", + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": "loras", + "orig_required": false, + "title": "Custom Label", + "type": "string" + }, + "loras": { + "anyOf": [ + { "$ref": "#/components/schemas/LoRAField" }, + { "items": { "$ref": "#/components/schemas/LoRAField" }, "type": "array" }, + { "type": "null" } + ], + "default": [], + "description": "LoRA models and weights. May be a single LoRA or collection.", + "field_kind": "input", + "input": "any", + "orig_default": [], + "orig_required": false, + "title": "LoRAs" + }, + "type": { + "const": "metadata_to_lora_collection", + "default": "metadata_to_lora_collection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To LoRA Collection", + "type": "object", + "version": "1.1.0", + "output": { "$ref": "#/components/schemas/MetadataToLorasCollectionOutput" } + }, + "MetadataToLorasCollectionOutput": { + "class": "output", + "description": "Model loader output", + "properties": { + "lora": { + "description": "Collection of LoRA model and weights", + "field_kind": "output", + "items": { "$ref": "#/components/schemas/LoRAField" }, + "title": "LoRAs", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "metadata_to_lora_collection_output", + "default": "metadata_to_lora_collection_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "lora", "type", "type"], + "title": "MetadataToLorasCollectionOutput", + "type": "object" + }, + "MetadataToLorasInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a Loras value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "UNet" + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "CLIP" + }, + "type": { + "const": "metadata_to_loras", + "default": "metadata_to_loras", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To LoRAs", + "type": "object", + "version": "1.1.1", + "output": { "$ref": "#/components/schemas/LoRALoaderOutput" } + }, + "MetadataToModelInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a Model value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "model", + "description": "Label for this metadata item", + "enum": ["* CUSTOM LABEL *", "model"], + "field_kind": "input", + "input": "direct", + "orig_default": "model", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "default_value": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "The default model to use if not found in the metadata", + "field_kind": "input", + "input": "any", + "orig_required": true, + "ui_model_type": ["main"] + }, + "type": { + "const": "metadata_to_model", + "default": "metadata_to_model", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To Model", + "type": "object", + "version": "1.3.0", + "output": { "$ref": "#/components/schemas/MetadataToModelOutput" } + }, + "MetadataToModelOutput": { + "class": "output", + "description": "String to main model output", + "properties": { + "model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Main model (UNet, VAE, CLIP) to load", + "field_kind": "output", + "title": "Model", + "ui_hidden": false + }, + "name": { + "description": "Model Name", + "field_kind": "output", + "title": "Name", + "type": "string", + "ui_hidden": false + }, + "unet": { + "$ref": "#/components/schemas/UNetField", + "description": "UNet (scheduler, LoRAs)", + "field_kind": "output", + "title": "UNet", + "ui_hidden": false + }, + "vae": { + "$ref": "#/components/schemas/VAEField", + "description": "VAE", + "field_kind": "output", + "title": "VAE", + "ui_hidden": false + }, + "clip": { + "$ref": "#/components/schemas/CLIPField", + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP", + "ui_hidden": false + }, + "type": { + "const": "metadata_to_model_output", + "default": "metadata_to_model_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "model", "name", "unet", "vae", "clip", "type", "type"], + "title": "MetadataToModelOutput", + "type": "object" + }, + "MetadataToSDXLLorasInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a SDXL Loras value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "UNet" + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "CLIP 1" + }, + "clip2": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "CLIP 2" + }, + "type": { + "const": "metadata_to_sdlx_loras", + "default": "metadata_to_sdlx_loras", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To SDXL LoRAs", + "type": "object", + "version": "1.1.1", + "output": { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" } + }, + "MetadataToSDXLModelInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a SDXL Model value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "model", + "description": "Label for this metadata item", + "enum": ["* CUSTOM LABEL *", "model"], + "field_kind": "input", + "input": "direct", + "orig_default": "model", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "default_value": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "The default SDXL Model to use if not found in the metadata", + "field_kind": "input", + "input": "any", + "orig_required": true, + "ui_model_base": ["sdxl"], + "ui_model_type": ["main"] + }, + "type": { + "const": "metadata_to_sdxl_model", + "default": "metadata_to_sdxl_model", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To SDXL Model", + "type": "object", + "version": "1.3.0", + "output": { "$ref": "#/components/schemas/MetadataToSDXLModelOutput" } + }, + "MetadataToSDXLModelOutput": { + "class": "output", + "description": "String to SDXL main model output", + "properties": { + "model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Main model (UNet, VAE, CLIP) to load", + "field_kind": "output", + "title": "Model", + "ui_hidden": false + }, + "name": { + "description": "Model Name", + "field_kind": "output", + "title": "Name", + "type": "string", + "ui_hidden": false + }, + "unet": { + "$ref": "#/components/schemas/UNetField", + "description": "UNet (scheduler, LoRAs)", + "field_kind": "output", + "title": "UNet", + "ui_hidden": false + }, + "clip": { + "$ref": "#/components/schemas/CLIPField", + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP 1", + "ui_hidden": false + }, + "clip2": { + "$ref": "#/components/schemas/CLIPField", + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP 2", + "ui_hidden": false + }, + "vae": { + "$ref": "#/components/schemas/VAEField", + "description": "VAE", + "field_kind": "output", + "title": "VAE", + "ui_hidden": false + }, + "type": { + "const": "metadata_to_sdxl_model_output", + "default": "metadata_to_sdxl_model_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "model", "name", "unet", "clip", "clip2", "vae", "type", "type"], + "title": "MetadataToSDXLModelOutput", + "type": "object" + }, + "MetadataToSchedulerInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a Scheduler value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "scheduler", + "description": "Label for this metadata item", + "enum": ["* CUSTOM LABEL *", "scheduler"], + "field_kind": "input", + "input": "direct", + "orig_default": "scheduler", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "default_value": { + "default": "euler", + "description": "The default scheduler to use if not found in the metadata", + "enum": [ + "ddim", + "ddpm", + "deis", + "deis_k", + "lms", + "lms_k", + "pndm", + "heun", + "heun_k", + "euler", + "euler_k", + "euler_a", + "kdpm_2", + "kdpm_2_k", + "kdpm_2_a", + "kdpm_2_a_k", + "dpmpp_2s", + "dpmpp_2s_k", + "dpmpp_2m", + "dpmpp_2m_k", + "dpmpp_2m_sde", + "dpmpp_2m_sde_k", + "dpmpp_3m", + "dpmpp_3m_k", + "dpmpp_sde", + "dpmpp_sde_k", + "unipc", + "unipc_k", + "lcm", + "tcd" + ], + "field_kind": "input", + "input": "any", + "orig_default": "euler", + "orig_required": false, + "title": "Default Value", + "type": "string", + "ui_type": "SchedulerField" + }, + "type": { + "const": "metadata_to_scheduler", + "default": "metadata_to_scheduler", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To Scheduler", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/SchedulerOutput" } + }, + "MetadataToStringCollectionInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a string collection value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "* CUSTOM LABEL *", + "description": "Label for this metadata item", + "enum": [ + "* CUSTOM LABEL *", + "positive_prompt", + "positive_style_prompt", + "negative_prompt", + "negative_style_prompt" + ], + "field_kind": "input", + "input": "direct", + "orig_default": "* CUSTOM LABEL *", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "default_value": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "default": null, + "description": "The default string collection to use if not found in the metadata", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Default Value" + }, + "type": { + "const": "metadata_to_string_collection", + "default": "metadata_to_string_collection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To String Collection", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/StringCollectionOutput" } + }, + "MetadataToStringInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a string value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "* CUSTOM LABEL *", + "description": "Label for this metadata item", + "enum": [ + "* CUSTOM LABEL *", + "positive_prompt", + "positive_style_prompt", + "negative_prompt", + "negative_style_prompt" + ], + "field_kind": "input", + "input": "direct", + "orig_default": "* CUSTOM LABEL *", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "default_value": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The default string to use if not found in the metadata", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Default Value" + }, + "type": { + "const": "metadata_to_string", + "default": "metadata_to_string", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To String", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/StringOutput" } + }, + "MetadataToT2IAdaptersInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a T2I-Adapters value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "t2i_adapter_list": { + "anyOf": [ + { "$ref": "#/components/schemas/T2IAdapterField" }, + { "items": { "$ref": "#/components/schemas/T2IAdapterField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "IP-Adapter to apply", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "T2I-Adapter" + }, + "type": { + "const": "metadata_to_t2i_adapters", + "default": "metadata_to_t2i_adapters", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To T2I-Adapters", + "type": "object", + "version": "1.2.0", + "output": { "$ref": "#/components/schemas/MDT2IAdapterListOutput" } + }, + "MetadataToVAEInvocation": { + "category": "metadata", + "class": "invocation", + "classification": "beta", + "description": "Extracts a VAE value of a label from metadata", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "label": { + "default": "vae", + "description": "Label for this metadata item", + "enum": ["* CUSTOM LABEL *", "vae"], + "field_kind": "input", + "input": "direct", + "orig_default": "vae", + "orig_required": false, + "title": "Label", + "type": "string" + }, + "custom_label": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Label for this metadata item", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Custom Label" + }, + "default_value": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "The default VAE to use if not found in the metadata", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "metadata_to_vae", + "default": "metadata_to_vae", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["metadata"], + "title": "Metadata To VAE", + "type": "object", + "version": "1.2.1", + "output": { "$ref": "#/components/schemas/VAEOutput" } + }, + "ModelFormat": { + "type": "string", + "enum": [ + "omi", + "diffusers", + "checkpoint", + "lycoris", + "onnx", + "olive", + "embedding_file", + "embedding_folder", + "invokeai", + "t5_encoder", + "qwen3_encoder", + "bnb_quantized_int8b", + "bnb_quantized_nf4b", + "gguf_quantized", + "unknown" + ], + "title": "ModelFormat", + "description": "Storage format of model." + }, + "ModelIdentifierField": { + "properties": { + "key": { "description": "The model's unique key", "title": "Key", "type": "string" }, + "hash": { "description": "The model's BLAKE3 hash", "title": "Hash", "type": "string" }, + "name": { "description": "The model's name", "title": "Name", "type": "string" }, + "base": { "$ref": "#/components/schemas/BaseModelType", "description": "The model's base model type" }, + "type": { "$ref": "#/components/schemas/ModelType", "description": "The model's type" }, + "submodel_type": { + "anyOf": [{ "$ref": "#/components/schemas/SubModelType" }, { "type": "null" }], + "default": null, + "description": "The submodel to load, if this is a main model" + } + }, + "required": ["key", "hash", "name", "base", "type"], + "title": "ModelIdentifierField", + "type": "object" + }, + "ModelIdentifierInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Selects any model, outputting it its identifier. Be careful with this one! The identifier will be accepted as\ninput for any model, even if the model types don't match. If you connect this to a mismatched input, you'll get an\nerror.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "The model to select", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Model" + }, + "type": { + "const": "model_identifier", + "default": "model_identifier", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["model"], + "title": "Any Model", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/ModelIdentifierOutput" } + }, + "ModelIdentifierOutput": { + "class": "output", + "description": "Model identifier output", + "properties": { + "model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Model identifier", + "field_kind": "output", + "title": "Model", + "ui_hidden": false + }, + "type": { + "const": "model_identifier_output", + "default": "model_identifier_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "model", "type", "type"], + "title": "ModelIdentifierOutput", + "type": "object" + }, + "ModelInstallCancelledEvent": { + "description": "Event model for model_install_cancelled", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "source": { + "description": "Source of the model; local path, repo_id or url", + "discriminator": { + "mapping": { + "hf": "#/components/schemas/HFModelSource", + "local": "#/components/schemas/LocalModelSource", + "url": "#/components/schemas/URLModelSource" + }, + "propertyName": "type" + }, + "oneOf": [ + { "$ref": "#/components/schemas/LocalModelSource" }, + { "$ref": "#/components/schemas/HFModelSource" }, + { "$ref": "#/components/schemas/URLModelSource" } + ], + "title": "Source" + } + }, + "required": ["timestamp", "id", "source"], + "title": "ModelInstallCancelledEvent", + "type": "object" + }, + "ModelInstallCompleteEvent": { + "description": "Event model for model_install_complete", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "source": { + "description": "Source of the model; local path, repo_id or url", + "discriminator": { + "mapping": { + "hf": "#/components/schemas/HFModelSource", + "local": "#/components/schemas/LocalModelSource", + "url": "#/components/schemas/URLModelSource" + }, + "propertyName": "type" + }, + "oneOf": [ + { "$ref": "#/components/schemas/LocalModelSource" }, + { "$ref": "#/components/schemas/HFModelSource" }, + { "$ref": "#/components/schemas/URLModelSource" } + ], + "title": "Source" + }, + "key": { "description": "Model config record key", "title": "Key", "type": "string" }, + "total_bytes": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "description": "Size of the model (may be None for installation of a local path)", + "title": "Total Bytes" + }, + "config": { + "description": "The installed model's config", + "oneOf": [ + { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, + { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, + { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, + { "$ref": "#/components/schemas/TI_File_SD1_Config" }, + { "$ref": "#/components/schemas/TI_File_SD2_Config" }, + { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, + { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, + { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, + { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, + { "$ref": "#/components/schemas/Unknown_Config" } + ], + "title": "Config" + } + }, + "required": ["timestamp", "id", "source", "key", "total_bytes", "config"], + "title": "ModelInstallCompleteEvent", + "type": "object" + }, + "ModelInstallDownloadProgressEvent": { + "description": "Event model for model_install_download_progress", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "source": { + "description": "Source of the model; local path, repo_id or url", + "discriminator": { + "mapping": { + "hf": "#/components/schemas/HFModelSource", + "local": "#/components/schemas/LocalModelSource", + "url": "#/components/schemas/URLModelSource" + }, + "propertyName": "type" + }, + "oneOf": [ + { "$ref": "#/components/schemas/LocalModelSource" }, + { "$ref": "#/components/schemas/HFModelSource" }, + { "$ref": "#/components/schemas/URLModelSource" } + ], + "title": "Source" + }, + "local_path": { "description": "Where model is downloading to", "title": "Local Path", "type": "string" }, + "bytes": { "description": "Number of bytes downloaded so far", "title": "Bytes", "type": "integer" }, + "total_bytes": { + "description": "Total size of download, including all files", + "title": "Total Bytes", + "type": "integer" + }, + "parts": { + "description": "Progress of downloading URLs that comprise the model, if any", + "items": { + "additionalProperties": { "anyOf": [{ "type": "integer" }, { "type": "string" }] }, + "type": "object" + }, + "title": "Parts", + "type": "array" + } + }, + "required": ["timestamp", "id", "source", "local_path", "bytes", "total_bytes", "parts"], + "title": "ModelInstallDownloadProgressEvent", + "type": "object" + }, + "ModelInstallDownloadStartedEvent": { + "description": "Event model for model_install_download_started", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "source": { + "description": "Source of the model; local path, repo_id or url", + "discriminator": { + "mapping": { + "hf": "#/components/schemas/HFModelSource", + "local": "#/components/schemas/LocalModelSource", + "url": "#/components/schemas/URLModelSource" + }, + "propertyName": "type" + }, + "oneOf": [ + { "$ref": "#/components/schemas/LocalModelSource" }, + { "$ref": "#/components/schemas/HFModelSource" }, + { "$ref": "#/components/schemas/URLModelSource" } + ], + "title": "Source" + }, + "local_path": { "description": "Where model is downloading to", "title": "Local Path", "type": "string" }, + "bytes": { "description": "Number of bytes downloaded so far", "title": "Bytes", "type": "integer" }, + "total_bytes": { + "description": "Total size of download, including all files", + "title": "Total Bytes", + "type": "integer" + }, + "parts": { + "description": "Progress of downloading URLs that comprise the model, if any", + "items": { + "additionalProperties": { "anyOf": [{ "type": "integer" }, { "type": "string" }] }, + "type": "object" + }, + "title": "Parts", + "type": "array" + } + }, + "required": ["timestamp", "id", "source", "local_path", "bytes", "total_bytes", "parts"], + "title": "ModelInstallDownloadStartedEvent", + "type": "object" + }, + "ModelInstallDownloadsCompleteEvent": { + "description": "Emitted once when an install job becomes active.", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "source": { + "description": "Source of the model; local path, repo_id or url", + "discriminator": { + "mapping": { + "hf": "#/components/schemas/HFModelSource", + "local": "#/components/schemas/LocalModelSource", + "url": "#/components/schemas/URLModelSource" + }, + "propertyName": "type" + }, + "oneOf": [ + { "$ref": "#/components/schemas/LocalModelSource" }, + { "$ref": "#/components/schemas/HFModelSource" }, + { "$ref": "#/components/schemas/URLModelSource" } + ], + "title": "Source" + } + }, + "required": ["timestamp", "id", "source"], + "title": "ModelInstallDownloadsCompleteEvent", + "type": "object" + }, + "ModelInstallErrorEvent": { + "description": "Event model for model_install_error", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "source": { + "description": "Source of the model; local path, repo_id or url", + "discriminator": { + "mapping": { + "hf": "#/components/schemas/HFModelSource", + "local": "#/components/schemas/LocalModelSource", + "url": "#/components/schemas/URLModelSource" + }, + "propertyName": "type" + }, + "oneOf": [ + { "$ref": "#/components/schemas/LocalModelSource" }, + { "$ref": "#/components/schemas/HFModelSource" }, + { "$ref": "#/components/schemas/URLModelSource" } + ], + "title": "Source" + }, + "error_type": { "description": "The name of the exception", "title": "Error Type", "type": "string" }, + "error": { "description": "A text description of the exception", "title": "Error", "type": "string" } + }, + "required": ["timestamp", "id", "source", "error_type", "error"], + "title": "ModelInstallErrorEvent", + "type": "object" + }, + "ModelInstallJob": { + "properties": { + "id": { "type": "integer", "title": "Id", "description": "Unique ID for this job" }, + "status": { + "$ref": "#/components/schemas/InstallStatus", + "description": "Current status of install process", + "default": "waiting" + }, + "error_reason": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Error Reason", + "description": "Information about why the job failed" + }, + "config_in": { + "$ref": "#/components/schemas/ModelRecordChanges", + "description": "Configuration information (e.g. 'description') to apply to model." + }, + "config_out": { + "anyOf": [ + { + "oneOf": [ + { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, + { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, + { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, + { "$ref": "#/components/schemas/TI_File_SD1_Config" }, + { "$ref": "#/components/schemas/TI_File_SD2_Config" }, + { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, + { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, + { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, + { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, + { "$ref": "#/components/schemas/Unknown_Config" } + ] + }, + { "type": "null" } + ], + "title": "Config Out", + "description": "After successful installation, this will hold the configuration object." + }, + "inplace": { + "type": "boolean", + "title": "Inplace", + "description": "Leave model in its current location; otherwise install under models directory", + "default": false + }, + "source": { + "oneOf": [ + { "$ref": "#/components/schemas/LocalModelSource" }, + { "$ref": "#/components/schemas/HFModelSource" }, + { "$ref": "#/components/schemas/URLModelSource" } + ], + "title": "Source", + "description": "Source (URL, repo_id, or local path) of model", + "discriminator": { + "propertyName": "type", + "mapping": { + "hf": "#/components/schemas/HFModelSource", + "local": "#/components/schemas/LocalModelSource", + "url": "#/components/schemas/URLModelSource" + } + } + }, + "local_path": { + "type": "string", + "format": "path", + "title": "Local Path", + "description": "Path to locally-downloaded model; may be the same as the source" + }, + "bytes": { + "type": "integer", + "title": "Bytes", + "description": "For a remote model, the number of bytes downloaded so far (may not be available)", + "default": 0 + }, + "total_bytes": { + "type": "integer", + "title": "Total Bytes", + "description": "Total size of the model to be installed", + "default": 0 + }, + "source_metadata": { + "anyOf": [ + { + "oneOf": [ + { "$ref": "#/components/schemas/BaseMetadata" }, + { "$ref": "#/components/schemas/HuggingFaceMetadata" } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "basemetadata": "#/components/schemas/BaseMetadata", + "huggingface": "#/components/schemas/HuggingFaceMetadata" + } + } + }, + { "type": "null" } + ], + "title": "Source Metadata", + "description": "Metadata provided by the model source" + }, + "download_parts": { + "items": { "$ref": "#/components/schemas/DownloadJob" }, + "type": "array", + "uniqueItems": true, + "title": "Download Parts", + "description": "Download jobs contributing to this install" + }, + "error": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Error", + "description": "On an error condition, this field will contain the text of the exception" + }, + "error_traceback": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Error Traceback", + "description": "On an error condition, this field will contain the exception traceback" + } + }, + "type": "object", + "required": ["id", "source", "local_path"], + "title": "ModelInstallJob", + "description": "Object that tracks the current status of an install request." + }, + "ModelInstallStartedEvent": { + "description": "Event model for model_install_started", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "source": { + "description": "Source of the model; local path, repo_id or url", + "discriminator": { + "mapping": { + "hf": "#/components/schemas/HFModelSource", + "local": "#/components/schemas/LocalModelSource", + "url": "#/components/schemas/URLModelSource" + }, + "propertyName": "type" + }, + "oneOf": [ + { "$ref": "#/components/schemas/LocalModelSource" }, + { "$ref": "#/components/schemas/HFModelSource" }, + { "$ref": "#/components/schemas/URLModelSource" } + ], + "title": "Source" + } + }, + "required": ["timestamp", "id", "source"], + "title": "ModelInstallStartedEvent", + "type": "object" + }, + "ModelLoadCompleteEvent": { + "description": "Event model for model_load_complete", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "config": { + "description": "The model's config", + "oneOf": [ + { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, + { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, + { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, + { "$ref": "#/components/schemas/TI_File_SD1_Config" }, + { "$ref": "#/components/schemas/TI_File_SD2_Config" }, + { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, + { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, + { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, + { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, + { "$ref": "#/components/schemas/Unknown_Config" } + ], + "title": "Config" + }, + "submodel_type": { + "anyOf": [{ "$ref": "#/components/schemas/SubModelType" }, { "type": "null" }], + "default": null, + "description": "The submodel type, if any" + } + }, + "required": ["timestamp", "config", "submodel_type"], + "title": "ModelLoadCompleteEvent", + "type": "object" + }, + "ModelLoadStartedEvent": { + "description": "Event model for model_load_started", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "config": { + "description": "The model's config", + "oneOf": [ + { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, + { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, + { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, + { "$ref": "#/components/schemas/TI_File_SD1_Config" }, + { "$ref": "#/components/schemas/TI_File_SD2_Config" }, + { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, + { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, + { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, + { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, + { "$ref": "#/components/schemas/Unknown_Config" } + ], + "title": "Config" + }, + "submodel_type": { + "anyOf": [{ "$ref": "#/components/schemas/SubModelType" }, { "type": "null" }], + "default": null, + "description": "The submodel type, if any" + } + }, + "required": ["timestamp", "config", "submodel_type"], + "title": "ModelLoadStartedEvent", + "type": "object" + }, + "ModelLoaderOutput": { + "class": "output", + "description": "Model loader output", + "properties": { + "vae": { + "$ref": "#/components/schemas/VAEField", + "description": "VAE", + "field_kind": "output", + "title": "VAE", + "ui_hidden": false + }, + "type": { + "const": "model_loader_output", + "default": "model_loader_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + }, + "clip": { + "$ref": "#/components/schemas/CLIPField", + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP", + "ui_hidden": false + }, + "unet": { + "$ref": "#/components/schemas/UNetField", + "description": "UNet (scheduler, LoRAs)", + "field_kind": "output", + "title": "UNet", + "ui_hidden": false + } + }, + "required": ["output_meta", "vae", "type", "clip", "unet", "type"], + "title": "ModelLoaderOutput", + "type": "object" + }, + "ModelRecordChanges": { + "properties": { + "source": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source", + "description": "original source of the model" + }, + "source_type": { + "anyOf": [{ "$ref": "#/components/schemas/ModelSourceType" }, { "type": "null" }], + "description": "type of model source" + }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "metadata from remote source" + }, + "name": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Name", + "description": "Name of the model." + }, + "path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Path", + "description": "Path to the model." + }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "base": { + "anyOf": [{ "$ref": "#/components/schemas/BaseModelType" }, { "type": "null" }], + "description": "The base model." + }, + "type": { + "anyOf": [{ "$ref": "#/components/schemas/ModelType" }, { "type": "null" }], + "description": "Type of model" + }, + "key": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Key", + "description": "Database ID for this model" + }, + "hash": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Hash", + "description": "hash of model file" + }, + "file_size": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "title": "File Size", + "description": "Size of model file" + }, + "format": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Format", + "description": "format of model file" + }, + "trigger_phrases": { + "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "title": "Trigger Phrases", + "description": "Set of trigger phrases for this model" + }, + "default_settings": { + "anyOf": [ + { "$ref": "#/components/schemas/MainModelDefaultSettings" }, + { "$ref": "#/components/schemas/LoraModelDefaultSettings" }, + { "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, + { "type": "null" } + ], + "title": "Default Settings", + "description": "Default settings for this model" + }, + "variant": { + "anyOf": [ + { "$ref": "#/components/schemas/ModelVariantType" }, + { "$ref": "#/components/schemas/ClipVariantType" }, + { "$ref": "#/components/schemas/FluxVariantType" }, + { "type": "null" } + ], + "title": "Variant", + "description": "The variant of the model." + }, + "prediction_type": { + "anyOf": [{ "$ref": "#/components/schemas/SchedulerPredictionType" }, { "type": "null" }], + "description": "The prediction type of the model." + }, + "upcast_attention": { + "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "title": "Upcast Attention", + "description": "Whether to upcast attention." + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to config file for model" + } + }, + "type": "object", + "title": "ModelRecordChanges", + "description": "A set of changes to apply to a model." + }, + "ModelRelationshipBatchRequest": { + "properties": { + "model_keys": { + "items": { "type": "string" }, + "type": "array", + "title": "Model Keys", + "description": "List of model keys to fetch related models for", + "examples": [ + ["aa3b247f-90c9-4416-bfcd-aeaa57a5339e", "ac32b914-10ab-496e-a24a-3068724b9c35"], + [ + "b1c2d3e4-f5a6-7890-abcd-ef1234567890", + "12345678-90ab-cdef-1234-567890abcdef", + "fedcba98-7654-3210-fedc-ba9876543210" + ], + ["3bb7c0eb-b6c8-469c-ad8c-4d69c06075e4"] + ] + } + }, + "type": "object", + "required": ["model_keys"], + "title": "ModelRelationshipBatchRequest" + }, + "ModelRelationshipCreateRequest": { + "properties": { + "model_key_1": { + "type": "string", + "title": "Model Key 1", + "description": "The key of the first model in the relationship", + "examples": [ + "aa3b247f-90c9-4416-bfcd-aeaa57a5339e", + "ac32b914-10ab-496e-a24a-3068724b9c35", + "d944abfd-c7c3-42e2-a4ff-da640b29b8b4", + "b1c2d3e4-f5a6-7890-abcd-ef1234567890", + "12345678-90ab-cdef-1234-567890abcdef", + "fedcba98-7654-3210-fedc-ba9876543210" + ] + }, + "model_key_2": { + "type": "string", + "title": "Model Key 2", + "description": "The key of the second model in the relationship", + "examples": [ + "3bb7c0eb-b6c8-469c-ad8c-4d69c06075e4", + "f0c3da4e-d9ff-42b5-a45c-23be75c887c9", + "38170dd8-f1e5-431e-866c-2c81f1277fcc", + "c57fea2d-7646-424c-b9ad-c0ba60fc68be", + "10f7807b-ab54-46a9-ab03-600e88c630a1", + "f6c1d267-cf87-4ee0-bee0-37e791eacab7" + ] + } + }, + "type": "object", + "required": ["model_key_1", "model_key_2"], + "title": "ModelRelationshipCreateRequest" + }, + "ModelRepoVariant": { + "type": "string", + "enum": ["", "fp16", "fp32", "onnx", "openvino", "flax"], + "title": "ModelRepoVariant", + "description": "Various hugging face variants on the diffusers format." + }, + "ModelSourceType": { + "type": "string", + "enum": ["path", "url", "hf_repo_id"], + "title": "ModelSourceType", + "description": "Model source type." + }, + "ModelType": { + "type": "string", + "enum": [ + "onnx", + "main", + "vae", + "lora", + "control_lora", + "controlnet", + "embedding", + "ip_adapter", + "clip_vision", + "clip_embed", + "t2i_adapter", + "t5_encoder", + "qwen3_encoder", + "spandrel_image_to_image", + "siglip", + "flux_redux", + "llava_onevision", + "unknown" + ], + "title": "ModelType", + "description": "Model type." + }, + "ModelVariantType": { + "type": "string", + "enum": ["normal", "inpaint", "depth"], + "title": "ModelVariantType", + "description": "Variant type." + }, + "ModelsList": { + "properties": { + "models": { + "items": { + "oneOf": [ + { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, + { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, + { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, + { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, + { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, + { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, + { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, + { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, + { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, + { "$ref": "#/components/schemas/TI_File_SD1_Config" }, + { "$ref": "#/components/schemas/TI_File_SD2_Config" }, + { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, + { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, + { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, + { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, + { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, + { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, + { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, + { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, + { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, + { "$ref": "#/components/schemas/Unknown_Config" } + ] + }, + "type": "array", + "title": "Models" + } + }, + "type": "object", + "required": ["models"], + "title": "ModelsList", + "description": "Return list of configs." + }, + "MultiplyInvocation": { + "category": "math", + "class": "invocation", + "classification": "stable", + "description": "Multiplies two numbers", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "a": { + "default": 0, + "description": "The first number", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "A", + "type": "integer" + }, + "b": { + "default": 0, + "description": "The second number", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "B", + "type": "integer" + }, + "type": { + "const": "mul", + "default": "mul", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["math", "multiply"], + "title": "Multiply Integers", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/IntegerOutput" } + }, + "NodeFieldValue": { + "properties": { + "node_path": { + "type": "string", + "title": "Node Path", + "description": "The node into which this batch data item will be substituted." + }, + "field_name": { + "type": "string", + "title": "Field Name", + "description": "The field into which this batch data item will be substituted." + }, + "value": { + "anyOf": [ + { "type": "string" }, + { "type": "number" }, + { "type": "integer" }, + { "$ref": "#/components/schemas/ImageField" } + ], + "title": "Value", + "description": "The value to substitute into the node/field." + } + }, + "type": "object", + "required": ["node_path", "field_name", "value"], + "title": "NodeFieldValue" + }, + "NoiseInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Generates latent noise.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "seed": { + "default": 0, + "description": "Seed for random number generation", + "field_kind": "input", + "input": "any", + "maximum": 4294967295, + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Seed", + "type": "integer" + }, + "width": { + "default": 512, + "description": "Width of output (px)", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "multipleOf": 8, + "orig_default": 512, + "orig_required": false, + "title": "Width", + "type": "integer" + }, + "height": { + "default": 512, + "description": "Height of output (px)", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "multipleOf": 8, + "orig_default": 512, + "orig_required": false, + "title": "Height", + "type": "integer" + }, + "use_cpu": { + "default": true, + "description": "Use CPU for noise generation (for reproducible results across platforms)", + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "Use Cpu", + "type": "boolean" + }, + "type": { + "const": "noise", + "default": "noise", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "noise"], + "title": "Create Latent Noise", + "type": "object", + "version": "1.0.3", + "output": { "$ref": "#/components/schemas/NoiseOutput" } + }, + "NoiseOutput": { + "class": "output", + "description": "Invocation noise output", + "properties": { + "noise": { + "$ref": "#/components/schemas/LatentsField", + "description": "Noise tensor", + "field_kind": "output", + "ui_hidden": false + }, + "width": { + "description": "Width of output (px)", + "field_kind": "output", + "title": "Width", + "type": "integer", + "ui_hidden": false + }, + "height": { + "description": "Height of output (px)", + "field_kind": "output", + "title": "Height", + "type": "integer", + "ui_hidden": false + }, + "type": { + "const": "noise_output", + "default": "noise_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "noise", "width", "height", "type", "type"], + "title": "NoiseOutput", + "type": "object" + }, + "NormalMapInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Generates a normal map.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "normal_map", + "default": "normal_map", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet", "normal"], + "title": "Normal Map", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "OffsetPaginatedResults_BoardDTO_": { + "properties": { + "limit": { "type": "integer", "title": "Limit", "description": "Limit of items to get" }, + "offset": { "type": "integer", "title": "Offset", "description": "Offset from which to retrieve items" }, + "total": { "type": "integer", "title": "Total", "description": "Total number of items in result" }, + "items": { + "items": { "$ref": "#/components/schemas/BoardDTO" }, + "type": "array", + "title": "Items", + "description": "Items" + } + }, + "type": "object", + "required": ["limit", "offset", "total", "items"], + "title": "OffsetPaginatedResults[BoardDTO]" + }, + "OffsetPaginatedResults_ImageDTO_": { + "properties": { + "limit": { "type": "integer", "title": "Limit", "description": "Limit of items to get" }, + "offset": { "type": "integer", "title": "Offset", "description": "Offset from which to retrieve items" }, + "total": { "type": "integer", "title": "Total", "description": "Total number of items in result" }, + "items": { + "items": { "$ref": "#/components/schemas/ImageDTO" }, + "type": "array", + "title": "Items", + "description": "Items" + } + }, + "type": "object", + "required": ["limit", "offset", "total", "items"], + "title": "OffsetPaginatedResults[ImageDTO]" + }, + "OutputFieldJSONSchemaExtra": { + "description": "Extra attributes to be added to input fields and their OpenAPI schema. Used by the workflow editor\nduring schema parsing and UI rendering.", + "properties": { + "field_kind": { "$ref": "#/components/schemas/FieldKind" }, + "ui_hidden": { "default": false, "title": "Ui Hidden", "type": "boolean" }, + "ui_order": { "anyOf": [{ "type": "integer" }, { "type": "null" }], "default": null, "title": "Ui Order" }, + "ui_type": { "anyOf": [{ "$ref": "#/components/schemas/UIType" }, { "type": "null" }], "default": null } + }, + "required": ["field_kind", "ui_hidden", "ui_order", "ui_type"], + "title": "OutputFieldJSONSchemaExtra", + "type": "object" + }, + "PaginatedResults_WorkflowRecordListItemWithThumbnailDTO_": { + "properties": { + "page": { "type": "integer", "title": "Page", "description": "Current Page" }, + "pages": { "type": "integer", "title": "Pages", "description": "Total number of pages" }, + "per_page": { "type": "integer", "title": "Per Page", "description": "Number of items per page" }, + "total": { "type": "integer", "title": "Total", "description": "Total number of items in result" }, + "items": { + "items": { "$ref": "#/components/schemas/WorkflowRecordListItemWithThumbnailDTO" }, + "type": "array", + "title": "Items", + "description": "Items" + } + }, + "type": "object", + "required": ["page", "pages", "per_page", "total", "items"], + "title": "PaginatedResults[WorkflowRecordListItemWithThumbnailDTO]" + }, + "PairTileImageInvocation": { + "category": "tiles", + "class": "invocation", + "classification": "stable", + "description": "Pair an image with its tile properties.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The tile image.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "tile": { + "anyOf": [{ "$ref": "#/components/schemas/Tile" }, { "type": "null" }], + "default": null, + "description": "The tile properties.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "pair_tile_image", + "default": "pair_tile_image", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["tiles"], + "title": "Pair Tile with Image", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/PairTileImageOutput" } + }, + "PairTileImageOutput": { + "class": "output", + "properties": { + "tile_with_image": { + "$ref": "#/components/schemas/TileWithImage", + "description": "A tile description with its corresponding image.", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "pair_tile_image_output", + "default": "pair_tile_image_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "tile_with_image", "type", "type"], + "title": "PairTileImageOutput", + "type": "object" + }, + "PasteImageIntoBoundingBoxInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Paste the source image into the target image at the given bounding box.\n\nThe source image must be the same size as the bounding box, and the bounding box must fit within the target image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "source_image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to paste", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "target_image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to paste into", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "bounding_box": { + "anyOf": [{ "$ref": "#/components/schemas/BoundingBoxField" }, { "type": "null" }], + "default": null, + "description": "The bounding box to paste the image into", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "paste_image_into_bounding_box", + "default": "paste_image_into_bounding_box", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "crop"], + "title": "Paste Image into Bounding Box", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "PiDiNetEdgeDetectionInvocation": { + "category": "controlnet", + "class": "invocation", + "classification": "stable", + "description": "Generates an edge map using PiDiNet.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "quantize_edges": { + "default": false, + "description": "Whether or not to use safe mode", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Quantize Edges", + "type": "boolean" + }, + "scribble": { + "default": false, + "description": "Whether or not to use scribble mode", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Scribble", + "type": "boolean" + }, + "type": { + "const": "pidi_edge_detection", + "default": "pidi_edge_detection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["controlnet", "edge"], + "title": "PiDiNet Edge Detection", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "PresetData": { + "properties": { + "positive_prompt": { "type": "string", "title": "Positive Prompt", "description": "Positive prompt" }, + "negative_prompt": { "type": "string", "title": "Negative Prompt", "description": "Negative prompt" } + }, + "additionalProperties": false, + "type": "object", + "required": ["positive_prompt", "negative_prompt"], + "title": "PresetData" + }, + "PresetType": { "type": "string", "enum": ["user", "default"], "title": "PresetType" }, + "ProgressImage": { + "description": "The progress image sent intermittently during processing", + "properties": { + "width": { + "description": "The effective width of the image in pixels", + "minimum": 1, + "title": "Width", + "type": "integer" + }, + "height": { + "description": "The effective height of the image in pixels", + "minimum": 1, + "title": "Height", + "type": "integer" + }, + "dataURL": { "description": "The image data as a b64 data URL", "title": "Dataurl", "type": "string" } + }, + "required": ["width", "height", "dataURL"], + "title": "ProgressImage", + "type": "object" + }, + "PromptsFromFileInvocation": { + "category": "prompt", + "class": "invocation", + "classification": "stable", + "description": "Loads prompts from a text file", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "file_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Path to prompt text file", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "File Path" + }, + "pre_prompt": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "String to prepend to each prompt", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Pre Prompt", + "ui_component": "textarea" + }, + "post_prompt": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "String to append to each prompt", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Post Prompt", + "ui_component": "textarea" + }, + "start_line": { + "default": 1, + "description": "Line in the file to start start from", + "field_kind": "input", + "input": "any", + "minimum": 1, + "orig_default": 1, + "orig_required": false, + "title": "Start Line", + "type": "integer" + }, + "max_prompts": { + "default": 1, + "description": "Max lines to read from file (0=all)", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 1, + "orig_required": false, + "title": "Max Prompts", + "type": "integer" + }, + "type": { + "const": "prompt_from_file", + "default": "prompt_from_file", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["prompt", "file"], + "title": "Prompts from File", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/StringCollectionOutput" } + }, + "PruneResult": { + "properties": { + "deleted": { "type": "integer", "title": "Deleted", "description": "Number of queue items deleted" } + }, + "type": "object", + "required": ["deleted"], + "title": "PruneResult", + "description": "Result of pruning the session queue" + }, + "QueueClearedEvent": { + "description": "Event model for queue_cleared", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" } + }, + "required": ["timestamp", "queue_id"], + "title": "QueueClearedEvent", + "type": "object" + }, + "QueueItemStatusChangedEvent": { + "description": "Event model for queue_item_status_changed", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, + "item_id": { "description": "The ID of the queue item", "title": "Item Id", "type": "integer" }, + "batch_id": { "description": "The ID of the queue batch", "title": "Batch Id", "type": "string" }, + "origin": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The origin of the queue item", + "title": "Origin" + }, + "destination": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The destination of the queue item", + "title": "Destination" + }, + "status": { + "description": "The new status of the queue item", + "enum": ["pending", "in_progress", "completed", "failed", "canceled"], + "title": "Status", + "type": "string" + }, + "error_type": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The error type, if any", + "title": "Error Type" + }, + "error_message": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The error message, if any", + "title": "Error Message" + }, + "error_traceback": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The error traceback, if any", + "title": "Error Traceback" + }, + "created_at": { + "description": "The timestamp when the queue item was created", + "title": "Created At", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the queue item was last updated", + "title": "Updated At", + "type": "string" + }, + "started_at": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The timestamp when the queue item was started", + "title": "Started At" + }, + "completed_at": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The timestamp when the queue item was completed", + "title": "Completed At" + }, + "batch_status": { "$ref": "#/components/schemas/BatchStatus", "description": "The status of the batch" }, + "queue_status": { + "$ref": "#/components/schemas/SessionQueueStatus", + "description": "The status of the queue" + }, + "session_id": { + "description": "The ID of the session (aka graph execution state)", + "title": "Session Id", + "type": "string" + } + }, + "required": [ + "timestamp", + "queue_id", + "item_id", + "batch_id", + "origin", + "destination", + "status", + "error_type", + "error_message", + "error_traceback", + "created_at", + "updated_at", + "started_at", + "completed_at", + "batch_status", + "queue_status", + "session_id" + ], + "title": "QueueItemStatusChangedEvent", + "type": "object" + }, + "QueueItemsRetriedEvent": { + "description": "Event model for queue_items_retried", + "properties": { + "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, + "retried_item_ids": { + "description": "The IDs of the queue items that were retried", + "items": { "type": "integer" }, + "title": "Retried Item Ids", + "type": "array" + } + }, + "required": ["timestamp", "queue_id", "retried_item_ids"], + "title": "QueueItemsRetriedEvent", + "type": "object" + }, + "Qwen3EncoderField": { + "description": "Field for Qwen3 text encoder used by Z-Image models.", + "properties": { + "tokenizer": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load tokenizer submodel" + }, + "text_encoder": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load text_encoder submodel" + }, + "loras": { + "description": "LoRAs to apply on model loading", + "items": { "$ref": "#/components/schemas/LoRAField" }, + "title": "Loras", + "type": "array" + } + }, + "required": ["tokenizer", "text_encoder"], + "title": "Qwen3EncoderField", + "type": "object" + }, + "Qwen3Encoder_Qwen3Encoder_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, + "type": { "type": "string", "const": "qwen3_encoder", "title": "Type", "default": "qwen3_encoder" }, + "format": { "type": "string", "const": "qwen3_encoder", "title": "Format", "default": "qwen3_encoder" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "base", + "type", + "format" + ], + "title": "Qwen3Encoder_Qwen3Encoder_Config", + "description": "Configuration for Qwen3 Encoder models in a diffusers-like format.\n\nThe model weights are expected to be in a folder called text_encoder inside the model directory,\ncompatible with Qwen2VLForConditionalGeneration or similar architectures used by Z-Image." + }, + "RandomFloatInvocation": { + "category": "math", + "class": "invocation", + "classification": "stable", + "description": "Outputs a single random float", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": false, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "low": { + "default": 0.0, + "description": "The inclusive low value", + "field_kind": "input", + "input": "any", + "orig_default": 0.0, + "orig_required": false, + "title": "Low", + "type": "number" + }, + "high": { + "default": 1.0, + "description": "The exclusive high value", + "field_kind": "input", + "input": "any", + "orig_default": 1.0, + "orig_required": false, + "title": "High", + "type": "number" + }, + "decimals": { + "default": 2, + "description": "The number of decimal places to round to", + "field_kind": "input", + "input": "any", + "orig_default": 2, + "orig_required": false, + "title": "Decimals", + "type": "integer" + }, + "type": { + "const": "rand_float", + "default": "rand_float", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["math", "float", "random"], + "title": "Random Float", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/FloatOutput" } + }, + "RandomIntInvocation": { + "category": "math", + "class": "invocation", + "classification": "stable", + "description": "Outputs a single random integer.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": false, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "low": { + "default": 0, + "description": "The inclusive low value", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Low", + "type": "integer" + }, + "high": { + "default": 2147483647, + "description": "The exclusive high value", + "field_kind": "input", + "input": "any", + "orig_default": 2147483647, + "orig_required": false, + "title": "High", + "type": "integer" + }, + "type": { + "const": "rand_int", + "default": "rand_int", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["math", "random"], + "title": "Random Integer", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/IntegerOutput" } + }, + "RandomRangeInvocation": { + "category": "collections", + "class": "invocation", + "classification": "stable", + "description": "Creates a collection of random numbers", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": false, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "low": { + "default": 0, + "description": "The inclusive low value", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Low", + "type": "integer" + }, + "high": { + "default": 2147483647, + "description": "The exclusive high value", + "field_kind": "input", + "input": "any", + "orig_default": 2147483647, + "orig_required": false, + "title": "High", + "type": "integer" + }, + "size": { + "default": 1, + "description": "The number of values to generate", + "field_kind": "input", + "input": "any", + "orig_default": 1, + "orig_required": false, + "title": "Size", + "type": "integer" + }, + "seed": { + "default": 0, + "description": "The seed for the RNG (omit for random)", + "field_kind": "input", + "input": "any", + "maximum": 4294967295, + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Seed", + "type": "integer" + }, + "type": { + "const": "random_range", + "default": "random_range", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["range", "integer", "random", "collection"], + "title": "Random Range", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/IntegerCollectionOutput" } + }, + "RangeInvocation": { + "category": "collections", + "class": "invocation", + "classification": "stable", + "description": "Creates a range of numbers from start to stop with step", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "start": { + "default": 0, + "description": "The start of the range", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Start", + "type": "integer" + }, + "stop": { + "default": 10, + "description": "The stop of the range", + "field_kind": "input", + "input": "any", + "orig_default": 10, + "orig_required": false, + "title": "Stop", + "type": "integer" + }, + "step": { + "default": 1, + "description": "The step of the range", + "field_kind": "input", + "input": "any", + "orig_default": 1, + "orig_required": false, + "title": "Step", + "type": "integer" + }, + "type": { + "const": "range", + "default": "range", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["collection", "integer", "range"], + "title": "Integer Range", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/IntegerCollectionOutput" } + }, + "RangeOfSizeInvocation": { + "category": "collections", + "class": "invocation", + "classification": "stable", + "description": "Creates a range from start to start + (size * step) incremented by step", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "start": { + "default": 0, + "description": "The start of the range", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Start", + "type": "integer" + }, + "size": { + "default": 1, + "description": "The number of values", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 1, + "orig_required": false, + "title": "Size", + "type": "integer" + }, + "step": { + "default": 1, + "description": "The step of the range", + "field_kind": "input", + "input": "any", + "orig_default": 1, + "orig_required": false, + "title": "Step", + "type": "integer" + }, + "type": { + "const": "range_of_size", + "default": "range_of_size", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["collection", "integer", "size", "range"], + "title": "Integer Range of Size", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/IntegerCollectionOutput" } + }, + "RectangleMaskInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "stable", + "description": "Create a rectangular mask.", + "node_pack": "invokeai", + "properties": { + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "width": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The width of the entire mask.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Width" + }, + "height": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The height of the entire mask.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Height" + }, + "x_left": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The left x-coordinate of the rectangular masked region (inclusive).", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "X Left" + }, + "y_top": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The top y-coordinate of the rectangular masked region (inclusive).", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Y Top" + }, + "rectangle_width": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The width of the rectangular masked region.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Rectangle Width" + }, + "rectangle_height": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "default": null, + "description": "The height of the rectangular masked region.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Rectangle Height" + }, + "type": { + "const": "rectangle_mask", + "default": "rectangle_mask", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["conditioning"], + "title": "Create Rectangle Mask", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/MaskOutput" } + }, + "RemoteModelFile": { + "properties": { + "url": { + "type": "string", + "minLength": 1, + "format": "uri", + "title": "Url", + "description": "The url to download this model file" + }, + "path": { + "type": "string", + "format": "path", + "title": "Path", + "description": "The path to the file, relative to the model root" + }, + "size": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "title": "Size", + "description": "The size of this file, in bytes", + "default": 0 + }, + "sha256": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Sha256", + "description": "SHA256 hash of this model (not always available)" + } + }, + "type": "object", + "required": ["url", "path"], + "title": "RemoteModelFile", + "description": "Information about a downloadable file that forms part of a model." + }, + "RemoveImagesFromBoardResult": { + "properties": { + "affected_boards": { + "items": { "type": "string" }, + "type": "array", + "title": "Affected Boards", + "description": "The ids of boards affected by the delete operation" + }, + "removed_images": { + "items": { "type": "string" }, + "type": "array", + "title": "Removed Images", + "description": "The image names that were removed from their board" + } + }, + "type": "object", + "required": ["affected_boards", "removed_images"], + "title": "RemoveImagesFromBoardResult" + }, + "ResizeLatentsInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Resizes latents to explicit width/height (in pixels). Provided dimensions are floor-divided by 8.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "width": { + "anyOf": [{ "minimum": 64, "multipleOf": 8, "type": "integer" }, { "type": "null" }], + "default": null, + "description": "Width of output (px)", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Width" + }, + "height": { + "anyOf": [{ "minimum": 64, "multipleOf": 8, "type": "integer" }, { "type": "null" }], + "default": null, + "description": "Width of output (px)", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Height" + }, + "mode": { + "default": "bilinear", + "description": "Interpolation mode", + "enum": ["nearest", "linear", "bilinear", "bicubic", "trilinear", "area", "nearest-exact"], + "field_kind": "input", + "input": "any", + "orig_default": "bilinear", + "orig_required": false, + "title": "Mode", + "type": "string" + }, + "antialias": { + "default": false, + "description": "Whether or not to apply antialiasing (bilinear or bicubic only)", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Antialias", + "type": "boolean" + }, + "type": { + "const": "lresize", + "default": "lresize", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "resize"], + "title": "Resize Latents", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "ResourceOrigin": { + "type": "string", + "enum": ["internal", "external"], + "title": "ResourceOrigin", + "description": "The origin of a resource (eg image).\n\n- INTERNAL: The resource was created by the application.\n- EXTERNAL: The resource was not created by the application.\nThis may be a user-initiated upload, or an internal application upload (eg Canvas init image)." + }, + "RetryItemsResult": { + "properties": { + "queue_id": { "type": "string", "title": "Queue Id", "description": "The ID of the queue" }, + "retried_item_ids": { + "items": { "type": "integer" }, + "type": "array", + "title": "Retried Item Ids", + "description": "The IDs of the queue items that were retried" + } + }, + "type": "object", + "required": ["queue_id", "retried_item_ids"], + "title": "RetryItemsResult" + }, + "RoundInvocation": { + "category": "math", + "class": "invocation", + "classification": "stable", + "description": "Rounds a float to a specified number of decimal places.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "value": { + "default": 0, + "description": "The float value", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Value", + "type": "number" + }, + "decimals": { + "default": 0, + "description": "The number of decimal places", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Decimals", + "type": "integer" + }, + "type": { + "const": "round_float", + "default": "round_float", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["math", "round"], + "title": "Round Float", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/FloatOutput" } + }, + "SAMPoint": { + "properties": { + "x": { "description": "The x-coordinate of the point", "title": "X", "type": "integer" }, + "y": { "description": "The y-coordinate of the point", "title": "Y", "type": "integer" }, + "label": { "$ref": "#/components/schemas/SAMPointLabel", "description": "The label of the point" } + }, + "required": ["x", "y", "label"], + "title": "SAMPoint", + "type": "object" + }, + "SAMPointLabel": { "enum": [-1, 0, 1], "title": "SAMPointLabel", "type": "integer" }, + "SAMPointsField": { + "properties": { + "points": { + "description": "The points of the object", + "items": { "$ref": "#/components/schemas/SAMPoint" }, + "minItems": 1, + "title": "Points", + "type": "array" + } + }, + "required": ["points"], + "title": "SAMPointsField", + "type": "object" + }, + "SD3ConditioningField": { + "description": "A conditioning tensor primitive value", + "properties": { + "conditioning_name": { + "description": "The name of conditioning tensor", + "title": "Conditioning Name", + "type": "string" + } + }, + "required": ["conditioning_name"], + "title": "SD3ConditioningField", + "type": "object" + }, + "SD3ConditioningOutput": { + "class": "output", + "description": "Base class for nodes that output a single SD3 conditioning tensor", + "properties": { + "conditioning": { + "$ref": "#/components/schemas/SD3ConditioningField", + "description": "Conditioning tensor", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "sd3_conditioning_output", + "default": "sd3_conditioning_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "conditioning", "type", "type"], + "title": "SD3ConditioningOutput", + "type": "object" + }, + "SD3DenoiseInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Run denoising process with a SD3 model.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "denoise_mask": { + "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "default": null, + "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "denoising_start": { + "default": 0.0, + "description": "When to start denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0.0, + "orig_required": false, + "title": "Denoising Start", + "type": "number" + }, + "denoising_end": { + "default": 1.0, + "description": "When to stop denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Denoising End", + "type": "number" + }, + "transformer": { + "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "default": null, + "description": "SD3 model (MMDiTX) to load", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "Transformer" + }, + "positive_conditioning": { + "anyOf": [{ "$ref": "#/components/schemas/SD3ConditioningField" }, { "type": "null" }], + "default": null, + "description": "Positive conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "negative_conditioning": { + "anyOf": [{ "$ref": "#/components/schemas/SD3ConditioningField" }, { "type": "null" }], + "default": null, + "description": "Negative conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "cfg_scale": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 3.5, + "description": "Classifier-Free Guidance scale", + "field_kind": "input", + "input": "any", + "orig_default": 3.5, + "orig_required": false, + "title": "CFG Scale" + }, + "width": { + "default": 1024, + "description": "Width of the generated image.", + "field_kind": "input", + "input": "any", + "multipleOf": 16, + "orig_default": 1024, + "orig_required": false, + "title": "Width", + "type": "integer" + }, + "height": { + "default": 1024, + "description": "Height of the generated image.", + "field_kind": "input", + "input": "any", + "multipleOf": 16, + "orig_default": 1024, + "orig_required": false, + "title": "Height", + "type": "integer" + }, + "steps": { + "default": 10, + "description": "Number of steps to run", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 10, + "orig_required": false, + "title": "Steps", + "type": "integer" + }, + "seed": { + "default": 0, + "description": "Randomness seed for reproducibility.", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Seed", + "type": "integer" + }, + "type": { + "const": "sd3_denoise", + "default": "sd3_denoise", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "sd3"], + "title": "Denoise - SD3", + "type": "object", + "version": "1.1.1", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "SD3ImageToLatentsInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Generates latents from an image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to encode", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "type": { + "const": "sd3_i2l", + "default": "sd3_i2l", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "latents", "vae", "i2l", "sd3"], + "title": "Image to Latents - SD3", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "SD3LatentsToImageInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Generates an image from latents.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "type": { + "const": "sd3_l2i", + "default": "sd3_l2i", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "image", "vae", "l2i", "sd3"], + "title": "Latents to Image - SD3", + "type": "object", + "version": "1.3.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "SDXLCompelPromptInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "stable", + "description": "Parse prompt using compel package to conditioning.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "prompt": { + "default": "", + "description": "Prompt to be parsed by Compel to create a conditioning tensor", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "Prompt", + "type": "string", + "ui_component": "textarea" + }, + "style": { + "default": "", + "description": "Prompt to be parsed by Compel to create a conditioning tensor", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "Style", + "type": "string", + "ui_component": "textarea" + }, + "original_width": { + "default": 1024, + "description": "", + "field_kind": "input", + "input": "any", + "orig_default": 1024, + "orig_required": false, + "title": "Original Width", + "type": "integer" + }, + "original_height": { + "default": 1024, + "description": "", + "field_kind": "input", + "input": "any", + "orig_default": 1024, + "orig_required": false, + "title": "Original Height", + "type": "integer" + }, + "crop_top": { + "default": 0, + "description": "", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Crop Top", + "type": "integer" + }, + "crop_left": { + "default": 0, + "description": "", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Crop Left", + "type": "integer" + }, + "target_width": { + "default": 1024, + "description": "", + "field_kind": "input", + "input": "any", + "orig_default": 1024, + "orig_required": false, + "title": "Target Width", + "type": "integer" + }, + "target_height": { + "default": 1024, + "description": "", + "field_kind": "input", + "input": "any", + "orig_default": 1024, + "orig_required": false, + "title": "Target Height", + "type": "integer" + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "CLIP 1" + }, + "clip2": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "CLIP 2" + }, + "mask": { + "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "default": null, + "description": "A mask defining the region that this conditioning prompt applies to.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, + "type": { + "const": "sdxl_compel_prompt", + "default": "sdxl_compel_prompt", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["sdxl", "compel", "prompt"], + "title": "Prompt - SDXL", + "type": "object", + "version": "1.2.1", + "output": { "$ref": "#/components/schemas/ConditioningOutput" } + }, + "SDXLLoRACollectionLoader": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Applies a collection of SDXL LoRAs to the provided UNet and CLIP models.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "loras": { + "anyOf": [ + { "$ref": "#/components/schemas/LoRAField" }, + { "items": { "$ref": "#/components/schemas/LoRAField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "LoRA models and weights. May be a single LoRA or collection.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "LoRAs" + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "UNet" + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "CLIP" + }, + "clip2": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "CLIP 2" + }, + "type": { + "const": "sdxl_lora_collection_loader", + "default": "sdxl_lora_collection_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["model"], + "title": "Apply LoRA Collection - SDXL", + "type": "object", + "version": "1.1.2", + "output": { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" } + }, + "SDXLLoRALoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Apply selected lora to unet and text_encoder.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "lora": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "LoRA model to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "LoRA", + "ui_model_base": ["sdxl"], + "ui_model_type": ["lora"] + }, + "weight": { + "default": 0.75, + "description": "The weight at which the LoRA is applied to each model", + "field_kind": "input", + "input": "any", + "orig_default": 0.75, + "orig_required": false, + "title": "Weight", + "type": "number" + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "UNet" + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "CLIP 1" + }, + "clip2": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "CLIP 2" + }, + "type": { + "const": "sdxl_lora_loader", + "default": "sdxl_lora_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["lora", "model"], + "title": "Apply LoRA - SDXL", + "type": "object", + "version": "1.0.5", + "output": { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" } + }, + "SDXLLoRALoaderOutput": { + "class": "output", + "description": "SDXL LoRA Loader Output", + "properties": { + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "output", + "title": "UNet", + "ui_hidden": false + }, + "clip": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP 1", + "ui_hidden": false + }, + "clip2": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP 2", + "ui_hidden": false + }, + "type": { + "const": "sdxl_lora_loader_output", + "default": "sdxl_lora_loader_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "unet", "clip", "clip2", "type", "type"], + "title": "SDXLLoRALoaderOutput", + "type": "object" + }, + "SDXLModelLoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Loads an sdxl base model, outputting its submodels.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "SDXL Main model (UNet, VAE, CLIP1, CLIP2) to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "ui_model_base": ["sdxl"], + "ui_model_type": ["main"] + }, + "type": { + "const": "sdxl_model_loader", + "default": "sdxl_model_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["model", "sdxl"], + "title": "Main Model - SDXL", + "type": "object", + "version": "1.0.4", + "output": { "$ref": "#/components/schemas/SDXLModelLoaderOutput" } + }, + "SDXLModelLoaderOutput": { + "class": "output", + "description": "SDXL base model loader output", + "properties": { + "unet": { + "$ref": "#/components/schemas/UNetField", + "description": "UNet (scheduler, LoRAs)", + "field_kind": "output", + "title": "UNet", + "ui_hidden": false + }, + "clip": { + "$ref": "#/components/schemas/CLIPField", + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP 1", + "ui_hidden": false + }, + "clip2": { + "$ref": "#/components/schemas/CLIPField", + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP 2", + "ui_hidden": false + }, + "vae": { + "$ref": "#/components/schemas/VAEField", + "description": "VAE", + "field_kind": "output", + "title": "VAE", + "ui_hidden": false + }, + "type": { + "const": "sdxl_model_loader_output", + "default": "sdxl_model_loader_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "unet", "clip", "clip2", "vae", "type", "type"], + "title": "SDXLModelLoaderOutput", + "type": "object" + }, + "SDXLRefinerCompelPromptInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "stable", + "description": "Parse prompt using compel package to conditioning.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "style": { + "default": "", + "description": "Prompt to be parsed by Compel to create a conditioning tensor", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "Style", + "type": "string", + "ui_component": "textarea" + }, + "original_width": { + "default": 1024, + "description": "", + "field_kind": "input", + "input": "any", + "orig_default": 1024, + "orig_required": false, + "title": "Original Width", + "type": "integer" + }, + "original_height": { + "default": 1024, + "description": "", + "field_kind": "input", + "input": "any", + "orig_default": 1024, + "orig_required": false, + "title": "Original Height", + "type": "integer" + }, + "crop_top": { + "default": 0, + "description": "", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Crop Top", + "type": "integer" + }, + "crop_left": { + "default": 0, + "description": "", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Crop Left", + "type": "integer" + }, + "aesthetic_score": { + "default": 6.0, + "description": "The aesthetic score to apply to the conditioning tensor", + "field_kind": "input", + "input": "any", + "orig_default": 6.0, + "orig_required": false, + "title": "Aesthetic Score", + "type": "number" + }, + "clip2": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "type": { + "const": "sdxl_refiner_compel_prompt", + "default": "sdxl_refiner_compel_prompt", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["sdxl", "compel", "prompt"], + "title": "Prompt - SDXL Refiner", + "type": "object", + "version": "1.1.2", + "output": { "$ref": "#/components/schemas/ConditioningOutput" } + }, + "SDXLRefinerModelLoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Loads an sdxl refiner model, outputting its submodels.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "SDXL Refiner Main Modde (UNet, VAE, CLIP2) to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "ui_model_base": ["sdxl-refiner"], + "ui_model_type": ["main"] + }, + "type": { + "const": "sdxl_refiner_model_loader", + "default": "sdxl_refiner_model_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["model", "sdxl", "refiner"], + "title": "Refiner Model - SDXL", + "type": "object", + "version": "1.0.4", + "output": { "$ref": "#/components/schemas/SDXLRefinerModelLoaderOutput" } + }, + "SDXLRefinerModelLoaderOutput": { + "class": "output", + "description": "SDXL refiner model loader output", + "properties": { + "unet": { + "$ref": "#/components/schemas/UNetField", + "description": "UNet (scheduler, LoRAs)", + "field_kind": "output", + "title": "UNet", + "ui_hidden": false + }, + "clip2": { + "$ref": "#/components/schemas/CLIPField", + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP 2", + "ui_hidden": false + }, + "vae": { + "$ref": "#/components/schemas/VAEField", + "description": "VAE", + "field_kind": "output", + "title": "VAE", + "ui_hidden": false + }, + "type": { + "const": "sdxl_refiner_model_loader_output", + "default": "sdxl_refiner_model_loader_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "unet", "clip2", "vae", "type", "type"], + "title": "SDXLRefinerModelLoaderOutput", + "type": "object" + }, + "SQLiteDirection": { "type": "string", "enum": ["ASC", "DESC"], "title": "SQLiteDirection" }, + "SaveImageInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "Saves an image. Unlike an image primitive, this invocation stores a copy of the image.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": false, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to process", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "save_image", + "default": "save_image", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "image"], + "title": "Save Image", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ScaleLatentsInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Scales latents by a given factor.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "scale_factor": { + "anyOf": [{ "exclusiveMinimum": 0, "type": "number" }, { "type": "null" }], + "default": null, + "description": "The factor by which to scale", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Scale Factor" + }, + "mode": { + "default": "bilinear", + "description": "Interpolation mode", + "enum": ["nearest", "linear", "bilinear", "bicubic", "trilinear", "area", "nearest-exact"], + "field_kind": "input", + "input": "any", + "orig_default": "bilinear", + "orig_required": false, + "title": "Mode", + "type": "string" + }, + "antialias": { + "default": false, + "description": "Whether or not to apply antialiasing (bilinear or bicubic only)", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Antialias", + "type": "boolean" + }, + "type": { + "const": "lscale", + "default": "lscale", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "resize"], + "title": "Scale Latents", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "SchedulerInvocation": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Selects a scheduler.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "scheduler": { + "default": "euler", + "description": "Scheduler to use during inference", + "enum": [ + "ddim", + "ddpm", + "deis", + "deis_k", + "lms", + "lms_k", + "pndm", + "heun", + "heun_k", + "euler", + "euler_k", + "euler_a", + "kdpm_2", + "kdpm_2_k", + "kdpm_2_a", + "kdpm_2_a_k", + "dpmpp_2s", + "dpmpp_2s_k", + "dpmpp_2m", + "dpmpp_2m_k", + "dpmpp_2m_sde", + "dpmpp_2m_sde_k", + "dpmpp_3m", + "dpmpp_3m_k", + "dpmpp_sde", + "dpmpp_sde_k", + "unipc", + "unipc_k", + "lcm", + "tcd" + ], + "field_kind": "input", + "input": "any", + "orig_default": "euler", + "orig_required": false, + "title": "Scheduler", + "type": "string", + "ui_type": "SchedulerField" + }, + "type": { + "const": "scheduler", + "default": "scheduler", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["scheduler"], + "title": "Scheduler", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/SchedulerOutput" } + }, + "SchedulerOutput": { + "class": "output", + "properties": { + "scheduler": { + "description": "Scheduler to use during inference", + "enum": [ + "ddim", + "ddpm", + "deis", + "deis_k", + "lms", + "lms_k", + "pndm", + "heun", + "heun_k", + "euler", + "euler_k", + "euler_a", + "kdpm_2", + "kdpm_2_k", + "kdpm_2_a", + "kdpm_2_a_k", + "dpmpp_2s", + "dpmpp_2s_k", + "dpmpp_2m", + "dpmpp_2m_k", + "dpmpp_2m_sde", + "dpmpp_2m_sde_k", + "dpmpp_3m", + "dpmpp_3m_k", + "dpmpp_sde", + "dpmpp_sde_k", + "unipc", + "unipc_k", + "lcm", + "tcd" + ], + "field_kind": "output", + "title": "Scheduler", + "type": "string", + "ui_hidden": false, + "ui_type": "SchedulerField" + }, + "type": { + "const": "scheduler_output", + "default": "scheduler_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "scheduler", "type", "type"], + "title": "SchedulerOutput", + "type": "object" + }, + "SchedulerPredictionType": { + "type": "string", + "enum": ["epsilon", "v_prediction", "sample"], + "title": "SchedulerPredictionType", + "description": "Scheduler prediction type." + }, + "Sd3ModelLoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Loads a SD3 base model, outputting its submodels.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "SD3 model (MMDiTX) to load", + "field_kind": "input", + "input": "direct", + "orig_required": true, + "ui_model_base": ["sd-3"], + "ui_model_type": ["main"] + }, + "t5_encoder_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "T5 tokenizer and text encoder", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "T5 Encoder", + "ui_model_type": ["t5_encoder"] + }, + "clip_l_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "CLIP Embed loader", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "CLIP L Encoder", + "ui_model_type": ["clip_embed"], + "ui_model_variant": ["large"] + }, + "clip_g_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "CLIP-G Embed loader", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "CLIP G Encoder", + "ui_model_type": ["clip_embed"], + "ui_model_variant": ["gigantic"] + }, + "vae_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "VAE model to load", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "VAE", + "ui_model_base": ["sd-3"], + "ui_model_type": ["vae"] + }, + "type": { + "const": "sd3_model_loader", + "default": "sd3_model_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["model", "type", "id"], + "tags": ["model", "sd3"], + "title": "Main Model - SD3", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/Sd3ModelLoaderOutput" } + }, + "Sd3ModelLoaderOutput": { + "class": "output", + "description": "SD3 base model loader output.", + "properties": { + "transformer": { + "$ref": "#/components/schemas/TransformerField", + "description": "Transformer", + "field_kind": "output", + "title": "Transformer", + "ui_hidden": false + }, + "clip_l": { + "$ref": "#/components/schemas/CLIPField", + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP L", + "ui_hidden": false + }, + "clip_g": { + "$ref": "#/components/schemas/CLIPField", + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "output", + "title": "CLIP G", + "ui_hidden": false + }, + "t5_encoder": { + "$ref": "#/components/schemas/T5EncoderField", + "description": "T5 tokenizer and text encoder", + "field_kind": "output", + "title": "T5 Encoder", + "ui_hidden": false + }, + "vae": { + "$ref": "#/components/schemas/VAEField", + "description": "VAE", + "field_kind": "output", + "title": "VAE", + "ui_hidden": false + }, + "type": { + "const": "sd3_model_loader_output", + "default": "sd3_model_loader_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "transformer", "clip_l", "clip_g", "t5_encoder", "vae", "type", "type"], + "title": "Sd3ModelLoaderOutput", + "type": "object" + }, + "Sd3TextEncoderInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "stable", + "description": "Encodes and preps a prompt for a SD3 image.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "clip_l": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "CLIP L" + }, + "clip_g": { + "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "default": null, + "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "CLIP G" + }, + "t5_encoder": { + "anyOf": [{ "$ref": "#/components/schemas/T5EncoderField" }, { "type": "null" }], + "default": null, + "description": "T5 tokenizer and text encoder", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "T5Encoder" + }, + "prompt": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Text prompt to encode.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Prompt" + }, + "type": { + "const": "sd3_text_encoder", + "default": "sd3_text_encoder", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["prompt", "conditioning", "sd3"], + "title": "Prompt - SD3", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/SD3ConditioningOutput" } + }, + "SeamlessModeInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Applies the seamless transformation to the Model UNet and VAE.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "UNet" + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE model to load", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "VAE" + }, + "seamless_y": { + "default": true, + "description": "Specify whether Y axis is seamless", + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "Seamless Y", + "type": "boolean" + }, + "seamless_x": { + "default": true, + "description": "Specify whether X axis is seamless", + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "Seamless X", + "type": "boolean" + }, + "type": { + "const": "seamless", + "default": "seamless", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["seamless", "model"], + "title": "Apply Seamless - SD1.5, SDXL", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/SeamlessModeOutput" } + }, + "SeamlessModeOutput": { + "class": "output", + "description": "Modified Seamless Model output", + "properties": { + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "output", + "title": "UNet", + "ui_hidden": false + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "output", + "title": "VAE", + "ui_hidden": false + }, + "type": { + "const": "seamless_output", + "default": "seamless_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "unet", "vae", "type", "type"], + "title": "SeamlessModeOutput", + "type": "object" + }, + "SegmentAnythingInvocation": { + "category": "segmentation", + "class": "invocation", + "classification": "stable", + "description": "Runs a Segment Anything Model (SAM or SAM2).", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "model": { + "anyOf": [ + { + "enum": [ + "segment-anything-base", + "segment-anything-large", + "segment-anything-huge", + "segment-anything-2-tiny", + "segment-anything-2-small", + "segment-anything-2-base", + "segment-anything-2-large" + ], + "type": "string" + }, + { "type": "null" } + ], + "default": null, + "description": "The Segment Anything model to use (SAM or SAM2).", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Model" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to segment.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "bounding_boxes": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/BoundingBoxField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "The bounding boxes to prompt the model with.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Bounding Boxes" + }, + "point_lists": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/SAMPointsField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "The list of point lists to prompt the model with. Each list of points represents a single object.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "Point Lists" + }, + "apply_polygon_refinement": { + "default": true, + "description": "Whether to apply polygon refinement to the masks. This will smooth the edges of the masks slightly and ensure that each mask consists of a single closed polygon (before merging).", + "field_kind": "input", + "input": "any", + "orig_default": true, + "orig_required": false, + "title": "Apply Polygon Refinement", + "type": "boolean" + }, + "mask_filter": { + "default": "all", + "description": "The filtering to apply to the detected masks before merging them into a final output.", + "enum": ["all", "largest", "highest_box_score"], + "field_kind": "input", + "input": "any", + "orig_default": "all", + "orig_required": false, + "title": "Mask Filter", + "type": "string" + }, + "type": { + "const": "segment_anything", + "default": "segment_anything", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["prompt", "segmentation", "sam", "sam2"], + "title": "Segment Anything", + "type": "object", + "version": "1.3.0", + "output": { "$ref": "#/components/schemas/MaskOutput" } + }, + "SessionProcessorStatus": { + "properties": { + "is_started": { + "type": "boolean", + "title": "Is Started", + "description": "Whether the session processor is started" + }, + "is_processing": { + "type": "boolean", + "title": "Is Processing", + "description": "Whether a session is being processed" + } + }, + "type": "object", + "required": ["is_started", "is_processing"], + "title": "SessionProcessorStatus" + }, + "SessionQueueAndProcessorStatus": { + "properties": { + "queue": { "$ref": "#/components/schemas/SessionQueueStatus" }, + "processor": { "$ref": "#/components/schemas/SessionProcessorStatus" } + }, + "type": "object", + "required": ["queue", "processor"], + "title": "SessionQueueAndProcessorStatus", + "description": "The overall status of session queue and processor" + }, + "SessionQueueCountsByDestination": { + "properties": { + "queue_id": { "type": "string", "title": "Queue Id", "description": "The ID of the queue" }, + "destination": { + "type": "string", + "title": "Destination", + "description": "The destination of queue items included in this status" + }, + "pending": { + "type": "integer", + "title": "Pending", + "description": "Number of queue items with status 'pending' for the destination" + }, + "in_progress": { + "type": "integer", + "title": "In Progress", + "description": "Number of queue items with status 'in_progress' for the destination" + }, + "completed": { + "type": "integer", + "title": "Completed", + "description": "Number of queue items with status 'complete' for the destination" + }, + "failed": { + "type": "integer", + "title": "Failed", + "description": "Number of queue items with status 'error' for the destination" + }, + "canceled": { + "type": "integer", + "title": "Canceled", + "description": "Number of queue items with status 'canceled' for the destination" + }, + "total": { + "type": "integer", + "title": "Total", + "description": "Total number of queue items for the destination" + } + }, + "type": "object", + "required": ["queue_id", "destination", "pending", "in_progress", "completed", "failed", "canceled", "total"], + "title": "SessionQueueCountsByDestination" + }, + "SessionQueueItem": { + "properties": { + "item_id": { + "type": "integer", + "title": "Item Id", + "description": "The identifier of the session queue item" + }, + "status": { + "type": "string", + "enum": ["pending", "in_progress", "completed", "failed", "canceled"], + "title": "Status", + "description": "The status of this queue item", + "default": "pending" + }, + "priority": { + "type": "integer", + "title": "Priority", + "description": "The priority of this queue item", + "default": 0 + }, + "batch_id": { + "type": "string", + "title": "Batch Id", + "description": "The ID of the batch associated with this queue item" + }, + "origin": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Origin", + "description": "The origin of this queue item. This data is used by the frontend to determine how to handle results." + }, + "destination": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Destination", + "description": "The origin of this queue item. This data is used by the frontend to determine how to handle results" + }, + "session_id": { + "type": "string", + "title": "Session Id", + "description": "The ID of the session associated with this queue item. The session doesn't exist in graph_executions until the queue item is executed." + }, + "error_type": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Error Type", + "description": "The error type if this queue item errored" + }, + "error_message": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Error Message", + "description": "The error message if this queue item errored" + }, + "error_traceback": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Error Traceback", + "description": "The error traceback if this queue item errored" + }, + "created_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "title": "Created At", + "description": "When this queue item was created" + }, + "updated_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "title": "Updated At", + "description": "When this queue item was updated" + }, + "started_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "title": "Started At", + "description": "When this queue item was started" + }, + "completed_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "title": "Completed At", + "description": "When this queue item was completed" + }, + "queue_id": { + "type": "string", + "title": "Queue Id", + "description": "The id of the queue with which this item is associated" + }, + "field_values": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/NodeFieldValue" }, "type": "array" }, + { "type": "null" } + ], + "title": "Field Values", + "description": "The field values that were used for this queue item" + }, + "retried_from_item_id": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "title": "Retried From Item Id", + "description": "The item_id of the queue item that this item was retried from" + }, + "session": { + "$ref": "#/components/schemas/GraphExecutionState", + "description": "The fully-populated session to be executed" + }, + "workflow": { + "anyOf": [{ "$ref": "#/components/schemas/WorkflowWithoutID" }, { "type": "null" }], + "description": "The workflow associated with this queue item" + } + }, + "type": "object", + "required": [ + "item_id", + "status", + "batch_id", + "queue_id", + "session_id", + "session", + "priority", + "session_id", + "created_at", + "updated_at" + ], + "title": "SessionQueueItem", + "description": "Session queue item without the full graph. Used for serialization." + }, + "SessionQueueStatus": { + "properties": { + "queue_id": { "type": "string", "title": "Queue Id", "description": "The ID of the queue" }, + "item_id": { + "anyOf": [{ "type": "integer" }, { "type": "null" }], + "title": "Item Id", + "description": "The current queue item id" + }, + "batch_id": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Batch Id", + "description": "The current queue item's batch id" + }, + "session_id": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Session Id", + "description": "The current queue item's session id" + }, + "pending": { + "type": "integer", + "title": "Pending", + "description": "Number of queue items with status 'pending'" + }, + "in_progress": { + "type": "integer", + "title": "In Progress", + "description": "Number of queue items with status 'in_progress'" + }, + "completed": { + "type": "integer", + "title": "Completed", + "description": "Number of queue items with status 'complete'" + }, + "failed": { + "type": "integer", + "title": "Failed", + "description": "Number of queue items with status 'error'" + }, + "canceled": { + "type": "integer", + "title": "Canceled", + "description": "Number of queue items with status 'canceled'" + }, + "total": { "type": "integer", "title": "Total", "description": "Total number of queue items" } + }, + "type": "object", + "required": [ + "queue_id", + "item_id", + "batch_id", + "session_id", + "pending", + "in_progress", + "completed", + "failed", + "canceled", + "total" + ], + "title": "SessionQueueStatus" + }, + "ShowImageInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Displays a provided image using the OS image viewer, and passes it forward in the pipeline.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to show", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "show_image", + "default": "show_image", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image"], + "title": "Show Image", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "SigLIP_Diffusers_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "type": { "type": "string", "const": "siglip", "title": "Type", "default": "siglip" }, + "base": { "type": "string", "const": "any", "title": "Base", "default": "any" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "type", + "base" + ], + "title": "SigLIP_Diffusers_Config", + "description": "Model config for SigLIP." + }, + "SpandrelImageToImageAutoscaleInvocation": { + "category": "upscale", + "class": "invocation", + "classification": "stable", + "description": "Run any spandrel image-to-image model (https://github.com/chaiNNer-org/spandrel) until the target scale is reached.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The input image", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "image_to_image_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "Image-to-Image model", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Image-to-Image Model", + "ui_model_type": ["spandrel_image_to_image"] + }, + "tile_size": { + "default": 512, + "description": "The tile size for tiled image-to-image. Set to 0 to disable tiling.", + "field_kind": "input", + "input": "any", + "orig_default": 512, + "orig_required": false, + "title": "Tile Size", + "type": "integer" + }, + "type": { + "const": "spandrel_image_to_image_autoscale", + "default": "spandrel_image_to_image_autoscale", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + }, + "scale": { + "default": 4.0, + "description": "The final scale of the output image. If the model does not upscale the image, this will be ignored.", + "exclusiveMinimum": 0.0, + "field_kind": "input", + "input": "any", + "maximum": 16.0, + "orig_default": 4.0, + "orig_required": false, + "title": "Scale", + "type": "number" + }, + "fit_to_multiple_of_8": { + "default": false, + "description": "If true, the output image will be resized to the nearest multiple of 8 in both dimensions.", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Fit To Multiple Of 8", + "type": "boolean" + } + }, + "required": ["type", "id"], + "tags": ["upscale"], + "title": "Image-to-Image (Autoscale)", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "SpandrelImageToImageInvocation": { + "category": "upscale", + "class": "invocation", + "classification": "stable", + "description": "Run any spandrel image-to-image model (https://github.com/chaiNNer-org/spandrel).", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The input image", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "image_to_image_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "Image-to-Image model", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Image-to-Image Model", + "ui_model_type": ["spandrel_image_to_image"] + }, + "tile_size": { + "default": 512, + "description": "The tile size for tiled image-to-image. Set to 0 to disable tiling.", + "field_kind": "input", + "input": "any", + "orig_default": 512, + "orig_required": false, + "title": "Tile Size", + "type": "integer" + }, + "type": { + "const": "spandrel_image_to_image", + "default": "spandrel_image_to_image", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["upscale"], + "title": "Image-to-Image", + "type": "object", + "version": "1.3.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "Spandrel_Checkpoint_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, + "type": { + "type": "string", + "const": "spandrel_image_to_image", + "title": "Type", + "default": "spandrel_image_to_image" + }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "base", + "type", + "format" + ], + "title": "Spandrel_Checkpoint_Config", + "description": "Model config for Spandrel Image to Image models." + }, + "StarredImagesResult": { + "properties": { + "affected_boards": { + "items": { "type": "string" }, + "type": "array", + "title": "Affected Boards", + "description": "The ids of boards affected by the delete operation" + }, + "starred_images": { + "items": { "type": "string" }, + "type": "array", + "title": "Starred Images", + "description": "The names of the images that were starred" + } + }, + "type": "object", + "required": ["affected_boards", "starred_images"], + "title": "StarredImagesResult" + }, + "StarterModel": { + "properties": { + "description": { "type": "string", "title": "Description" }, + "source": { "type": "string", "title": "Source" }, + "name": { "type": "string", "title": "Name" }, + "base": { "$ref": "#/components/schemas/BaseModelType" }, + "type": { "$ref": "#/components/schemas/ModelType" }, + "format": { "anyOf": [{ "$ref": "#/components/schemas/ModelFormat" }, { "type": "null" }] }, + "is_installed": { "type": "boolean", "title": "Is Installed", "default": false }, + "previous_names": { + "items": { "type": "string" }, + "type": "array", + "title": "Previous Names", + "default": [] + }, + "dependencies": { + "anyOf": [ + { "items": { "$ref": "#/components/schemas/StarterModelWithoutDependencies" }, "type": "array" }, + { "type": "null" } + ], + "title": "Dependencies" + } + }, + "type": "object", + "required": ["description", "source", "name", "base", "type"], + "title": "StarterModel" + }, + "StarterModelBundle": { + "properties": { + "name": { "type": "string", "title": "Name" }, + "models": { "items": { "$ref": "#/components/schemas/StarterModel" }, "type": "array", "title": "Models" } + }, + "type": "object", + "required": ["name", "models"], + "title": "StarterModelBundle" + }, + "StarterModelResponse": { + "properties": { + "starter_models": { + "items": { "$ref": "#/components/schemas/StarterModel" }, + "type": "array", + "title": "Starter Models" + }, + "starter_bundles": { + "additionalProperties": { "$ref": "#/components/schemas/StarterModelBundle" }, + "type": "object", + "title": "Starter Bundles" + } + }, + "type": "object", + "required": ["starter_models", "starter_bundles"], + "title": "StarterModelResponse" + }, + "StarterModelWithoutDependencies": { + "properties": { + "description": { "type": "string", "title": "Description" }, + "source": { "type": "string", "title": "Source" }, + "name": { "type": "string", "title": "Name" }, + "base": { "$ref": "#/components/schemas/BaseModelType" }, + "type": { "$ref": "#/components/schemas/ModelType" }, + "format": { "anyOf": [{ "$ref": "#/components/schemas/ModelFormat" }, { "type": "null" }] }, + "is_installed": { "type": "boolean", "title": "Is Installed", "default": false }, + "previous_names": { "items": { "type": "string" }, "type": "array", "title": "Previous Names", "default": [] } + }, + "type": "object", + "required": ["description", "source", "name", "base", "type"], + "title": "StarterModelWithoutDependencies" + }, + "String2Output": { + "class": "output", + "description": "Base class for invocations that output two strings", + "properties": { + "string_1": { + "description": "string 1", + "field_kind": "output", + "title": "String 1", + "type": "string", + "ui_hidden": false + }, + "string_2": { + "description": "string 2", + "field_kind": "output", + "title": "String 2", + "type": "string", + "ui_hidden": false + }, + "type": { + "const": "string_2_output", + "default": "string_2_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "string_1", "string_2", "type", "type"], + "title": "String2Output", + "type": "object" + }, + "StringBatchInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "special", + "description": "Create a batched generation, where the workflow is executed once for each string in the batch.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "batch_group_id": { + "default": "None", + "description": "The ID of this batch node's group. If provided, all batch nodes in with the same ID will be 'zipped' before execution, and all nodes' collections must be of the same size.", + "enum": ["None", "Group 1", "Group 2", "Group 3", "Group 4", "Group 5"], + "field_kind": "input", + "input": "direct", + "orig_default": "None", + "orig_required": false, + "title": "Batch Group", + "type": "string" + }, + "strings": { + "anyOf": [{ "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" }], + "default": null, + "description": "The strings to batch over", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Strings" + }, + "type": { + "const": "string_batch", + "default": "string_batch", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "string", "batch", "special"], + "title": "String Batch", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/StringOutput" } + }, + "StringCollectionInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A collection of string primitive values", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "collection": { + "default": [], + "description": "The collection of string values", + "field_kind": "input", + "input": "any", + "items": { "type": "string" }, + "orig_default": [], + "orig_required": false, + "title": "Collection", + "type": "array" + }, + "type": { + "const": "string_collection", + "default": "string_collection", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "string", "collection"], + "title": "String Collection Primitive", + "type": "object", + "version": "1.0.2", + "output": { "$ref": "#/components/schemas/StringCollectionOutput" } + }, + "StringCollectionOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of strings", + "properties": { + "collection": { + "description": "The output strings", + "field_kind": "output", + "items": { "type": "string" }, + "title": "Collection", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "string_collection_output", + "default": "string_collection_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "collection", "type", "type"], + "title": "StringCollectionOutput", + "type": "object" + }, + "StringGenerator": { + "category": "primitives", + "class": "invocation", + "classification": "special", + "description": "Generated a range of strings for use in a batched generation", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "generator": { + "$ref": "#/components/schemas/StringGeneratorField", + "description": "The string generator.", + "field_kind": "input", + "input": "direct", + "orig_required": true, + "title": "Generator Type" + }, + "type": { + "const": "string_generator", + "default": "string_generator", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["generator", "type", "id"], + "tags": ["primitives", "string", "number", "batch", "special"], + "title": "String Generator", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/StringGeneratorOutput" } + }, + "StringGeneratorField": { "properties": {}, "title": "StringGeneratorField", "type": "object" }, + "StringGeneratorOutput": { + "class": "output", + "description": "Base class for nodes that output a collection of strings", + "properties": { + "strings": { + "description": "The generated strings", + "field_kind": "output", + "items": { "type": "string" }, + "title": "Strings", + "type": "array", + "ui_hidden": false + }, + "type": { + "const": "string_generator_output", + "default": "string_generator_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "strings", "type", "type"], + "title": "StringGeneratorOutput", + "type": "object" + }, + "StringInvocation": { + "category": "primitives", + "class": "invocation", + "classification": "stable", + "description": "A string primitive value", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "value": { + "default": "", + "description": "The string value", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "Value", + "type": "string", + "ui_component": "textarea" + }, + "type": { + "const": "string", + "default": "string", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["primitives", "string"], + "title": "String Primitive", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/StringOutput" } + }, + "StringJoinInvocation": { + "category": "string", + "class": "invocation", + "classification": "stable", + "description": "Joins string left to string right", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "string_left": { + "default": "", + "description": "String Left", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "String Left", + "type": "string", + "ui_component": "textarea" + }, + "string_right": { + "default": "", + "description": "String Right", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "String Right", + "type": "string", + "ui_component": "textarea" + }, + "type": { + "const": "string_join", + "default": "string_join", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["string", "join"], + "title": "String Join", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/StringOutput" } + }, + "StringJoinThreeInvocation": { + "category": "string", + "class": "invocation", + "classification": "stable", + "description": "Joins string left to string middle to string right", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "string_left": { + "default": "", + "description": "String Left", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "String Left", + "type": "string", + "ui_component": "textarea" + }, + "string_middle": { + "default": "", + "description": "String Middle", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "String Middle", + "type": "string", + "ui_component": "textarea" + }, + "string_right": { + "default": "", + "description": "String Right", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "String Right", + "type": "string", + "ui_component": "textarea" + }, + "type": { + "const": "string_join_three", + "default": "string_join_three", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["string", "join"], + "title": "String Join Three", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/StringOutput" } + }, + "StringOutput": { + "class": "output", + "description": "Base class for nodes that output a single string", + "properties": { + "value": { + "description": "The output string", + "field_kind": "output", + "title": "Value", + "type": "string", + "ui_hidden": false + }, + "type": { + "const": "string_output", + "default": "string_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "value", "type", "type"], + "title": "StringOutput", + "type": "object" + }, + "StringPosNegOutput": { + "class": "output", + "description": "Base class for invocations that output a positive and negative string", + "properties": { + "positive_string": { + "description": "Positive string", + "field_kind": "output", + "title": "Positive String", + "type": "string", + "ui_hidden": false + }, + "negative_string": { + "description": "Negative string", + "field_kind": "output", + "title": "Negative String", + "type": "string", + "ui_hidden": false + }, + "type": { + "const": "string_pos_neg_output", + "default": "string_pos_neg_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "positive_string", "negative_string", "type", "type"], + "title": "StringPosNegOutput", + "type": "object" + }, + "StringReplaceInvocation": { + "category": "string", + "class": "invocation", + "classification": "stable", + "description": "Replaces the search string with the replace string", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "string": { + "default": "", + "description": "String to work on", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "String", + "type": "string", + "ui_component": "textarea" + }, + "search_string": { + "default": "", + "description": "String to search for", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "Search String", + "type": "string", + "ui_component": "textarea" + }, + "replace_string": { + "default": "", + "description": "String to replace the search", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "Replace String", + "type": "string", + "ui_component": "textarea" + }, + "use_regex": { + "default": false, + "description": "Use search string as a regex expression (non regex is case insensitive)", + "field_kind": "input", + "input": "any", + "orig_default": false, + "orig_required": false, + "title": "Use Regex", + "type": "boolean" + }, + "type": { + "const": "string_replace", + "default": "string_replace", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["string", "replace", "regex"], + "title": "String Replace", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/StringOutput" } + }, + "StringSplitInvocation": { + "category": "string", + "class": "invocation", + "classification": "stable", + "description": "Splits string into two strings, based on the first occurance of the delimiter. The delimiter will be removed from the string", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "string": { + "default": "", + "description": "String to split", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "String", + "type": "string", + "ui_component": "textarea" + }, + "delimiter": { + "default": "", + "description": "Delimiter to spilt with. blank will split on the first whitespace", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "Delimiter", + "type": "string" + }, + "type": { + "const": "string_split", + "default": "string_split", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["string", "split"], + "title": "String Split", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/String2Output" } + }, + "StringSplitNegInvocation": { + "category": "string", + "class": "invocation", + "classification": "stable", + "description": "Splits string into two strings, inside [] goes into negative string everthing else goes into positive string. Each [ and ] character is replaced with a space", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "string": { + "default": "", + "description": "String to split", + "field_kind": "input", + "input": "any", + "orig_default": "", + "orig_required": false, + "title": "String", + "type": "string", + "ui_component": "textarea" + }, + "type": { + "const": "string_split_neg", + "default": "string_split_neg", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["string", "split", "negative"], + "title": "String Split Negative", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/StringPosNegOutput" } + }, + "StylePresetRecordWithImage": { + "properties": { + "name": { "type": "string", "title": "Name", "description": "The name of the style preset." }, + "preset_data": { "$ref": "#/components/schemas/PresetData", "description": "The preset data" }, + "type": { "$ref": "#/components/schemas/PresetType", "description": "The type of style preset" }, + "id": { "type": "string", "title": "Id", "description": "The style preset ID." }, + "image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Image", + "description": "The path for image" + } + }, + "type": "object", + "required": ["name", "preset_data", "type", "id", "image"], + "title": "StylePresetRecordWithImage" + }, + "SubModelType": { + "type": "string", + "enum": [ + "unet", + "transformer", + "text_encoder", + "text_encoder_2", + "text_encoder_3", + "tokenizer", + "tokenizer_2", + "tokenizer_3", + "vae", + "vae_decoder", + "vae_encoder", + "scheduler", + "safety_checker" + ], + "title": "SubModelType", + "description": "Submodel type." + }, + "SubmodelDefinition": { + "properties": { + "path_or_prefix": { "type": "string", "title": "Path Or Prefix" }, + "model_type": { "$ref": "#/components/schemas/ModelType" }, + "variant": { + "anyOf": [ + { "$ref": "#/components/schemas/ModelVariantType" }, + { "$ref": "#/components/schemas/ClipVariantType" }, + { "$ref": "#/components/schemas/FluxVariantType" }, + { "type": "null" } + ], + "title": "Variant" + } + }, + "type": "object", + "required": ["path_or_prefix", "model_type"], + "title": "SubmodelDefinition" + }, + "SubtractInvocation": { + "category": "math", + "class": "invocation", + "classification": "stable", + "description": "Subtracts two numbers", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "a": { + "default": 0, + "description": "The first number", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "A", + "type": "integer" + }, + "b": { + "default": 0, + "description": "The second number", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "B", + "type": "integer" + }, + "type": { + "const": "sub", + "default": "sub", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["math", "subtract"], + "title": "Subtract Integers", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/IntegerOutput" } + }, + "T2IAdapterField": { + "properties": { + "image": { "$ref": "#/components/schemas/ImageField", "description": "The T2I-Adapter image prompt." }, + "t2i_adapter_model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "The T2I-Adapter model to use." + }, + "weight": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1, + "description": "The weight given to the T2I-Adapter", + "title": "Weight" + }, + "begin_step_percent": { + "default": 0, + "description": "When the T2I-Adapter is first applied (% of total steps)", + "maximum": 1, + "minimum": 0, + "title": "Begin Step Percent", + "type": "number" + }, + "end_step_percent": { + "default": 1, + "description": "When the T2I-Adapter is last applied (% of total steps)", + "maximum": 1, + "minimum": 0, + "title": "End Step Percent", + "type": "number" + }, + "resize_mode": { + "default": "just_resize", + "description": "The resize mode to use", + "enum": ["just_resize", "crop_resize", "fill_resize", "just_resize_simple"], + "title": "Resize Mode", + "type": "string" + } + }, + "required": ["image", "t2i_adapter_model"], + "title": "T2IAdapterField", + "type": "object" + }, + "T2IAdapterInvocation": { + "category": "t2i_adapter", + "class": "invocation", + "classification": "stable", + "description": "Collects T2I-Adapter info to pass to other nodes.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The IP-Adapter image prompt.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "t2i_adapter_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "The T2I-Adapter model.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "T2I-Adapter Model", + "ui_model_base": ["sd-1", "sdxl"], + "ui_model_type": ["t2i_adapter"], + "ui_order": -1 + }, + "weight": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1, + "description": "The weight given to the T2I-Adapter", + "field_kind": "input", + "ge": 0, + "input": "any", + "orig_default": 1, + "orig_required": false, + "title": "Weight" + }, + "begin_step_percent": { + "default": 0, + "description": "When the T2I-Adapter is first applied (% of total steps)", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "Begin Step Percent", + "type": "number" + }, + "end_step_percent": { + "default": 1, + "description": "When the T2I-Adapter is last applied (% of total steps)", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1, + "orig_required": false, + "title": "End Step Percent", + "type": "number" + }, + "resize_mode": { + "default": "just_resize", + "description": "The resize mode applied to the T2I-Adapter input image so that it matches the target output size.", + "enum": ["just_resize", "crop_resize", "fill_resize", "just_resize_simple"], + "field_kind": "input", + "input": "any", + "orig_default": "just_resize", + "orig_required": false, + "title": "Resize Mode", + "type": "string" + }, + "type": { + "const": "t2i_adapter", + "default": "t2i_adapter", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["t2i_adapter", "control"], + "title": "T2I-Adapter - SD1.5, SDXL", + "type": "object", + "version": "1.0.4", + "output": { "$ref": "#/components/schemas/T2IAdapterOutput" } + }, + "T2IAdapterMetadataField": { + "properties": { + "image": { "$ref": "#/components/schemas/ImageField", "description": "The control image." }, + "processed_image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The control image, after processing." + }, + "t2i_adapter_model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "The T2I-Adapter model to use." + }, + "weight": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 1, + "description": "The weight given to the T2I-Adapter", + "title": "Weight" + }, + "begin_step_percent": { + "default": 0, + "description": "When the T2I-Adapter is first applied (% of total steps)", + "maximum": 1, + "minimum": 0, + "title": "Begin Step Percent", + "type": "number" + }, + "end_step_percent": { + "default": 1, + "description": "When the T2I-Adapter is last applied (% of total steps)", + "maximum": 1, + "minimum": 0, + "title": "End Step Percent", + "type": "number" + }, + "resize_mode": { + "default": "just_resize", + "description": "The resize mode to use", + "enum": ["just_resize", "crop_resize", "fill_resize", "just_resize_simple"], + "title": "Resize Mode", + "type": "string" + } + }, + "required": ["image", "t2i_adapter_model"], + "title": "T2IAdapterMetadataField", + "type": "object" + }, + "T2IAdapterOutput": { + "class": "output", + "properties": { + "t2i_adapter": { + "$ref": "#/components/schemas/T2IAdapterField", + "description": "T2I-Adapter(s) to apply", + "field_kind": "output", + "title": "T2I Adapter", + "ui_hidden": false + }, + "type": { + "const": "t2i_adapter_output", + "default": "t2i_adapter_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "t2i_adapter", "type", "type"], + "title": "T2IAdapterOutput", + "type": "object" + }, + "T2IAdapter_Diffusers_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "type": { "type": "string", "const": "t2i_adapter", "title": "Type", "default": "t2i_adapter" }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "type", + "default_settings", + "base" + ], + "title": "T2IAdapter_Diffusers_SD1_Config" + }, + "T2IAdapter_Diffusers_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "type": { "type": "string", "const": "t2i_adapter", "title": "Type", "default": "t2i_adapter" }, + "default_settings": { + "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "type", + "default_settings", + "base" + ], + "title": "T2IAdapter_Diffusers_SDXL_Config" + }, + "T5EncoderField": { + "properties": { + "tokenizer": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load tokenizer submodel" + }, + "text_encoder": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load text_encoder submodel" + }, + "loras": { + "description": "LoRAs to apply on model loading", + "items": { "$ref": "#/components/schemas/LoRAField" }, + "title": "Loras", + "type": "array" + } + }, + "required": ["tokenizer", "text_encoder", "loras"], + "title": "T5EncoderField", + "type": "object" + }, + "T5Encoder_BnBLLMint8_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, + "type": { "type": "string", "const": "t5_encoder", "title": "Type", "default": "t5_encoder" }, + "format": { + "type": "string", + "const": "bnb_quantized_int8b", + "title": "Format", + "default": "bnb_quantized_int8b" + } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "base", + "type", + "format" + ], + "title": "T5Encoder_BnBLLMint8_Config", + "description": "Configuration for T5 Encoder models quantized by bitsandbytes' LLM.int8." + }, + "T5Encoder_T5Encoder_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, + "type": { "type": "string", "const": "t5_encoder", "title": "Type", "default": "t5_encoder" }, + "format": { "type": "string", "const": "t5_encoder", "title": "Format", "default": "t5_encoder" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "base", + "type", + "format" + ], + "title": "T5Encoder_T5Encoder_Config", + "description": "Configuration for T5 Encoder models in a bespoke, diffusers-like format. The model weights are expected to be in\na folder called text_encoder_2 inside the model directory, with a config file named model.safetensors.index.json." + }, + "TBLR": { + "properties": { + "top": { "title": "Top", "type": "integer" }, + "bottom": { "title": "Bottom", "type": "integer" }, + "left": { "title": "Left", "type": "integer" }, + "right": { "title": "Right", "type": "integer" } + }, + "required": ["top", "bottom", "left", "right"], + "title": "TBLR", + "type": "object" + }, + "TI_File_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "embedding", "title": "Type", "default": "embedding" }, + "format": { "type": "string", "const": "embedding_file", "title": "Format", "default": "embedding_file" }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "base" + ], + "title": "TI_File_SD1_Config" + }, + "TI_File_SD2_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "embedding", "title": "Type", "default": "embedding" }, + "format": { "type": "string", "const": "embedding_file", "title": "Format", "default": "embedding_file" }, + "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "base" + ], + "title": "TI_File_SD2_Config" + }, + "TI_File_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "embedding", "title": "Type", "default": "embedding" }, + "format": { "type": "string", "const": "embedding_file", "title": "Format", "default": "embedding_file" }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "base" + ], + "title": "TI_File_SDXL_Config" + }, + "TI_Folder_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "embedding", "title": "Type", "default": "embedding" }, + "format": { "type": "string", "const": "embedding_folder", "title": "Format", "default": "embedding_folder" }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "base" + ], + "title": "TI_Folder_SD1_Config" + }, + "TI_Folder_SD2_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "embedding", "title": "Type", "default": "embedding" }, + "format": { "type": "string", "const": "embedding_folder", "title": "Format", "default": "embedding_folder" }, + "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "base" + ], + "title": "TI_Folder_SD2_Config" + }, + "TI_Folder_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "type": { "type": "string", "const": "embedding", "title": "Type", "default": "embedding" }, + "format": { "type": "string", "const": "embedding_folder", "title": "Format", "default": "embedding_folder" }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "type", + "format", + "base" + ], + "title": "TI_Folder_SDXL_Config" + }, + "TensorField": { + "description": "A tensor primitive field.", + "properties": { + "tensor_name": { "description": "The name of a tensor.", "title": "Tensor Name", "type": "string" } + }, + "required": ["tensor_name"], + "title": "TensorField", + "type": "object" + }, + "Tile": { + "properties": { + "coords": { + "$ref": "#/components/schemas/TBLR", + "description": "The coordinates of this tile relative to its parent image." + }, + "overlap": { + "$ref": "#/components/schemas/TBLR", + "description": "The amount of overlap with adjacent tiles on each side of this tile." + } + }, + "required": ["coords", "overlap"], + "title": "Tile", + "type": "object" + }, + "TileToPropertiesInvocation": { + "category": "tiles", + "class": "invocation", + "classification": "stable", + "description": "Split a Tile into its individual properties.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "tile": { + "anyOf": [{ "$ref": "#/components/schemas/Tile" }, { "type": "null" }], + "default": null, + "description": "The tile to split into properties.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "type": { + "const": "tile_to_properties", + "default": "tile_to_properties", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["tiles"], + "title": "Tile to Properties", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/TileToPropertiesOutput" } + }, + "TileToPropertiesOutput": { + "class": "output", + "properties": { + "coords_left": { + "description": "Left coordinate of the tile relative to its parent image.", + "field_kind": "output", + "title": "Coords Left", + "type": "integer", + "ui_hidden": false + }, + "coords_right": { + "description": "Right coordinate of the tile relative to its parent image.", + "field_kind": "output", + "title": "Coords Right", + "type": "integer", + "ui_hidden": false + }, + "coords_top": { + "description": "Top coordinate of the tile relative to its parent image.", + "field_kind": "output", + "title": "Coords Top", + "type": "integer", + "ui_hidden": false + }, + "coords_bottom": { + "description": "Bottom coordinate of the tile relative to its parent image.", + "field_kind": "output", + "title": "Coords Bottom", + "type": "integer", + "ui_hidden": false + }, + "width": { + "description": "The width of the tile. Equal to coords_right - coords_left.", + "field_kind": "output", + "title": "Width", + "type": "integer", + "ui_hidden": false + }, + "height": { + "description": "The height of the tile. Equal to coords_bottom - coords_top.", + "field_kind": "output", + "title": "Height", + "type": "integer", + "ui_hidden": false + }, + "overlap_top": { + "description": "Overlap between this tile and its top neighbor.", + "field_kind": "output", + "title": "Overlap Top", + "type": "integer", + "ui_hidden": false + }, + "overlap_bottom": { + "description": "Overlap between this tile and its bottom neighbor.", + "field_kind": "output", + "title": "Overlap Bottom", + "type": "integer", + "ui_hidden": false + }, + "overlap_left": { + "description": "Overlap between this tile and its left neighbor.", + "field_kind": "output", + "title": "Overlap Left", + "type": "integer", + "ui_hidden": false + }, + "overlap_right": { + "description": "Overlap between this tile and its right neighbor.", + "field_kind": "output", + "title": "Overlap Right", + "type": "integer", + "ui_hidden": false + }, + "type": { + "const": "tile_to_properties_output", + "default": "tile_to_properties_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": [ + "output_meta", + "coords_left", + "coords_right", + "coords_top", + "coords_bottom", + "width", + "height", + "overlap_top", + "overlap_bottom", + "overlap_left", + "overlap_right", + "type", + "type" + ], + "title": "TileToPropertiesOutput", + "type": "object" + }, + "TileWithImage": { + "properties": { + "tile": { "$ref": "#/components/schemas/Tile" }, + "image": { "$ref": "#/components/schemas/ImageField" } + }, + "required": ["tile", "image"], + "title": "TileWithImage", + "type": "object" + }, + "TiledMultiDiffusionDenoiseLatents": { + "category": "latents", + "class": "invocation", + "classification": "stable", + "description": "Tiled Multi-Diffusion denoising.\n\nThis node handles automatically tiling the input image, and is primarily intended for global refinement of images\nin tiled upscaling workflows. Future Multi-Diffusion nodes should allow the user to specify custom regions with\ndifferent parameters for each region to harness the full power of Multi-Diffusion.\n\nThis node has a similar interface to the `DenoiseLatents` node, but it has a reduced feature set (no IP-Adapter,\nT2I-Adapter, masking, etc.).", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "positive_conditioning": { + "anyOf": [{ "$ref": "#/components/schemas/ConditioningField" }, { "type": "null" }], + "default": null, + "description": "Positive conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "negative_conditioning": { + "anyOf": [{ "$ref": "#/components/schemas/ConditioningField" }, { "type": "null" }], + "default": null, + "description": "Negative conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "noise": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Noise tensor", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "tile_height": { + "default": 1024, + "description": "Height of the tiles in image space.", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "multipleOf": 8, + "orig_default": 1024, + "orig_required": false, + "title": "Tile Height", + "type": "integer" + }, + "tile_width": { + "default": 1024, + "description": "Width of the tiles in image space.", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "multipleOf": 8, + "orig_default": 1024, + "orig_required": false, + "title": "Tile Width", + "type": "integer" + }, + "tile_overlap": { + "default": 32, + "description": "The overlap between adjacent tiles in pixel space. (Of course, tile merging is applied in latent space.) Tiles will be cropped during merging (if necessary) to ensure that they overlap by exactly this amount.", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "multipleOf": 8, + "orig_default": 32, + "orig_required": false, + "title": "Tile Overlap", + "type": "integer" + }, + "steps": { + "default": 18, + "description": "Number of steps to run", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 18, + "orig_required": false, + "title": "Steps", + "type": "integer" + }, + "cfg_scale": { + "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "default": 6.0, + "description": "Classifier-Free Guidance scale", + "field_kind": "input", + "input": "any", + "orig_default": 6.0, + "orig_required": false, + "title": "CFG Scale" + }, + "denoising_start": { + "default": 0.0, + "description": "When to start denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0.0, + "orig_required": false, + "title": "Denoising Start", + "type": "number" + }, + "denoising_end": { + "default": 1.0, + "description": "When to stop denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Denoising End", + "type": "number" + }, + "scheduler": { + "default": "euler", + "description": "Scheduler to use during inference", + "enum": [ + "ddim", + "ddpm", + "deis", + "deis_k", + "lms", + "lms_k", + "pndm", + "heun", + "heun_k", + "euler", + "euler_k", + "euler_a", + "kdpm_2", + "kdpm_2_k", + "kdpm_2_a", + "kdpm_2_a_k", + "dpmpp_2s", + "dpmpp_2s_k", + "dpmpp_2m", + "dpmpp_2m_k", + "dpmpp_2m_sde", + "dpmpp_2m_sde_k", + "dpmpp_3m", + "dpmpp_3m_k", + "dpmpp_sde", + "dpmpp_sde_k", + "unipc", + "unipc_k", + "lcm", + "tcd" + ], + "field_kind": "input", + "input": "any", + "orig_default": "euler", + "orig_required": false, + "title": "Scheduler", + "type": "string", + "ui_type": "SchedulerField" + }, + "unet": { + "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "default": null, + "description": "UNet (scheduler, LoRAs)", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "UNet" + }, + "cfg_rescale_multiplier": { + "default": 0, + "description": "Rescale multiplier for CFG guidance, used for models trained with zero-terminal SNR", + "exclusiveMaximum": 1, + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 0, + "orig_required": false, + "title": "CFG Rescale Multiplier", + "type": "number" + }, + "control": { + "anyOf": [ + { "$ref": "#/components/schemas/ControlField" }, + { "items": { "$ref": "#/components/schemas/ControlField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Control" + }, + "type": { + "const": "tiled_multi_diffusion_denoise_latents", + "default": "tiled_multi_diffusion_denoise_latents", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["upscale", "denoise"], + "title": "Tiled Multi-Diffusion Denoise - SD1.5, SDXL", + "type": "object", + "version": "1.0.1", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "TransformerField": { + "properties": { + "transformer": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load Transformer submodel" + }, + "loras": { + "description": "LoRAs to apply on model loading", + "items": { "$ref": "#/components/schemas/LoRAField" }, + "title": "Loras", + "type": "array" + } + }, + "required": ["transformer", "loras"], + "title": "TransformerField", + "type": "object" + }, + "UIComponent": { + "description": "The type of UI component to use for a field, used to override the default components, which are\ninferred from the field type.", + "enum": ["none", "textarea", "slider"], + "title": "UIComponent", + "type": "string" + }, + "UIConfigBase": { + "description": "Provides additional node configuration to the UI.\nThis is used internally by the @invocation decorator logic. Do not use this directly.", + "properties": { + "tags": { + "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "default": null, + "description": "The node's tags", + "title": "Tags" + }, + "title": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The node's display name", + "title": "Title" + }, + "category": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "The node's category", + "title": "Category" + }, + "version": { + "description": "The node's version. Should be a valid semver string e.g. \"1.0.0\" or \"3.8.13\".", + "title": "Version", + "type": "string" + }, + "node_pack": { + "description": "The node pack that this node belongs to, will be 'invokeai' for built-in nodes", + "title": "Node Pack", + "type": "string" + }, + "classification": { + "$ref": "#/components/schemas/Classification", + "default": "stable", + "description": "The node's classification" + } + }, + "required": ["tags", "title", "category", "version", "node_pack", "classification"], + "title": "UIConfigBase", + "type": "object" + }, + "UIType": { + "description": "Type hints for the UI for situations in which the field type is not enough to infer the correct UI type.\n\n- Model Fields\nThe most common node-author-facing use will be for model fields. Internally, there is no difference\nbetween SD-1, SD-2 and SDXL model fields - they all use the class `MainModelField`. To ensure the\nbase-model-specific UI is rendered, use e.g. `ui_type=UIType.SDXLMainModelField` to indicate that\nthe field is an SDXL main model field.\n\n- Any Field\nWe cannot infer the usage of `typing.Any` via schema parsing, so you *must* use `ui_type=UIType.Any` to\nindicate that the field accepts any type. Use with caution. This cannot be used on outputs.\n\n- Scheduler Field\nSpecial handling in the UI is needed for this field, which otherwise would be parsed as a plain enum field.\n\n- Internal Fields\nSimilar to the Any Field, the `collect` and `iterate` nodes make use of `typing.Any`. To facilitate\nhandling these types in the client, we use `UIType._Collection` and `UIType._CollectionItem`. These\nshould not be used by node authors.\n\n- DEPRECATED Fields\nThese types are deprecated and should not be used by node authors. A warning will be logged if one is\nused, and the type will be ignored. They are included here for backwards compatibility.", + "enum": [ + "SchedulerField", + "AnyField", + "CollectionField", + "CollectionItemField", + "IsIntermediate", + "DEPRECATED_Boolean", + "DEPRECATED_Color", + "DEPRECATED_Conditioning", + "DEPRECATED_Control", + "DEPRECATED_Float", + "DEPRECATED_Image", + "DEPRECATED_Integer", + "DEPRECATED_Latents", + "DEPRECATED_String", + "DEPRECATED_BooleanCollection", + "DEPRECATED_ColorCollection", + "DEPRECATED_ConditioningCollection", + "DEPRECATED_ControlCollection", + "DEPRECATED_FloatCollection", + "DEPRECATED_ImageCollection", + "DEPRECATED_IntegerCollection", + "DEPRECATED_LatentsCollection", + "DEPRECATED_StringCollection", + "DEPRECATED_BooleanPolymorphic", + "DEPRECATED_ColorPolymorphic", + "DEPRECATED_ConditioningPolymorphic", + "DEPRECATED_ControlPolymorphic", + "DEPRECATED_FloatPolymorphic", + "DEPRECATED_ImagePolymorphic", + "DEPRECATED_IntegerPolymorphic", + "DEPRECATED_LatentsPolymorphic", + "DEPRECATED_StringPolymorphic", + "DEPRECATED_UNet", + "DEPRECATED_Vae", + "DEPRECATED_CLIP", + "DEPRECATED_Collection", + "DEPRECATED_CollectionItem", + "DEPRECATED_Enum", + "DEPRECATED_WorkflowField", + "DEPRECATED_BoardField", + "DEPRECATED_MetadataItem", + "DEPRECATED_MetadataItemCollection", + "DEPRECATED_MetadataItemPolymorphic", + "DEPRECATED_MetadataDict", + "DEPRECATED_MainModelField", + "DEPRECATED_CogView4MainModelField", + "DEPRECATED_FluxMainModelField", + "DEPRECATED_SD3MainModelField", + "DEPRECATED_SDXLMainModelField", + "DEPRECATED_SDXLRefinerModelField", + "DEPRECATED_ONNXModelField", + "DEPRECATED_VAEModelField", + "DEPRECATED_FluxVAEModelField", + "DEPRECATED_LoRAModelField", + "DEPRECATED_ControlNetModelField", + "DEPRECATED_IPAdapterModelField", + "DEPRECATED_T2IAdapterModelField", + "DEPRECATED_T5EncoderModelField", + "DEPRECATED_CLIPEmbedModelField", + "DEPRECATED_CLIPLEmbedModelField", + "DEPRECATED_CLIPGEmbedModelField", + "DEPRECATED_SpandrelImageToImageModelField", + "DEPRECATED_ControlLoRAModelField", + "DEPRECATED_SigLipModelField", + "DEPRECATED_FluxReduxModelField", + "DEPRECATED_LLaVAModelField", + "DEPRECATED_Imagen3ModelField", + "DEPRECATED_Imagen4ModelField", + "DEPRECATED_ChatGPT4oModelField", + "DEPRECATED_Gemini2_5ModelField", + "DEPRECATED_FluxKontextModelField", + "DEPRECATED_Veo3ModelField", + "DEPRECATED_RunwayModelField" + ], + "title": "UIType", + "type": "string" + }, + "UNetField": { + "properties": { + "unet": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "Info to load unet submodel" }, + "scheduler": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load scheduler submodel" + }, + "loras": { + "description": "LoRAs to apply on model loading", + "items": { "$ref": "#/components/schemas/LoRAField" }, + "title": "Loras", + "type": "array" + }, + "seamless_axes": { + "description": "Axes(\"x\" and \"y\") to which apply seamless", + "items": { "type": "string" }, + "title": "Seamless Axes", + "type": "array" + }, + "freeu_config": { + "anyOf": [{ "$ref": "#/components/schemas/FreeUConfig" }, { "type": "null" }], + "default": null, + "description": "FreeU configuration" + } + }, + "required": ["unet", "scheduler", "loras"], + "title": "UNetField", + "type": "object" + }, + "UNetOutput": { + "class": "output", + "description": "Base class for invocations that output a UNet field.", + "properties": { + "unet": { + "$ref": "#/components/schemas/UNetField", + "description": "UNet (scheduler, LoRAs)", + "field_kind": "output", + "title": "UNet", + "ui_hidden": false + }, + "type": { + "const": "unet_output", + "default": "unet_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "unet", "type", "type"], + "title": "UNetOutput", + "type": "object" + }, + "URLModelSource": { + "properties": { + "url": { "type": "string", "minLength": 1, "format": "uri", "title": "Url" }, + "access_token": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Access Token" }, + "type": { "type": "string", "const": "url", "title": "Type", "default": "url" } + }, + "type": "object", + "required": ["url"], + "title": "URLModelSource", + "description": "A generic URL point to a checkpoint file." + }, + "URLRegexTokenPair": { + "properties": { + "url_regex": { + "type": "string", + "title": "Url Regex", + "description": "Regular expression to match against the URL" + }, + "token": { "type": "string", "title": "Token", "description": "Token to use when the URL matches the regex" } + }, + "type": "object", + "required": ["url_regex", "token"], + "title": "URLRegexTokenPair" + }, + "Unknown_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "base": { "type": "string", "const": "unknown", "title": "Base", "default": "unknown" }, + "type": { "type": "string", "const": "unknown", "title": "Type", "default": "unknown" }, + "format": { "type": "string", "const": "unknown", "title": "Format", "default": "unknown" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "base", + "type", + "format" + ], + "title": "Unknown_Config", + "description": "Model config for unknown models, used as a fallback when we cannot positively identify a model." + }, + "UnsharpMaskInvocation": { + "category": "image", + "class": "invocation", + "classification": "stable", + "description": "Applies an unsharp mask filter to an image", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to use", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "radius": { + "default": 2, + "description": "Unsharp mask radius", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 2, + "orig_required": false, + "title": "Radius", + "type": "number" + }, + "strength": { + "default": 50, + "description": "Unsharp mask strength", + "field_kind": "input", + "input": "any", + "minimum": 0, + "orig_default": 50, + "orig_required": false, + "title": "Strength", + "type": "number" + }, + "type": { + "const": "unsharp_mask", + "default": "unsharp_mask", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "unsharp_mask"], + "title": "Unsharp Mask", + "type": "object", + "version": "1.2.2", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "UnstarredImagesResult": { + "properties": { + "affected_boards": { + "items": { "type": "string" }, + "type": "array", + "title": "Affected Boards", + "description": "The ids of boards affected by the delete operation" + }, + "unstarred_images": { + "items": { "type": "string" }, + "type": "array", + "title": "Unstarred Images", + "description": "The names of the images that were unstarred" + } + }, + "type": "object", + "required": ["affected_boards", "unstarred_images"], + "title": "UnstarredImagesResult" + }, + "VAEField": { + "properties": { + "vae": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "Info to load vae submodel" }, + "seamless_axes": { + "description": "Axes(\"x\" and \"y\") to which apply seamless", + "items": { "type": "string" }, + "title": "Seamless Axes", + "type": "array" + } + }, + "required": ["vae"], + "title": "VAEField", + "type": "object" + }, + "VAELoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Loads a VAE model, outputting a VaeLoaderOutput", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "vae_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "VAE model to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "VAE", + "ui_model_base": ["sd-1", "sd-2", "sdxl", "sd-3", "flux"], + "ui_model_type": ["vae"] + }, + "type": { + "const": "vae_loader", + "default": "vae_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["vae", "model"], + "title": "VAE Model - SD1.5, SD2, SDXL, SD3, FLUX", + "type": "object", + "version": "1.0.4", + "output": { "$ref": "#/components/schemas/VAEOutput" } + }, + "VAEOutput": { + "class": "output", + "description": "Base class for invocations that output a VAE field", + "properties": { + "vae": { + "$ref": "#/components/schemas/VAEField", + "description": "VAE", + "field_kind": "output", + "title": "VAE", + "ui_hidden": false + }, + "type": { + "const": "vae_output", + "default": "vae_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "vae", "type", "type"], + "title": "VAEOutput", + "type": "object" + }, + "VAE_Checkpoint_FLUX_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "type": { "type": "string", "const": "vae", "title": "Type", "default": "vae" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "config_path", + "type", + "format", + "base" + ], + "title": "VAE_Checkpoint_FLUX_Config" + }, + "VAE_Checkpoint_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "type": { "type": "string", "const": "vae", "title": "Type", "default": "vae" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "config_path", + "type", + "format", + "base" + ], + "title": "VAE_Checkpoint_SD1_Config" + }, + "VAE_Checkpoint_SD2_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "type": { "type": "string", "const": "vae", "title": "Type", "default": "vae" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "config_path", + "type", + "format", + "base" + ], + "title": "VAE_Checkpoint_SD2_Config" + }, + "VAE_Checkpoint_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "config_path": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "type": { "type": "string", "const": "vae", "title": "Type", "default": "vae" }, + "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "config_path", + "type", + "format", + "base" + ], + "title": "VAE_Checkpoint_SDXL_Config" + }, + "VAE_Diffusers_SD1_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "type": { "type": "string", "const": "vae", "title": "Type", "default": "vae" }, + "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "type", + "base" + ], + "title": "VAE_Diffusers_SD1_Config" + }, + "VAE_Diffusers_SDXL_Config": { + "properties": { + "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, + "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, + "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "description": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_api_response": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "cover_image": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, + "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, + "type": { "type": "string", "const": "vae", "title": "Type", "default": "vae" }, + "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "cover_image", + "format", + "repo_variant", + "type", + "base" + ], + "title": "VAE_Diffusers_SDXL_Config" + }, + "ValidationError": { + "properties": { + "loc": { + "items": { "anyOf": [{ "type": "string" }, { "type": "integer" }] }, + "type": "array", + "title": "Location" + }, + "msg": { "type": "string", "title": "Message" }, + "type": { "type": "string", "title": "Error Type" } + }, + "type": "object", + "required": ["loc", "msg", "type"], + "title": "ValidationError" + }, + "Workflow": { + "properties": { + "name": { "type": "string", "title": "Name", "description": "The name of the workflow." }, + "author": { "type": "string", "title": "Author", "description": "The author of the workflow." }, + "description": { + "type": "string", + "title": "Description", + "description": "The description of the workflow." + }, + "version": { "type": "string", "title": "Version", "description": "The version of the workflow." }, + "contact": { "type": "string", "title": "Contact", "description": "The contact of the workflow." }, + "tags": { "type": "string", "title": "Tags", "description": "The tags of the workflow." }, + "notes": { "type": "string", "title": "Notes", "description": "The notes of the workflow." }, + "exposedFields": { + "items": { "$ref": "#/components/schemas/ExposedField" }, + "type": "array", + "title": "Exposedfields", + "description": "The exposed fields of the workflow." + }, + "meta": { "$ref": "#/components/schemas/WorkflowMeta", "description": "The meta of the workflow." }, + "nodes": { + "items": { "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "type": "object" }, + "type": "array", + "title": "Nodes", + "description": "The nodes of the workflow." + }, + "edges": { + "items": { "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "type": "object" }, + "type": "array", + "title": "Edges", + "description": "The edges of the workflow." + }, + "form": { + "anyOf": [ + { "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "type": "object" }, + { "type": "null" } + ], + "title": "Form", + "description": "The form of the workflow." + }, + "id": { "type": "string", "title": "Id", "description": "The id of the workflow." } + }, + "type": "object", + "required": [ + "name", + "author", + "description", + "version", + "contact", + "tags", + "notes", + "exposedFields", + "meta", + "nodes", + "edges", + "id" + ], + "title": "Workflow" + }, + "WorkflowAndGraphResponse": { + "properties": { + "workflow": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Workflow", + "description": "The workflow used to generate the image, as stringified JSON" + }, + "graph": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Graph", + "description": "The graph used to generate the image, as stringified JSON" + } + }, + "type": "object", + "required": ["workflow", "graph"], + "title": "WorkflowAndGraphResponse" + }, + "WorkflowCategory": { "type": "string", "enum": ["user", "default"], "title": "WorkflowCategory" }, + "WorkflowMeta": { + "properties": { + "version": { "type": "string", "title": "Version", "description": "The version of the workflow schema." }, + "category": { + "$ref": "#/components/schemas/WorkflowCategory", + "description": "The category of the workflow (user or default)." + } + }, + "type": "object", + "required": ["version", "category"], + "title": "WorkflowMeta" + }, + "WorkflowRecordDTO": { + "properties": { + "workflow_id": { "type": "string", "title": "Workflow Id", "description": "The id of the workflow." }, + "name": { "type": "string", "title": "Name", "description": "The name of the workflow." }, + "created_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "title": "Created At", + "description": "The created timestamp of the workflow." + }, + "updated_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "title": "Updated At", + "description": "The updated timestamp of the workflow." + }, + "opened_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "title": "Opened At", + "description": "The opened timestamp of the workflow." + }, + "workflow": { "$ref": "#/components/schemas/Workflow", "description": "The workflow." } + }, + "type": "object", + "required": ["workflow_id", "name", "created_at", "updated_at", "workflow"], + "title": "WorkflowRecordDTO" + }, + "WorkflowRecordListItemWithThumbnailDTO": { + "properties": { + "workflow_id": { "type": "string", "title": "Workflow Id", "description": "The id of the workflow." }, + "name": { "type": "string", "title": "Name", "description": "The name of the workflow." }, + "created_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "title": "Created At", + "description": "The created timestamp of the workflow." + }, + "updated_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "title": "Updated At", + "description": "The updated timestamp of the workflow." + }, + "opened_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "title": "Opened At", + "description": "The opened timestamp of the workflow." + }, + "description": { + "type": "string", + "title": "Description", + "description": "The description of the workflow." + }, + "category": { + "$ref": "#/components/schemas/WorkflowCategory", + "description": "The description of the workflow." + }, + "tags": { "type": "string", "title": "Tags", "description": "The tags of the workflow." }, + "thumbnail_url": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Thumbnail Url", + "description": "The URL of the workflow thumbnail." + } + }, + "type": "object", + "required": ["workflow_id", "name", "created_at", "updated_at", "description", "category", "tags"], + "title": "WorkflowRecordListItemWithThumbnailDTO" + }, + "WorkflowRecordOrderBy": { + "type": "string", + "enum": ["created_at", "updated_at", "opened_at", "name"], + "title": "WorkflowRecordOrderBy", + "description": "The order by options for workflow records" + }, + "WorkflowRecordWithThumbnailDTO": { + "properties": { + "workflow_id": { "type": "string", "title": "Workflow Id", "description": "The id of the workflow." }, + "name": { "type": "string", "title": "Name", "description": "The name of the workflow." }, + "created_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "title": "Created At", + "description": "The created timestamp of the workflow." + }, + "updated_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "title": "Updated At", + "description": "The updated timestamp of the workflow." + }, + "opened_at": { + "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "title": "Opened At", + "description": "The opened timestamp of the workflow." + }, + "workflow": { "$ref": "#/components/schemas/Workflow", "description": "The workflow." }, + "thumbnail_url": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "title": "Thumbnail Url", + "description": "The URL of the workflow thumbnail." + } + }, + "type": "object", + "required": ["workflow_id", "name", "created_at", "updated_at", "workflow"], + "title": "WorkflowRecordWithThumbnailDTO" + }, + "WorkflowWithoutID": { + "properties": { + "name": { "type": "string", "title": "Name", "description": "The name of the workflow." }, + "author": { "type": "string", "title": "Author", "description": "The author of the workflow." }, + "description": { + "type": "string", + "title": "Description", + "description": "The description of the workflow." + }, + "version": { "type": "string", "title": "Version", "description": "The version of the workflow." }, + "contact": { "type": "string", "title": "Contact", "description": "The contact of the workflow." }, + "tags": { "type": "string", "title": "Tags", "description": "The tags of the workflow." }, + "notes": { "type": "string", "title": "Notes", "description": "The notes of the workflow." }, + "exposedFields": { + "items": { "$ref": "#/components/schemas/ExposedField" }, + "type": "array", + "title": "Exposedfields", + "description": "The exposed fields of the workflow." + }, + "meta": { "$ref": "#/components/schemas/WorkflowMeta", "description": "The meta of the workflow." }, + "nodes": { + "items": { "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "type": "object" }, + "type": "array", + "title": "Nodes", + "description": "The nodes of the workflow." + }, + "edges": { + "items": { "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "type": "object" }, + "type": "array", + "title": "Edges", + "description": "The edges of the workflow." + }, + "form": { + "anyOf": [ + { "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "type": "object" }, + { "type": "null" } + ], + "title": "Form", + "description": "The form of the workflow." + } + }, + "type": "object", + "required": [ + "name", + "author", + "description", + "version", + "contact", + "tags", + "notes", + "exposedFields", + "meta", + "nodes", + "edges" + ], + "title": "WorkflowWithoutID" + }, + "ZImageConditioningField": { + "description": "A Z-Image conditioning tensor primitive value", + "properties": { + "conditioning_name": { + "description": "The name of conditioning tensor", + "title": "Conditioning Name", + "type": "string" + } + }, + "required": ["conditioning_name"], + "title": "ZImageConditioningField", + "type": "object" + }, + "ZImageConditioningOutput": { + "class": "output", + "description": "Base class for nodes that output a Z-Image text conditioning tensor.", + "properties": { + "conditioning": { + "$ref": "#/components/schemas/ZImageConditioningField", + "description": "Conditioning tensor", + "field_kind": "output", + "ui_hidden": false + }, + "type": { + "const": "z_image_conditioning_output", + "default": "z_image_conditioning_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "conditioning", "type", "type"], + "title": "ZImageConditioningOutput", + "type": "object" + }, + "ZImageDenoiseInvocation": { + "category": "image", + "class": "invocation", + "classification": "prototype", + "description": "Run the denoising process with a Z-Image model.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "denoise_mask": { + "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "default": null, + "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "denoising_start": { + "default": 0.0, + "description": "When to start denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 0.0, + "orig_required": false, + "title": "Denoising Start", + "type": "number" + }, + "denoising_end": { + "default": 1.0, + "description": "When to stop denoising, expressed a percentage of total steps", + "field_kind": "input", + "input": "any", + "maximum": 1, + "minimum": 0, + "orig_default": 1.0, + "orig_required": false, + "title": "Denoising End", + "type": "number" + }, + "transformer": { + "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "default": null, + "description": "Z-Image model (Transformer) to load", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "Transformer" + }, + "positive_conditioning": { + "anyOf": [{ "$ref": "#/components/schemas/ZImageConditioningField" }, { "type": "null" }], + "default": null, + "description": "Positive conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "negative_conditioning": { + "anyOf": [{ "$ref": "#/components/schemas/ZImageConditioningField" }, { "type": "null" }], + "default": null, + "description": "Negative conditioning tensor", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false + }, + "guidance_scale": { + "default": 0.0, + "description": "Guidance scale for classifier-free guidance. Use 0.0 for Z-Image-Turbo.", + "field_kind": "input", + "input": "any", + "minimum": 0.0, + "orig_default": 0.0, + "orig_required": false, + "title": "Guidance Scale", + "type": "number" + }, + "width": { + "default": 1024, + "description": "Width of the generated image.", + "field_kind": "input", + "input": "any", + "multipleOf": 16, + "orig_default": 1024, + "orig_required": false, + "title": "Width", + "type": "integer" + }, + "height": { + "default": 1024, + "description": "Height of the generated image.", + "field_kind": "input", + "input": "any", + "multipleOf": 16, + "orig_default": 1024, + "orig_required": false, + "title": "Height", + "type": "integer" + }, + "steps": { + "default": 8, + "description": "Number of denoising steps. 8 recommended for Z-Image-Turbo.", + "exclusiveMinimum": 0, + "field_kind": "input", + "input": "any", + "orig_default": 8, + "orig_required": false, + "title": "Steps", + "type": "integer" + }, + "seed": { + "default": 0, + "description": "Randomness seed for reproducibility.", + "field_kind": "input", + "input": "any", + "orig_default": 0, + "orig_required": false, + "title": "Seed", + "type": "integer" + }, + "type": { + "const": "z_image_denoise", + "default": "z_image_denoise", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "z-image"], + "title": "Denoise - Z-Image", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "ZImageImageToLatentsInvocation": { + "category": "image", + "class": "invocation", + "classification": "prototype", + "description": "Generates latents from an image using Z-Image VAE.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "image": { + "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "default": null, + "description": "The image to encode.", + "field_kind": "input", + "input": "any", + "orig_required": true + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "type": { + "const": "z_image_i2l", + "default": "z_image_i2l", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["image", "latents", "vae", "i2l", "z-image"], + "title": "Image to Latents - Z-Image", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/LatentsOutput" } + }, + "ZImageLatentsToImageInvocation": { + "category": "latents", + "class": "invocation", + "classification": "prototype", + "description": "Generates an image from latents using Z-Image VAE.", + "node_pack": "invokeai", + "properties": { + "board": { + "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "default": null, + "description": "The board to save the image to", + "field_kind": "internal", + "input": "direct", + "orig_required": false, + "ui_hidden": false + }, + "metadata": { + "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "default": null, + "description": "Optional metadata to be saved with the image", + "field_kind": "internal", + "input": "connection", + "orig_required": false, + "ui_hidden": false + }, + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "latents": { + "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "default": null, + "description": "Latents tensor", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "vae": { + "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "default": null, + "description": "VAE", + "field_kind": "input", + "input": "connection", + "orig_required": true + }, + "type": { + "const": "z_image_l2i", + "default": "z_image_l2i", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["latents", "image", "vae", "l2i", "z-image"], + "title": "Latents to Image - Z-Image", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ImageOutput" } + }, + "ZImageLoRACollectionLoader": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Applies a collection of LoRAs to a Z-Image transformer.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "loras": { + "anyOf": [ + { "$ref": "#/components/schemas/LoRAField" }, + { "items": { "$ref": "#/components/schemas/LoRAField" }, "type": "array" }, + { "type": "null" } + ], + "default": null, + "description": "LoRA models and weights. May be a single LoRA or collection.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false, + "title": "LoRAs" + }, + "transformer": { + "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "default": null, + "description": "Transformer", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Transformer" + }, + "qwen3_encoder": { + "anyOf": [{ "$ref": "#/components/schemas/Qwen3EncoderField" }, { "type": "null" }], + "default": null, + "description": "Qwen3 tokenizer and text encoder", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Qwen3 Encoder" + }, + "type": { + "const": "z_image_lora_collection_loader", + "default": "z_image_lora_collection_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["lora", "model", "z-image"], + "title": "Apply LoRA Collection - Z-Image", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ZImageLoRALoaderOutput" } + }, + "ZImageLoRALoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "stable", + "description": "Apply a LoRA model to a Z-Image transformer and/or Qwen3 text encoder.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "lora": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "LoRA model to load", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "LoRA", + "ui_model_base": ["z-image"], + "ui_model_type": ["lora"] + }, + "weight": { + "default": 0.75, + "description": "The weight at which the LoRA is applied to each model", + "field_kind": "input", + "input": "any", + "orig_default": 0.75, + "orig_required": false, + "title": "Weight", + "type": "number" + }, + "transformer": { + "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "default": null, + "description": "Transformer", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Z-Image Transformer" + }, + "qwen3_encoder": { + "anyOf": [{ "$ref": "#/components/schemas/Qwen3EncoderField" }, { "type": "null" }], + "default": null, + "description": "Qwen3 tokenizer and text encoder", + "field_kind": "input", + "input": "connection", + "orig_default": null, + "orig_required": false, + "title": "Qwen3 Encoder" + }, + "type": { + "const": "z_image_lora_loader", + "default": "z_image_lora_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["lora", "model", "z-image"], + "title": "Apply LoRA - Z-Image", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ZImageLoRALoaderOutput" } + }, + "ZImageLoRALoaderOutput": { + "class": "output", + "description": "Z-Image LoRA Loader Output", + "properties": { + "transformer": { + "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "default": null, + "description": "Transformer", + "field_kind": "output", + "title": "Z-Image Transformer", + "ui_hidden": false + }, + "qwen3_encoder": { + "anyOf": [{ "$ref": "#/components/schemas/Qwen3EncoderField" }, { "type": "null" }], + "default": null, + "description": "Qwen3 tokenizer and text encoder", + "field_kind": "output", + "title": "Qwen3 Encoder", + "ui_hidden": false + }, + "type": { + "const": "z_image_lora_loader_output", + "default": "z_image_lora_loader_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "transformer", "qwen3_encoder", "type", "type"], + "title": "ZImageLoRALoaderOutput", + "type": "object" + }, + "ZImageModelLoaderInvocation": { + "category": "model", + "class": "invocation", + "classification": "prototype", + "description": "Loads a Z-Image model, outputting its submodels.\n\nSimilar to FLUX, you can mix and match components:\n- Transformer: From Z-Image main model (GGUF quantized or Diffusers format)\n- VAE: Separate FLUX VAE (shared with FLUX models) or from a Diffusers Z-Image model\n- Qwen3 Encoder: Separate Qwen3Encoder model or from a Diffusers Z-Image model", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Z-Image model (Transformer) to load", + "field_kind": "input", + "input": "direct", + "orig_required": true, + "title": "Transformer", + "ui_model_base": ["z-image"], + "ui_model_type": ["main"] + }, + "vae_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "Standalone VAE model. Z-Image uses the same VAE as FLUX (16-channel). If not provided, VAE will be loaded from the Qwen3 Source model.", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "VAE", + "ui_model_base": ["flux"], + "ui_model_type": ["vae"] + }, + "qwen3_encoder_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "Standalone Qwen3 Encoder model. If not provided, encoder will be loaded from the Qwen3 Source model.", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Qwen3 Encoder", + "ui_model_type": ["qwen3_encoder"] + }, + "qwen3_source_model": { + "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "default": null, + "description": "Diffusers Z-Image model to extract VAE and/or Qwen3 encoder from. Use this if you don't have separate VAE/Qwen3 models. Ignored if both VAE and Qwen3 Encoder are provided separately.", + "field_kind": "input", + "input": "direct", + "orig_default": null, + "orig_required": false, + "title": "Qwen3 Source (Diffusers)", + "ui_model_base": ["z-image"], + "ui_model_format": ["diffusers"], + "ui_model_type": ["main"] + }, + "type": { + "const": "z_image_model_loader", + "default": "z_image_model_loader", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["model", "type", "id"], + "tags": ["model", "z-image"], + "title": "Main Model - Z-Image", + "type": "object", + "version": "3.0.0", + "output": { "$ref": "#/components/schemas/ZImageModelLoaderOutput" } + }, + "ZImageModelLoaderOutput": { + "class": "output", + "description": "Z-Image base model loader output.", + "properties": { + "transformer": { + "$ref": "#/components/schemas/TransformerField", + "description": "Transformer", + "field_kind": "output", + "title": "Transformer", + "ui_hidden": false + }, + "qwen3_encoder": { + "$ref": "#/components/schemas/Qwen3EncoderField", + "description": "Qwen3 tokenizer and text encoder", + "field_kind": "output", + "title": "Qwen3 Encoder", + "ui_hidden": false + }, + "vae": { + "$ref": "#/components/schemas/VAEField", + "description": "VAE", + "field_kind": "output", + "title": "VAE", + "ui_hidden": false + }, + "type": { + "const": "z_image_model_loader_output", + "default": "z_image_model_loader_output", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["output_meta", "transformer", "qwen3_encoder", "vae", "type", "type"], + "title": "ZImageModelLoaderOutput", + "type": "object" + }, + "ZImageTextEncoderInvocation": { + "category": "conditioning", + "class": "invocation", + "classification": "prototype", + "description": "Encodes and preps a prompt for a Z-Image image.", + "node_pack": "invokeai", + "properties": { + "id": { + "description": "The id of this instance of an invocation. Must be unique among all instances of invocations.", + "field_kind": "node_attribute", + "title": "Id", + "type": "string" + }, + "is_intermediate": { + "default": false, + "description": "Whether or not this is an intermediate invocation.", + "field_kind": "node_attribute", + "input": "direct", + "orig_required": true, + "title": "Is Intermediate", + "type": "boolean", + "ui_hidden": false, + "ui_type": "IsIntermediate" + }, + "use_cache": { + "default": true, + "description": "Whether or not to use the cache", + "field_kind": "node_attribute", + "title": "Use Cache", + "type": "boolean" + }, + "prompt": { + "anyOf": [{ "type": "string" }, { "type": "null" }], + "default": null, + "description": "Text prompt to encode.", + "field_kind": "input", + "input": "any", + "orig_required": true, + "title": "Prompt", + "ui_component": "textarea" + }, + "qwen3_encoder": { + "anyOf": [{ "$ref": "#/components/schemas/Qwen3EncoderField" }, { "type": "null" }], + "default": null, + "description": "Qwen3 tokenizer and text encoder", + "field_kind": "input", + "input": "connection", + "orig_required": true, + "title": "Qwen3 Encoder" + }, + "type": { + "const": "z_image_text_encoder", + "default": "z_image_text_encoder", + "field_kind": "node_attribute", + "title": "type", + "type": "string" + } + }, + "required": ["type", "id"], + "tags": ["prompt", "conditioning", "z-image"], + "title": "Prompt - Z-Image", + "type": "object", + "version": "1.0.0", + "output": { "$ref": "#/components/schemas/ZImageConditioningOutput" } + } + } + } +} diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json index be5ecd9a9cf..28d7bd6002e 100644 --- a/invokeai/frontend/web/public/locales/en.json +++ b/invokeai/frontend/web/public/locales/en.json @@ -1023,6 +1023,13 @@ "mainModelTriggerPhrases": "Main Model Trigger Phrases", "typePhraseHere": "Type phrase here", "t5Encoder": "T5 Encoder", + "qwen3Encoder": "Qwen3 Encoder", + "zImageVae": "VAE (optional)", + "zImageVaePlaceholder": "From Qwen3 Source (leave empty)", + "zImageQwen3Encoder": "Qwen3 Encoder (optional)", + "zImageQwen3EncoderPlaceholder": "From Qwen3 Source (leave empty)", + "zImageQwen3Source": "Qwen3 Source (Diffusers Z-Image)", + "zImageQwen3SourcePlaceholder": "Required if VAE/Encoder empty", "upcastAttention": "Upcast Attention", "uploadImage": "Upload Image", "urlOrLocalPath": "URL or Local Path", @@ -1304,6 +1311,8 @@ "noT5EncoderModelSelected": "No T5 Encoder model selected for FLUX generation", "noFLUXVAEModelSelected": "No VAE model selected for FLUX generation", "noCLIPEmbedModelSelected": "No CLIP Embed model selected for FLUX generation", + "noZImageVaeSourceSelected": "No VAE source: Select VAE (FLUX) or Qwen3 Source model", + "noZImageQwen3EncoderSourceSelected": "No Qwen3 Encoder source: Select Qwen3 Encoder or Qwen3 Source model", "fluxModelIncompatibleBboxWidth": "$t(parameters.invoke.fluxRequiresDimensionsToBeMultipleOf16), bbox width is {{width}}", "fluxModelIncompatibleBboxHeight": "$t(parameters.invoke.fluxRequiresDimensionsToBeMultipleOf16), bbox height is {{height}}", "fluxModelIncompatibleScaledBboxWidth": "$t(parameters.invoke.fluxRequiresDimensionsToBeMultipleOf16), scaled bbox width is {{width}}", diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelSelected.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelSelected.ts index d5c58528cb9..ff82463ae78 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelSelected.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelSelected.ts @@ -3,7 +3,14 @@ import type { AppStartListening } from 'app/store/store'; import { bboxSyncedToOptimalDimension, rgRefImageModelChanged } from 'features/controlLayers/store/canvasSlice'; import { buildSelectIsStaging, selectCanvasSessionId } from 'features/controlLayers/store/canvasStagingAreaSlice'; import { loraIsEnabledChanged } from 'features/controlLayers/store/lorasSlice'; -import { modelChanged, syncedToOptimalDimension, vaeSelected } from 'features/controlLayers/store/paramsSlice'; +import { + modelChanged, + syncedToOptimalDimension, + vaeSelected, + zImageQwen3EncoderModelSelected, + zImageQwen3SourceModelSelected, + zImageVaeModelSelected, +} from 'features/controlLayers/store/paramsSlice'; import { refImageModelChanged, selectReferenceImageEntities } from 'features/controlLayers/store/refImagesSlice'; import { selectAllEntitiesOfType, @@ -57,6 +64,23 @@ export const addModelSelectedListener = (startAppListening: AppStartListening) = modelsUpdatedDisabledOrCleared += 1; } + // handle incompatible Z-Image models - clear if switching away from z-image + const { zImageVaeModel, zImageQwen3EncoderModel, zImageQwen3SourceModel } = state.params; + if (newBase !== 'z-image') { + if (zImageVaeModel) { + dispatch(zImageVaeModelSelected(null)); + modelsUpdatedDisabledOrCleared += 1; + } + if (zImageQwen3EncoderModel) { + dispatch(zImageQwen3EncoderModelSelected(null)); + modelsUpdatedDisabledOrCleared += 1; + } + if (zImageQwen3SourceModel) { + dispatch(zImageQwen3SourceModelSelected(null)); + modelsUpdatedDisabledOrCleared += 1; + } + } + if (SUPPORTS_REF_IMAGES_BASE_MODELS.includes(newModel.base)) { // Handle incompatible reference image models - switch to first compatible model, with some smart logic // to choose the best available model based on the new main model. diff --git a/invokeai/frontend/web/src/features/controlLayers/store/paramsSlice.ts b/invokeai/frontend/web/src/features/controlLayers/store/paramsSlice.ts index ecdd70f3cad..93b97618fed 100644 --- a/invokeai/frontend/web/src/features/controlLayers/store/paramsSlice.ts +++ b/invokeai/frontend/web/src/features/controlLayers/store/paramsSlice.ts @@ -161,6 +161,30 @@ const slice = createSlice({ } state.clipGEmbedModel = result.data; }, + zImageVaeModelSelected: (state, action: PayloadAction) => { + const result = zParamsState.shape.zImageVaeModel.safeParse(action.payload); + if (!result.success) { + return; + } + state.zImageVaeModel = result.data; + }, + zImageQwen3EncoderModelSelected: ( + state, + action: PayloadAction<{ key: string; name: string; base: string } | null> + ) => { + const result = zParamsState.shape.zImageQwen3EncoderModel.safeParse(action.payload); + if (!result.success) { + return; + } + state.zImageQwen3EncoderModel = result.data; + }, + zImageQwen3SourceModelSelected: (state, action: PayloadAction) => { + const result = zParamsState.shape.zImageQwen3SourceModel.safeParse(action.payload); + if (!result.success) { + return; + } + state.zImageQwen3SourceModel = result.data; + }, vaePrecisionChanged: (state, action: PayloadAction) => { state.vaePrecision = action.payload; }, @@ -404,6 +428,9 @@ const resetState = (state: ParamsState): ParamsState => { newState.t5EncoderModel = oldState.t5EncoderModel; newState.clipEmbedModel = oldState.clipEmbedModel; newState.refinerModel = oldState.refinerModel; + newState.zImageVaeModel = oldState.zImageVaeModel; + newState.zImageQwen3EncoderModel = oldState.zImageQwen3EncoderModel; + newState.zImageQwen3SourceModel = oldState.zImageQwen3SourceModel; return newState; }; @@ -437,6 +464,9 @@ export const { clipEmbedModelSelected, clipLEmbedModelSelected, clipGEmbedModelSelected, + zImageVaeModelSelected, + zImageQwen3EncoderModelSelected, + zImageQwen3SourceModelSelected, setClipSkip, shouldUseCpuNoiseChanged, setColorCompensation, @@ -501,6 +531,7 @@ export const selectIsSDXL = createParamsSelector((params) => params.model?.base export const selectIsFLUX = createParamsSelector((params) => params.model?.base === 'flux'); export const selectIsSD3 = createParamsSelector((params) => params.model?.base === 'sd-3'); export const selectIsCogView4 = createParamsSelector((params) => params.model?.base === 'cogview4'); +export const selectIsZImage = createParamsSelector((params) => params.model?.base === 'z-image'); export const selectIsFluxKontext = createParamsSelector((params) => { if (params.model?.base === 'flux' && params.model?.name.toLowerCase().includes('kontext')) { return true; @@ -518,6 +549,9 @@ export const selectCLIPEmbedModel = createParamsSelector((params) => params.clip export const selectCLIPLEmbedModel = createParamsSelector((params) => params.clipLEmbedModel); export const selectCLIPGEmbedModel = createParamsSelector((params) => params.clipGEmbedModel); +export const selectZImageVaeModel = createParamsSelector((params) => params.zImageVaeModel); +export const selectZImageQwen3EncoderModel = createParamsSelector((params) => params.zImageQwen3EncoderModel); +export const selectZImageQwen3SourceModel = createParamsSelector((params) => params.zImageQwen3SourceModel); export const selectCFGScale = createParamsSelector((params) => params.cfgScale); export const selectGuidance = createParamsSelector((params) => params.guidance); diff --git a/invokeai/frontend/web/src/features/controlLayers/store/types.ts b/invokeai/frontend/web/src/features/controlLayers/store/types.ts index 4d6860f7278..c23fc076dce 100644 --- a/invokeai/frontend/web/src/features/controlLayers/store/types.ts +++ b/invokeai/frontend/web/src/features/controlLayers/store/types.ts @@ -612,6 +612,10 @@ export const zParamsState = z.object({ clipLEmbedModel: zParameterCLIPLEmbedModel.nullable(), clipGEmbedModel: zParameterCLIPGEmbedModel.nullable(), controlLora: zParameterControlLoRAModel.nullable(), + // Z-Image model components - can use separate models or extract from a Diffusers source + zImageVaeModel: zParameterVAEModel.nullable(), // Optional: Separate FLUX VAE + zImageQwen3EncoderModel: zModelIdentifierField.nullable(), // Optional: Separate Qwen3 Encoder + zImageQwen3SourceModel: zParameterModel.nullable(), // Diffusers Z-Image model (fallback for VAE/Encoder) dimensions: zDimensionsState, }); export type ParamsState = z.infer; @@ -662,6 +666,9 @@ export const getInitialParamsState = (): ParamsState => ({ clipLEmbedModel: null, clipGEmbedModel: null, controlLora: null, + zImageVaeModel: null, + zImageQwen3EncoderModel: null, + zImageQwen3SourceModel: null, dimensions: { width: 512, height: 512, diff --git a/invokeai/frontend/web/src/features/modelManagerV2/models.ts b/invokeai/frontend/web/src/features/modelManagerV2/models.ts index 00fcf167757..e07e7f06320 100644 --- a/invokeai/frontend/web/src/features/modelManagerV2/models.ts +++ b/invokeai/frontend/web/src/features/modelManagerV2/models.ts @@ -10,6 +10,7 @@ import { isLLaVAModelConfig, isLoRAModelConfig, isNonRefinerMainModelConfig, + isQwen3EncoderModelConfig, isRefinerMainModelModelConfig, isSigLipModelConfig, isSpandrelImageToImageModelConfig, @@ -70,6 +71,11 @@ export const MODEL_CATEGORIES: Record = i18nKey: 'modelManager.t5Encoder', filter: isT5EncoderModelConfig, }, + qwen3_encoder: { + category: 'qwen3_encoder', + i18nKey: 'modelManager.qwen3Encoder', + filter: isQwen3EncoderModelConfig, + }, control_lora: { category: 'control_lora', i18nKey: 'modelManager.controlLora', @@ -156,6 +162,7 @@ export const MODEL_TYPE_TO_LONG_NAME: Record = { clip_vision: 'CLIP Vision', spandrel_image_to_image: 'Spandrel (Image to Image)', t5_encoder: 'T5 Encoder', + qwen3_encoder: 'Qwen3 Encoder', clip_embed: 'CLIP Embed', siglip: 'SigLIP', flux_redux: 'FLUX Redux', @@ -216,6 +223,7 @@ export const MODEL_FORMAT_TO_LONG_NAME: Record = { embedding_folder: 'Embedding (folder)', invokeai: 'InvokeAI', t5_encoder: 'T5 Encoder', + qwen3_encoder: 'Qwen3 Encoder', bnb_quantized_int8b: 'BNB Quantized (int8b)', bnb_quantized_nf4b: 'BNB Quantized (nf4b)', gguf_quantized: 'GGUF Quantized', diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelFormatBadge.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelFormatBadge.tsx index 2d0192425dc..7d44ee54637 100644 --- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelFormatBadge.tsx +++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelFormatBadge.tsx @@ -14,6 +14,7 @@ const FORMAT_NAME_MAP: Record = { embedding_file: 'embedding', embedding_folder: 'embedding', t5_encoder: 't5_encoder', + qwen3_encoder: 'qwen3_encoder', bnb_quantized_int8b: 'bnb_quantized_int8b', bnb_quantized_nf4b: 'quantized', gguf_quantized: 'gguf', @@ -32,6 +33,7 @@ const FORMAT_COLOR_MAP: Record = { embedding_file: 'base', embedding_folder: 'base', t5_encoder: 'base', + qwen3_encoder: 'base', bnb_quantized_int8b: 'base', bnb_quantized_nf4b: 'base', gguf_quantized: 'base', diff --git a/invokeai/frontend/web/src/features/nodes/types/common.ts b/invokeai/frontend/web/src/features/nodes/types/common.ts index 5dc9caa9acc..8aca866d7e6 100644 --- a/invokeai/frontend/web/src/features/nodes/types/common.ts +++ b/invokeai/frontend/web/src/features/nodes/types/common.ts @@ -93,6 +93,7 @@ export const zModelType = z.enum([ 'clip_vision', 'spandrel_image_to_image', 't5_encoder', + 'qwen3_encoder', 'clip_embed', 'siglip', 'flux_redux', @@ -131,6 +132,7 @@ export const zModelFormat = z.enum([ 'embedding_folder', 'invokeai', 't5_encoder', + 'qwen3_encoder', 'bnb_quantized_int8b', 'bnb_quantized_nf4b', 'gguf_quantized', diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts index 30f232d4954..0f1017ff905 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts @@ -1,6 +1,12 @@ import { logger } from 'app/logging/logger'; import { getPrefixedId } from 'features/controlLayers/konva/util'; -import { selectMainModelConfig, selectParamsSlice } from 'features/controlLayers/store/paramsSlice'; +import { + selectMainModelConfig, + selectParamsSlice, + selectZImageQwen3EncoderModel, + selectZImageQwen3SourceModel, + selectZImageVaeModel, +} from 'features/controlLayers/store/paramsSlice'; import { selectCanvasMetadata } from 'features/controlLayers/store/selectors'; import { fetchModelConfigWithTypeGuard } from 'features/metadata/util/modelFetchingHelpers'; import { addImageToImage } from 'features/nodes/util/graph/generation/addImageToImage'; @@ -30,6 +36,17 @@ export const buildZImageGraph = async (arg: GraphBuilderArg): Promise { + const dispatch = useAppDispatch(); + const { t } = useTranslation(); + const zImageVaeModel = useAppSelector(selectZImageVaeModel); + const [modelConfigs, { isLoading }] = useFluxVAEModels(); + + const _onChange = useCallback( + (model: VAEModelConfig | null) => { + if (model) { + dispatch(zImageVaeModelSelected(zModelIdentifierField.parse(model))); + } else { + dispatch(zImageVaeModelSelected(null)); + } + }, + [dispatch] + ); + + const { options, value, onChange, noOptionsMessage } = useModelCombobox({ + modelConfigs, + onChange: _onChange, + selectedModel: zImageVaeModel, + isLoading, + }); + + return ( + + {t('modelManager.zImageVae')} + + + ); +}); + +ParamZImageVaeModelSelect.displayName = 'ParamZImageVaeModelSelect'; + +/** + * Z-Image Qwen3 Encoder Model Select + */ +const ParamZImageQwen3EncoderModelSelect = memo(() => { + const dispatch = useAppDispatch(); + const { t } = useTranslation(); + const zImageQwen3EncoderModel = useAppSelector(selectZImageQwen3EncoderModel); + const [modelConfigs, { isLoading }] = useQwen3EncoderModels(); + + const _onChange = useCallback( + (model: Qwen3EncoderModelConfig | null) => { + if (model) { + dispatch(zImageQwen3EncoderModelSelected(zModelIdentifierField.parse(model))); + } else { + dispatch(zImageQwen3EncoderModelSelected(null)); + } + }, + [dispatch] + ); + + const { options, value, onChange, noOptionsMessage } = useModelCombobox({ + modelConfigs, + onChange: _onChange, + selectedModel: zImageQwen3EncoderModel, + isLoading, + }); + + return ( + + {t('modelManager.zImageQwen3Encoder')} + + + ); +}); + +ParamZImageQwen3EncoderModelSelect.displayName = 'ParamZImageQwen3EncoderModelSelect'; + +/** + * Z-Image Qwen3 Source Model Select - Diffusers Z-Image models for fallback + */ +const ParamZImageQwen3SourceModelSelect = memo(() => { + const dispatch = useAppDispatch(); + const { t } = useTranslation(); + const zImageQwen3SourceModel = useAppSelector(selectZImageQwen3SourceModel); + const [modelConfigs, { isLoading }] = useZImageDiffusersModels(); + + const _onChange = useCallback( + (model: MainModelConfig | null) => { + if (model) { + dispatch(zImageQwen3SourceModelSelected(zModelIdentifierField.parse(model))); + } else { + dispatch(zImageQwen3SourceModelSelected(null)); + } + }, + [dispatch] + ); + + const { options, value, onChange, noOptionsMessage } = useModelCombobox({ + modelConfigs, + onChange: _onChange, + selectedModel: zImageQwen3SourceModel, + isLoading, + }); + + return ( + + {t('modelManager.zImageQwen3Source')} + + + ); +}); + +ParamZImageQwen3SourceModelSelect.displayName = 'ParamZImageQwen3SourceModelSelect'; + +/** + * Combined component for Z-Image model selection + */ +const ParamZImageModelSelects = () => { + return ( + <> + + + + + ); +}; + +export default memo(ParamZImageModelSelects); diff --git a/invokeai/frontend/web/src/features/queue/store/readiness.ts b/invokeai/frontend/web/src/features/queue/store/readiness.ts index 45eb461d057..4da65c511d3 100644 --- a/invokeai/frontend/web/src/features/queue/store/readiness.ts +++ b/invokeai/frontend/web/src/features/queue/store/readiness.ts @@ -255,6 +255,19 @@ const getReasonsWhyCannotEnqueueGenerateTab = (arg: { } } + if (model?.base === 'z-image') { + // Check if VAE source is available (either separate VAE or Qwen3 Source) + const hasVaeSource = params.zImageVaeModel !== null || params.zImageQwen3SourceModel !== null; + if (!hasVaeSource) { + reasons.push({ content: i18n.t('parameters.invoke.noZImageVaeSourceSelected') }); + } + // Check if Qwen3 Encoder source is available (either separate Encoder or Qwen3 Source) + const hasQwen3Source = params.zImageQwen3EncoderModel !== null || params.zImageQwen3SourceModel !== null; + if (!hasQwen3Source) { + reasons.push({ content: i18n.t('parameters.invoke.noZImageQwen3EncoderSourceSelected') }); + } + } + if (model) { for (const lora of loras.filter(({ isEnabled }) => isEnabled === true)) { if (model.base !== lora.model.base) { @@ -573,6 +586,19 @@ const getReasonsWhyCannotEnqueueCanvasTab = (arg: { } } + if (model?.base === 'z-image') { + // Check if VAE source is available (either separate VAE or Qwen3 Source) + const hasVaeSource = params.zImageVaeModel !== null || params.zImageQwen3SourceModel !== null; + if (!hasVaeSource) { + reasons.push({ content: i18n.t('parameters.invoke.noZImageVaeSourceSelected') }); + } + // Check if Qwen3 Encoder source is available (either separate Encoder or Qwen3 Source) + const hasQwen3Source = params.zImageQwen3EncoderModel !== null || params.zImageQwen3SourceModel !== null; + if (!hasQwen3Source) { + reasons.push({ content: i18n.t('parameters.invoke.noZImageQwen3EncoderSourceSelected') }); + } + } + if (model) { for (const lora of loras.filter(({ isEnabled }) => isEnabled === true)) { if (model.base !== lora.model.base) { diff --git a/invokeai/frontend/web/src/features/settingsAccordions/components/AdvancedSettingsAccordion/AdvancedSettingsAccordion.tsx b/invokeai/frontend/web/src/features/settingsAccordions/components/AdvancedSettingsAccordion/AdvancedSettingsAccordion.tsx index 2212cd153cd..f65fcc386b7 100644 --- a/invokeai/frontend/web/src/features/settingsAccordions/components/AdvancedSettingsAccordion/AdvancedSettingsAccordion.tsx +++ b/invokeai/frontend/web/src/features/settingsAccordions/components/AdvancedSettingsAccordion/AdvancedSettingsAccordion.tsx @@ -3,13 +3,20 @@ import { Flex, FormControlGroup, StandaloneAccordion } from '@invoke-ai/ui-libra import { skipToken } from '@reduxjs/toolkit/query'; import { createMemoizedSelector } from 'app/store/createMemoizedSelector'; import { useAppSelector } from 'app/store/storeHooks'; -import { selectIsFLUX, selectIsSD3, selectParamsSlice, selectVAEKey } from 'features/controlLayers/store/paramsSlice'; +import { + selectIsFLUX, + selectIsSD3, + selectIsZImage, + selectParamsSlice, + selectVAEKey, +} from 'features/controlLayers/store/paramsSlice'; import ParamCFGRescaleMultiplier from 'features/parameters/components/Advanced/ParamCFGRescaleMultiplier'; import ParamCLIPEmbedModelSelect from 'features/parameters/components/Advanced/ParamCLIPEmbedModelSelect'; import ParamCLIPGEmbedModelSelect from 'features/parameters/components/Advanced/ParamCLIPGEmbedModelSelect'; import ParamCLIPLEmbedModelSelect from 'features/parameters/components/Advanced/ParamCLIPLEmbedModelSelect'; import ParamClipSkip from 'features/parameters/components/Advanced/ParamClipSkip'; import ParamT5EncoderModelSelect from 'features/parameters/components/Advanced/ParamT5EncoderModelSelect'; +import ParamZImageQwen3VaeModelSelect from 'features/parameters/components/Advanced/ParamZImageQwen3VaeModelSelect'; import ParamSeamlessXAxis from 'features/parameters/components/Seamless/ParamSeamlessXAxis'; import ParamSeamlessYAxis from 'features/parameters/components/Seamless/ParamSeamlessYAxis'; import ParamColorCompensation from 'features/parameters/components/VAEModel/ParamColorCompensation'; @@ -34,6 +41,7 @@ export const AdvancedSettingsAccordion = memo(() => { const { currentData: vaeConfig } = useGetModelConfigQuery(vaeKey ?? skipToken); const isFLUX = useAppSelector(selectIsFLUX); const isSD3 = useAppSelector(selectIsSD3); + const isZImage = useAppSelector(selectIsZImage); const selectBadges = useMemo( () => @@ -82,11 +90,13 @@ export const AdvancedSettingsAccordion = memo(() => { return ( - - {isFLUX ? : } - {!isFLUX && !isSD3 && } - - {!isFLUX && !isSD3 && ( + {!isZImage && ( + + {isFLUX ? : } + {!isFLUX && !isSD3 && } + + )} + {!isFLUX && !isSD3 && !isZImage && ( <> @@ -116,6 +126,11 @@ export const AdvancedSettingsAccordion = memo(() => { )} + {isZImage && ( + + + + )} ); diff --git a/invokeai/frontend/web/src/services/api/hooks/modelsByType.ts b/invokeai/frontend/web/src/services/api/hooks/modelsByType.ts index aaeb84a4cc2..ce1676ff3be 100644 --- a/invokeai/frontend/web/src/services/api/hooks/modelsByType.ts +++ b/invokeai/frontend/web/src/services/api/hooks/modelsByType.ts @@ -18,11 +18,13 @@ import { isIPAdapterModelConfig, isLoRAModelConfig, isNonRefinerMainModelConfig, + isQwen3EncoderModelConfig, isRefinerMainModelModelConfig, isSpandrelImageToImageModelConfig, isT5EncoderModelConfigOrSubmodel, isTIModelConfig, isVAEModelConfigOrSubmodel, + isZImageDiffusersMainModelConfig, } from 'services/api/types'; const buildModelsHook = @@ -53,6 +55,8 @@ export const useSpandrelImageToImageModels = buildModelsHook(isSpandrelImageToIm export const useEmbeddingModels = buildModelsHook(isTIModelConfig); export const useVAEModels = () => buildModelsHook(isVAEModelConfigOrSubmodel)(); export const useFluxVAEModels = () => buildModelsHook(isFluxVAEModelConfig)(); +export const useZImageDiffusersModels = () => buildModelsHook(isZImageDiffusersMainModelConfig)(); +export const useQwen3EncoderModels = () => buildModelsHook(isQwen3EncoderModelConfig)(); export const useGlobalReferenceImageModels = buildModelsHook( (config) => isIPAdapterModelConfig(config) || isFluxReduxModelConfig(config) || isFluxKontextModelConfig(config) ); diff --git a/invokeai/frontend/web/src/services/api/schema.ts b/invokeai/frontend/web/src/services/api/schema.ts index d9b316b2c22..ee38acdc115 100644 --- a/invokeai/frontend/web/src/services/api/schema.ts +++ b/invokeai/frontend/web/src/services/api/schema.ts @@ -2012,7 +2012,7 @@ export type components = { */ type: "alpha_mask_to_tensor"; }; - AnyModelConfig: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + AnyModelConfig: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; /** * AppVersion * @description App Version Response @@ -12963,14 +12963,14 @@ export type components = { * Convert Cache Dir * Format: path * @description Path to the converted models cache directory (DEPRECATED, but do not delete because it is needed for migration from previous versions). - * @default models/.convert_cache + * @default models\.convert_cache */ convert_cache_dir?: string; /** * Download Cache Dir * Format: path * @description Path to the directory that contains dynamically downloaded models. - * @default models/.download_cache + * @default models\.download_cache */ download_cache_dir?: string; /** @@ -16788,6 +16788,89 @@ export type components = { format: "gguf_quantized"; variant: components["schemas"]["FluxVariantType"]; }; + /** + * Main_GGUF_ZImage_Config + * @description Model config for GGUF-quantized Z-Image transformer models. + */ + Main_GGUF_ZImage_Config: { + /** + * Key + * @description A unique key for this model. + */ + key: string; + /** + * Hash + * @description The hash of the model file(s). + */ + hash: string; + /** + * Path + * @description Path to the model on the filesystem. Relative paths are relative to the Invoke root directory. + */ + path: string; + /** + * File Size + * @description The size of the model in bytes. + */ + file_size: number; + /** + * Name + * @description Name of the model. + */ + name: string; + /** + * Description + * @description Model description + */ + description: string | null; + /** + * Source + * @description The original source of the model (path, URL or repo_id). + */ + source: string; + /** @description The type of source */ + source_type: components["schemas"]["ModelSourceType"]; + /** + * Source Api Response + * @description The original API response from the source, as stringified JSON. + */ + source_api_response: string | null; + /** + * Cover Image + * @description Url for image to preview model + */ + cover_image: string | null; + /** + * Type + * @default main + * @constant + */ + type: "main"; + /** + * Trigger Phrases + * @description Set of trigger phrases for this model + */ + trigger_phrases: string[] | null; + /** @description Default settings for this model */ + default_settings: components["schemas"]["MainModelDefaultSettings"] | null; + /** + * Config Path + * @description Path to the config for this model, if any. + */ + config_path: string | null; + /** + * Base + * @default z-image + * @constant + */ + base: "z-image"; + /** + * Format + * @default gguf_quantized + * @constant + */ + format: "gguf_quantized"; + }; /** * Combine Masks * @description Combine two masks together by multiplying them using `PIL.ImageChops.multiply()`. @@ -18479,7 +18562,7 @@ export type components = { * @description Storage format of model. * @enum {string} */ - ModelFormat: "omi" | "diffusers" | "checkpoint" | "lycoris" | "onnx" | "olive" | "embedding_file" | "embedding_folder" | "invokeai" | "t5_encoder" | "bnb_quantized_int8b" | "bnb_quantized_nf4b" | "gguf_quantized" | "unknown"; + ModelFormat: "omi" | "diffusers" | "checkpoint" | "lycoris" | "onnx" | "olive" | "embedding_file" | "embedding_folder" | "invokeai" | "t5_encoder" | "qwen3_encoder" | "bnb_quantized_int8b" | "bnb_quantized_nf4b" | "gguf_quantized" | "unknown"; /** ModelIdentifierField */ ModelIdentifierField: { /** @@ -18616,7 +18699,7 @@ export type components = { * Config * @description The installed model's config */ - config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; }; /** * ModelInstallDownloadProgressEvent @@ -18782,7 +18865,7 @@ export type components = { * Config Out * @description After successful installation, this will hold the configuration object. */ - config_out?: (components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]) | null; + config_out?: (components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]) | null; /** * Inplace * @description Leave model in its current location; otherwise install under models directory @@ -18868,7 +18951,7 @@ export type components = { * Config * @description The model's config */ - config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; /** * @description The submodel type, if any * @default null @@ -18889,7 +18972,7 @@ export type components = { * Config * @description The model's config */ - config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; /** * @description The submodel type, if any * @default null @@ -19045,7 +19128,7 @@ export type components = { * @description Model type. * @enum {string} */ - ModelType: "onnx" | "main" | "vae" | "lora" | "control_lora" | "controlnet" | "embedding" | "ip_adapter" | "clip_vision" | "clip_embed" | "t2i_adapter" | "t5_encoder" | "spandrel_image_to_image" | "siglip" | "flux_redux" | "llava_onevision" | "unknown"; + ModelType: "onnx" | "main" | "vae" | "lora" | "control_lora" | "controlnet" | "embedding" | "ip_adapter" | "clip_vision" | "clip_embed" | "t2i_adapter" | "t5_encoder" | "qwen3_encoder" | "spandrel_image_to_image" | "siglip" | "flux_redux" | "llava_onevision" | "unknown"; /** * ModelVariantType * @description Variant type. @@ -19058,7 +19141,7 @@ export type components = { */ ModelsList: { /** Models */ - models: (components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"])[]; + models: (components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"])[]; }; /** * Multiply Integers @@ -19750,6 +19833,80 @@ export type components = { */ loras?: components["schemas"]["LoRAField"][]; }; + /** + * Qwen3Encoder_Qwen3Encoder_Config + * @description Configuration for Qwen3 Encoder models in a diffusers-like format. + * + * The model weights are expected to be in a folder called text_encoder inside the model directory, + * compatible with Qwen2VLForConditionalGeneration or similar architectures used by Z-Image. + */ + Qwen3Encoder_Qwen3Encoder_Config: { + /** + * Key + * @description A unique key for this model. + */ + key: string; + /** + * Hash + * @description The hash of the model file(s). + */ + hash: string; + /** + * Path + * @description Path to the model on the filesystem. Relative paths are relative to the Invoke root directory. + */ + path: string; + /** + * File Size + * @description The size of the model in bytes. + */ + file_size: number; + /** + * Name + * @description Name of the model. + */ + name: string; + /** + * Description + * @description Model description + */ + description: string | null; + /** + * Source + * @description The original source of the model (path, URL or repo_id). + */ + source: string; + /** @description The type of source */ + source_type: components["schemas"]["ModelSourceType"]; + /** + * Source Api Response + * @description The original API response from the source, as stringified JSON. + */ + source_api_response: string | null; + /** + * Cover Image + * @description Url for image to preview model + */ + cover_image: string | null; + /** + * Base + * @default any + * @constant + */ + base: "any"; + /** + * Type + * @default qwen3_encoder + * @constant + */ + type: "qwen3_encoder"; + /** + * Format + * @default qwen3_encoder + * @constant + */ + format: "qwen3_encoder"; + }; /** * Random Float * @description Outputs a single random float @@ -25013,7 +25170,12 @@ export type components = { }; /** * Main Model - Z-Image - * @description Loads a Z-Image base model, outputting its submodels. + * @description Loads a Z-Image model, outputting its submodels. + * + * Similar to FLUX, you can mix and match components: + * - Transformer: From Z-Image main model (GGUF quantized or Diffusers format) + * - VAE: Separate FLUX VAE (shared with FLUX models) or from a Diffusers Z-Image model + * - Qwen3 Encoder: Separate Qwen3Encoder model or from a Diffusers Z-Image model */ ZImageModelLoaderInvocation: { /** @@ -25033,8 +25195,29 @@ export type components = { * @default true */ use_cache?: boolean; - /** @description Z-Image model (Transformer) to load */ + /** + * Transformer + * @description Z-Image model (Transformer) to load + */ model: components["schemas"]["ModelIdentifierField"]; + /** + * VAE + * @description Standalone VAE model. Z-Image uses the same VAE as FLUX (16-channel). If not provided, VAE will be loaded from the Qwen3 Source model. + * @default null + */ + vae_model?: components["schemas"]["ModelIdentifierField"] | null; + /** + * Qwen3 Encoder + * @description Standalone Qwen3 Encoder model. If not provided, encoder will be loaded from the Qwen3 Source model. + * @default null + */ + qwen3_encoder_model?: components["schemas"]["ModelIdentifierField"] | null; + /** + * Qwen3 Source (Diffusers) + * @description Diffusers Z-Image model to extract VAE and/or Qwen3 encoder from. Use this if you don't have separate VAE/Qwen3 models. Ignored if both VAE and Qwen3 Encoder are provided separately. + * @default null + */ + qwen3_source_model?: components["schemas"]["ModelIdentifierField"] | null; /** * type * @default z_image_model_loader @@ -25212,7 +25395,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Validation Error */ @@ -25262,7 +25445,7 @@ export interface operations { * "repo_variant": "fp16", * "upcast_attention": false * } */ - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Bad request */ @@ -25367,7 +25550,7 @@ export interface operations { * "repo_variant": "fp16", * "upcast_attention": false * } */ - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Bad request */ @@ -25438,7 +25621,7 @@ export interface operations { * "repo_variant": "fp16", * "upcast_attention": false * } */ - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Bad request */ @@ -25945,7 +26128,7 @@ export interface operations { * "repo_variant": "fp16", * "upcast_attention": false * } */ - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Bad request */ diff --git a/invokeai/frontend/web/src/services/api/types.ts b/invokeai/frontend/web/src/services/api/types.ts index fa4c04a62eb..b288496751c 100644 --- a/invokeai/frontend/web/src/services/api/types.ts +++ b/invokeai/frontend/web/src/services/api/types.ts @@ -95,6 +95,7 @@ export type T5EncoderBnbQuantizedLlmInt8bModelConfig = Extract< S['AnyModelConfig'], { type: 't5_encoder'; format: 'bnb_quantized_int8b' } >; +export type Qwen3EncoderModelConfig = Extract; export type SpandrelImageToImageModelConfig = Extract; export type CheckpointModelConfig = Extract; type CLIPVisionDiffusersConfig = Extract; @@ -220,6 +221,10 @@ export const isT5EncoderModelConfig = ( return config.type === 't5_encoder'; }; +export const isQwen3EncoderModelConfig = (config: AnyModelConfig): config is Qwen3EncoderModelConfig => { + return config.type === 'qwen3_encoder'; +}; + export const isCLIPEmbedModelConfigOrSubmodel = ( config: AnyModelConfig, excludeSubmodels?: boolean @@ -292,6 +297,10 @@ export const isFluxFillMainModelModelConfig = (config: AnyModelConfig): config i return config.type === 'main' && config.base === 'flux' && config.variant === 'dev_fill'; }; +export const isZImageDiffusersMainModelConfig = (config: AnyModelConfig): config is MainModelConfig => { + return config.type === 'main' && config.base === 'z-image' && config.format === 'diffusers'; +}; + export const isTIModelConfig = (config: AnyModelConfig): config is MainModelConfig => { return config.type === 'embedding'; }; From 66729ea9eb70ceecac5400f84681d2c1687c2ea4 Mon Sep 17 00:00:00 2001 From: Alexander Eichhorn Date: Wed, 3 Dec 2025 03:28:43 +0100 Subject: [PATCH 7/9] Fix windows path again again again... --- invokeai/frontend/web/src/services/api/schema.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/services/api/schema.ts b/invokeai/frontend/web/src/services/api/schema.ts index ee38acdc115..29bc1760c39 100644 --- a/invokeai/frontend/web/src/services/api/schema.ts +++ b/invokeai/frontend/web/src/services/api/schema.ts @@ -12963,14 +12963,14 @@ export type components = { * Convert Cache Dir * Format: path * @description Path to the converted models cache directory (DEPRECATED, but do not delete because it is needed for migration from previous versions). - * @default models\.convert_cache + * @default models/.convert_cache */ convert_cache_dir?: string; /** * Download Cache Dir * Format: path * @description Path to the directory that contains dynamically downloaded models. - * @default models\.download_cache + * @default models/.download_cache */ download_cache_dir?: string; /** From 23d2e1c9ee7cb202cfb7cd37303f940bcab9f350 Mon Sep 17 00:00:00 2001 From: Alexander Eichhorn Date: Thu, 4 Dec 2025 20:45:51 +0100 Subject: [PATCH 8/9] feat: Add Regional Guidance support for Z-Image model Implements regional prompting for Z-Image (S3-DiT Transformer) allowing different prompts to affect different image regions using attention masks. Backend changes: - Add ZImageRegionalPromptingExtension for mask preparation - Add ZImageTextConditioning and ZImageRegionalTextConditioning data classes - Patch transformer forward to inject 4D regional attention masks - Use additive float mask (0.0 attend, -inf block) in bfloat16 for compatibility - Alternate regional/full attention layers for global coherence Frontend changes: - Update buildZImageGraph to support regional conditioning collectors - Update addRegions to create z_image_text_encoder nodes for regions - Update addZImageLoRAs to handle optional negCond when guidance_scale=0 - Add Z-Image validation (no IP adapters, no autoNegative) --- invokeai/app/invocations/fields.py | 5 + invokeai/app/invocations/z_image_denoise.py | 115 +- .../app/invocations/z_image_text_encoder.py | 26 +- invokeai/backend/z_image/__init__.py | 1 + .../backend/z_image/extensions/__init__.py | 1 + .../regional_prompting_extension.py | 207 + invokeai/backend/z_image/text_conditioning.py | 74 + .../z_image/z_image_transformer_patch.py | 232 + invokeai/frontend/web/openapi.json | 29025 +++++++++++++--- .../controlLayers/store/validators.ts | 11 + .../nodes/util/graph/generation/addRegions.ts | 49 +- .../util/graph/generation/addZImageLoRAs.ts | 9 +- .../util/graph/generation/buildZImageGraph.ts | 67 +- .../frontend/web/src/services/api/schema.ts | 28 +- 14 files changed, 24512 insertions(+), 5338 deletions(-) create mode 100644 invokeai/backend/z_image/__init__.py create mode 100644 invokeai/backend/z_image/extensions/__init__.py create mode 100644 invokeai/backend/z_image/extensions/regional_prompting_extension.py create mode 100644 invokeai/backend/z_image/text_conditioning.py create mode 100644 invokeai/backend/z_image/z_image_transformer_patch.py diff --git a/invokeai/app/invocations/fields.py b/invokeai/app/invocations/fields.py index 0973d23ce3b..aa919f592a2 100644 --- a/invokeai/app/invocations/fields.py +++ b/invokeai/app/invocations/fields.py @@ -327,6 +327,11 @@ class ZImageConditioningField(BaseModel): """A Z-Image conditioning tensor primitive value""" conditioning_name: str = Field(description="The name of conditioning tensor") + mask: Optional[TensorField] = Field( + default=None, + description="The mask associated with this conditioning tensor for regional prompting. " + "Excluded regions should be set to False, included regions should be set to True.", + ) class ConditioningField(BaseModel): diff --git a/invokeai/app/invocations/z_image_denoise.py b/invokeai/app/invocations/z_image_denoise.py index 82e49484e8a..c7781c9d907 100644 --- a/invokeai/app/invocations/z_image_denoise.py +++ b/invokeai/app/invocations/z_image_denoise.py @@ -29,6 +29,9 @@ from invokeai.backend.stable_diffusion.diffusers_pipeline import PipelineIntermediateState from invokeai.backend.stable_diffusion.diffusion.conditioning_data import ZImageConditioningInfo from invokeai.backend.util.devices import TorchDevice +from invokeai.backend.z_image.extensions.regional_prompting_extension import ZImageRegionalPromptingExtension +from invokeai.backend.z_image.text_conditioning import ZImageTextConditioning +from invokeai.backend.z_image.z_image_transformer_patch import patch_transformer_for_regional_prompting @invocation( @@ -36,11 +39,14 @@ title="Denoise - Z-Image", tags=["image", "z-image"], category="image", - version="1.0.0", + version="1.2.0", classification=Classification.Prototype, ) class ZImageDenoiseInvocation(BaseInvocation, WithMetadata, WithBoard): - """Run the denoising process with a Z-Image model.""" + """Run the denoising process with a Z-Image model. + + Supports regional prompting by connecting multiple conditioning inputs with masks. + """ # If latents is provided, this means we are doing image-to-image. latents: Optional[LatentsField] = InputField( @@ -55,10 +61,10 @@ class ZImageDenoiseInvocation(BaseInvocation, WithMetadata, WithBoard): transformer: TransformerField = InputField( description=FieldDescriptions.z_image_model, input=Input.Connection, title="Transformer" ) - positive_conditioning: ZImageConditioningField = InputField( + positive_conditioning: ZImageConditioningField | list[ZImageConditioningField] = InputField( description=FieldDescriptions.positive_cond, input=Input.Connection ) - negative_conditioning: Optional[ZImageConditioningField] = InputField( + negative_conditioning: ZImageConditioningField | list[ZImageConditioningField] | None = InputField( default=None, description=FieldDescriptions.negative_cond, input=Input.Connection ) # Z-Image-Turbo uses guidance_scale=0.0 by default (no CFG) @@ -105,17 +111,50 @@ def _prep_inpaint_mask(self, context: InvocationContext, latents: torch.Tensor) def _load_text_conditioning( self, context: InvocationContext, - conditioning_name: str, + cond_field: ZImageConditioningField | list[ZImageConditioningField], + img_height: int, + img_width: int, dtype: torch.dtype, device: torch.device, - ) -> torch.Tensor: - """Load Z-Image text conditioning.""" - cond_data = context.conditioning.load(conditioning_name) - assert len(cond_data.conditionings) == 1 - z_image_conditioning = cond_data.conditionings[0] - assert isinstance(z_image_conditioning, ZImageConditioningInfo) - z_image_conditioning = z_image_conditioning.to(dtype=dtype, device=device) - return z_image_conditioning.prompt_embeds + ) -> list[ZImageTextConditioning]: + """Load Z-Image text conditioning with optional regional masks. + + Args: + context: The invocation context. + cond_field: Single conditioning field or list of fields. + img_height: Height of the image token grid (H // patch_size). + img_width: Width of the image token grid (W // patch_size). + dtype: Target dtype. + device: Target device. + + Returns: + List of ZImageTextConditioning objects with embeddings and masks. + """ + # Normalize to a list + cond_list = [cond_field] if isinstance(cond_field, ZImageConditioningField) else cond_field + + text_conditionings: list[ZImageTextConditioning] = [] + for cond in cond_list: + # Load the text embeddings + cond_data = context.conditioning.load(cond.conditioning_name) + assert len(cond_data.conditionings) == 1 + z_image_conditioning = cond_data.conditionings[0] + assert isinstance(z_image_conditioning, ZImageConditioningInfo) + z_image_conditioning = z_image_conditioning.to(dtype=dtype, device=device) + prompt_embeds = z_image_conditioning.prompt_embeds + + # Load the mask, if provided + mask: torch.Tensor | None = None + if cond.mask is not None: + mask = context.tensors.load(cond.mask.tensor_name) + mask = mask.to(device=device) + mask = ZImageRegionalPromptingExtension.preprocess_regional_prompt_mask( + mask, img_height, img_width, dtype, device + ) + + text_conditionings.append(ZImageTextConditioning(prompt_embeds=prompt_embeds, mask=mask)) + + return text_conditionings def _get_noise( self, @@ -190,32 +229,53 @@ def _run_diffusion(self, context: InvocationContext) -> torch.Tensor: transformer_info = context.models.load(self.transformer.transformer) - # Load positive conditioning - pos_prompt_embeds = self._load_text_conditioning( + # Calculate image token grid dimensions + patch_size = 2 # Z-Image uses patch_size=2 + latent_height = self.height // LATENT_SCALE_FACTOR + latent_width = self.width // LATENT_SCALE_FACTOR + img_token_height = latent_height // patch_size + img_token_width = latent_width // patch_size + img_seq_len = img_token_height * img_token_width + + # Load positive conditioning with regional masks + pos_text_conditionings = self._load_text_conditioning( context=context, - conditioning_name=self.positive_conditioning.conditioning_name, + cond_field=self.positive_conditioning, + img_height=img_token_height, + img_width=img_token_width, dtype=inference_dtype, device=device, ) + # Create regional prompting extension + regional_extension = ZImageRegionalPromptingExtension.from_text_conditionings( + text_conditionings=pos_text_conditionings, + img_seq_len=img_seq_len, + ) + + # Get the concatenated prompt embeddings for the transformer + pos_prompt_embeds = regional_extension.regional_text_conditioning.prompt_embeds + # Load negative conditioning if provided and guidance_scale > 0 neg_prompt_embeds: torch.Tensor | None = None do_classifier_free_guidance = self.guidance_scale > 0.0 and self.negative_conditioning is not None if do_classifier_free_guidance: assert self.negative_conditioning is not None - neg_prompt_embeds = self._load_text_conditioning( + # Load all negative conditionings and concatenate embeddings + # Note: We ignore masks for negative conditioning as regional negative prompting is not fully supported + neg_text_conditionings = self._load_text_conditioning( context=context, - conditioning_name=self.negative_conditioning.conditioning_name, + cond_field=self.negative_conditioning, + img_height=img_token_height, + img_width=img_token_width, dtype=inference_dtype, device=device, ) - - # Calculate image sequence length for timestep shifting - patch_size = 2 # Z-Image uses patch_size=2 - image_seq_len = ((self.height // LATENT_SCALE_FACTOR) * (self.width // LATENT_SCALE_FACTOR)) // (patch_size**2) + # Concatenate all negative embeddings + neg_prompt_embeds = torch.cat([tc.prompt_embeds for tc in neg_text_conditionings], dim=0) # Calculate shift based on image sequence length - mu = self._calculate_shift(image_seq_len) + mu = self._calculate_shift(img_seq_len) # Generate sigma schedule with time shift sigmas = self._get_sigmas(mu, self.steps) @@ -312,6 +372,15 @@ def _run_diffusion(self, context: InvocationContext) -> torch.Tensor: ) ) + # Apply regional prompting patch if we have regional masks + exit_stack.enter_context( + patch_transformer_for_regional_prompting( + transformer=transformer, + regional_attn_mask=regional_extension.regional_attn_mask, + img_seq_len=img_seq_len, + ) + ) + # Denoising loop for step_idx in tqdm(range(total_steps)): sigma_curr = sigmas[step_idx] diff --git a/invokeai/app/invocations/z_image_text_encoder.py b/invokeai/app/invocations/z_image_text_encoder.py index 5104a122de9..1a4a38367ae 100644 --- a/invokeai/app/invocations/z_image_text_encoder.py +++ b/invokeai/app/invocations/z_image_text_encoder.py @@ -1,11 +1,18 @@ from contextlib import ExitStack -from typing import Iterator, Tuple +from typing import Iterator, Optional, Tuple import torch from transformers import PreTrainedModel, PreTrainedTokenizerBase from invokeai.app.invocations.baseinvocation import BaseInvocation, Classification, invocation -from invokeai.app.invocations.fields import FieldDescriptions, Input, InputField, UIComponent +from invokeai.app.invocations.fields import ( + FieldDescriptions, + Input, + InputField, + TensorField, + UIComponent, + ZImageConditioningField, +) from invokeai.app.invocations.model import Qwen3EncoderField from invokeai.app.invocations.primitives import ZImageConditioningOutput from invokeai.app.services.shared.invocation_context import InvocationContext @@ -27,11 +34,14 @@ title="Prompt - Z-Image", tags=["prompt", "conditioning", "z-image"], category="conditioning", - version="1.0.0", + version="1.1.0", classification=Classification.Prototype, ) class ZImageTextEncoderInvocation(BaseInvocation): - """Encodes and preps a prompt for a Z-Image image.""" + """Encodes and preps a prompt for a Z-Image image. + + Supports regional prompting by connecting a mask input. + """ prompt: str = InputField(description="Text prompt to encode.", ui_component=UIComponent.Textarea) qwen3_encoder: Qwen3EncoderField = InputField( @@ -39,13 +49,19 @@ class ZImageTextEncoderInvocation(BaseInvocation): description=FieldDescriptions.qwen3_encoder, input=Input.Connection, ) + mask: Optional[TensorField] = InputField( + default=None, + description="A mask defining the region that this conditioning prompt applies to.", + ) @torch.no_grad() def invoke(self, context: InvocationContext) -> ZImageConditioningOutput: prompt_embeds = self._encode_prompt(context, max_seq_len=Z_IMAGE_MAX_SEQ_LEN) conditioning_data = ConditioningFieldData(conditionings=[ZImageConditioningInfo(prompt_embeds=prompt_embeds)]) conditioning_name = context.conditioning.save(conditioning_data) - return ZImageConditioningOutput.build(conditioning_name) + return ZImageConditioningOutput( + conditioning=ZImageConditioningField(conditioning_name=conditioning_name, mask=self.mask) + ) def _encode_prompt(self, context: InvocationContext, max_seq_len: int) -> torch.Tensor: """Encode prompt using Qwen3 text encoder. diff --git a/invokeai/backend/z_image/__init__.py b/invokeai/backend/z_image/__init__.py new file mode 100644 index 00000000000..556841e7471 --- /dev/null +++ b/invokeai/backend/z_image/__init__.py @@ -0,0 +1 @@ +# Z-Image backend utilities diff --git a/invokeai/backend/z_image/extensions/__init__.py b/invokeai/backend/z_image/extensions/__init__.py new file mode 100644 index 00000000000..318b401c79c --- /dev/null +++ b/invokeai/backend/z_image/extensions/__init__.py @@ -0,0 +1 @@ +# Z-Image extensions diff --git a/invokeai/backend/z_image/extensions/regional_prompting_extension.py b/invokeai/backend/z_image/extensions/regional_prompting_extension.py new file mode 100644 index 00000000000..bed15b97baa --- /dev/null +++ b/invokeai/backend/z_image/extensions/regional_prompting_extension.py @@ -0,0 +1,207 @@ +from typing import Optional + +import torch +import torchvision + +from invokeai.backend.util.devices import TorchDevice +from invokeai.backend.util.mask import to_standard_float_mask +from invokeai.backend.z_image.text_conditioning import ZImageRegionalTextConditioning, ZImageTextConditioning + + +class ZImageRegionalPromptingExtension: + """A class for managing regional prompting with Z-Image. + + This implementation is inspired by the FLUX regional prompting extension and + the paper https://arxiv.org/pdf/2411.02395. + + Key difference from FLUX: Z-Image uses sequence order [img_tokens, txt_tokens], + while FLUX uses [txt_tokens, img_tokens]. The attention mask construction + accounts for this difference. + """ + + def __init__( + self, + regional_text_conditioning: ZImageRegionalTextConditioning, + regional_attn_mask: torch.Tensor | None = None, + ): + self.regional_text_conditioning = regional_text_conditioning + self.regional_attn_mask = regional_attn_mask + + def get_attn_mask(self, block_index: int) -> torch.Tensor | None: + """Get the attention mask for a given block index. + + Uses alternating pattern: apply mask on even blocks, no mask on odd blocks. + This helps balance regional control with global coherence. + """ + order = [self.regional_attn_mask, None] + return order[block_index % len(order)] + + @classmethod + def from_text_conditionings( + cls, + text_conditionings: list[ZImageTextConditioning], + img_seq_len: int, + ) -> "ZImageRegionalPromptingExtension": + """Create a ZImageRegionalPromptingExtension from a list of text conditionings. + + Args: + text_conditionings: List of text conditionings with optional masks. + img_seq_len: The image sequence length (i.e. (H // patch_size) * (W // patch_size)). + + Returns: + A configured ZImageRegionalPromptingExtension. + """ + regional_text_conditioning = ZImageRegionalTextConditioning.from_text_conditionings(text_conditionings) + attn_mask = cls._prepare_regional_attn_mask(regional_text_conditioning, img_seq_len) + return cls( + regional_text_conditioning=regional_text_conditioning, + regional_attn_mask=attn_mask, + ) + + @classmethod + def _prepare_regional_attn_mask( + cls, + regional_text_conditioning: ZImageRegionalTextConditioning, + img_seq_len: int, + ) -> torch.Tensor | None: + """Prepare a regional attention mask for Z-Image. + + The mask controls which tokens can attend to each other: + - Image tokens within a region attend only to each other + - Image tokens attend only to their corresponding regional text + - Text tokens attend only to their corresponding regional image + - Text tokens attend to themselves + + Z-Image sequence order: [img_tokens, txt_tokens] + + Args: + regional_text_conditioning: The regional text conditioning data. + img_seq_len: Number of image tokens. + + Returns: + Attention mask of shape (img_seq_len + txt_seq_len, img_seq_len + txt_seq_len). + Returns None if no regional masks are present. + """ + # Check if any regional masks exist + has_regional_masks = any(mask is not None for mask in regional_text_conditioning.image_masks) + if not has_regional_masks: + # No regional masks, return None to use default attention + return None + + # Identify background region (area not covered by any mask) + background_region_mask: torch.Tensor | None = None + for image_mask in regional_text_conditioning.image_masks: + if image_mask is not None: + # image_mask shape: (1, 1, img_seq_len) -> flatten to (img_seq_len,) + mask_flat = image_mask.view(-1) + if background_region_mask is None: + background_region_mask = torch.ones_like(mask_flat) + background_region_mask = background_region_mask * (1 - mask_flat) + + device = TorchDevice.choose_torch_device() + txt_seq_len = regional_text_conditioning.prompt_embeds.shape[0] + total_seq_len = img_seq_len + txt_seq_len + + # Initialize empty attention mask + # Z-Image sequence: [img_tokens (0:img_seq_len), txt_tokens (img_seq_len:total_seq_len)] + regional_attention_mask = torch.zeros((total_seq_len, total_seq_len), device=device, dtype=torch.float16) + + for image_mask, embedding_range in zip( + regional_text_conditioning.image_masks, + regional_text_conditioning.embedding_ranges, + strict=True, + ): + # Calculate text token positions in the unified sequence + txt_start = img_seq_len + embedding_range.start + txt_end = img_seq_len + embedding_range.end + + # 1. txt attends to itself + regional_attention_mask[txt_start:txt_end, txt_start:txt_end] = 1.0 + + if image_mask is not None: + # Flatten mask: (1, 1, img_seq_len) -> (img_seq_len,) + mask_flat = image_mask.view(img_seq_len) + + # 2. img attends to corresponding regional txt + # Reshape mask to (img_seq_len, 1) for broadcasting + regional_attention_mask[:img_seq_len, txt_start:txt_end] = mask_flat.view(img_seq_len, 1) + + # 3. txt attends to corresponding regional img + # Reshape mask to (1, img_seq_len) for broadcasting + regional_attention_mask[txt_start:txt_end, :img_seq_len] = mask_flat.view(1, img_seq_len) + + # 4. img self-attention within region + # mask @ mask.T creates pairwise attention within the masked region + regional_attention_mask[:img_seq_len, :img_seq_len] += ( + mask_flat.view(img_seq_len, 1) @ mask_flat.view(1, img_seq_len) + ) + else: + # Global prompt: allow attention to/from background regions only + if background_region_mask is not None: + # 2. background img attends to global txt + regional_attention_mask[:img_seq_len, txt_start:txt_end] = background_region_mask.view( + img_seq_len, 1 + ) + + # 3. global txt attends to background img + regional_attention_mask[txt_start:txt_end, :img_seq_len] = background_region_mask.view( + 1, img_seq_len + ) + else: + # No regional masks at all, allow full attention + regional_attention_mask[:img_seq_len, txt_start:txt_end] = 1.0 + regional_attention_mask[txt_start:txt_end, :img_seq_len] = 1.0 + + # Allow background regions to attend to themselves + if background_region_mask is not None: + bg_mask = background_region_mask.view(img_seq_len, 1) + regional_attention_mask[:img_seq_len, :img_seq_len] += bg_mask @ bg_mask.T + + # Convert to boolean mask + regional_attention_mask = regional_attention_mask > 0.5 + + return regional_attention_mask + + @staticmethod + def preprocess_regional_prompt_mask( + mask: Optional[torch.Tensor], + target_height: int, + target_width: int, + dtype: torch.dtype, + device: torch.device, + ) -> torch.Tensor: + """Preprocess a regional prompt mask to match the target image token grid. + + Args: + mask: Input mask tensor. If None, returns a mask of all ones. + target_height: Height of the image token grid (H // patch_size). + target_width: Width of the image token grid (W // patch_size). + dtype: Target dtype for the mask. + device: Target device for the mask. + + Returns: + Processed mask of shape (1, 1, target_height * target_width). + """ + img_seq_len = target_height * target_width + + if mask is None: + return torch.ones((1, 1, img_seq_len), dtype=dtype, device=device) + + mask = to_standard_float_mask(mask, out_dtype=dtype) + + # Resize mask to target dimensions + tf = torchvision.transforms.Resize( + (target_height, target_width), + interpolation=torchvision.transforms.InterpolationMode.NEAREST, + ) + + # Add batch dimension if needed: (h, w) -> (1, h, w) -> (1, 1, h, w) + if mask.ndim == 2: + mask = mask.unsqueeze(0) + if mask.ndim == 3: + mask = mask.unsqueeze(0) + + resized_mask = tf(mask) + + # Flatten to (1, 1, img_seq_len) + return resized_mask.flatten(start_dim=2).to(device=device) diff --git a/invokeai/backend/z_image/text_conditioning.py b/invokeai/backend/z_image/text_conditioning.py new file mode 100644 index 00000000000..5fe6933bba5 --- /dev/null +++ b/invokeai/backend/z_image/text_conditioning.py @@ -0,0 +1,74 @@ +from dataclasses import dataclass + +import torch + +from invokeai.backend.stable_diffusion.diffusion.conditioning_data import Range + + +@dataclass +class ZImageTextConditioning: + """Z-Image text conditioning with optional regional mask. + + Attributes: + prompt_embeds: Text embeddings from Qwen3 encoder. Shape: (seq_len, hidden_size). + mask: Optional binary mask for regional prompting. If None, the prompt is global. + Shape: (1, 1, img_seq_len) where img_seq_len = (H // patch_size) * (W // patch_size). + """ + + prompt_embeds: torch.Tensor + mask: torch.Tensor | None = None + + +@dataclass +class ZImageRegionalTextConditioning: + """Container for multiple regional text conditionings concatenated together. + + In Z-Image, the unified sequence is [img_tokens, txt_tokens], which is different + from FLUX where it's [txt_tokens, img_tokens]. The attention mask must account for this. + + Attributes: + prompt_embeds: Concatenated text embeddings from all regional prompts. + Shape: (total_seq_len, hidden_size). + image_masks: List of binary masks for each regional prompt. + image_masks[i] corresponds to embedding_ranges[i]. + If None, the prompt is global (applies to entire image). + Shape: (1, 1, img_seq_len). + embedding_ranges: List of ranges indicating which portion of prompt_embeds + corresponds to each regional prompt. + """ + + prompt_embeds: torch.Tensor + image_masks: list[torch.Tensor | None] + embedding_ranges: list[Range] + + @classmethod + def from_text_conditionings( + cls, + text_conditionings: list[ZImageTextConditioning], + ) -> "ZImageRegionalTextConditioning": + """Create a ZImageRegionalTextConditioning from a list of ZImageTextConditioning objects. + + Args: + text_conditionings: List of text conditionings, each with optional mask. + + Returns: + A single ZImageRegionalTextConditioning with concatenated embeddings. + """ + concat_embeds: list[torch.Tensor] = [] + concat_ranges: list[Range] = [] + image_masks: list[torch.Tensor | None] = [] + + cur_embed_len = 0 + for tc in text_conditionings: + concat_embeds.append(tc.prompt_embeds) + concat_ranges.append(Range(start=cur_embed_len, end=cur_embed_len + tc.prompt_embeds.shape[0])) + image_masks.append(tc.mask) + cur_embed_len += tc.prompt_embeds.shape[0] + + prompt_embeds = torch.cat(concat_embeds, dim=0) + + return cls( + prompt_embeds=prompt_embeds, + image_masks=image_masks, + embedding_ranges=concat_ranges, + ) diff --git a/invokeai/backend/z_image/z_image_transformer_patch.py b/invokeai/backend/z_image/z_image_transformer_patch.py new file mode 100644 index 00000000000..97e9196f681 --- /dev/null +++ b/invokeai/backend/z_image/z_image_transformer_patch.py @@ -0,0 +1,232 @@ +"""Utilities for patching the ZImageTransformer2DModel to support regional attention masks.""" + +from contextlib import contextmanager +from typing import Callable, List, Optional, Tuple + +import torch +from torch.nn.utils.rnn import pad_sequence + + +def create_regional_forward( + original_forward: Callable, + regional_attn_mask: torch.Tensor, + img_seq_len: int, +) -> Callable: + """Create a modified forward function that uses a regional attention mask. + + The regional attention mask replaces the internally computed padding mask, + allowing for regional prompting where different image regions attend to + different text prompts. + + Args: + original_forward: The original forward method of ZImageTransformer2DModel. + regional_attn_mask: Attention mask of shape (seq_len, seq_len) where + seq_len = img_seq_len + txt_seq_len. + img_seq_len: Number of image tokens in the sequence. + + Returns: + A modified forward function with regional attention support. + """ + + def regional_forward( + self, + x: List[torch.Tensor], + t: torch.Tensor, + cap_feats: List[torch.Tensor], + patch_size: int = 2, + f_patch_size: int = 1, + ) -> Tuple[List[torch.Tensor], dict]: + """Modified forward with regional attention mask injection. + + This is based on the original ZImageTransformer2DModel.forward but + replaces the padding-based attention mask with a regional attention mask. + """ + assert patch_size in self.all_patch_size + assert f_patch_size in self.all_f_patch_size + + bsz = len(x) + device = x[0].device + t_scaled = t * self.t_scale + t_emb = self.t_embedder(t_scaled) + + SEQ_MULTI_OF = 32 # From diffusers transformer_z_image.py + + # Patchify and embed (reusing the original method) + ( + x, + cap_feats, + x_size, + x_pos_ids, + cap_pos_ids, + x_inner_pad_mask, + cap_inner_pad_mask, + ) = self.patchify_and_embed(x, cap_feats, patch_size, f_patch_size) + + # x embed & refine + x_item_seqlens = [len(_) for _ in x] + assert all(_ % SEQ_MULTI_OF == 0 for _ in x_item_seqlens) + x_max_item_seqlen = max(x_item_seqlens) + + x_cat = torch.cat(x, dim=0) + x_cat = self.all_x_embedder[f"{patch_size}-{f_patch_size}"](x_cat) + + adaln_input = t_emb.type_as(x_cat) + x_cat[torch.cat(x_inner_pad_mask)] = self.x_pad_token + x_list = list(x_cat.split(x_item_seqlens, dim=0)) + x_freqs_cis = list(self.rope_embedder(torch.cat(x_pos_ids, dim=0)).split(x_item_seqlens, dim=0)) + + x_padded = pad_sequence(x_list, batch_first=True, padding_value=0.0) + x_freqs_cis_padded = pad_sequence(x_freqs_cis, batch_first=True, padding_value=0.0) + x_attn_mask = torch.zeros((bsz, x_max_item_seqlen), dtype=torch.bool, device=device) + for i, seq_len in enumerate(x_item_seqlens): + x_attn_mask[i, :seq_len] = 1 + + # Process through noise_refiner + if torch.is_grad_enabled() and self.gradient_checkpointing: + for layer in self.noise_refiner: + x_padded = self._gradient_checkpointing_func(layer, x_padded, x_attn_mask, x_freqs_cis_padded, adaln_input) + else: + for layer in self.noise_refiner: + x_padded = layer(x_padded, x_attn_mask, x_freqs_cis_padded, adaln_input) + + # cap embed & refine + cap_item_seqlens = [len(_) for _ in cap_feats] + assert all(_ % SEQ_MULTI_OF == 0 for _ in cap_item_seqlens) + cap_max_item_seqlen = max(cap_item_seqlens) + + cap_cat = torch.cat(cap_feats, dim=0) + cap_cat = self.cap_embedder(cap_cat) + cap_cat[torch.cat(cap_inner_pad_mask)] = self.cap_pad_token + cap_list = list(cap_cat.split(cap_item_seqlens, dim=0)) + cap_freqs_cis = list(self.rope_embedder(torch.cat(cap_pos_ids, dim=0)).split(cap_item_seqlens, dim=0)) + + cap_padded = pad_sequence(cap_list, batch_first=True, padding_value=0.0) + cap_freqs_cis_padded = pad_sequence(cap_freqs_cis, batch_first=True, padding_value=0.0) + cap_attn_mask = torch.zeros((bsz, cap_max_item_seqlen), dtype=torch.bool, device=device) + for i, seq_len in enumerate(cap_item_seqlens): + cap_attn_mask[i, :seq_len] = 1 + + # Process through context_refiner + if torch.is_grad_enabled() and self.gradient_checkpointing: + for layer in self.context_refiner: + cap_padded = self._gradient_checkpointing_func(layer, cap_padded, cap_attn_mask, cap_freqs_cis_padded) + else: + for layer in self.context_refiner: + cap_padded = layer(cap_padded, cap_attn_mask, cap_freqs_cis_padded) + + # Unified sequence: [img_tokens, txt_tokens] + unified = [] + unified_freqs_cis = [] + for i in range(bsz): + x_len = x_item_seqlens[i] + cap_len = cap_item_seqlens[i] + unified.append(torch.cat([x_padded[i][:x_len], cap_padded[i][:cap_len]])) + unified_freqs_cis.append(torch.cat([x_freqs_cis_padded[i][:x_len], cap_freqs_cis_padded[i][:cap_len]])) + + unified_item_seqlens = [a + b for a, b in zip(cap_item_seqlens, x_item_seqlens)] + assert unified_item_seqlens == [len(_) for _ in unified] + unified_max_item_seqlen = max(unified_item_seqlens) + + unified_padded = pad_sequence(unified, batch_first=True, padding_value=0.0) + unified_freqs_cis_padded = pad_sequence(unified_freqs_cis, batch_first=True, padding_value=0.0) + + # --- REGIONAL ATTENTION MASK INJECTION --- + # Instead of using the padding mask, we use the regional attention mask + # The regional mask is (seq_len, seq_len), we need to expand it to (batch, seq_len, seq_len) + # and then add the batch dimension for broadcasting: (batch, 1, seq_len, seq_len) + + # Expand regional mask to match the actual sequence length (may include padding) + if regional_attn_mask.shape[0] != unified_max_item_seqlen: + # Pad the regional mask to match unified sequence length + padded_regional_mask = torch.zeros( + (unified_max_item_seqlen, unified_max_item_seqlen), + dtype=regional_attn_mask.dtype, + device=device, + ) + mask_size = min(regional_attn_mask.shape[0], unified_max_item_seqlen) + padded_regional_mask[:mask_size, :mask_size] = regional_attn_mask[:mask_size, :mask_size] + else: + padded_regional_mask = regional_attn_mask.to(device) + + # Convert boolean mask to additive float mask for attention + # True (attend) -> 0.0, False (block) -> -inf + # This is required because the attention backend expects additive masks for 4D inputs + # Use bfloat16 to match the transformer's query dtype + float_mask = torch.zeros_like(padded_regional_mask, dtype=torch.bfloat16) + float_mask[~padded_regional_mask] = float("-inf") + + # Expand to (batch, 1, seq_len, seq_len) for attention + unified_attn_mask = float_mask.unsqueeze(0).unsqueeze(0).expand(bsz, 1, -1, -1) + + # Process through main layers with regional attention mask + if torch.is_grad_enabled() and self.gradient_checkpointing: + for layer_idx, layer in enumerate(self.layers): + # Alternate between regional mask and full attention + if layer_idx % 2 == 0: + unified_padded = self._gradient_checkpointing_func( + layer, unified_padded, unified_attn_mask, unified_freqs_cis_padded, adaln_input + ) + else: + # Use padding mask only for odd layers (allows global coherence) + padding_mask = torch.zeros((bsz, unified_max_item_seqlen), dtype=torch.bool, device=device) + for i, seq_len in enumerate(unified_item_seqlens): + padding_mask[i, :seq_len] = 1 + unified_padded = self._gradient_checkpointing_func( + layer, unified_padded, padding_mask, unified_freqs_cis_padded, adaln_input + ) + else: + for layer_idx, layer in enumerate(self.layers): + # Alternate between regional mask and full attention + if layer_idx % 2 == 0: + unified_padded = layer(unified_padded, unified_attn_mask, unified_freqs_cis_padded, adaln_input) + else: + # Use padding mask only for odd layers (allows global coherence) + padding_mask = torch.zeros((bsz, unified_max_item_seqlen), dtype=torch.bool, device=device) + for i, seq_len in enumerate(unified_item_seqlens): + padding_mask[i, :seq_len] = 1 + unified_padded = layer(unified_padded, padding_mask, unified_freqs_cis_padded, adaln_input) + + # Final layer + unified_out = self.all_final_layer[f"{patch_size}-{f_patch_size}"](unified_padded, adaln_input) + unified_list = list(unified_out.unbind(dim=0)) + x_out = self.unpatchify(unified_list, x_size, patch_size, f_patch_size) + + return x_out, {} + + return regional_forward + + +@contextmanager +def patch_transformer_for_regional_prompting( + transformer, + regional_attn_mask: Optional[torch.Tensor], + img_seq_len: int, +): + """Context manager to temporarily patch the transformer for regional prompting. + + Args: + transformer: The ZImageTransformer2DModel instance. + regional_attn_mask: Regional attention mask of shape (seq_len, seq_len). + If None, the transformer is not patched. + img_seq_len: Number of image tokens. + + Yields: + The (possibly patched) transformer. + """ + if regional_attn_mask is None: + # No regional prompting, use original forward + yield transformer + return + + # Store original forward + original_forward = transformer.forward + + # Create and bind the regional forward + regional_fwd = create_regional_forward(original_forward, regional_attn_mask, img_seq_len) + transformer.forward = lambda *args, **kwargs: regional_fwd(transformer, *args, **kwargs) + + try: + yield transformer + finally: + # Restore original forward + transformer.forward = original_forward diff --git a/invokeai/frontend/web/openapi.json b/invokeai/frontend/web/openapi.json index b84d804f4dd..1be662f85e8 100644 --- a/invokeai/frontend/web/openapi.json +++ b/invokeai/frontend/web/openapi.json @@ -13,17 +13,35 @@ "description": "Creates a batch process", "operationId": "parse_dynamicprompts", "requestBody": { - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_parse_dynamicprompts" } } }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_parse_dynamicprompts" + } + } + }, "required": true }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DynamicPromptsResponse" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DynamicPromptsResponse" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -41,8 +59,15 @@ "required": false, "schema": { "anyOf": [ - { "type": "array", "items": { "$ref": "#/components/schemas/BaseModelType" } }, - { "type": "null" } + { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseModelType" + } + }, + { + "type": "null" + } ], "description": "Base models to include", "title": "Base Models" @@ -54,7 +79,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "$ref": "#/components/schemas/ModelType" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelType" + }, + { + "type": "null" + } + ], "description": "The type of model to get", "title": "Model Type" }, @@ -65,7 +97,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "Exact match on the name of the model", "title": "Model Name" }, @@ -76,7 +115,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "$ref": "#/components/schemas/ModelFormat" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelFormat" + }, + { + "type": "null" + } + ], "description": "Exact match on the format of the model (e.g. 'diffusers')", "title": "Model Format" }, @@ -86,11 +132,23 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelsList" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModelsList" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -106,21 +164,31 @@ "name": "name", "in": "query", "required": true, - "schema": { "type": "string", "description": "The name of the model", "title": "Name" }, + "schema": { + "type": "string", + "description": "The name of the model", + "title": "Name" + }, "description": "The name of the model" }, { "name": "type", "in": "query", "required": true, - "schema": { "$ref": "#/components/schemas/ModelType", "description": "The type of the model" }, + "schema": { + "$ref": "#/components/schemas/ModelType", + "description": "The type of the model" + }, "description": "The type of the model" }, { "name": "base", "in": "query", "required": true, - "schema": { "$ref": "#/components/schemas/BaseModelType", "description": "The base model of the model" }, + "schema": { + "$ref": "#/components/schemas/BaseModelType", + "description": "The base model of the model" + }, "description": "The base model of the model" } ], @@ -131,74 +199,210 @@ "application/json": { "schema": { "oneOf": [ - { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, - { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, - { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, - { "$ref": "#/components/schemas/TI_File_SD1_Config" }, - { "$ref": "#/components/schemas/TI_File_SD2_Config" }, - { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, - { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, - { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, - { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, - { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, - { "$ref": "#/components/schemas/Unknown_Config" } + { + "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" + }, + { + "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SDXL_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" + }, + { + "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/SigLIP_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/Unknown_Config" + } ], "title": "Response Get Model Records By Attrs" } @@ -207,7 +411,13 @@ }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -223,7 +433,11 @@ "name": "key", "in": "path", "required": true, - "schema": { "type": "string", "description": "Key of the model record to fetch.", "title": "Key" }, + "schema": { + "type": "string", + "description": "Key of the model record to fetch.", + "title": "Key" + }, "description": "Key of the model record to fetch." } ], @@ -234,74 +448,210 @@ "application/json": { "schema": { "oneOf": [ - { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, - { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, - { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, - { "$ref": "#/components/schemas/TI_File_SD1_Config" }, - { "$ref": "#/components/schemas/TI_File_SD2_Config" }, - { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, - { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, - { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, - { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, - { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, - { "$ref": "#/components/schemas/Unknown_Config" } + { + "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" + }, + { + "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SDXL_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" + }, + { + "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/SigLIP_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/Unknown_Config" + } ], "title": "Response Get Model Record" }, @@ -326,11 +676,21 @@ } } }, - "400": { "description": "Bad request" }, - "404": { "description": "The model could not be found" }, + "400": { + "description": "Bad request" + }, + "404": { + "description": "The model could not be found" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -344,7 +704,11 @@ "name": "key", "in": "path", "required": true, - "schema": { "type": "string", "description": "Unique key of model", "title": "Key" }, + "schema": { + "type": "string", + "description": "Unique key of model", + "title": "Key" + }, "description": "Unique key of model" } ], @@ -378,74 +742,210 @@ "application/json": { "schema": { "oneOf": [ - { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, - { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, - { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, - { "$ref": "#/components/schemas/TI_File_SD1_Config" }, - { "$ref": "#/components/schemas/TI_File_SD2_Config" }, - { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, - { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, - { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, - { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, - { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, - { "$ref": "#/components/schemas/Unknown_Config" } + { + "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" + }, + { + "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SDXL_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" + }, + { + "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/SigLIP_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/Unknown_Config" + } ], "title": "Response Update Model Record" }, @@ -470,12 +970,24 @@ } } }, - "400": { "description": "Bad request" }, - "404": { "description": "The model could not be found" }, - "409": { "description": "There is already a model corresponding to the new name" }, + "400": { + "description": "Bad request" + }, + "404": { + "description": "The model could not be found" + }, + "409": { + "description": "There is already a model corresponding to the new name" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -498,11 +1010,21 @@ } ], "responses": { - "204": { "description": "Model deleted successfully" }, - "404": { "description": "Model not found" }, + "204": { + "description": "Model deleted successfully" + }, + "404": { + "description": "Model not found" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -518,7 +1040,11 @@ "name": "key", "in": "path", "required": true, - "schema": { "type": "string", "description": "Key of the model to reidentify.", "title": "Key" }, + "schema": { + "type": "string", + "description": "Key of the model to reidentify.", + "title": "Key" + }, "description": "Key of the model to reidentify." } ], @@ -529,74 +1055,210 @@ "application/json": { "schema": { "oneOf": [ - { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, - { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, - { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, - { "$ref": "#/components/schemas/TI_File_SD1_Config" }, - { "$ref": "#/components/schemas/TI_File_SD2_Config" }, - { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, - { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, - { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, - { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, - { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, - { "$ref": "#/components/schemas/Unknown_Config" } + { + "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" + }, + { + "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SDXL_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" + }, + { + "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/SigLIP_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/Unknown_Config" + } ], "title": "Response Reidentify Model" }, @@ -621,11 +1283,21 @@ } } }, - "400": { "description": "Bad request" }, - "404": { "description": "The model could not be found" }, + "400": { + "description": "Bad request" + }, + "404": { + "description": "The model could not be found" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -640,7 +1312,11 @@ "name": "scan_path", "in": "query", "required": false, - "schema": { "type": "string", "description": "Directory path to search for models", "title": "Scan Path" }, + "schema": { + "type": "string", + "description": "Directory path to search for models", + "title": "Scan Path" + }, "description": "Directory path to search for models" } ], @@ -651,16 +1327,26 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/FoundModel" }, + "items": { + "$ref": "#/components/schemas/FoundModel" + }, "title": "Response Scan For Models" } } } }, - "400": { "description": "Invalid directory path" }, + "400": { + "description": "Invalid directory path" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -686,12 +1372,26 @@ "responses": { "200": { "description": "Hugging Face repo scanned successfully", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HuggingFaceModels" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HuggingFaceModels" + } + } + } + }, + "400": { + "description": "Invalid hugging face repo" }, - "400": { "description": "Invalid hugging face repo" }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -707,20 +1407,38 @@ "name": "key", "in": "path", "required": true, - "schema": { "type": "string", "description": "The name of model image file to get", "title": "Key" }, + "schema": { + "type": "string", + "description": "The name of model image file to get", + "title": "Key" + }, "description": "The name of model image file to get" } ], "responses": { "200": { "description": "The model image was fetched successfully", - "content": { "application/json": { "schema": {} } } + "content": { + "application/json": { + "schema": {} + } + } + }, + "400": { + "description": "Bad request" + }, + "404": { + "description": "The model image could not be found" }, - "400": { "description": "Bad request" }, - "404": { "description": "The model image could not be found" }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -733,23 +1451,45 @@ "name": "key", "in": "path", "required": true, - "schema": { "type": "string", "description": "Unique key of model", "title": "Key" }, + "schema": { + "type": "string", + "description": "Unique key of model", + "title": "Key" + }, "description": "Unique key of model" } ], "requestBody": { "required": true, - "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_update_model_image" } } } + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/Body_update_model_image" + } + } + } }, "responses": { "200": { "description": "The model image was updated successfully", - "content": { "application/json": { "schema": {} } } + "content": { + "application/json": { + "schema": {} + } + } + }, + "400": { + "description": "Bad request" }, - "400": { "description": "Bad request" }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -771,11 +1511,21 @@ } ], "responses": { - "204": { "description": "Model image deleted successfully" }, - "404": { "description": "Model image not found" }, + "204": { + "description": "Model image deleted successfully" + }, + "404": { + "description": "Model image not found" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -803,7 +1553,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "description": "Whether or not to install a local model in place", "default": false, "title": "Inplace" @@ -815,7 +1572,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "access token for the remote resource", "title": "Access Token" }, @@ -829,7 +1593,12 @@ "schema": { "$ref": "#/components/schemas/ModelRecordChanges", "description": "Object containing fields that override auto-probed values in the model config record, such as name, description and prediction_type ", - "examples": [{ "name": "string", "description": "string" }] + "examples": [ + { + "name": "string", + "description": "string" + } + ] } } } @@ -837,16 +1606,32 @@ "responses": { "201": { "description": "The model imported successfully", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelInstallJob" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModelInstallJob" + } + } + } + }, + "415": { + "description": "Unrecognized file/folder format" }, - "415": { "description": "Unrecognized file/folder format" }, "424": { "description": "The model appeared to import successfully, but could not be found in the model manager" }, - "409": { "description": "There is already a model corresponding to this path or repo_id" }, + "409": { + "description": "There is already a model corresponding to this path or repo_id" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -862,7 +1647,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/ModelInstallJob" }, + "items": { + "$ref": "#/components/schemas/ModelInstallJob" + }, "title": "Response List Model Installs" } } @@ -876,9 +1663,20 @@ "description": "Prune all completed and errored jobs from the install job list.", "operationId": "prune_model_install_jobs", "responses": { - "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, - "204": { "description": "All completed and errored jobs have been pruned" }, - "400": { "description": "Bad request" } + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "204": { + "description": "All completed and errored jobs have been pruned" + }, + "400": { + "description": "Bad request" + } } } }, @@ -893,20 +1691,40 @@ "name": "source", "in": "query", "required": true, - "schema": { "type": "string", "description": "HuggingFace repo_id to install", "title": "Source" }, + "schema": { + "type": "string", + "description": "HuggingFace repo_id to install", + "title": "Source" + }, "description": "HuggingFace repo_id to install" } ], "responses": { "201": { "description": "The model is being installed", - "content": { "text/html": { "schema": { "type": "string" } } } + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "Bad request" + }, + "409": { + "description": "There is already a model corresponding to this path or repo_id" }, - "400": { "description": "Bad request" }, - "409": { "description": "There is already a model corresponding to this path or repo_id" }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -922,19 +1740,37 @@ "name": "id", "in": "path", "required": true, - "schema": { "type": "integer", "description": "Model install id", "title": "Id" }, + "schema": { + "type": "integer", + "description": "Model install id", + "title": "Id" + }, "description": "Model install id" } ], "responses": { "200": { "description": "Success", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelInstallJob" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModelInstallJob" + } + } + } + }, + "404": { + "description": "No such job" }, - "404": { "description": "No such job" }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -948,19 +1784,35 @@ "name": "id", "in": "path", "required": true, - "schema": { "type": "integer", "description": "Model install job ID", "title": "Id" }, + "schema": { + "type": "integer", + "description": "Model install job ID", + "title": "Id" + }, "description": "Model install job ID" } ], "responses": { "201": { "description": "The job was cancelled successfully", - "content": { "application/json": { "schema": {} } } + "content": { + "application/json": { + "schema": {} + } + } + }, + "415": { + "description": "No such job" }, - "415": { "description": "No such job" }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -991,74 +1843,210 @@ "application/json": { "schema": { "oneOf": [ - { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, - { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, - { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, - { "$ref": "#/components/schemas/TI_File_SD1_Config" }, - { "$ref": "#/components/schemas/TI_File_SD2_Config" }, - { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, - { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, - { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, - { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, - { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, - { "$ref": "#/components/schemas/Unknown_Config" } + { + "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" + }, + { + "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SDXL_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" + }, + { + "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/SigLIP_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/Unknown_Config" + } ], "title": "Response Convert Model" }, @@ -1083,12 +2071,24 @@ } } }, - "400": { "description": "Bad request" }, - "404": { "description": "Model not found" }, - "409": { "description": "There is already a model registered at this location" }, + "400": { + "description": "Bad request" + }, + "404": { + "description": "Model not found" + }, + "409": { + "description": "There is already a model registered at this location" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1101,7 +2101,13 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StarterModelResponse" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StarterModelResponse" + } + } + } } } } @@ -1118,7 +2124,14 @@ "content": { "application/json": { "schema": { - "anyOf": [{ "$ref": "#/components/schemas/CacheStats" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CacheStats" + }, + { + "type": "null" + } + ], "title": "Response Get Stats" } } @@ -1134,7 +2147,14 @@ "description": "Drop all models from the model cache to free RAM/VRAM. 'Locked' models that are in active use will not be dropped.", "operationId": "empty_model_cache", "responses": { - "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + } } } }, @@ -1146,7 +2166,13 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HFTokenStatus" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HFTokenStatus" + } + } + } } } }, @@ -1155,17 +2181,35 @@ "summary": "Do Hf Login", "operationId": "do_hf_login", "requestBody": { - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_do_hf_login" } } }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_do_hf_login" + } + } + }, "required": true }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HFTokenStatus" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HFTokenStatus" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -1176,7 +2220,13 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HFTokenStatus" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HFTokenStatus" + } + } + } } } } @@ -1193,7 +2243,9 @@ "content": { "application/json": { "schema": { - "items": { "$ref": "#/components/schemas/DownloadJob" }, + "items": { + "$ref": "#/components/schemas/DownloadJob" + }, "type": "array", "title": "Response List Downloads" } @@ -1208,9 +2260,20 @@ "description": "Prune completed and errored jobs.", "operationId": "prune_downloads", "responses": { - "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, - "204": { "description": "All completed jobs have been pruned" }, - "400": { "description": "Bad request" } + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "204": { + "description": "All completed jobs have been pruned" + }, + "400": { + "description": "Bad request" + } } } }, @@ -1221,17 +2284,35 @@ "description": "Download the source URL to the file or directory indicted in dest.", "operationId": "download", "requestBody": { - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_download" } } }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_download" + } + } + }, "required": true }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DownloadJob" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadJob" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1247,19 +2328,37 @@ "name": "id", "in": "path", "required": true, - "schema": { "type": "integer", "description": "ID of the download job to fetch.", "title": "Id" }, + "schema": { + "type": "integer", + "description": "ID of the download job to fetch.", + "title": "Id" + }, "description": "ID of the download job to fetch." } ], "responses": { "200": { "description": "Success", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DownloadJob" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadJob" + } + } + } + }, + "404": { + "description": "The requested download JobID could not be found" }, - "404": { "description": "The requested download JobID could not be found" }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -1273,17 +2372,38 @@ "name": "id", "in": "path", "required": true, - "schema": { "type": "integer", "description": "ID of the download job to cancel.", "title": "Id" }, + "schema": { + "type": "integer", + "description": "ID of the download job to cancel.", + "title": "Id" + }, "description": "ID of the download job to cancel." } ], "responses": { - "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, - "204": { "description": "Job has been cancelled" }, - "404": { "description": "The requested download JobID could not be found" }, + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "204": { + "description": "Job has been cancelled" + }, + "404": { + "description": "The requested download JobID could not be found" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1295,8 +2415,17 @@ "description": "Cancel all download jobs.", "operationId": "cancel_all_download_jobs", "responses": { - "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, - "204": { "description": "Download jobs have been cancelled" } + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "204": { + "description": "Download jobs have been cancelled" + } } } }, @@ -1311,7 +2440,10 @@ "name": "image_category", "in": "query", "required": true, - "schema": { "$ref": "#/components/schemas/ImageCategory", "description": "The category of the image" }, + "schema": { + "$ref": "#/components/schemas/ImageCategory", + "description": "The category of the image" + }, "description": "The category of the image" }, { @@ -1330,7 +2462,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "The board to add this image to, if any", "title": "Board Id" }, @@ -1341,7 +2480,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "The session ID associated with this upload, if any", "title": "Session Id" }, @@ -1352,7 +2498,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "description": "Whether to crop the image", "default": false, "title": "Crop Visible" @@ -1362,17 +2515,37 @@ ], "requestBody": { "required": true, - "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_image" } } } + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/Body_upload_image" + } + } + } }, "responses": { "201": { "description": "The image was uploaded successfully", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageDTO" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImageDTO" + } + } + } + }, + "415": { + "description": "Image upload failed" }, - "415": { "description": "Image upload failed" }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1386,17 +2559,33 @@ "requestBody": { "required": true, "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/Body_create_image_upload_entry" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_create_image_upload_entry" + } + } } }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageUploadEntry" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImageUploadEntry" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -1411,7 +2600,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "$ref": "#/components/schemas/ResourceOrigin" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ResourceOrigin" + }, + { + "type": "null" + } + ], "description": "The origin of images to list.", "title": "Image Origin" }, @@ -1423,8 +2619,15 @@ "required": false, "schema": { "anyOf": [ - { "type": "array", "items": { "$ref": "#/components/schemas/ImageCategory" } }, - { "type": "null" } + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageCategory" + } + }, + { + "type": "null" + } ], "description": "The categories of image to include.", "title": "Categories" @@ -1436,7 +2639,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "description": "Whether to list intermediate images.", "title": "Is Intermediate" }, @@ -1447,7 +2657,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "The board id to filter by. Use 'none' to find images without a board.", "title": "Board Id" }, @@ -1457,7 +2674,12 @@ "name": "offset", "in": "query", "required": false, - "schema": { "type": "integer", "description": "The page offset", "default": 0, "title": "Offset" }, + "schema": { + "type": "integer", + "description": "The page offset", + "default": 0, + "title": "Offset" + }, "description": "The page offset" }, { @@ -1500,7 +2722,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "The term to search for", "title": "Search Term" }, @@ -1511,12 +2740,22 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/OffsetPaginatedResults_ImageDTO_" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/OffsetPaginatedResults_ImageDTO_" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1532,18 +2771,34 @@ "name": "image_name", "in": "path", "required": true, - "schema": { "type": "string", "description": "The name of the image to delete", "title": "Image Name" }, + "schema": { + "type": "string", + "description": "The name of the image to delete", + "title": "Image Name" + }, "description": "The name of the image to delete" } ], "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteImagesResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteImagesResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -1557,7 +2812,11 @@ "name": "image_name", "in": "path", "required": true, - "schema": { "type": "string", "description": "The name of the image to update", "title": "Image Name" }, + "schema": { + "type": "string", + "description": "The name of the image to update", + "title": "Image Name" + }, "description": "The name of the image to update" } ], @@ -1575,11 +2834,23 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageDTO" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImageDTO" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -1593,18 +2864,34 @@ "name": "image_name", "in": "path", "required": true, - "schema": { "type": "string", "description": "The name of image to get", "title": "Image Name" }, + "schema": { + "type": "string", + "description": "The name of image to get", + "title": "Image Name" + }, "description": "The name of image to get" } ], "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageDTO" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImageDTO" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1619,7 +2906,12 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "type": "integer", "title": "Response Get Intermediates Count" } } + "application/json": { + "schema": { + "type": "integer", + "title": "Response Get Intermediates Count" + } + } } } } @@ -1633,7 +2925,12 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "type": "integer", "title": "Response Clear Intermediates" } } + "application/json": { + "schema": { + "type": "integer", + "title": "Response Clear Intermediates" + } + } } } } @@ -1650,7 +2947,11 @@ "name": "image_name", "in": "path", "required": true, - "schema": { "type": "string", "description": "The name of image to get", "title": "Image Name" }, + "schema": { + "type": "string", + "description": "The name of image to get", + "title": "Image Name" + }, "description": "The name of image to get" } ], @@ -1660,7 +2961,14 @@ "content": { "application/json": { "schema": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "title": "Response Get Image Metadata" } } @@ -1668,7 +2976,13 @@ }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1694,11 +3008,23 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowAndGraphResponse" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkflowAndGraphResponse" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1723,11 +3049,24 @@ } ], "responses": { - "200": { "description": "Return the full-resolution image", "content": { "image/png": {} } }, - "404": { "description": "Image not found" }, + "200": { + "description": "Return the full-resolution image", + "content": { + "image/png": {} + } + }, + "404": { + "description": "Image not found" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -1750,11 +3089,24 @@ } ], "responses": { - "200": { "description": "Return the full-resolution image", "content": { "image/png": {} } }, - "404": { "description": "Image not found" }, + "200": { + "description": "Return the full-resolution image", + "content": { + "image/png": {} + } + }, + "404": { + "description": "Image not found" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1779,11 +3131,24 @@ } ], "responses": { - "200": { "description": "Return the image thumbnail", "content": { "image/webp": {} } }, - "404": { "description": "Image not found" }, + "200": { + "description": "Return the image thumbnail", + "content": { + "image/webp": {} + } + }, + "404": { + "description": "Image not found" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1810,11 +3175,23 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageUrlsDTO" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImageUrlsDTO" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1826,18 +3203,34 @@ "operationId": "delete_images_from_list", "requestBody": { "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/Body_delete_images_from_list" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_delete_images_from_list" + } + } }, "required": true }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteImagesResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteImagesResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1851,7 +3244,13 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteImagesResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteImagesResult" + } + } + } } } } @@ -1862,17 +3261,35 @@ "summary": "Star Images In List", "operationId": "star_images_in_list", "requestBody": { - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_star_images_in_list" } } }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_star_images_in_list" + } + } + }, "required": true }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StarredImagesResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StarredImagesResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1884,18 +3301,34 @@ "operationId": "unstar_images_in_list", "requestBody": { "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/Body_unstar_images_in_list" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_unstar_images_in_list" + } + } }, "required": true }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnstarredImagesResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnstarredImagesResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1907,17 +3340,33 @@ "operationId": "download_images_from_list", "requestBody": { "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/Body_download_images_from_list" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_download_images_from_list" + } + } } }, "responses": { "202": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImagesDownloaded" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImagesDownloaded" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1942,11 +3391,24 @@ } ], "responses": { - "200": { "description": "Return the complete bulk download item", "content": { "application/zip": {} } }, - "404": { "description": "Image not found" }, + "200": { + "description": "Return the complete bulk download item", + "content": { + "application/zip": {} + } + }, + "404": { + "description": "Image not found" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -1963,7 +3425,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "$ref": "#/components/schemas/ResourceOrigin" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ResourceOrigin" + }, + { + "type": "null" + } + ], "description": "The origin of images to list.", "title": "Image Origin" }, @@ -1975,8 +3444,15 @@ "required": false, "schema": { "anyOf": [ - { "type": "array", "items": { "$ref": "#/components/schemas/ImageCategory" } }, - { "type": "null" } + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageCategory" + } + }, + { + "type": "null" + } ], "description": "The categories of image to include.", "title": "Categories" @@ -1988,7 +3464,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "description": "Whether to list intermediate images.", "title": "Is Intermediate" }, @@ -1999,7 +3482,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "The board id to filter by. Use 'none' to find images without a board.", "title": "Board Id" }, @@ -2033,7 +3523,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "The term to search for", "title": "Search Term" }, @@ -2043,11 +3540,23 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageNamesResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImageNamesResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2059,7 +3568,13 @@ "description": "Gets image DTOs for the specified image names. Maintains order of input names.", "operationId": "get_images_by_names", "requestBody": { - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_get_images_by_names" } } }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_get_images_by_names" + } + } + }, "required": true }, "responses": { @@ -2068,7 +3583,9 @@ "content": { "application/json": { "schema": { - "items": { "$ref": "#/components/schemas/ImageDTO" }, + "items": { + "$ref": "#/components/schemas/ImageDTO" + }, "type": "array", "title": "Response 200 Get Images By Names" } @@ -2077,7 +3594,13 @@ }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2105,11 +3628,23 @@ "responses": { "201": { "description": "The board was created successfully", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BoardDTO" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BoardDTO" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -2146,7 +3681,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "description": "Whether to list all boards", "title": "All" }, @@ -2157,7 +3699,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "description": "The page offset", "title": "Offset" }, @@ -2168,7 +3717,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "description": "The number of boards per page", "title": "Limit" }, @@ -2194,8 +3750,15 @@ "application/json": { "schema": { "anyOf": [ - { "$ref": "#/components/schemas/OffsetPaginatedResults_BoardDTO_" }, - { "type": "array", "items": { "$ref": "#/components/schemas/BoardDTO" } } + { + "$ref": "#/components/schemas/OffsetPaginatedResults_BoardDTO_" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/BoardDTO" + } + } ], "title": "Response List Boards" } @@ -2204,7 +3767,13 @@ }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2220,18 +3789,34 @@ "name": "board_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The id of board to get", "title": "Board Id" }, + "schema": { + "type": "string", + "description": "The id of board to get", + "title": "Board Id" + }, "description": "The id of board to get" } ], "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BoardDTO" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BoardDTO" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -2245,7 +3830,11 @@ "name": "board_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The id of board to update", "title": "Board Id" }, + "schema": { + "type": "string", + "description": "The id of board to update", + "title": "Board Id" + }, "description": "The id of board to update" } ], @@ -2263,11 +3852,23 @@ "responses": { "201": { "description": "The board was updated successfully", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BoardDTO" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BoardDTO" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -2281,7 +3882,11 @@ "name": "board_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The id of board to delete", "title": "Board Id" }, + "schema": { + "type": "string", + "description": "The id of board to delete", + "title": "Board Id" + }, "description": "The id of board to delete" }, { @@ -2289,7 +3894,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "description": "Permanently delete all images on the board", "default": false, "title": "Include Images" @@ -2300,11 +3912,23 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteBoardResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteBoardResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2333,8 +3957,15 @@ "required": false, "schema": { "anyOf": [ - { "type": "array", "items": { "$ref": "#/components/schemas/ImageCategory" } }, - { "type": "null" } + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageCategory" + } + }, + { + "type": "null" + } ], "description": "The categories of image to include.", "title": "Categories" @@ -2346,7 +3977,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "description": "Whether to list intermediate images.", "title": "Is Intermediate" }, @@ -2360,7 +3998,9 @@ "application/json": { "schema": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "title": "Response List All Board Image Names" } } @@ -2368,7 +4008,13 @@ }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2380,17 +4026,35 @@ "description": "Creates a board_image", "operationId": "add_image_to_board", "requestBody": { - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_add_image_to_board" } } }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_add_image_to_board" + } + } + }, "required": true }, "responses": { "201": { "description": "The image was added to a board successfully", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddImagesToBoardResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddImagesToBoardResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -2401,7 +4065,11 @@ "operationId": "remove_image_from_board", "requestBody": { "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/Body_remove_image_from_board" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_remove_image_from_board" + } + } }, "required": true }, @@ -2409,12 +4077,22 @@ "201": { "description": "The image was removed from the board successfully", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/RemoveImagesFromBoardResult" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemoveImagesFromBoardResult" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2426,17 +4104,35 @@ "description": "Adds a list of images to a board", "operationId": "add_images_to_board", "requestBody": { - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_add_images_to_board" } } }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_add_images_to_board" + } + } + }, "required": true }, "responses": { "201": { "description": "Images were added to board successfully", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddImagesToBoardResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddImagesToBoardResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2449,7 +4145,11 @@ "operationId": "remove_images_from_board", "requestBody": { "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/Body_remove_images_from_board" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_remove_images_from_board" + } + } }, "required": true }, @@ -2457,12 +4157,22 @@ "201": { "description": "Images were removed from board successfully", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/RemoveImagesFromBoardResult" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemoveImagesFromBoardResult" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2491,7 +4201,13 @@ "description": "A list of related model keys was retrieved successfully", "content": { "application/json": { - "schema": { "type": "array", "items": { "type": "string" }, "title": "Response Get Related Models" }, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Response Get Related Models" + }, "example": [ "15e9eb28-8cfe-47c9-b610-37907a79fc3c", "71272e82-0e5f-46d5-bca9-9a61f4bd8a82", @@ -2500,8 +4216,12 @@ } } }, - "404": { "description": "The specified model could not be found" }, - "422": { "description": "Validation error" } + "404": { + "description": "The specified model could not be found" + }, + "422": { + "description": "Validation error" + } } } }, @@ -2523,11 +4243,21 @@ "required": true }, "responses": { - "204": { "description": "The relationship was successfully created" }, - "400": { "description": "Invalid model keys or self-referential relationship" }, - "409": { "description": "The relationship already exists" }, - "422": { "description": "Validation error" }, - "500": { "description": "Internal server error" } + "204": { + "description": "The relationship was successfully created" + }, + "400": { + "description": "Invalid model keys or self-referential relationship" + }, + "409": { + "description": "The relationship already exists" + }, + "422": { + "description": "Validation error" + }, + "500": { + "description": "Internal server error" + } } }, "delete": { @@ -2547,11 +4277,21 @@ "required": true }, "responses": { - "204": { "description": "The relationship was successfully removed" }, - "400": { "description": "Invalid model keys or self-referential relationship" }, - "404": { "description": "The relationship does not exist" }, - "422": { "description": "Validation error" }, - "500": { "description": "Internal server error" } + "204": { + "description": "The relationship was successfully removed" + }, + "400": { + "description": "Invalid model keys or self-referential relationship" + }, + "404": { + "description": "The relationship does not exist" + }, + "422": { + "description": "Validation error" + }, + "500": { + "description": "Internal server error" + } } } }, @@ -2578,7 +4318,9 @@ "content": { "application/json": { "schema": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Response Get Related Models Batch" }, @@ -2594,8 +4336,12 @@ } } }, - "422": { "description": "Validation error" }, - "500": { "description": "Internal server error" } + "422": { + "description": "Validation error" + }, + "500": { + "description": "Internal server error" + } } } }, @@ -2607,7 +4353,13 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppVersion" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppVersion" + } + } + } } } } @@ -2623,7 +4375,9 @@ "content": { "application/json": { "schema": { - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "type": "object", "title": "Response Get App Deps" } @@ -2642,7 +4396,12 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "type": "boolean", "title": "Response Get Patchmatch Status" } } + "application/json": { + "schema": { + "type": "boolean", + "title": "Response Get Patchmatch Status" + } + } } } } @@ -2657,7 +4416,11 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/InvokeAIAppConfigWithSetFields" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvokeAIAppConfigWithSetFields" + } + } } } } @@ -2672,7 +4435,13 @@ "responses": { "200": { "description": "The operation was successful", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogLevel" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LogLevel" + } + } + } } } }, @@ -2684,7 +4453,10 @@ "requestBody": { "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/LogLevel", "description": "New log verbosity level" } + "schema": { + "$ref": "#/components/schemas/LogLevel", + "description": "New log verbosity level" + } } }, "required": true @@ -2692,11 +4464,23 @@ "responses": { "200": { "description": "The operation was successful", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogLevel" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LogLevel" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2708,7 +4492,14 @@ "description": "Clears the invocation cache", "operationId": "clear_invocation_cache", "responses": { - "200": { "description": "The operation was successful", "content": { "application/json": { "schema": {} } } } + "200": { + "description": "The operation was successful", + "content": { + "application/json": { + "schema": {} + } + } + } } } }, @@ -2719,7 +4510,14 @@ "description": "Clears the invocation cache", "operationId": "enable_invocation_cache", "responses": { - "200": { "description": "The operation was successful", "content": { "application/json": { "schema": {} } } } + "200": { + "description": "The operation was successful", + "content": { + "application/json": { + "schema": {} + } + } + } } } }, @@ -2730,7 +4528,14 @@ "description": "Clears the invocation cache", "operationId": "disable_invocation_cache", "responses": { - "200": { "description": "The operation was successful", "content": { "application/json": { "schema": {} } } } + "200": { + "description": "The operation was successful", + "content": { + "application/json": { + "schema": {} + } + } + } } } }, @@ -2743,7 +4548,13 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvocationCacheStatus" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvocationCacheStatus" + } + } + } } } } @@ -2769,20 +4580,44 @@ ], "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_enqueue_batch" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_enqueue_batch" + } + } + } }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnqueueBatchResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EnqueueBatchResult" + } + } + } }, "201": { - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnqueueBatchResult" } } }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EnqueueBatchResult" + } + } + }, "description": "Created" }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2810,7 +4645,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "The destination of queue items to fetch", "title": "Destination" }, @@ -2824,7 +4666,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/SessionQueueItem" }, + "items": { + "$ref": "#/components/schemas/SessionQueueItem" + }, "title": "Response 200 List All Queue Items" } } @@ -2832,7 +4676,13 @@ }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2870,11 +4720,23 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemIdsResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ItemIdsResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2901,7 +4763,11 @@ "requestBody": { "required": true, "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/Body_get_queue_items_by_item_ids" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_get_queue_items_by_item_ids" + } + } } }, "responses": { @@ -2911,7 +4777,9 @@ "application/json": { "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/SessionQueueItem" }, + "items": { + "$ref": "#/components/schemas/SessionQueueItem" + }, "title": "Response 200 Get Queue Items By Item Ids" } } @@ -2919,7 +4787,13 @@ }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2946,11 +4820,23 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionProcessorStatus" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionProcessorStatus" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -2977,11 +4863,23 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionProcessorStatus" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionProcessorStatus" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3009,12 +4907,22 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/CancelAllExceptCurrentResult" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelAllExceptCurrentResult" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3042,12 +4950,22 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/DeleteAllExceptCurrentResult" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteAllExceptCurrentResult" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3073,16 +4991,34 @@ ], "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_cancel_by_batch_ids" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_cancel_by_batch_ids" + } + } + } }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CancelByBatchIDsResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelByBatchIDsResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3121,12 +5057,22 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/CancelByDestinationResult" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelByDestinationResult" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3156,7 +5102,9 @@ "application/json": { "schema": { "type": "array", - "items": { "type": "integer" }, + "items": { + "type": "integer" + }, "description": "The queue item ids to retry", "title": "Item Ids" } @@ -3166,11 +5114,23 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RetryItemsResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RetryItemsResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3197,11 +5157,23 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClearResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClearResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3228,11 +5200,23 @@ "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PruneResult" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PruneResult" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3263,10 +5247,18 @@ "application/json": { "schema": { "anyOf": [ - { "$ref": "#/components/schemas/SessionQueueItem" }, - { "type": "null" }, - { "$ref": "#/components/schemas/SessionQueueItem" }, - { "type": "null" } + { + "$ref": "#/components/schemas/SessionQueueItem" + }, + { + "type": "null" + }, + { + "$ref": "#/components/schemas/SessionQueueItem" + }, + { + "type": "null" + } ], "title": "Response 200 Get Current Queue Item" } @@ -3275,7 +5267,13 @@ }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3306,10 +5304,18 @@ "application/json": { "schema": { "anyOf": [ - { "$ref": "#/components/schemas/SessionQueueItem" }, - { "type": "null" }, - { "$ref": "#/components/schemas/SessionQueueItem" }, - { "type": "null" } + { + "$ref": "#/components/schemas/SessionQueueItem" + }, + { + "type": "null" + }, + { + "$ref": "#/components/schemas/SessionQueueItem" + }, + { + "type": "null" + } ], "title": "Response 200 Get Next Queue Item" } @@ -3318,7 +5324,13 @@ }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3346,12 +5358,22 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/SessionQueueAndProcessorStatus" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionQueueAndProcessorStatus" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3378,18 +5400,34 @@ "name": "batch_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The batch to get the status of", "title": "Batch Id" }, + "schema": { + "type": "string", + "description": "The batch to get the status of", + "title": "Batch Id" + }, "description": "The batch to get the status of" } ], "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BatchStatus" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BatchStatus" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3416,18 +5454,34 @@ "name": "item_id", "in": "path", "required": true, - "schema": { "type": "integer", "description": "The queue item to get", "title": "Item Id" }, + "schema": { + "type": "integer", + "description": "The queue item to get", + "title": "Item Id" + }, "description": "The queue item to get" } ], "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionQueueItem" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionQueueItem" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -3452,15 +5506,32 @@ "name": "item_id", "in": "path", "required": true, - "schema": { "type": "integer", "description": "The queue item to delete", "title": "Item Id" }, + "schema": { + "type": "integer", + "description": "The queue item to delete", + "title": "Item Id" + }, "description": "The queue item to delete" } ], "responses": { - "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3487,18 +5558,34 @@ "name": "item_id", "in": "path", "required": true, - "schema": { "type": "integer", "description": "The queue item to cancel", "title": "Item Id" }, + "schema": { + "type": "integer", + "description": "The queue item to cancel", + "title": "Item Id" + }, "description": "The queue item to cancel" } ], "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionQueueItem" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionQueueItem" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3514,14 +5601,22 @@ "name": "queue_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The queue id to query", "title": "Queue Id" }, + "schema": { + "type": "string", + "description": "The queue id to query", + "title": "Queue Id" + }, "description": "The queue id to query" }, { "name": "destination", "in": "query", "required": true, - "schema": { "type": "string", "description": "The destination to query", "title": "Destination" }, + "schema": { + "type": "string", + "description": "The destination to query", + "title": "Destination" + }, "description": "The destination to query" } ], @@ -3529,12 +5624,22 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/SessionQueueCountsByDestination" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionQueueCountsByDestination" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3550,14 +5655,22 @@ "name": "queue_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The queue id to query", "title": "Queue Id" }, + "schema": { + "type": "string", + "description": "The queue id to query", + "title": "Queue Id" + }, "description": "The queue id to query" }, { "name": "destination", "in": "path", "required": true, - "schema": { "type": "string", "description": "The destination to query", "title": "Destination" }, + "schema": { + "type": "string", + "description": "The destination to query", + "title": "Destination" + }, "description": "The destination to query" } ], @@ -3565,12 +5678,22 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/DeleteByDestinationResult" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteByDestinationResult" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3586,7 +5709,11 @@ "name": "workflow_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The workflow to get", "title": "Workflow Id" }, + "schema": { + "type": "string", + "description": "The workflow to get", + "title": "Workflow Id" + }, "description": "The workflow to get" } ], @@ -3594,12 +5721,22 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRecordWithThumbnailDTO" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkflowRecordWithThumbnailDTO" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -3610,16 +5747,34 @@ "operationId": "update_workflow", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_update_workflow" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_update_workflow" + } + } + } }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRecordDTO" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkflowRecordDTO" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -3633,15 +5788,32 @@ "name": "workflow_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The workflow to delete", "title": "Workflow Id" }, + "schema": { + "type": "string", + "description": "The workflow to delete", + "title": "Workflow Id" + }, "description": "The workflow to delete" } ], "responses": { - "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3654,16 +5826,34 @@ "operationId": "create_workflow", "requestBody": { "required": true, - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_create_workflow" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Body_create_workflow" + } + } + } }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRecordDTO" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkflowRecordDTO" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -3677,7 +5867,12 @@ "name": "page", "in": "query", "required": false, - "schema": { "type": "integer", "description": "The page to get", "default": 0, "title": "Page" }, + "schema": { + "type": "integer", + "description": "The page to get", + "default": 0, + "title": "Page" + }, "description": "The page to get" }, { @@ -3685,7 +5880,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "description": "The number of workflows per page", "title": "Per Page" }, @@ -3719,8 +5921,15 @@ "required": false, "schema": { "anyOf": [ - { "type": "array", "items": { "$ref": "#/components/schemas/WorkflowCategory" } }, - { "type": "null" } + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkflowCategory" + } + }, + { + "type": "null" + } ], "description": "The categories of workflow to get", "title": "Categories" @@ -3732,7 +5941,17 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "null" }], + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ], "description": "The tags of workflow to get", "title": "Tags" }, @@ -3743,7 +5962,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "description": "The text to query by (matches name and description)", "title": "Query" }, @@ -3754,7 +5980,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "description": "Whether to include/exclude recent workflows", "title": "Has Been Opened" }, @@ -3766,13 +5999,21 @@ "description": "Successful Response", "content": { "application/json": { - "schema": { "$ref": "#/components/schemas/PaginatedResults_WorkflowRecordListItemWithThumbnailDTO_" } + "schema": { + "$ref": "#/components/schemas/PaginatedResults_WorkflowRecordListItemWithThumbnailDTO_" + } } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3788,24 +6029,44 @@ "name": "workflow_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The workflow to update", "title": "Workflow Id" }, + "schema": { + "type": "string", + "description": "The workflow to update", + "title": "Workflow Id" + }, "description": "The workflow to update" } ], "requestBody": { "required": true, "content": { - "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_set_workflow_thumbnail" } } + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/Body_set_workflow_thumbnail" + } + } } }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRecordDTO" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkflowRecordDTO" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -3819,18 +6080,34 @@ "name": "workflow_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The workflow to update", "title": "Workflow Id" }, + "schema": { + "type": "string", + "description": "The workflow to update", + "title": "Workflow Id" + }, "description": "The workflow to update" } ], "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRecordDTO" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkflowRecordDTO" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -3855,13 +6132,27 @@ "responses": { "200": { "description": "The workflow thumbnail was fetched successfully", - "content": { "application/json": { "schema": {} } } + "content": { + "application/json": { + "schema": {} + } + } + }, + "400": { + "description": "Bad request" + }, + "404": { + "description": "The workflow thumbnail could not be found" }, - "400": { "description": "Bad request" }, - "404": { "description": "The workflow thumbnail could not be found" }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3879,7 +6170,9 @@ "required": true, "schema": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "The tags to get counts for", "title": "Tags" }, @@ -3891,8 +6184,15 @@ "required": false, "schema": { "anyOf": [ - { "type": "array", "items": { "$ref": "#/components/schemas/WorkflowCategory" } }, - { "type": "null" } + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkflowCategory" + } + }, + { + "type": "null" + } ], "description": "The categories to include", "title": "Categories" @@ -3904,7 +6204,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "description": "Whether to include/exclude recent workflows", "title": "Has Been Opened" }, @@ -3918,7 +6225,9 @@ "application/json": { "schema": { "type": "object", - "additionalProperties": { "type": "integer" }, + "additionalProperties": { + "type": "integer" + }, "title": "Response Get Counts By Tag" } } @@ -3926,7 +6235,13 @@ }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3944,7 +6259,9 @@ "required": true, "schema": { "type": "array", - "items": { "$ref": "#/components/schemas/WorkflowCategory" }, + "items": { + "$ref": "#/components/schemas/WorkflowCategory" + }, "description": "The categories to include", "title": "Categories" }, @@ -3955,7 +6272,14 @@ "in": "query", "required": false, "schema": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "description": "Whether to include/exclude recent workflows", "title": "Has Been Opened" }, @@ -3969,7 +6293,9 @@ "application/json": { "schema": { "type": "object", - "additionalProperties": { "type": "integer" }, + "additionalProperties": { + "type": "integer" + }, "title": "Response Counts By Category" } } @@ -3977,7 +6303,13 @@ }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -3993,15 +6325,32 @@ "name": "workflow_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The workflow to update", "title": "Workflow Id" }, + "schema": { + "type": "string", + "description": "The workflow to update", + "title": "Workflow Id" + }, "description": "The workflow to update" } ], "responses": { - "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -4017,7 +6366,11 @@ "name": "style_preset_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The style preset to get", "title": "Style Preset Id" }, + "schema": { + "type": "string", + "description": "The style preset to get", + "title": "Style Preset Id" + }, "description": "The style preset to get" } ], @@ -4025,12 +6378,22 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/StylePresetRecordWithImage" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/StylePresetRecordWithImage" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -4055,19 +6418,33 @@ "requestBody": { "required": true, "content": { - "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_update_style_preset" } } + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/Body_update_style_preset" + } + } } }, "responses": { "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/StylePresetRecordWithImage" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/StylePresetRecordWithImage" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } }, @@ -4081,15 +6458,32 @@ "name": "style_preset_id", "in": "path", "required": true, - "schema": { "type": "string", "description": "The style preset to delete", "title": "Style Preset Id" }, + "schema": { + "type": "string", + "description": "The style preset to delete", + "title": "Style Preset Id" + }, "description": "The style preset to delete" } ], "responses": { - "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -4106,7 +6500,9 @@ "content": { "application/json": { "schema": { - "items": { "$ref": "#/components/schemas/StylePresetRecordWithImage" }, + "items": { + "$ref": "#/components/schemas/StylePresetRecordWithImage" + }, "type": "array", "title": "Response 200 List Style Presets" } @@ -4122,7 +6518,11 @@ "operationId": "create_style_preset", "requestBody": { "content": { - "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_create_style_preset" } } + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/Body_create_style_preset" + } + } }, "required": true }, @@ -4130,12 +6530,22 @@ "200": { "description": "Successful Response", "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/StylePresetRecordWithImage" } } + "application/json": { + "schema": { + "$ref": "#/components/schemas/StylePresetRecordWithImage" + } + } } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -4162,13 +6572,27 @@ "responses": { "200": { "description": "The style preset image was fetched successfully", - "content": { "application/json": { "schema": {} } } + "content": { + "application/json": { + "schema": {} + } + } + }, + "400": { + "description": "Bad request" + }, + "404": { + "description": "The style preset image could not be found" }, - "400": { "description": "Bad request" }, - "404": { "description": "The style preset image could not be found" }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -4181,7 +6605,12 @@ "responses": { "200": { "description": "A CSV file with the requested data.", - "content": { "application/json": { "schema": {} }, "text/csv": {} } + "content": { + "application/json": { + "schema": {} + }, + "text/csv": {} + } } } } @@ -4193,15 +6622,32 @@ "operationId": "import_style_presets", "requestBody": { "content": { - "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_import_style_presets" } } + "multipart/form-data": { + "schema": { + "$ref": "#/components/schemas/Body_import_style_presets" + } + } }, "required": true }, "responses": { - "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -4228,7 +6674,11 @@ "name": "key", "in": "query", "required": true, - "schema": { "type": "string", "description": "Key to get", "title": "Key" }, + "schema": { + "type": "string", + "description": "Key to get", + "title": "Key" + }, "description": "Key to get" } ], @@ -4238,7 +6688,14 @@ "content": { "application/json": { "schema": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Response Get Client State By Key" } } @@ -4246,7 +6703,13 @@ }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -4273,7 +6736,11 @@ "name": "key", "in": "query", "required": true, - "schema": { "type": "string", "description": "Key to set", "title": "Key" }, + "schema": { + "type": "string", + "description": "Key to set", + "title": "Key" + }, "description": "Key to set" } ], @@ -4281,18 +6748,35 @@ "required": true, "content": { "application/json": { - "schema": { "type": "string", "description": "Stringified value to set", "title": "Value" } + "schema": { + "type": "string", + "description": "Stringified value to set", + "title": "Value" + } } } }, "responses": { "200": { "description": "Successful Response", - "content": { "application/json": { "schema": { "type": "string", "title": "Response Set Client State" } } } + "content": { + "application/json": { + "schema": { + "type": "string", + "title": "Response Set Client State" + } + } + } }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -4317,11 +6801,26 @@ } ], "responses": { - "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, - "204": { "description": "Client state deleted" }, + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "204": { + "description": "Client state deleted" + }, "422": { "description": "Validation Error", - "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } } } @@ -4332,13 +6831,17 @@ "AddImagesToBoardResult": { "properties": { "affected_boards": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Affected Boards", "description": "The ids of boards affected by the delete operation" }, "added_images": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Added Images", "description": "The image names that were added to the board" @@ -4412,7 +6915,9 @@ "title": "Add Integers", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/IntegerOutput" } + "output": { + "$ref": "#/components/schemas/IntegerOutput" + } }, "AlphaMaskToTensorInvocation": { "category": "conditioning", @@ -4446,7 +6951,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask image to convert.", "field_kind": "input", @@ -4476,82 +6988,226 @@ "title": "Alpha Mask to Tensor", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/MaskOutput" } + "output": { + "$ref": "#/components/schemas/MaskOutput" + } }, "AnyModelConfig": { "oneOf": [ - { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, - { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, - { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, - { "$ref": "#/components/schemas/TI_File_SD1_Config" }, - { "$ref": "#/components/schemas/TI_File_SD2_Config" }, - { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, - { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, - { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, - { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, - { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, - { "$ref": "#/components/schemas/Unknown_Config" } + { + "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" + }, + { + "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SDXL_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" + }, + { + "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/SigLIP_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/Unknown_Config" + } ] }, "AppVersion": { - "properties": { "version": { "type": "string", "title": "Version", "description": "App version" } }, + "properties": { + "version": { + "type": "string", + "title": "Version", + "description": "App version" + } + }, "type": "object", "required": ["version"], "title": "AppVersion", @@ -4565,7 +7221,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -4574,7 +7237,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -4607,7 +7277,14 @@ "type": "boolean" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask tensor to apply.", "field_kind": "input", @@ -4615,7 +7292,14 @@ "orig_required": true }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to apply the mask to.", "field_kind": "input", @@ -4645,7 +7329,9 @@ "title": "Apply Tensor Mask to Image", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ApplyMaskToImageInvocation": { "category": "image", @@ -4655,7 +7341,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -4664,7 +7357,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -4697,7 +7397,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image from which to extract the masked region", "field_kind": "input", @@ -4705,7 +7412,14 @@ "orig_required": true }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask defining the region (black=keep, white=discard)", "field_kind": "input", @@ -4735,12 +7449,23 @@ "title": "Apply Mask to Image", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "BaseMetadata": { "properties": { - "name": { "type": "string", "title": "Name", "description": "model's name" }, - "type": { "type": "string", "const": "basemetadata", "title": "Type", "default": "basemetadata" } + "name": { + "type": "string", + "title": "Name", + "description": "model's name" + }, + "type": { + "type": "string", + "const": "basemetadata", + "title": "Type", + "default": "basemetadata" + } }, "type": "object", "required": ["name"], @@ -4755,28 +7480,66 @@ }, "Batch": { "properties": { - "batch_id": { "type": "string", "title": "Batch Id", "description": "The ID of the batch" }, + "batch_id": { + "type": "string", + "title": "Batch Id", + "description": "The ID of the batch" + }, "origin": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Origin", "description": "The origin of this queue item. This data is used by the frontend to determine how to handle results." }, "destination": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Destination", "description": "The origin of this queue item. This data is used by the frontend to determine how to handle results" }, "data": { "anyOf": [ - { "items": { "items": { "$ref": "#/components/schemas/BatchDatum" }, "type": "array" }, "type": "array" }, - { "type": "null" } + { + "items": { + "items": { + "$ref": "#/components/schemas/BatchDatum" + }, + "type": "array" + }, + "type": "array" + }, + { + "type": "null" + } ], "title": "Data", "description": "The batch data collection." }, - "graph": { "$ref": "#/components/schemas/Graph", "description": "The graph to initialize the session with" }, + "graph": { + "$ref": "#/components/schemas/Graph", + "description": "The graph to initialize the session with" + }, "workflow": { - "anyOf": [{ "$ref": "#/components/schemas/WorkflowWithoutID" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/WorkflowWithoutID" + }, + { + "type": "null" + } + ], "description": "The workflow to initialize the session with" }, "runs": { @@ -4806,10 +7569,18 @@ "items": { "items": { "anyOf": [ - { "type": "string" }, - { "type": "number" }, - { "type": "integer" }, - { "$ref": "#/components/schemas/ImageField" } + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "integer" + }, + { + "$ref": "#/components/schemas/ImageField" + } ] }, "type": "array", @@ -4824,18 +7595,45 @@ "BatchEnqueuedEvent": { "description": "Event model for batch_enqueued", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, - "batch_id": { "description": "The ID of the batch", "title": "Batch Id", "type": "string" }, - "enqueued": { "description": "The number of invocations enqueued", "title": "Enqueued", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "queue_id": { + "description": "The ID of the queue", + "title": "Queue Id", + "type": "string" + }, + "batch_id": { + "description": "The ID of the batch", + "title": "Batch Id", + "type": "string" + }, + "enqueued": { + "description": "The number of invocations enqueued", + "title": "Enqueued", + "type": "integer" + }, "requested": { "description": "The number of invocations initially requested to be enqueued (may be less than enqueued if queue was full)", "title": "Requested", "type": "integer" }, - "priority": { "description": "The priority of the batch", "title": "Priority", "type": "integer" }, + "priority": { + "description": "The priority of the batch", + "title": "Priority", + "type": "integer" + }, "origin": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The origin of the batch", "title": "Origin" @@ -4847,15 +7645,37 @@ }, "BatchStatus": { "properties": { - "queue_id": { "type": "string", "title": "Queue Id", "description": "The ID of the queue" }, - "batch_id": { "type": "string", "title": "Batch Id", "description": "The ID of the batch" }, + "queue_id": { + "type": "string", + "title": "Queue Id", + "description": "The ID of the queue" + }, + "batch_id": { + "type": "string", + "title": "Batch Id", + "description": "The ID of the batch" + }, "origin": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Origin", "description": "The origin of the batch" }, "destination": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Destination", "description": "The destination of the batch" }, @@ -4884,7 +7704,11 @@ "title": "Canceled", "description": "Number of queue items with status 'canceled'" }, - "total": { "type": "integer", "title": "Total", "description": "Total number of queue items" } + "total": { + "type": "integer", + "title": "Total", + "description": "Total number of queue items" + } }, "type": "object", "required": [ @@ -4909,7 +7733,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -4918,7 +7749,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -4983,11 +7821,21 @@ }, "color": { "$ref": "#/components/schemas/ColorField", - "default": { "r": 0, "g": 0, "b": 0, "a": 255 }, + "default": { + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, "description": "The color of the image", "field_kind": "input", "input": "any", - "orig_default": { "a": 255, "b": 0, "g": 0, "r": 0 }, + "orig_default": { + "a": 255, + "b": 0, + "g": 0, + "r": 0 + }, "orig_required": false }, "type": { @@ -5003,7 +7851,9 @@ "title": "Blank Image", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "BlendLatentsInvocation": { "category": "latents", @@ -5037,7 +7887,14 @@ "type": "boolean" }, "latents_a": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -5045,7 +7902,14 @@ "orig_required": true }, "latents_b": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -5053,7 +7917,14 @@ "orig_required": true }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Mask for blending in latents B", "field_kind": "input", @@ -5085,22 +7956,46 @@ "title": "Blend Latents", "type": "object", "version": "1.1.0", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "BoardChanges": { "properties": { "board_name": { - "anyOf": [{ "type": "string", "maxLength": 300 }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "maxLength": 300 + }, + { + "type": "null" + } + ], "title": "Board Name", "description": "The board's new name." }, "cover_image_name": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image Name", "description": "The name of the board's new cover image." }, "archived": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "title": "Archived", "description": "Whether or not the board is archived" } @@ -5111,28 +8006,70 @@ }, "BoardDTO": { "properties": { - "board_id": { "type": "string", "title": "Board Id", "description": "The unique ID of the board." }, - "board_name": { "type": "string", "title": "Board Name", "description": "The name of the board." }, + "board_id": { + "type": "string", + "title": "Board Id", + "description": "The unique ID of the board." + }, + "board_name": { + "type": "string", + "title": "Board Name", + "description": "The name of the board." + }, "created_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "title": "Created At", "description": "The created timestamp of the board." }, "updated_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "title": "Updated At", "description": "The updated timestamp of the board." }, "deleted_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Deleted At", "description": "The deleted timestamp of the board." }, "cover_image_name": { - "anyOf": [{ "type": "string" }, { "type": "null" }], - "title": "Cover Image Name", - "description": "The name of the board's cover image." - }, + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Cover Image Name", + "description": "The name of the board's cover image." + }, "archived": { "type": "boolean", "title": "Archived", @@ -5165,7 +8102,13 @@ }, "BoardField": { "description": "A board primitive field", - "properties": { "board_id": { "description": "The id of the board", "title": "Board Id", "type": "string" } }, + "properties": { + "board_id": { + "description": "The id of the board", + "title": "Board Id", + "type": "string" + } + }, "required": ["board_id"], "title": "BoardField", "type": "object" @@ -5178,8 +8121,16 @@ }, "Body_add_image_to_board": { "properties": { - "board_id": { "type": "string", "title": "Board Id", "description": "The id of the board to add to" }, - "image_name": { "type": "string", "title": "Image Name", "description": "The name of the image to add" } + "board_id": { + "type": "string", + "title": "Board Id", + "description": "The id of the board to add to" + }, + "image_name": { + "type": "string", + "title": "Image Name", + "description": "The name of the image to add" + } }, "type": "object", "required": ["board_id", "image_name"], @@ -5187,9 +8138,15 @@ }, "Body_add_images_to_board": { "properties": { - "board_id": { "type": "string", "title": "Board Id", "description": "The id of the board to add to" }, + "board_id": { + "type": "string", + "title": "Board Id", + "description": "The id of the board to add to" + }, "image_names": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Image Names", "description": "The names of the images to add" @@ -5202,7 +8159,9 @@ "Body_cancel_by_batch_ids": { "properties": { "batch_ids": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Batch Ids", "description": "The list of batch_ids to cancel all queue items for" @@ -5214,10 +8173,25 @@ }, "Body_create_image_upload_entry": { "properties": { - "width": { "type": "integer", "title": "Width", "description": "The width of the image" }, - "height": { "type": "integer", "title": "Height", "description": "The height of the image" }, + "width": { + "type": "integer", + "title": "Width", + "description": "The width of the image" + }, + "height": { + "type": "integer", + "title": "Height", + "description": "The height of the image" + }, "board_id": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Board Id", "description": "The board to add this image to, if any" } @@ -5229,11 +8203,23 @@ "Body_create_style_preset": { "properties": { "image": { - "anyOf": [{ "type": "string", "format": "binary" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "binary" + }, + { + "type": "null" + } + ], "title": "Image", "description": "The image file to upload" }, - "data": { "type": "string", "title": "Data", "description": "The data of the style preset to create" } + "data": { + "type": "string", + "title": "Data", + "description": "The data of the style preset to create" + } }, "type": "object", "required": ["data"], @@ -5241,7 +8227,10 @@ }, "Body_create_workflow": { "properties": { - "workflow": { "$ref": "#/components/schemas/WorkflowWithoutID", "description": "The workflow to create" } + "workflow": { + "$ref": "#/components/schemas/WorkflowWithoutID", + "description": "The workflow to create" + } }, "type": "object", "required": ["workflow"], @@ -5250,7 +8239,9 @@ "Body_delete_images_from_list": { "properties": { "image_names": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Image Names", "description": "The list of names of images to delete" @@ -5262,7 +8253,11 @@ }, "Body_do_hf_login": { "properties": { - "token": { "type": "string", "title": "Token", "description": "Hugging Face token to use for login" } + "token": { + "type": "string", + "title": "Token", + "description": "Hugging Face token to use for login" + } }, "type": "object", "required": ["token"], @@ -5277,10 +8272,26 @@ "title": "Source", "description": "download source" }, - "dest": { "type": "string", "title": "Dest", "description": "download destination" }, - "priority": { "type": "integer", "title": "Priority", "description": "queue priority", "default": 10 }, + "dest": { + "type": "string", + "title": "Dest", + "description": "download destination" + }, + "priority": { + "type": "integer", + "title": "Priority", + "description": "queue priority", + "default": 10 + }, "access_token": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Access Token", "description": "token for authorization to download" } @@ -5292,12 +8303,29 @@ "Body_download_images_from_list": { "properties": { "image_names": { - "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], "title": "Image Names", "description": "The list of names of images to download" }, "board_id": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Board Id", "description": "The board from which image should be downloaded" } @@ -5307,7 +8335,10 @@ }, "Body_enqueue_batch": { "properties": { - "batch": { "$ref": "#/components/schemas/Batch", "description": "Batch to process" }, + "batch": { + "$ref": "#/components/schemas/Batch", + "description": "Batch to process" + }, "prepend": { "type": "boolean", "title": "Prepend", @@ -5322,7 +8353,9 @@ "Body_get_images_by_names": { "properties": { "image_names": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Image Names", "description": "Object containing list of image names to fetch DTOs for" @@ -5335,7 +8368,9 @@ "Body_get_queue_items_by_item_ids": { "properties": { "item_ids": { - "items": { "type": "integer" }, + "items": { + "type": "integer" + }, "type": "array", "title": "Item Ids", "description": "Object containing list of queue item ids to fetch queue items for" @@ -5347,7 +8382,12 @@ }, "Body_import_style_presets": { "properties": { - "file": { "type": "string", "format": "binary", "title": "File", "description": "The file to import" } + "file": { + "type": "string", + "format": "binary", + "title": "File", + "description": "The file to import" + } }, "type": "object", "required": ["file"], @@ -5355,7 +8395,11 @@ }, "Body_parse_dynamicprompts": { "properties": { - "prompt": { "type": "string", "title": "Prompt", "description": "The prompt to parse with dynamicprompts" }, + "prompt": { + "type": "string", + "title": "Prompt", + "description": "The prompt to parse with dynamicprompts" + }, "max_prompts": { "type": "integer", "maximum": 10000.0, @@ -5371,7 +8415,14 @@ "default": true }, "seed": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "title": "Seed", "description": "The seed to use for random generation. Only used if not combinatorial" } @@ -5382,7 +8433,11 @@ }, "Body_remove_image_from_board": { "properties": { - "image_name": { "type": "string", "title": "Image Name", "description": "The name of the image to remove" } + "image_name": { + "type": "string", + "title": "Image Name", + "description": "The name of the image to remove" + } }, "type": "object", "required": ["image_name"], @@ -5391,7 +8446,9 @@ "Body_remove_images_from_board": { "properties": { "image_names": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Image Names", "description": "The names of the images to remove" @@ -5403,7 +8460,12 @@ }, "Body_set_workflow_thumbnail": { "properties": { - "image": { "type": "string", "format": "binary", "title": "Image", "description": "The image file to upload" } + "image": { + "type": "string", + "format": "binary", + "title": "Image", + "description": "The image file to upload" + } }, "type": "object", "required": ["image"], @@ -5412,7 +8474,9 @@ "Body_star_images_in_list": { "properties": { "image_names": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Image Names", "description": "The list of names of images to star" @@ -5425,7 +8489,9 @@ "Body_unstar_images_in_list": { "properties": { "image_names": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Image Names", "description": "The list of names of images to unstar" @@ -5436,7 +8502,13 @@ "title": "Body_unstar_images_in_list" }, "Body_update_model_image": { - "properties": { "image": { "type": "string", "format": "binary", "title": "Image" } }, + "properties": { + "image": { + "type": "string", + "format": "binary", + "title": "Image" + } + }, "type": "object", "required": ["image"], "title": "Body_update_model_image" @@ -5444,11 +8516,23 @@ "Body_update_style_preset": { "properties": { "image": { - "anyOf": [{ "type": "string", "format": "binary" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "binary" + }, + { + "type": "null" + } + ], "title": "Image", "description": "The image file to upload" }, - "data": { "type": "string", "title": "Data", "description": "The data of the style preset to update" } + "data": { + "type": "string", + "title": "Data", + "description": "The data of the style preset to update" + } }, "type": "object", "required": ["data"], @@ -5456,7 +8540,10 @@ }, "Body_update_workflow": { "properties": { - "workflow": { "$ref": "#/components/schemas/Workflow", "description": "The updated workflow" } + "workflow": { + "$ref": "#/components/schemas/Workflow", + "description": "The updated workflow" + } }, "type": "object", "required": ["workflow"], @@ -5464,15 +8551,33 @@ }, "Body_upload_image": { "properties": { - "file": { "type": "string", "format": "binary", "title": "File" }, + "file": { + "type": "string", + "format": "binary", + "title": "File" + }, "resize_to": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Resize To", "description": "Dimensions to resize the image to, must be stringified tuple of 2 integers. Max total pixel count: 16777216", "examples": ["\"[1024,1024]\""] }, "metadata": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Metadata", "description": "The metadata to associate with the image, must be a stringified JSON dict" } @@ -5517,7 +8622,9 @@ "description": "The collection of boolean values", "field_kind": "input", "input": "any", - "items": { "type": "boolean" }, + "items": { + "type": "boolean" + }, "orig_default": [], "orig_required": false, "title": "Collection", @@ -5536,7 +8643,9 @@ "title": "Boolean Collection Primitive", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/BooleanCollectionOutput" } + "output": { + "$ref": "#/components/schemas/BooleanCollectionOutput" + } }, "BooleanCollectionOutput": { "class": "output", @@ -5545,7 +8654,9 @@ "collection": { "description": "The output boolean collection", "field_kind": "output", - "items": { "type": "boolean" }, + "items": { + "type": "boolean" + }, "title": "Collection", "type": "array", "ui_hidden": false @@ -5616,7 +8727,9 @@ "title": "Boolean Primitive", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/BooleanOutput" } + "output": { + "$ref": "#/components/schemas/BooleanOutput" + } }, "BooleanOutput": { "class": "output", @@ -5648,7 +8761,9 @@ "collection": { "description": "The output bounding boxes.", "field_kind": "output", - "items": { "$ref": "#/components/schemas/BoundingBoxField" }, + "items": { + "$ref": "#/components/schemas/BoundingBoxField" + }, "title": "Bounding Boxes", "type": "array", "ui_hidden": false @@ -5689,7 +8804,16 @@ "type": "integer" }, "score": { - "anyOf": [{ "maximum": 1.0, "minimum": 0.0, "type": "number" }, { "type": "null" }], + "anyOf": [ + { + "maximum": 1.0, + "minimum": 0.0, + "type": "number" + }, + { + "type": "null" + } + ], "default": null, "description": "The score associated with the bounding box. In the range [0, 1]. This value is typically set when the bounding box was produced by a detector and has an associated confidence score.", "title": "Score" @@ -5783,7 +8907,9 @@ "title": "Bounding Box", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/BoundingBoxOutput" } + "output": { + "$ref": "#/components/schemas/BoundingBoxOutput" + } }, "BoundingBoxOutput": { "class": "output", @@ -5810,7 +8936,11 @@ "BulkDownloadCompleteEvent": { "description": "Event model for bulk_download_complete", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, "bulk_download_id": { "description": "The ID of the bulk image download", "title": "Bulk Download Id", @@ -5834,7 +8964,11 @@ "BulkDownloadErrorEvent": { "description": "Event model for bulk_download_error", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, "bulk_download_id": { "description": "The ID of the bulk image download", "title": "Bulk Download Id", @@ -5850,7 +8984,11 @@ "title": "Bulk Download Item Name", "type": "string" }, - "error": { "description": "The error message", "title": "Error", "type": "string" } + "error": { + "description": "The error message", + "title": "Error", + "type": "string" + } }, "required": ["timestamp", "bulk_download_id", "bulk_download_item_id", "bulk_download_item_name", "error"], "title": "BulkDownloadErrorEvent", @@ -5859,7 +8997,11 @@ "BulkDownloadStartedEvent": { "description": "Event model for bulk_download_started", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, "bulk_download_id": { "description": "The ID of the bulk image download", "title": "Bulk Download Id", @@ -5882,17 +9024,40 @@ }, "CLIPEmbed_Diffusers_G_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -5901,22 +9066,62 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, - "type": { "type": "string", "const": "clip_embed", "title": "Type", "default": "clip_embed" }, - "variant": { "type": "string", "const": "gigantic", "title": "Variant", "default": "gigantic" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "base": { + "type": "string", + "const": "any", + "title": "Base", + "default": "any" + }, + "type": { + "type": "string", + "const": "clip_embed", + "title": "Type", + "default": "clip_embed" + }, + "variant": { + "type": "string", + "const": "gigantic", + "title": "Variant", + "default": "gigantic" + } }, "type": "object", "required": [ @@ -5940,17 +9145,40 @@ }, "CLIPEmbed_Diffusers_L_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -5959,22 +9187,62 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, - "type": { "type": "string", "const": "clip_embed", "title": "Type", "default": "clip_embed" }, - "variant": { "type": "string", "const": "large", "title": "Variant", "default": "large" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "base": { + "type": "string", + "const": "any", + "title": "Base", + "default": "any" + }, + "type": { + "type": "string", + "const": "clip_embed", + "title": "Type", + "default": "clip_embed" + }, + "variant": { + "type": "string", + "const": "large", + "title": "Variant", + "default": "large" + } }, "type": "object", "required": [ @@ -6013,7 +9281,9 @@ }, "loras": { "description": "LoRAs to apply on model loading", - "items": { "$ref": "#/components/schemas/LoRAField" }, + "items": { + "$ref": "#/components/schemas/LoRAField" + }, "title": "Loras", "type": "array" } @@ -6077,7 +9347,14 @@ "type": "boolean" }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -6109,14 +9386,23 @@ "title": "Apply CLIP Skip - SD1.5, SDXL", "type": "object", "version": "1.1.1", - "output": { "$ref": "#/components/schemas/CLIPSkipInvocationOutput" } + "output": { + "$ref": "#/components/schemas/CLIPSkipInvocationOutput" + } }, "CLIPSkipInvocationOutput": { "class": "output", "description": "CLIP skip node output", "properties": { "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "output", @@ -6137,17 +9423,40 @@ }, "CLIPVision_Diffusers_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -6156,21 +9465,56 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, - "type": { "type": "string", "const": "clip_vision", "title": "Type", "default": "clip_vision" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "base": { + "type": "string", + "const": "any", + "title": "Base", + "default": "any" + }, + "type": { + "type": "string", + "const": "clip_vision", + "title": "Type", + "default": "clip_vision" + } }, "type": "object", "required": [ @@ -6200,7 +9544,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -6209,7 +9560,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -6242,7 +9600,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -6262,18 +9627,46 @@ "title": "CV2 Infill", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "CacheStats": { "properties": { - "hits": { "type": "integer", "title": "Hits", "default": 0 }, - "misses": { "type": "integer", "title": "Misses", "default": 0 }, - "high_watermark": { "type": "integer", "title": "High Watermark", "default": 0 }, - "in_cache": { "type": "integer", "title": "In Cache", "default": 0 }, - "cleared": { "type": "integer", "title": "Cleared", "default": 0 }, - "cache_size": { "type": "integer", "title": "Cache Size", "default": 0 }, + "hits": { + "type": "integer", + "title": "Hits", + "default": 0 + }, + "misses": { + "type": "integer", + "title": "Misses", + "default": 0 + }, + "high_watermark": { + "type": "integer", + "title": "High Watermark", + "default": 0 + }, + "in_cache": { + "type": "integer", + "title": "In Cache", + "default": 0 + }, + "cleared": { + "type": "integer", + "title": "Cleared", + "default": 0 + }, + "cache_size": { + "type": "integer", + "title": "Cache Size", + "default": 0 + }, "loaded_model_sizes": { - "additionalProperties": { "type": "integer" }, + "additionalProperties": { + "type": "integer" + }, "type": "object", "title": "Loaded Model Sizes" } @@ -6381,7 +9774,9 @@ "title": "Calculate Image Tiles Even Split", "type": "object", "version": "1.1.1", - "output": { "$ref": "#/components/schemas/CalculateImageTilesOutput" } + "output": { + "$ref": "#/components/schemas/CalculateImageTilesOutput" + } }, "CalculateImageTilesInvocation": { "category": "tiles", @@ -6482,7 +9877,9 @@ "title": "Calculate Image Tiles", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/CalculateImageTilesOutput" } + "output": { + "$ref": "#/components/schemas/CalculateImageTilesOutput" + } }, "CalculateImageTilesMinimumOverlapInvocation": { "category": "tiles", @@ -6583,7 +9980,9 @@ "title": "Calculate Image Tiles Minimum Overlap", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/CalculateImageTilesOutput" } + "output": { + "$ref": "#/components/schemas/CalculateImageTilesOutput" + } }, "CalculateImageTilesOutput": { "class": "output", @@ -6591,7 +9990,9 @@ "tiles": { "description": "The tiles coordinates that cover a particular image shape.", "field_kind": "output", - "items": { "$ref": "#/components/schemas/Tile" }, + "items": { + "$ref": "#/components/schemas/Tile" + }, "title": "Tiles", "type": "array", "ui_hidden": false @@ -6610,7 +10011,11 @@ }, "CancelAllExceptCurrentResult": { "properties": { - "canceled": { "type": "integer", "title": "Canceled", "description": "Number of queue items canceled" } + "canceled": { + "type": "integer", + "title": "Canceled", + "description": "Number of queue items canceled" + } }, "type": "object", "required": ["canceled"], @@ -6619,7 +10024,11 @@ }, "CancelByBatchIDsResult": { "properties": { - "canceled": { "type": "integer", "title": "Canceled", "description": "Number of queue items canceled" } + "canceled": { + "type": "integer", + "title": "Canceled", + "description": "Number of queue items canceled" + } }, "type": "object", "required": ["canceled"], @@ -6628,7 +10037,11 @@ }, "CancelByDestinationResult": { "properties": { - "canceled": { "type": "integer", "title": "Canceled", "description": "Number of queue items canceled" } + "canceled": { + "type": "integer", + "title": "Canceled", + "description": "Number of queue items canceled" + } }, "type": "object", "required": ["canceled"], @@ -6643,7 +10056,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -6652,7 +10072,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -6685,7 +10112,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -6729,7 +10163,9 @@ "title": "Canny Edge Detection", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "CanvasPasteBackInvocation": { "category": "image", @@ -6739,7 +10175,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -6748,7 +10191,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -6781,7 +10231,14 @@ "type": "boolean" }, "source_image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The source image", "field_kind": "input", @@ -6789,7 +10246,14 @@ "orig_required": true }, "target_image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The target image", "field_kind": "input", @@ -6797,7 +10261,14 @@ "orig_required": true }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask to use when pasting", "field_kind": "input", @@ -6828,7 +10299,9 @@ "title": "Canvas Paste Back", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "CanvasV2MaskAndCropInvocation": { "category": "image", @@ -6838,7 +10311,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -6847,7 +10327,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -6880,7 +10367,14 @@ "type": "boolean" }, "source_image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The source image onto which the masked generated image is pasted. If omitted, the masked generated image is returned with transparency.", "field_kind": "input", @@ -6889,7 +10383,14 @@ "orig_required": false }, "generated_image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to apply the mask to", "field_kind": "input", @@ -6897,7 +10398,14 @@ "orig_required": true }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask to apply", "field_kind": "input", @@ -6928,7 +10436,9 @@ "title": "Canvas V2 Mask and Crop", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "CenterPadCropInvocation": { "category": "image", @@ -6962,7 +10472,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to crop", "field_kind": "input", @@ -7022,7 +10539,9 @@ "title": "Center Pad or Crop Image", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "Classification": { "description": "The classification of an Invocation.\n- `Stable`: The invocation, including its inputs/outputs and internal logic, is stable. You may build workflows with it, having confidence that they will not break because of a change in this invocation.\n- `Beta`: The invocation is not yet stable, but is planned to be stable in the future. Workflows built around this invocation may break, but we are committed to supporting this invocation long-term.\n- `Prototype`: The invocation is not yet stable and may be removed from the application at any time. Workflows built around this invocation may break, and we are *not* committed to supporting this invocation.\n- `Deprecated`: The invocation is deprecated and may be removed in a future version.\n- `Internal`: The invocation is not intended for use by end-users. It may be changed or removed at any time, but is exposed for users to play with.\n- `Special`: The invocation is a special case and does not fit into any of the other classifications.", @@ -7032,7 +10551,11 @@ }, "ClearResult": { "properties": { - "deleted": { "type": "integer", "title": "Deleted", "description": "Number of queue items deleted" } + "deleted": { + "type": "integer", + "title": "Deleted", + "description": "Number of queue items deleted" + } }, "type": "object", "required": ["deleted"], @@ -7088,7 +10611,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -7097,7 +10627,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -7130,7 +10667,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -7139,7 +10683,14 @@ "orig_required": false }, "denoise_mask": { - "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/DenoiseMaskField" + }, + { + "type": "null" + } + ], "default": null, "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", "field_kind": "input", @@ -7172,7 +10723,14 @@ "type": "number" }, "transformer": { - "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TransformerField" + }, + { + "type": "null" + } + ], "default": null, "description": "CogView4 model (Transformer) to load", "field_kind": "input", @@ -7181,7 +10739,14 @@ "title": "Transformer" }, "positive_conditioning": { - "anyOf": [{ "$ref": "#/components/schemas/CogView4ConditioningField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CogView4ConditioningField" + }, + { + "type": "null" + } + ], "default": null, "description": "Positive conditioning tensor", "field_kind": "input", @@ -7189,7 +10754,14 @@ "orig_required": true }, "negative_conditioning": { - "anyOf": [{ "$ref": "#/components/schemas/CogView4ConditioningField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CogView4ConditioningField" + }, + { + "type": "null" + } + ], "default": null, "description": "Negative conditioning tensor", "field_kind": "input", @@ -7197,7 +10769,17 @@ "orig_required": true }, "cfg_scale": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 3.5, "description": "Classifier-Free Guidance scale", "field_kind": "input", @@ -7262,7 +10844,9 @@ "title": "Denoise - CogView4", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "CogView4ImageToLatentsInvocation": { "category": "image", @@ -7272,7 +10856,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -7281,7 +10872,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -7314,7 +10912,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to encode.", "field_kind": "input", @@ -7322,7 +10927,14 @@ "orig_required": true }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -7342,7 +10954,9 @@ "title": "Image to Latents - CogView4", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "CogView4LatentsToImageInvocation": { "category": "latents", @@ -7352,7 +10966,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -7361,7 +10982,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -7394,7 +11022,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -7402,7 +11037,14 @@ "orig_required": true }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -7422,7 +11064,9 @@ "title": "Latents to Image - CogView4", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "CogView4ModelLoaderInvocation": { "category": "model", @@ -7477,7 +11121,9 @@ "title": "Main Model - CogView4", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/CogView4ModelLoaderOutput" } + "output": { + "$ref": "#/components/schemas/CogView4ModelLoaderOutput" + } }, "CogView4ModelLoaderOutput": { "class": "output", @@ -7548,7 +11194,14 @@ "type": "boolean" }, "prompt": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Text prompt to encode.", "field_kind": "input", @@ -7558,7 +11211,14 @@ "ui_component": "textarea" }, "glm_encoder": { - "anyOf": [{ "$ref": "#/components/schemas/GlmEncoderField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/GlmEncoderField" + }, + { + "type": "null" + } + ], "default": null, "description": "GLM (THUDM) tokenizer and text encoder", "field_kind": "input", @@ -7579,7 +11239,9 @@ "title": "Prompt - CogView4", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/CogView4ConditioningOutput" } + "output": { + "$ref": "#/components/schemas/CogView4ConditioningOutput" + } }, "CollectInvocation": { "class": "invocation", @@ -7612,7 +11274,12 @@ "type": "boolean" }, "item": { - "anyOf": [{}, { "type": "null" }], + "anyOf": [ + {}, + { + "type": "null" + } + ], "default": null, "description": "The item to collect (all inputs must be of the same type)", "field_kind": "input", @@ -7646,7 +11313,9 @@ "title": "CollectInvocation", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/CollectInvocationOutput" } + "output": { + "$ref": "#/components/schemas/CollectInvocationOutput" + } }, "CollectInvocationOutput": { "class": "output", @@ -7679,7 +11348,9 @@ "collection": { "description": "The output colors", "field_kind": "output", - "items": { "$ref": "#/components/schemas/ColorField" }, + "items": { + "$ref": "#/components/schemas/ColorField" + }, "title": "Collection", "type": "array", "ui_hidden": false @@ -7704,7 +11375,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -7713,7 +11391,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -7746,7 +11431,14 @@ "type": "boolean" }, "base_image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to color-correct", "field_kind": "input", @@ -7754,7 +11446,14 @@ "orig_required": true }, "color_reference": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Reference image for color-correction", "field_kind": "input", @@ -7762,7 +11461,14 @@ "orig_required": true }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional mask to limit color correction area", "field_kind": "input", @@ -7794,15 +11500,41 @@ "title": "Color Correct", "type": "object", "version": "2.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ColorField": { "description": "A color primitive field", "properties": { - "r": { "description": "The red component", "maximum": 255, "minimum": 0, "title": "R", "type": "integer" }, - "g": { "description": "The green component", "maximum": 255, "minimum": 0, "title": "G", "type": "integer" }, - "b": { "description": "The blue component", "maximum": 255, "minimum": 0, "title": "B", "type": "integer" }, - "a": { "description": "The alpha component", "maximum": 255, "minimum": 0, "title": "A", "type": "integer" } + "r": { + "description": "The red component", + "maximum": 255, + "minimum": 0, + "title": "R", + "type": "integer" + }, + "g": { + "description": "The green component", + "maximum": 255, + "minimum": 0, + "title": "G", + "type": "integer" + }, + "b": { + "description": "The blue component", + "maximum": 255, + "minimum": 0, + "title": "B", + "type": "integer" + }, + "a": { + "description": "The alpha component", + "maximum": 255, + "minimum": 0, + "title": "A", + "type": "integer" + } }, "required": ["r", "g", "b", "a"], "title": "ColorField", @@ -7841,11 +11573,21 @@ }, "color": { "$ref": "#/components/schemas/ColorField", - "default": { "r": 0, "g": 0, "b": 0, "a": 255 }, + "default": { + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, "description": "The color value", "field_kind": "input", "input": "any", - "orig_default": { "a": 255, "b": 0, "g": 0, "r": 0 }, + "orig_default": { + "a": 255, + "b": 0, + "g": 0, + "r": 0 + }, "orig_required": false }, "type": { @@ -7861,7 +11603,9 @@ "title": "Color Primitive", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/ColorOutput" } + "output": { + "$ref": "#/components/schemas/ColorOutput" + } }, "ColorMapInvocation": { "category": "controlnet", @@ -7871,7 +11615,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -7880,7 +11631,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -7913,7 +11671,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -7944,7 +11709,9 @@ "title": "Color Map", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ColorOutput": { "class": "output", @@ -8011,7 +11778,14 @@ "ui_component": "textarea" }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -8020,7 +11794,14 @@ "title": "CLIP" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "A mask defining the region that this conditioning prompt applies to.", "field_kind": "input", @@ -8041,7 +11822,9 @@ "title": "Prompt - SD1.5", "type": "object", "version": "1.2.1", - "output": { "$ref": "#/components/schemas/ConditioningOutput" } + "output": { + "$ref": "#/components/schemas/ConditioningOutput" + } }, "ConditioningCollectionInvocation": { "category": "primitives", @@ -8079,7 +11862,9 @@ "description": "The collection of conditioning tensors", "field_kind": "input", "input": "any", - "items": { "$ref": "#/components/schemas/ConditioningField" }, + "items": { + "$ref": "#/components/schemas/ConditioningField" + }, "orig_default": [], "orig_required": false, "title": "Collection", @@ -8098,7 +11883,9 @@ "title": "Conditioning Collection Primitive", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/ConditioningCollectionOutput" } + "output": { + "$ref": "#/components/schemas/ConditioningCollectionOutput" + } }, "ConditioningCollectionOutput": { "class": "output", @@ -8107,7 +11894,9 @@ "collection": { "description": "The output conditioning tensors", "field_kind": "output", - "items": { "$ref": "#/components/schemas/ConditioningField" }, + "items": { + "$ref": "#/components/schemas/ConditioningField" + }, "title": "Collection", "type": "array", "ui_hidden": false @@ -8133,7 +11922,14 @@ "type": "string" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask associated with this conditioning tensor. Excluded regions should be set to False, included regions should be set to True." } @@ -8174,7 +11970,14 @@ "type": "boolean" }, "conditioning": { - "anyOf": [{ "$ref": "#/components/schemas/ConditioningField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ConditioningField" + }, + { + "type": "null" + } + ], "default": null, "description": "Conditioning tensor", "field_kind": "input", @@ -8194,7 +11997,9 @@ "title": "Conditioning Primitive", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/ConditioningOutput" } + "output": { + "$ref": "#/components/schemas/ConditioningOutput" + } }, "ConditioningOutput": { "class": "output", @@ -8226,7 +12031,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -8235,7 +12047,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -8268,7 +12087,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -8299,11 +12125,23 @@ "title": "Content Shuffle", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ControlAdapterDefaultSettings": { "properties": { - "preprocessor": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Preprocessor" } + "preprocessor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Preprocessor" + } }, "additionalProperties": false, "type": "object", @@ -8312,13 +12150,26 @@ }, "ControlField": { "properties": { - "image": { "$ref": "#/components/schemas/ImageField", "description": "The control image" }, + "image": { + "$ref": "#/components/schemas/ImageField", + "description": "The control image" + }, "control_model": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "The ControlNet model to use" }, "control_weight": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1, "description": "The weight given to the ControlNet", "title": "Control Weight" @@ -8360,9 +12211,19 @@ }, "ControlLoRAField": { "properties": { - "lora": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "Info to load lora model" }, - "weight": { "description": "Weight to apply to lora model", "title": "Weight", "type": "number" }, - "img": { "$ref": "#/components/schemas/ImageField", "description": "Image to use in structural conditioning" } + "lora": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load lora model" + }, + "weight": { + "description": "Weight to apply to lora model", + "title": "Weight", + "type": "number" + }, + "img": { + "$ref": "#/components/schemas/ImageField", + "description": "Image to use in structural conditioning" + } }, "required": ["lora", "weight", "img"], "title": "ControlLoRAField", @@ -8370,17 +12231,40 @@ }, "ControlLoRA_LyCORIS_FLUX_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -8389,25 +12273,75 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + "anyOf": [ + { + "$ref": "#/components/schemas/ControlAdapterDefaultSettings" + }, + { + "type": "null" + } + ] + }, + "base": { + "type": "string", + "const": "flux", + "title": "Base", + "default": "flux" + }, + "type": { + "type": "string", + "const": "control_lora", + "title": "Type", + "default": "control_lora" + }, + "format": { + "type": "string", + "const": "lycoris", + "title": "Format", + "default": "lycoris" }, - "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" }, - "type": { "type": "string", "const": "control_lora", "title": "Type", "default": "control_lora" }, - "format": { "type": "string", "const": "lycoris", "title": "Format", "default": "lycoris" }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases" } }, @@ -8464,7 +12398,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The control image", "field_kind": "input", @@ -8472,7 +12413,14 @@ "orig_required": true }, "control_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "ControlNet model to load", "field_kind": "input", @@ -8482,7 +12430,17 @@ "ui_model_type": ["controlnet"] }, "control_weight": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1.0, "description": "The weight given to the ControlNet", "field_kind": "input", @@ -8552,13 +12510,25 @@ "title": "ControlNet - SD1.5, SD2, SDXL", "type": "object", "version": "1.1.3", - "output": { "$ref": "#/components/schemas/ControlOutput" } + "output": { + "$ref": "#/components/schemas/ControlOutput" + } }, "ControlNetMetadataField": { "properties": { - "image": { "$ref": "#/components/schemas/ImageField", "description": "The control image" }, + "image": { + "$ref": "#/components/schemas/ImageField", + "description": "The control image" + }, "processed_image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The control image, after processing." }, @@ -8567,7 +12537,17 @@ "description": "The ControlNet model to use" }, "control_weight": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1, "description": "The weight given to the ControlNet", "title": "Control Weight" @@ -8609,17 +12589,40 @@ }, "ControlNet_Checkpoint_FLUX_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -8628,28 +12631,74 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "type": { + "type": "string", + "const": "controlnet", + "title": "Type", + "default": "controlnet" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + "anyOf": [ + { + "$ref": "#/components/schemas/ControlAdapterDefaultSettings" + }, + { + "type": "null" + } + ] }, - "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + "base": { + "type": "string", + "const": "flux", + "title": "Base", + "default": "flux" + } }, "type": "object", "required": [ @@ -8673,17 +12722,40 @@ }, "ControlNet_Checkpoint_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -8692,28 +12764,74 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "type": { + "type": "string", + "const": "controlnet", + "title": "Type", + "default": "controlnet" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + "anyOf": [ + { + "$ref": "#/components/schemas/ControlAdapterDefaultSettings" + }, + { + "type": "null" + } + ] }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -8737,17 +12855,40 @@ }, "ControlNet_Checkpoint_SD2_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -8756,28 +12897,74 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "type": { + "type": "string", + "const": "controlnet", + "title": "Type", + "default": "controlnet" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + "anyOf": [ + { + "$ref": "#/components/schemas/ControlAdapterDefaultSettings" + }, + { + "type": "null" + } + ] }, - "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + "base": { + "type": "string", + "const": "sd-2", + "title": "Base", + "default": "sd-2" + } }, "type": "object", "required": [ @@ -8801,17 +12988,40 @@ }, "ControlNet_Checkpoint_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -8820,28 +13030,74 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, + "type": { + "type": "string", + "const": "controlnet", + "title": "Type", + "default": "controlnet" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + "anyOf": [ + { + "$ref": "#/components/schemas/ControlAdapterDefaultSettings" + }, + { + "type": "null" + } + ] }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -8865,17 +13121,40 @@ }, "ControlNet_Diffusers_FLUX_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -8884,24 +13163,66 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "type": { + "type": "string", + "const": "controlnet", + "title": "Type", + "default": "controlnet" + }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + "anyOf": [ + { + "$ref": "#/components/schemas/ControlAdapterDefaultSettings" + }, + { + "type": "null" + } + ] }, - "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + "base": { + "type": "string", + "const": "flux", + "title": "Base", + "default": "flux" + } }, "type": "object", "required": [ @@ -8925,17 +13246,40 @@ }, "ControlNet_Diffusers_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -8944,24 +13288,66 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "type": { + "type": "string", + "const": "controlnet", + "title": "Type", + "default": "controlnet" + }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + "anyOf": [ + { + "$ref": "#/components/schemas/ControlAdapterDefaultSettings" + }, + { + "type": "null" + } + ] }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -8985,17 +13371,40 @@ }, "ControlNet_Diffusers_SD2_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -9004,24 +13413,66 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "type": { + "type": "string", + "const": "controlnet", + "title": "Type", + "default": "controlnet" + }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + "anyOf": [ + { + "$ref": "#/components/schemas/ControlAdapterDefaultSettings" + }, + { + "type": "null" + } + ] }, - "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + "base": { + "type": "string", + "const": "sd-2", + "title": "Base", + "default": "sd-2" + } }, "type": "object", "required": [ @@ -9045,17 +13496,40 @@ }, "ControlNet_Diffusers_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -9064,24 +13538,66 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], - "title": "Cover Image", - "description": "Url for image to preview model" + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "type": { + "type": "string", + "const": "controlnet", + "title": "Type", + "default": "controlnet" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "type": { "type": "string", "const": "controlnet", "title": "Type", "default": "controlnet" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + "anyOf": [ + { + "$ref": "#/components/schemas/ControlAdapterDefaultSettings" + }, + { + "type": "null" + } + ] }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -9188,7 +13704,9 @@ ], "type": "string" }, - { "type": "null" } + { + "type": "null" + } ], "default": null, "description": "The generation mode that output this image", @@ -9199,7 +13717,14 @@ "title": "Generation Mode" }, "positive_prompt": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The positive prompt parameter", "field_kind": "input", @@ -9209,7 +13734,14 @@ "title": "Positive Prompt" }, "negative_prompt": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The negative prompt parameter", "field_kind": "input", @@ -9219,7 +13751,14 @@ "title": "Negative Prompt" }, "width": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The width parameter", "field_kind": "input", @@ -9229,7 +13768,14 @@ "title": "Width" }, "height": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The height parameter", "field_kind": "input", @@ -9239,7 +13785,14 @@ "title": "Height" }, "seed": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The seed used for noise generation", "field_kind": "input", @@ -9249,7 +13802,14 @@ "title": "Seed" }, "rand_device": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The device used for random number generation", "field_kind": "input", @@ -9259,7 +13819,14 @@ "title": "Rand Device" }, "cfg_scale": { - "anyOf": [{ "type": "number" }, { "type": "null" }], + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], "default": null, "description": "The classifier-free guidance scale parameter", "field_kind": "input", @@ -9269,7 +13836,14 @@ "title": "Cfg Scale" }, "cfg_rescale_multiplier": { - "anyOf": [{ "type": "number" }, { "type": "null" }], + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], "default": null, "description": "Rescale multiplier for CFG guidance, used for models trained with zero-terminal SNR", "field_kind": "input", @@ -9279,7 +13853,14 @@ "title": "Cfg Rescale Multiplier" }, "steps": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The number of steps used for inference", "field_kind": "input", @@ -9289,7 +13870,14 @@ "title": "Steps" }, "scheduler": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The scheduler used for inference", "field_kind": "input", @@ -9299,7 +13887,14 @@ "title": "Scheduler" }, "seamless_x": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "default": null, "description": "Whether seamless tiling was used on the X axis", "field_kind": "input", @@ -9309,7 +13904,14 @@ "title": "Seamless X" }, "seamless_y": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "default": null, "description": "Whether seamless tiling was used on the Y axis", "field_kind": "input", @@ -9319,7 +13921,14 @@ "title": "Seamless Y" }, "clip_skip": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The number of skipped CLIP layers", "field_kind": "input", @@ -9329,7 +13938,14 @@ "title": "Clip Skip" }, "model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "The main model used for inference", "field_kind": "input", @@ -9339,8 +13955,15 @@ }, "controlnets": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/ControlNetMetadataField" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/ControlNetMetadataField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "The ControlNets used for inference", @@ -9352,8 +13975,15 @@ }, "ipAdapters": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/IPAdapterMetadataField" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/IPAdapterMetadataField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "The IP Adapters used for inference", @@ -9365,8 +13995,15 @@ }, "t2iAdapters": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/T2IAdapterMetadataField" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/T2IAdapterMetadataField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "The IP Adapters used for inference", @@ -9378,8 +14015,15 @@ }, "loras": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/LoRAMetadataField" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/LoRAMetadataField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "The LoRAs used for inference", @@ -9390,7 +14034,14 @@ "title": "Loras" }, "strength": { - "anyOf": [{ "type": "number" }, { "type": "null" }], + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], "default": null, "description": "The strength used for latents-to-latents", "field_kind": "input", @@ -9400,7 +14051,14 @@ "title": "Strength" }, "init_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The name of the initial image", "field_kind": "input", @@ -9410,7 +14068,14 @@ "title": "Init Image" }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "The VAE used for decoding, if the main model's default was not used", "field_kind": "input", @@ -9419,7 +14084,14 @@ "orig_required": false }, "hrf_enabled": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "default": null, "description": "Whether or not high resolution fix was enabled.", "field_kind": "input", @@ -9429,7 +14101,14 @@ "title": "Hrf Enabled" }, "hrf_method": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The high resolution fix upscale method.", "field_kind": "input", @@ -9439,7 +14118,14 @@ "title": "Hrf Method" }, "hrf_strength": { - "anyOf": [{ "type": "number" }, { "type": "null" }], + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], "default": null, "description": "The high resolution fix img2img strength used in the upscale pass.", "field_kind": "input", @@ -9449,7 +14135,14 @@ "title": "Hrf Strength" }, "positive_style_prompt": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The positive style prompt parameter", "field_kind": "input", @@ -9459,7 +14152,14 @@ "title": "Positive Style Prompt" }, "negative_style_prompt": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The negative style prompt parameter", "field_kind": "input", @@ -9469,7 +14169,14 @@ "title": "Negative Style Prompt" }, "refiner_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "The SDXL Refiner model used", "field_kind": "input", @@ -9478,7 +14185,14 @@ "orig_required": false }, "refiner_cfg_scale": { - "anyOf": [{ "type": "number" }, { "type": "null" }], + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], "default": null, "description": "The classifier-free guidance scale parameter used for the refiner", "field_kind": "input", @@ -9488,7 +14202,14 @@ "title": "Refiner Cfg Scale" }, "refiner_steps": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The number of steps used for the refiner", "field_kind": "input", @@ -9498,7 +14219,14 @@ "title": "Refiner Steps" }, "refiner_scheduler": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The scheduler used for the refiner", "field_kind": "input", @@ -9508,7 +14236,14 @@ "title": "Refiner Scheduler" }, "refiner_positive_aesthetic_score": { - "anyOf": [{ "type": "number" }, { "type": "null" }], + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], "default": null, "description": "The aesthetic score used for the refiner", "field_kind": "input", @@ -9518,7 +14253,14 @@ "title": "Refiner Positive Aesthetic Score" }, "refiner_negative_aesthetic_score": { - "anyOf": [{ "type": "number" }, { "type": "null" }], + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], "default": null, "description": "The aesthetic score used for the refiner", "field_kind": "input", @@ -9528,7 +14270,14 @@ "title": "Refiner Negative Aesthetic Score" }, "refiner_start": { - "anyOf": [{ "type": "number" }, { "type": "null" }], + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], "default": null, "description": "The start value used for refiner denoising", "field_kind": "input", @@ -9550,7 +14299,9 @@ "title": "Core Metadata", "type": "object", "version": "2.0.0", - "output": { "$ref": "#/components/schemas/MetadataOutput" } + "output": { + "$ref": "#/components/schemas/MetadataOutput" + } }, "CreateDenoiseMaskInvocation": { "category": "latents", @@ -9584,7 +14335,14 @@ "type": "boolean" }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -9593,7 +14351,14 @@ "ui_order": 0 }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Image which will be masked", "field_kind": "input", @@ -9603,7 +14368,14 @@ "ui_order": 1 }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask to use when pasting", "field_kind": "input", @@ -9646,7 +14418,9 @@ "title": "Create Denoise Mask", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/DenoiseMaskOutput" } + "output": { + "$ref": "#/components/schemas/DenoiseMaskOutput" + } }, "CreateGradientMaskInvocation": { "category": "latents", @@ -9680,7 +14454,14 @@ "type": "boolean" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Image which will be masked", "field_kind": "input", @@ -9725,7 +14506,14 @@ "ui_order": 4 }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "OPTIONAL: Only connect for specialized Inpainting models, masked_latents will be generated from the image with the VAE", "field_kind": "input", @@ -9736,7 +14524,14 @@ "ui_order": 6 }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "OPTIONAL: If the Unet is a specialized Inpainting model, masked_latents will be generated from the image with the VAE", "field_kind": "input", @@ -9747,7 +14542,14 @@ "ui_order": 5 }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "OPTIONAL: Only connect for specialized Inpainting models, masked_latents will be generated from the image with the VAE", "field_kind": "input", @@ -9792,7 +14594,9 @@ "title": "Create Gradient Mask", "type": "object", "version": "1.3.0", - "output": { "$ref": "#/components/schemas/GradientMaskOutput" } + "output": { + "$ref": "#/components/schemas/GradientMaskOutput" + } }, "CropImageToBoundingBoxInvocation": { "category": "image", @@ -9802,7 +14606,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -9811,7 +14622,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -9844,7 +14662,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to crop", "field_kind": "input", @@ -9852,7 +14677,14 @@ "orig_required": true }, "bounding_box": { - "anyOf": [{ "$ref": "#/components/schemas/BoundingBoxField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoundingBoxField" + }, + { + "type": "null" + } + ], "default": null, "description": "The bounding box to crop the image to", "field_kind": "input", @@ -9873,7 +14705,9 @@ "title": "Crop Image to Bounding Box", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "CropLatentsCoreInvocation": { "category": "latents", @@ -9907,7 +14741,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -9915,7 +14756,16 @@ "orig_required": true }, "x": { - "anyOf": [{ "minimum": 0, "multipleOf": 8, "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "minimum": 0, + "multipleOf": 8, + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The left x coordinate (in px) of the crop rectangle in image space. This value will be converted to a dimension in latent space.", "field_kind": "input", @@ -9924,7 +14774,16 @@ "title": "X" }, "y": { - "anyOf": [{ "minimum": 0, "multipleOf": 8, "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "minimum": 0, + "multipleOf": 8, + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The top y coordinate (in px) of the crop rectangle in image space. This value will be converted to a dimension in latent space.", "field_kind": "input", @@ -9933,7 +14792,16 @@ "title": "Y" }, "width": { - "anyOf": [{ "minimum": 1, "multipleOf": 8, "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "minimum": 1, + "multipleOf": 8, + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The width (in px) of the crop rectangle in image space. This value will be converted to a dimension in latent space.", "field_kind": "input", @@ -9942,7 +14810,16 @@ "title": "Width" }, "height": { - "anyOf": [{ "minimum": 1, "multipleOf": 8, "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "minimum": 1, + "multipleOf": 8, + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The height (in px) of the crop rectangle in image space. This value will be converted to a dimension in latent space.", "field_kind": "input", @@ -9963,7 +14840,9 @@ "title": "Crop Latents", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "CvInpaintInvocation": { "category": "inpaint", @@ -9973,7 +14852,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -9982,7 +14868,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -10015,7 +14908,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to inpaint", "field_kind": "input", @@ -10023,7 +14923,14 @@ "orig_required": true }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask to use when inpainting", "field_kind": "input", @@ -10043,7 +14950,9 @@ "title": "OpenCV Inpaint", "type": "object", "version": "1.3.1", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "DWOpenposeDetectionInvocation": { "category": "controlnet", @@ -10053,7 +14962,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -10062,7 +14978,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -10095,7 +15018,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -10142,11 +15072,17 @@ "title": "DW Openpose Detection", "type": "object", "version": "1.1.1", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "DeleteAllExceptCurrentResult": { "properties": { - "deleted": { "type": "integer", "title": "Deleted", "description": "Number of queue items deleted" } + "deleted": { + "type": "integer", + "title": "Deleted", + "description": "Number of queue items deleted" + } }, "type": "object", "required": ["deleted"], @@ -10155,15 +15091,23 @@ }, "DeleteBoardResult": { "properties": { - "board_id": { "type": "string", "title": "Board Id", "description": "The id of the board that was deleted." }, + "board_id": { + "type": "string", + "title": "Board Id", + "description": "The id of the board that was deleted." + }, "deleted_board_images": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Deleted Board Images", "description": "The image names of the board-images relationships that were deleted." }, "deleted_images": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Deleted Images", "description": "The names of the images that were deleted." @@ -10175,7 +15119,11 @@ }, "DeleteByDestinationResult": { "properties": { - "deleted": { "type": "integer", "title": "Deleted", "description": "Number of queue items deleted" } + "deleted": { + "type": "integer", + "title": "Deleted", + "description": "Number of queue items deleted" + } }, "type": "object", "required": ["deleted"], @@ -10185,13 +15133,17 @@ "DeleteImagesResult": { "properties": { "affected_boards": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Affected Boards", "description": "The ids of boards affected by the delete operation" }, "deleted_images": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Deleted Images", "description": "The names of the images that were deleted" @@ -10234,9 +15186,18 @@ }, "positive_conditioning": { "anyOf": [ - { "$ref": "#/components/schemas/ConditioningField" }, - { "items": { "$ref": "#/components/schemas/ConditioningField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/ConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/ConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "Positive conditioning tensor", @@ -10248,9 +15209,18 @@ }, "negative_conditioning": { "anyOf": [ - { "$ref": "#/components/schemas/ConditioningField" }, - { "items": { "$ref": "#/components/schemas/ConditioningField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/ConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/ConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "Negative conditioning tensor", @@ -10261,7 +15231,14 @@ "ui_order": 1 }, "noise": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Noise tensor", "field_kind": "input", @@ -10282,7 +15259,17 @@ "type": "integer" }, "cfg_scale": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 7.5, "description": "Classifier-Free Guidance scale", "field_kind": "input", @@ -10359,7 +15346,14 @@ "ui_type": "SchedulerField" }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "input", @@ -10370,9 +15364,18 @@ }, "control": { "anyOf": [ - { "$ref": "#/components/schemas/ControlField" }, - { "items": { "$ref": "#/components/schemas/ControlField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/ControlField" + }, + { + "items": { + "$ref": "#/components/schemas/ControlField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "field_kind": "input", @@ -10384,9 +15387,18 @@ }, "ip_adapter": { "anyOf": [ - { "$ref": "#/components/schemas/IPAdapterField" }, - { "items": { "$ref": "#/components/schemas/IPAdapterField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/IPAdapterField" + }, + { + "items": { + "$ref": "#/components/schemas/IPAdapterField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "IP-Adapter to apply", @@ -10399,9 +15411,18 @@ }, "t2i_adapter": { "anyOf": [ - { "$ref": "#/components/schemas/T2IAdapterField" }, - { "items": { "$ref": "#/components/schemas/T2IAdapterField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/T2IAdapterField" + }, + { + "items": { + "$ref": "#/components/schemas/T2IAdapterField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "T2I-Adapter(s) to apply", @@ -10425,7 +15446,14 @@ "type": "number" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -10435,7 +15463,14 @@ "ui_order": 4 }, "denoise_mask": { - "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/DenoiseMaskField" + }, + { + "type": "null" + } + ], "default": null, "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", "field_kind": "input", @@ -10457,7 +15492,9 @@ "title": "Denoise - SD1.5, SDXL", "type": "object", "version": "1.5.4", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "DenoiseLatentsMetaInvocation": { "category": "latents", @@ -10466,7 +15503,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -10500,9 +15544,18 @@ }, "positive_conditioning": { "anyOf": [ - { "$ref": "#/components/schemas/ConditioningField" }, - { "items": { "$ref": "#/components/schemas/ConditioningField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/ConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/ConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "Positive conditioning tensor", @@ -10514,9 +15567,18 @@ }, "negative_conditioning": { "anyOf": [ - { "$ref": "#/components/schemas/ConditioningField" }, - { "items": { "$ref": "#/components/schemas/ConditioningField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/ConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/ConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "Negative conditioning tensor", @@ -10527,7 +15589,14 @@ "ui_order": 1 }, "noise": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Noise tensor", "field_kind": "input", @@ -10548,7 +15617,17 @@ "type": "integer" }, "cfg_scale": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 7.5, "description": "Classifier-Free Guidance scale", "field_kind": "input", @@ -10625,7 +15704,14 @@ "ui_type": "SchedulerField" }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "input", @@ -10636,9 +15722,18 @@ }, "control": { "anyOf": [ - { "$ref": "#/components/schemas/ControlField" }, - { "items": { "$ref": "#/components/schemas/ControlField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/ControlField" + }, + { + "items": { + "$ref": "#/components/schemas/ControlField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "field_kind": "input", @@ -10650,9 +15745,18 @@ }, "ip_adapter": { "anyOf": [ - { "$ref": "#/components/schemas/IPAdapterField" }, - { "items": { "$ref": "#/components/schemas/IPAdapterField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/IPAdapterField" + }, + { + "items": { + "$ref": "#/components/schemas/IPAdapterField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "IP-Adapter to apply", @@ -10665,9 +15769,18 @@ }, "t2i_adapter": { "anyOf": [ - { "$ref": "#/components/schemas/T2IAdapterField" }, - { "items": { "$ref": "#/components/schemas/T2IAdapterField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/T2IAdapterField" + }, + { + "items": { + "$ref": "#/components/schemas/T2IAdapterField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "T2I-Adapter(s) to apply", @@ -10691,7 +15804,14 @@ "type": "number" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -10701,7 +15821,14 @@ "ui_order": 4 }, "denoise_mask": { - "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/DenoiseMaskField" + }, + { + "type": "null" + } + ], "default": null, "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", "field_kind": "input", @@ -10723,14 +15850,27 @@ "title": "Denoise - SD1.5, SDXL + Metadata", "type": "object", "version": "1.1.1", - "output": { "$ref": "#/components/schemas/LatentsMetaOutput" } + "output": { + "$ref": "#/components/schemas/LatentsMetaOutput" + } }, "DenoiseMaskField": { "description": "An inpaint mask field", "properties": { - "mask_name": { "description": "The name of the mask image", "title": "Mask Name", "type": "string" }, + "mask_name": { + "description": "The name of the mask image", + "title": "Mask Name", + "type": "string" + }, "masked_latents_name": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The name of the masked image latents", "title": "Masked Latents Name" @@ -10776,7 +15916,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -10785,7 +15932,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -10818,7 +15972,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -10849,7 +16010,9 @@ "title": "Depth Anything Depth Estimation", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "DivideInvocation": { "category": "math", @@ -10915,13 +16078,23 @@ "title": "Divide Integers", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/IntegerOutput" } + "output": { + "$ref": "#/components/schemas/IntegerOutput" + } }, "DownloadCancelledEvent": { "description": "Event model for download_cancelled", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "source": { "description": "The source of the download", "title": "Source", "type": "string" } + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "source": { + "description": "The source of the download", + "title": "Source", + "type": "string" + } }, "required": ["timestamp", "source"], "title": "DownloadCancelledEvent", @@ -10930,8 +16103,16 @@ "DownloadCompleteEvent": { "description": "Event model for download_complete", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "source": { "description": "The source of the download", "title": "Source", "type": "string" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "source": { + "description": "The source of the download", + "title": "Source", + "type": "string" + }, "download_path": { "description": "The local path where the download is saved", "title": "Download Path", @@ -10950,10 +16131,26 @@ "DownloadErrorEvent": { "description": "Event model for download_error", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "source": { "description": "The source of the download", "title": "Source", "type": "string" }, - "error_type": { "description": "The type of error", "title": "Error Type", "type": "string" }, - "error": { "description": "The error message", "title": "Error", "type": "string" } + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "source": { + "description": "The source of the download", + "title": "Source", + "type": "string" + }, + "error_type": { + "description": "The type of error", + "title": "Error Type", + "type": "string" + }, + "error": { + "description": "The error message", + "title": "Error", + "type": "string" + } }, "required": ["timestamp", "source", "error_type", "error"], "title": "DownloadErrorEvent", @@ -10961,7 +16158,12 @@ }, "DownloadJob": { "properties": { - "id": { "type": "integer", "title": "Id", "description": "Numeric ID of this job", "default": -1 }, + "id": { + "type": "integer", + "title": "Id", + "description": "Numeric ID of this job", + "default": -1 + }, "dest": { "type": "string", "format": "path", @@ -10969,7 +16171,15 @@ "description": "Initial destination of downloaded model on local disk; a directory or file path" }, "download_path": { - "anyOf": [{ "type": "string", "format": "path" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "path" + }, + { + "type": "null" + } + ], "title": "Download Path", "description": "Final location of downloaded file or directory" }, @@ -10978,7 +16188,12 @@ "description": "Status of the download", "default": "waiting" }, - "bytes": { "type": "integer", "title": "Bytes", "description": "Bytes downloaded so far", "default": 0 }, + "bytes": { + "type": "integer", + "title": "Bytes", + "description": "Bytes downloaded so far", + "default": 0 + }, "total_bytes": { "type": "integer", "title": "Total Bytes", @@ -10986,12 +16201,26 @@ "default": 0 }, "error_type": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Error Type", "description": "Name of exception that caused an error" }, "error": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Error", "description": "Traceback of the exception that caused an error" }, @@ -11003,7 +16232,14 @@ "description": "Where to download from. Specific types specified in child classes." }, "access_token": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Access Token", "description": "authorization token for protected resources" }, @@ -11014,17 +16250,38 @@ "default": 10 }, "job_started": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Job Started", "description": "Timestamp for when the download job started" }, "job_ended": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Job Ended", "description": "Timestamp for when the download job ende1d (completed or errored)" }, "content_type": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Content Type", "description": "Content type of downloaded file" } @@ -11043,8 +16300,16 @@ "DownloadProgressEvent": { "description": "Event model for download_progress", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "source": { "description": "The source of the download", "title": "Source", "type": "string" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "source": { + "description": "The source of the download", + "title": "Source", + "type": "string" + }, "download_path": { "description": "The local path where the download is saved", "title": "Download Path", @@ -11068,8 +16333,16 @@ "DownloadStartedEvent": { "description": "Event model for download_started", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "source": { "description": "The source of the download", "title": "Source", "type": "string" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "source": { + "description": "The source of the download", + "title": "Source", + "type": "string" + }, "download_path": { "description": "The local path where the download is saved", "title": "Download Path", @@ -11112,7 +16385,14 @@ "type": "boolean" }, "prompt": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The prompt to parse with dynamicprompts", "field_kind": "input", @@ -11154,12 +16434,30 @@ "title": "Dynamic Prompt", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/StringCollectionOutput" } + "output": { + "$ref": "#/components/schemas/StringCollectionOutput" + } }, "DynamicPromptsResponse": { "properties": { - "prompts": { "items": { "type": "string" }, "type": "array", "title": "Prompts" }, - "error": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Error" } + "prompts": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Prompts" + }, + "error": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Error" + } }, "type": "object", "required": ["prompts"], @@ -11173,7 +16471,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -11182,7 +16487,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -11215,7 +16527,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The input image", "field_kind": "input", @@ -11262,7 +16581,9 @@ "title": "Upscale (RealESRGAN)", "type": "object", "version": "1.3.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "Edge": { "properties": { @@ -11286,7 +16607,11 @@ "title": "Node Id", "description": "The id of the node for this edge connection" }, - "field": { "type": "string", "title": "Field", "description": "The field for this connection" } + "field": { + "type": "string", + "title": "Field", + "description": "The field for this connection" + } }, "type": "object", "required": ["node_id", "field"], @@ -11294,7 +16619,11 @@ }, "EnqueueBatchResult": { "properties": { - "queue_id": { "type": "string", "title": "Queue Id", "description": "The ID of the queue" }, + "queue_id": { + "type": "string", + "title": "Queue Id", + "description": "The ID of the queue" + }, "enqueued": { "type": "integer", "title": "Enqueued", @@ -11305,10 +16634,19 @@ "title": "Requested", "description": "The total number of queue items requested to be enqueued" }, - "batch": { "$ref": "#/components/schemas/Batch", "description": "The batch that was enqueued" }, - "priority": { "type": "integer", "title": "Priority", "description": "The priority of the enqueued batch" }, + "batch": { + "$ref": "#/components/schemas/Batch", + "description": "The batch that was enqueued" + }, + "priority": { + "type": "integer", + "title": "Priority", + "description": "The priority of the enqueued batch" + }, "item_ids": { - "items": { "type": "integer" }, + "items": { + "type": "integer" + }, "type": "array", "title": "Item Ids", "description": "The IDs of the queue items that were enqueued" @@ -11326,7 +16664,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -11335,7 +16680,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -11368,7 +16720,14 @@ "type": "boolean" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask to expand", "field_kind": "input", @@ -11411,12 +16770,20 @@ "title": "Expand Mask with Fade", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ExposedField": { "properties": { - "nodeId": { "type": "string", "title": "Nodeid" }, - "fieldName": { "type": "string", "title": "Fieldname" } + "nodeId": { + "type": "string", + "title": "Nodeid" + }, + "fieldName": { + "type": "string", + "title": "Fieldname" + } }, "type": "object", "required": ["nodeId", "fieldName"], @@ -11455,9 +16822,18 @@ }, "loras": { "anyOf": [ - { "$ref": "#/components/schemas/LoRAField" }, - { "items": { "$ref": "#/components/schemas/LoRAField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/LoRAField" + }, + { + "items": { + "$ref": "#/components/schemas/LoRAField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "LoRA models and weights. May be a single LoRA or collection.", @@ -11468,7 +16844,14 @@ "title": "LoRAs" }, "transformer": { - "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TransformerField" + }, + { + "type": "null" + } + ], "default": null, "description": "Transformer", "field_kind": "input", @@ -11478,7 +16861,14 @@ "title": "Transformer" }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -11488,7 +16878,14 @@ "title": "CLIP" }, "t5_encoder": { - "anyOf": [{ "$ref": "#/components/schemas/T5EncoderField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/T5EncoderField" + }, + { + "type": "null" + } + ], "default": null, "description": "T5 tokenizer and text encoder", "field_kind": "input", @@ -11510,21 +16907,46 @@ "title": "Apply LoRA Collection - FLUX", "type": "object", "version": "1.3.1", - "output": { "$ref": "#/components/schemas/FluxLoRALoaderOutput" } + "output": { + "$ref": "#/components/schemas/FluxLoRALoaderOutput" + } }, "FLUXRedux_Checkpoint_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -11533,20 +16955,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "flux_redux", "title": "Type", "default": "flux_redux" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + "type": { + "type": "string", + "const": "flux_redux", + "title": "Type", + "default": "flux_redux" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "base": { + "type": "string", + "const": "flux", + "title": "Base", + "default": "flux" + } }, "type": "object", "required": [ @@ -11575,7 +17029,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -11584,7 +17045,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -11617,7 +17085,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Image to face detect", "field_kind": "input", @@ -11657,7 +17132,9 @@ "title": "FaceIdentifier", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "FaceMaskInvocation": { "category": "image", @@ -11667,7 +17144,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -11700,7 +17184,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Image to face detect", "field_kind": "input", @@ -11780,7 +17271,9 @@ "title": "FaceMask", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/FaceMaskOutput" } + "output": { + "$ref": "#/components/schemas/FaceMaskOutput" + } }, "FaceMaskOutput": { "class": "output", @@ -11832,7 +17325,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -11865,7 +17365,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Image for face detection", "field_kind": "input", @@ -11946,7 +17453,9 @@ "title": "FaceOff", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/FaceOffOutput" } + "output": { + "$ref": "#/components/schemas/FaceOffOutput" + } }, "FaceOffOutput": { "class": "output", @@ -12053,7 +17562,18 @@ "type": "string" }, "floats": { - "anyOf": [{ "items": { "type": "number" }, "minItems": 1, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "number" + }, + "minItems": 1, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "description": "The floats to batch over", "field_kind": "input", @@ -12074,7 +17594,9 @@ "title": "Float Batch", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/FloatOutput" } + "output": { + "$ref": "#/components/schemas/FloatOutput" + } }, "FloatCollectionInvocation": { "category": "primitives", @@ -12112,7 +17634,9 @@ "description": "The collection of float values", "field_kind": "input", "input": "any", - "items": { "type": "number" }, + "items": { + "type": "number" + }, "orig_default": [], "orig_required": false, "title": "Collection", @@ -12131,7 +17655,9 @@ "title": "Float Collection Primitive", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/FloatCollectionOutput" } + "output": { + "$ref": "#/components/schemas/FloatCollectionOutput" + } }, "FloatCollectionOutput": { "class": "output", @@ -12140,7 +17666,9 @@ "collection": { "description": "The float collection", "field_kind": "output", - "items": { "type": "number" }, + "items": { + "type": "number" + }, "title": "Collection", "type": "array", "ui_hidden": false @@ -12209,9 +17737,15 @@ "title": "Float Generator", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/FloatGeneratorOutput" } + "output": { + "$ref": "#/components/schemas/FloatGeneratorOutput" + } + }, + "FloatGeneratorField": { + "properties": {}, + "title": "FloatGeneratorField", + "type": "object" }, - "FloatGeneratorField": { "properties": {}, "title": "FloatGeneratorField", "type": "object" }, "FloatGeneratorOutput": { "class": "output", "description": "Base class for nodes that output a collection of floats", @@ -12219,7 +17753,9 @@ "floats": { "description": "The generated floats", "field_kind": "output", - "items": { "type": "number" }, + "items": { + "type": "number" + }, "title": "Floats", "type": "array", "ui_hidden": false @@ -12290,7 +17826,9 @@ "title": "Float Primitive", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/FloatOutput" } + "output": { + "$ref": "#/components/schemas/FloatOutput" + } }, "FloatLinearRangeInvocation": { "category": "math", @@ -12366,7 +17904,9 @@ "title": "Float Range", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/FloatCollectionOutput" } + "output": { + "$ref": "#/components/schemas/FloatCollectionOutput" + } }, "FloatMathInvocation": { "category": "math", @@ -12466,7 +18006,9 @@ "title": "Float Math", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/FloatOutput" } + "output": { + "$ref": "#/components/schemas/FloatOutput" + } }, "FloatOutput": { "class": "output", @@ -12567,7 +18109,9 @@ "title": "Float To Integer", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/IntegerOutput" } + "output": { + "$ref": "#/components/schemas/IntegerOutput" + } }, "FluxConditioningCollectionOutput": { "class": "output", @@ -12576,7 +18120,9 @@ "collection": { "description": "The output conditioning tensors", "field_kind": "output", - "items": { "$ref": "#/components/schemas/FluxConditioningField" }, + "items": { + "$ref": "#/components/schemas/FluxConditioningField" + }, "title": "Collection", "type": "array", "ui_hidden": false @@ -12602,7 +18148,14 @@ "type": "string" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask associated with this conditioning tensor. Excluded regions should be set to False, included regions should be set to True." } @@ -12665,7 +18218,14 @@ "type": "boolean" }, "lora": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "Control LoRA model to load", "field_kind": "input", @@ -12676,7 +18236,14 @@ "ui_model_type": ["control_lora"] }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to encode.", "field_kind": "input", @@ -12706,7 +18273,9 @@ "title": "Control LoRA - FLUX", "type": "object", "version": "1.1.1", - "output": { "$ref": "#/components/schemas/FluxControlLoRALoaderOutput" } + "output": { + "$ref": "#/components/schemas/FluxControlLoRALoaderOutput" + } }, "FluxControlLoRALoaderOutput": { "class": "output", @@ -12734,13 +18303,26 @@ }, "FluxControlNetField": { "properties": { - "image": { "$ref": "#/components/schemas/ImageField", "description": "The control image" }, + "image": { + "$ref": "#/components/schemas/ImageField", + "description": "The control image" + }, "control_model": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "The ControlNet model to use" }, "control_weight": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1, "description": "The weight given to the ControlNet", "title": "Control Weight" @@ -12769,7 +18351,14 @@ "type": "string" }, "instantx_control_mode": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": -1, "description": "The control mode for InstantX ControlNet union models. Ignored for other ControlNet models. The standard mapping is: canny (0), tile (1), depth (2), blur (3), pose (4), gray (5), low quality (6). Negative values will be treated as 'None'.", "title": "Instantx Control Mode" @@ -12811,7 +18400,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The control image", "field_kind": "input", @@ -12819,7 +18415,14 @@ "orig_required": true }, "control_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "ControlNet model to load", "field_kind": "input", @@ -12829,7 +18432,17 @@ "ui_model_type": ["controlnet"] }, "control_weight": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1.0, "description": "The weight given to the ControlNet", "field_kind": "input", @@ -12876,7 +18489,14 @@ "type": "string" }, "instantx_control_mode": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": -1, "description": "The control mode for InstantX ControlNet union models. Ignored for other ControlNet models. The standard mapping is: canny (0), tile (1), depth (2), blur (3), pose (4), gray (5), low quality (6). Negative values will be treated as 'None'.", "field_kind": "input", @@ -12898,7 +18518,9 @@ "title": "FLUX ControlNet", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/FluxControlNetOutput" } + "output": { + "$ref": "#/components/schemas/FluxControlNetOutput" + } }, "FluxControlNetOutput": { "class": "output", @@ -12954,7 +18576,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -12963,7 +18592,14 @@ "orig_required": false }, "denoise_mask": { - "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/DenoiseMaskField" + }, + { + "type": "null" + } + ], "default": null, "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", "field_kind": "input", @@ -13006,7 +18642,14 @@ "type": "boolean" }, "transformer": { - "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TransformerField" + }, + { + "type": "null" + } + ], "default": null, "description": "Flux model (Transformer) to load", "field_kind": "input", @@ -13015,7 +18658,14 @@ "title": "Transformer" }, "control_lora": { - "anyOf": [{ "$ref": "#/components/schemas/ControlLoRAField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ControlLoRAField" + }, + { + "type": "null" + } + ], "default": null, "description": "Control LoRA model to load", "field_kind": "input", @@ -13026,9 +18676,18 @@ }, "positive_text_conditioning": { "anyOf": [ - { "$ref": "#/components/schemas/FluxConditioningField" }, - { "items": { "$ref": "#/components/schemas/FluxConditioningField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/FluxConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/FluxConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "Positive conditioning tensor", @@ -13039,9 +18698,18 @@ }, "negative_text_conditioning": { "anyOf": [ - { "$ref": "#/components/schemas/FluxConditioningField" }, - { "items": { "$ref": "#/components/schemas/FluxConditioningField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/FluxConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/FluxConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "Negative conditioning tensor. Can be None if cfg_scale is 1.0.", @@ -13053,9 +18721,18 @@ }, "redux_conditioning": { "anyOf": [ - { "$ref": "#/components/schemas/FluxReduxConditioningField" }, - { "items": { "$ref": "#/components/schemas/FluxReduxConditioningField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/FluxReduxConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/FluxReduxConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "FLUX Redux conditioning tensor.", @@ -13066,7 +18743,14 @@ "title": "Redux Conditioning" }, "fill_conditioning": { - "anyOf": [{ "$ref": "#/components/schemas/FluxFillConditioningField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/FluxFillConditioningField" + }, + { + "type": "null" + } + ], "default": null, "description": "FLUX Fill conditioning.", "field_kind": "input", @@ -13075,7 +18759,17 @@ "orig_required": false }, "cfg_scale": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1.0, "description": "Classifier-Free Guidance scale", "field_kind": "input", @@ -13158,9 +18852,18 @@ }, "control": { "anyOf": [ - { "$ref": "#/components/schemas/FluxControlNetField" }, - { "items": { "$ref": "#/components/schemas/FluxControlNetField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/FluxControlNetField" + }, + { + "items": { + "$ref": "#/components/schemas/FluxControlNetField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "ControlNet models.", @@ -13171,7 +18874,14 @@ "title": "Control" }, "controlnet_vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -13181,9 +18891,18 @@ }, "ip_adapter": { "anyOf": [ - { "$ref": "#/components/schemas/IPAdapterField" }, - { "items": { "$ref": "#/components/schemas/IPAdapterField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/IPAdapterField" + }, + { + "items": { + "$ref": "#/components/schemas/IPAdapterField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "IP-Adapter to apply", @@ -13195,9 +18914,18 @@ }, "kontext_conditioning": { "anyOf": [ - { "$ref": "#/components/schemas/FluxKontextConditioningField" }, - { "items": { "$ref": "#/components/schemas/FluxKontextConditioningField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/FluxKontextConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/FluxKontextConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "FLUX Kontext conditioning (reference image).", @@ -13220,7 +18948,9 @@ "title": "FLUX Denoise", "type": "object", "version": "4.1.0", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "FluxDenoiseLatentsMetaInvocation": { "category": "latents", @@ -13230,7 +18960,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -13263,7 +19000,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -13272,7 +19016,14 @@ "orig_required": false }, "denoise_mask": { - "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/DenoiseMaskField" + }, + { + "type": "null" + } + ], "default": null, "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", "field_kind": "input", @@ -13315,7 +19066,14 @@ "type": "boolean" }, "transformer": { - "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TransformerField" + }, + { + "type": "null" + } + ], "default": null, "description": "Flux model (Transformer) to load", "field_kind": "input", @@ -13324,7 +19082,14 @@ "title": "Transformer" }, "control_lora": { - "anyOf": [{ "$ref": "#/components/schemas/ControlLoRAField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ControlLoRAField" + }, + { + "type": "null" + } + ], "default": null, "description": "Control LoRA model to load", "field_kind": "input", @@ -13335,9 +19100,18 @@ }, "positive_text_conditioning": { "anyOf": [ - { "$ref": "#/components/schemas/FluxConditioningField" }, - { "items": { "$ref": "#/components/schemas/FluxConditioningField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/FluxConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/FluxConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "Positive conditioning tensor", @@ -13348,9 +19122,18 @@ }, "negative_text_conditioning": { "anyOf": [ - { "$ref": "#/components/schemas/FluxConditioningField" }, - { "items": { "$ref": "#/components/schemas/FluxConditioningField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/FluxConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/FluxConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "Negative conditioning tensor. Can be None if cfg_scale is 1.0.", @@ -13362,9 +19145,18 @@ }, "redux_conditioning": { "anyOf": [ - { "$ref": "#/components/schemas/FluxReduxConditioningField" }, - { "items": { "$ref": "#/components/schemas/FluxReduxConditioningField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/FluxReduxConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/FluxReduxConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "FLUX Redux conditioning tensor.", @@ -13375,7 +19167,14 @@ "title": "Redux Conditioning" }, "fill_conditioning": { - "anyOf": [{ "$ref": "#/components/schemas/FluxFillConditioningField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/FluxFillConditioningField" + }, + { + "type": "null" + } + ], "default": null, "description": "FLUX Fill conditioning.", "field_kind": "input", @@ -13384,7 +19183,17 @@ "orig_required": false }, "cfg_scale": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1.0, "description": "Classifier-Free Guidance scale", "field_kind": "input", @@ -13467,9 +19276,18 @@ }, "control": { "anyOf": [ - { "$ref": "#/components/schemas/FluxControlNetField" }, - { "items": { "$ref": "#/components/schemas/FluxControlNetField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/FluxControlNetField" + }, + { + "items": { + "$ref": "#/components/schemas/FluxControlNetField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "ControlNet models.", @@ -13480,7 +19298,14 @@ "title": "Control" }, "controlnet_vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -13490,9 +19315,18 @@ }, "ip_adapter": { "anyOf": [ - { "$ref": "#/components/schemas/IPAdapterField" }, - { "items": { "$ref": "#/components/schemas/IPAdapterField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/IPAdapterField" + }, + { + "items": { + "$ref": "#/components/schemas/IPAdapterField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "IP-Adapter to apply", @@ -13504,9 +19338,18 @@ }, "kontext_conditioning": { "anyOf": [ - { "$ref": "#/components/schemas/FluxKontextConditioningField" }, - { "items": { "$ref": "#/components/schemas/FluxKontextConditioningField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/FluxKontextConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/FluxKontextConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "FLUX Kontext conditioning (reference image).", @@ -13529,13 +19372,21 @@ "title": "FLUX Denoise + Metadata", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/LatentsMetaOutput" } + "output": { + "$ref": "#/components/schemas/LatentsMetaOutput" + } }, "FluxFillConditioningField": { "description": "A FLUX Fill conditioning field.", "properties": { - "image": { "$ref": "#/components/schemas/ImageField", "description": "The FLUX Fill reference image." }, - "mask": { "$ref": "#/components/schemas/TensorField", "description": "The FLUX Fill inpaint mask." } + "image": { + "$ref": "#/components/schemas/ImageField", + "description": "The FLUX Fill reference image." + }, + "mask": { + "$ref": "#/components/schemas/TensorField", + "description": "The FLUX Fill inpaint mask." + } }, "required": ["image", "mask"], "title": "FluxFillConditioningField", @@ -13573,7 +19424,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The FLUX Fill reference image.", "field_kind": "input", @@ -13581,7 +19439,14 @@ "orig_required": true }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "The bool inpainting mask. Excluded regions should be set to False, included regions should be set to True.", "field_kind": "input", @@ -13601,7 +19466,9 @@ "title": "FLUX Fill Conditioning", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/FluxFillOutput" } + "output": { + "$ref": "#/components/schemas/FluxFillOutput" + } }, "FluxFillOutput": { "class": "output", @@ -13658,7 +19525,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The IP-Adapter image prompt(s).", "field_kind": "input", @@ -13666,7 +19540,14 @@ "orig_required": true }, "ip_adapter_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "The IP-Adapter model.", "field_kind": "input", @@ -13688,7 +19569,17 @@ "type": "string" }, "weight": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1, "description": "The weight given to the IP-Adapter", "field_kind": "input", @@ -13734,7 +19625,9 @@ "title": "FLUX IP-Adapter", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/IPAdapterOutput" } + "output": { + "$ref": "#/components/schemas/IPAdapterOutput" + } }, "FluxKontextConcatenateImagesInvocation": { "category": "image", @@ -13744,7 +19637,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -13753,7 +19653,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -13788,12 +19695,16 @@ "images": { "anyOf": [ { - "items": { "$ref": "#/components/schemas/ImageField" }, + "items": { + "$ref": "#/components/schemas/ImageField" + }, "maxItems": 10, "minItems": 1, "type": "array" }, - { "type": "null" } + { + "type": "null" + } ], "default": null, "description": "The images to concatenate", @@ -13825,12 +19736,17 @@ "title": "FLUX Kontext Image Prep", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "FluxKontextConditioningField": { "description": "A conditioning field for FLUX Kontext (reference image).", "properties": { - "image": { "$ref": "#/components/schemas/ImageField", "description": "The Kontext reference image." } + "image": { + "$ref": "#/components/schemas/ImageField", + "description": "The Kontext reference image." + } }, "required": ["image"], "title": "FluxKontextConditioningField", @@ -13868,7 +19784,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The Kontext reference image.", "field_kind": "input", @@ -13888,7 +19811,9 @@ "title": "Kontext Conditioning - FLUX", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/FluxKontextOutput" } + "output": { + "$ref": "#/components/schemas/FluxKontextOutput" + } }, "FluxKontextOutput": { "class": "output", @@ -13945,7 +19870,14 @@ "type": "boolean" }, "lora": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "LoRA model to load", "field_kind": "input", @@ -13966,7 +19898,14 @@ "type": "number" }, "transformer": { - "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TransformerField" + }, + { + "type": "null" + } + ], "default": null, "description": "Transformer", "field_kind": "input", @@ -13976,7 +19915,14 @@ "title": "FLUX Transformer" }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -13986,7 +19932,14 @@ "title": "CLIP" }, "t5_encoder": { - "anyOf": [{ "$ref": "#/components/schemas/T5EncoderField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/T5EncoderField" + }, + { + "type": "null" + } + ], "default": null, "description": "T5 tokenizer and text encoder", "field_kind": "input", @@ -14008,14 +19961,23 @@ "title": "Apply LoRA - FLUX", "type": "object", "version": "1.2.1", - "output": { "$ref": "#/components/schemas/FluxLoRALoaderOutput" } + "output": { + "$ref": "#/components/schemas/FluxLoRALoaderOutput" + } }, "FluxLoRALoaderOutput": { "class": "output", "description": "FLUX LoRA Loader Output", "properties": { "transformer": { - "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TransformerField" + }, + { + "type": "null" + } + ], "default": null, "description": "Transformer", "field_kind": "output", @@ -14023,7 +19985,14 @@ "ui_hidden": false }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "output", @@ -14031,7 +20000,14 @@ "ui_hidden": false }, "t5_encoder": { - "anyOf": [{ "$ref": "#/components/schemas/T5EncoderField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/T5EncoderField" + }, + { + "type": "null" + } + ], "default": null, "description": "T5 tokenizer and text encoder", "field_kind": "output", @@ -14109,7 +20085,14 @@ "ui_model_type": ["clip_embed"] }, "vae_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE model to load", "field_kind": "input", @@ -14132,7 +20115,9 @@ "title": "Main Model - FLUX", "type": "object", "version": "1.0.6", - "output": { "$ref": "#/components/schemas/FluxModelLoaderOutput" } + "output": { + "$ref": "#/components/schemas/FluxModelLoaderOutput" + } }, "FluxModelLoaderOutput": { "class": "output", @@ -14194,7 +20179,14 @@ "description": "The Redux image conditioning tensor." }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask associated with this conditioning tensor. Excluded regions should be set to False, included regions should be set to True." } @@ -14235,7 +20227,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The FLUX Redux image prompt.", "field_kind": "input", @@ -14243,7 +20242,14 @@ "orig_required": true }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "The bool mask associated with this FLUX Redux image prompt. Excluded regions should be set to False, included regions should be set to True.", "field_kind": "input", @@ -14252,7 +20258,14 @@ "orig_required": false }, "redux_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "The FLUX Redux model to use.", "field_kind": "input", @@ -14310,7 +20323,9 @@ "title": "FLUX Redux", "type": "object", "version": "2.1.0", - "output": { "$ref": "#/components/schemas/FluxReduxOutput" } + "output": { + "$ref": "#/components/schemas/FluxReduxOutput" + } }, "FluxReduxOutput": { "class": "output", @@ -14367,7 +20382,14 @@ "type": "boolean" }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -14376,7 +20398,14 @@ "title": "CLIP" }, "t5_encoder": { - "anyOf": [{ "$ref": "#/components/schemas/T5EncoderField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/T5EncoderField" + }, + { + "type": "null" + } + ], "default": null, "description": "T5 tokenizer and text encoder", "field_kind": "input", @@ -14385,7 +20414,15 @@ "title": "T5Encoder" }, "t5_max_seq_len": { - "anyOf": [{ "enum": [256, 512], "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "enum": [256, 512], + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "Max sequence length for the T5 encoder. Expected to be 256 for FLUX schnell models and 512 for FLUX dev models.", "field_kind": "input", @@ -14394,7 +20431,14 @@ "title": "T5 Max Seq Len" }, "prompt": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Text prompt to encode.", "field_kind": "input", @@ -14404,7 +20448,14 @@ "ui_component": "textarea" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "A mask defining the region that this conditioning prompt applies to.", "field_kind": "input", @@ -14425,7 +20476,9 @@ "title": "Prompt - FLUX", "type": "object", "version": "1.1.2", - "output": { "$ref": "#/components/schemas/FluxConditioningOutput" } + "output": { + "$ref": "#/components/schemas/FluxConditioningOutput" + } }, "FluxVaeDecodeInvocation": { "category": "latents", @@ -14435,7 +20488,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -14444,7 +20504,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -14477,7 +20544,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -14485,7 +20559,14 @@ "orig_required": true }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -14505,7 +20586,9 @@ "title": "Latents to Image - FLUX", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "FluxVaeEncodeInvocation": { "category": "latents", @@ -14539,7 +20622,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to encode.", "field_kind": "input", @@ -14547,7 +20637,14 @@ "orig_required": true }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -14567,12 +20664,22 @@ "title": "Image to Latents - FLUX", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } + }, + "FluxVariantType": { + "type": "string", + "enum": ["schnell", "dev", "dev_fill"], + "title": "FluxVariantType" }, - "FluxVariantType": { "type": "string", "enum": ["schnell", "dev", "dev_fill"], "title": "FluxVariantType" }, "FoundModel": { "properties": { - "path": { "type": "string", "title": "Path", "description": "Path to the model" }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model" + }, "is_installed": { "type": "boolean", "title": "Is Installed", @@ -14651,7 +20758,14 @@ "type": "boolean" }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "input", @@ -14720,7 +20834,9 @@ "title": "Apply FreeU - SD1.5, SDXL", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/UNetOutput" } + "output": { + "$ref": "#/components/schemas/UNetOutput" + } }, "GetMaskBoundingBoxInvocation": { "category": "mask", @@ -14754,7 +20870,14 @@ "type": "boolean" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask to crop.", "field_kind": "input", @@ -14773,11 +20896,21 @@ }, "mask_color": { "$ref": "#/components/schemas/ColorField", - "default": { "r": 255, "g": 255, "b": 255, "a": 255 }, + "default": { + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, "description": "Color of the mask in the image.", "field_kind": "input", "input": "any", - "orig_default": { "a": 255, "b": 255, "g": 255, "r": 255 }, + "orig_default": { + "a": 255, + "b": 255, + "g": 255, + "r": 255 + }, "orig_required": false }, "type": { @@ -14793,7 +20926,9 @@ "title": "Get Image Mask Bounding Box", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/BoundingBoxOutput" } + "output": { + "$ref": "#/components/schemas/BoundingBoxOutput" + } }, "GlmEncoderField": { "properties": { @@ -14840,228 +20975,668 @@ }, "Graph": { "properties": { - "id": { "type": "string", "title": "Id", "description": "The id of this graph" }, + "id": { + "type": "string", + "title": "Id", + "description": "The id of this graph" + }, "nodes": { "additionalProperties": { "oneOf": [ - { "$ref": "#/components/schemas/AddInvocation" }, - { "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" }, - { "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" }, - { "$ref": "#/components/schemas/ApplyMaskToImageInvocation" }, - { "$ref": "#/components/schemas/BlankImageInvocation" }, - { "$ref": "#/components/schemas/BlendLatentsInvocation" }, - { "$ref": "#/components/schemas/BooleanCollectionInvocation" }, - { "$ref": "#/components/schemas/BooleanInvocation" }, - { "$ref": "#/components/schemas/BoundingBoxInvocation" }, - { "$ref": "#/components/schemas/CLIPSkipInvocation" }, - { "$ref": "#/components/schemas/CV2InfillInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" }, - { "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/CanvasPasteBackInvocation" }, - { "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" }, - { "$ref": "#/components/schemas/CenterPadCropInvocation" }, - { "$ref": "#/components/schemas/CogView4DenoiseInvocation" }, - { "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" }, - { "$ref": "#/components/schemas/CogView4TextEncoderInvocation" }, - { "$ref": "#/components/schemas/CollectInvocation" }, - { "$ref": "#/components/schemas/ColorCorrectInvocation" }, - { "$ref": "#/components/schemas/ColorInvocation" }, - { "$ref": "#/components/schemas/ColorMapInvocation" }, - { "$ref": "#/components/schemas/CompelInvocation" }, - { "$ref": "#/components/schemas/ConditioningCollectionInvocation" }, - { "$ref": "#/components/schemas/ConditioningInvocation" }, - { "$ref": "#/components/schemas/ContentShuffleInvocation" }, - { "$ref": "#/components/schemas/ControlNetInvocation" }, - { "$ref": "#/components/schemas/CoreMetadataInvocation" }, - { "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" }, - { "$ref": "#/components/schemas/CreateGradientMaskInvocation" }, - { "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/CropLatentsCoreInvocation" }, - { "$ref": "#/components/schemas/CvInpaintInvocation" }, - { "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" }, - { "$ref": "#/components/schemas/DenoiseLatentsInvocation" }, - { "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" }, - { "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" }, - { "$ref": "#/components/schemas/DivideInvocation" }, - { "$ref": "#/components/schemas/DynamicPromptInvocation" }, - { "$ref": "#/components/schemas/ESRGANInvocation" }, - { "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" }, - { "$ref": "#/components/schemas/FLUXLoRACollectionLoader" }, - { "$ref": "#/components/schemas/FaceIdentifierInvocation" }, - { "$ref": "#/components/schemas/FaceMaskInvocation" }, - { "$ref": "#/components/schemas/FaceOffInvocation" }, - { "$ref": "#/components/schemas/FloatBatchInvocation" }, - { "$ref": "#/components/schemas/FloatCollectionInvocation" }, - { "$ref": "#/components/schemas/FloatGenerator" }, - { "$ref": "#/components/schemas/FloatInvocation" }, - { "$ref": "#/components/schemas/FloatLinearRangeInvocation" }, - { "$ref": "#/components/schemas/FloatMathInvocation" }, - { "$ref": "#/components/schemas/FloatToIntegerInvocation" }, - { "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/FluxControlNetInvocation" }, - { "$ref": "#/components/schemas/FluxDenoiseInvocation" }, - { "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" }, - { "$ref": "#/components/schemas/FluxFillInvocation" }, - { "$ref": "#/components/schemas/FluxIPAdapterInvocation" }, - { "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" }, - { "$ref": "#/components/schemas/FluxKontextInvocation" }, - { "$ref": "#/components/schemas/FluxLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/FluxModelLoaderInvocation" }, - { "$ref": "#/components/schemas/FluxReduxInvocation" }, - { "$ref": "#/components/schemas/FluxTextEncoderInvocation" }, - { "$ref": "#/components/schemas/FluxVaeDecodeInvocation" }, - { "$ref": "#/components/schemas/FluxVaeEncodeInvocation" }, - { "$ref": "#/components/schemas/FreeUInvocation" }, - { "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/GroundingDinoInvocation" }, - { "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/HeuristicResizeInvocation" }, - { "$ref": "#/components/schemas/IPAdapterInvocation" }, - { "$ref": "#/components/schemas/IdealSizeInvocation" }, - { "$ref": "#/components/schemas/ImageBatchInvocation" }, - { "$ref": "#/components/schemas/ImageBlurInvocation" }, - { "$ref": "#/components/schemas/ImageChannelInvocation" }, - { "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" }, - { "$ref": "#/components/schemas/ImageChannelOffsetInvocation" }, - { "$ref": "#/components/schemas/ImageCollectionInvocation" }, - { "$ref": "#/components/schemas/ImageConvertInvocation" }, - { "$ref": "#/components/schemas/ImageCropInvocation" }, - { "$ref": "#/components/schemas/ImageGenerator" }, - { "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" }, - { "$ref": "#/components/schemas/ImageInverseLerpInvocation" }, - { "$ref": "#/components/schemas/ImageInvocation" }, - { "$ref": "#/components/schemas/ImageLerpInvocation" }, - { "$ref": "#/components/schemas/ImageMaskToTensorInvocation" }, - { "$ref": "#/components/schemas/ImageMultiplyInvocation" }, - { "$ref": "#/components/schemas/ImageNSFWBlurInvocation" }, - { "$ref": "#/components/schemas/ImageNoiseInvocation" }, - { "$ref": "#/components/schemas/ImagePanelLayoutInvocation" }, - { "$ref": "#/components/schemas/ImagePasteInvocation" }, - { "$ref": "#/components/schemas/ImageResizeInvocation" }, - { "$ref": "#/components/schemas/ImageScaleInvocation" }, - { "$ref": "#/components/schemas/ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/ImageWatermarkInvocation" }, - { "$ref": "#/components/schemas/InfillColorInvocation" }, - { "$ref": "#/components/schemas/InfillPatchMatchInvocation" }, - { "$ref": "#/components/schemas/InfillTileInvocation" }, - { "$ref": "#/components/schemas/IntegerBatchInvocation" }, - { "$ref": "#/components/schemas/IntegerCollectionInvocation" }, - { "$ref": "#/components/schemas/IntegerGenerator" }, - { "$ref": "#/components/schemas/IntegerInvocation" }, - { "$ref": "#/components/schemas/IntegerMathInvocation" }, - { "$ref": "#/components/schemas/InvertTensorMaskInvocation" }, - { "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" }, - { "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" }, - { "$ref": "#/components/schemas/InvokeImageBlendInvocation" }, - { "$ref": "#/components/schemas/InvokeImageCompositorInvocation" }, - { "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" }, - { "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" }, - { "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" }, - { "$ref": "#/components/schemas/IterateInvocation" }, - { "$ref": "#/components/schemas/LaMaInfillInvocation" }, - { "$ref": "#/components/schemas/LatentsCollectionInvocation" }, - { "$ref": "#/components/schemas/LatentsInvocation" }, - { "$ref": "#/components/schemas/LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" }, - { "$ref": "#/components/schemas/LoRACollectionLoader" }, - { "$ref": "#/components/schemas/LoRALoaderInvocation" }, - { "$ref": "#/components/schemas/LoRASelectorInvocation" }, - { "$ref": "#/components/schemas/MLSDDetectionInvocation" }, - { "$ref": "#/components/schemas/MainModelLoaderInvocation" }, - { "$ref": "#/components/schemas/MaskCombineInvocation" }, - { "$ref": "#/components/schemas/MaskEdgeInvocation" }, - { "$ref": "#/components/schemas/MaskFromAlphaInvocation" }, - { "$ref": "#/components/schemas/MaskFromIDInvocation" }, - { "$ref": "#/components/schemas/MaskTensorToImageInvocation" }, - { "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" }, - { "$ref": "#/components/schemas/MergeMetadataInvocation" }, - { "$ref": "#/components/schemas/MergeTilesToImageInvocation" }, - { "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" }, - { "$ref": "#/components/schemas/MetadataFromImageInvocation" }, - { "$ref": "#/components/schemas/MetadataInvocation" }, - { "$ref": "#/components/schemas/MetadataItemInvocation" }, - { "$ref": "#/components/schemas/MetadataItemLinkedInvocation" }, - { "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToBoolInvocation" }, - { "$ref": "#/components/schemas/MetadataToControlnetsInvocation" }, - { "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToFloatInvocation" }, - { "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" }, - { "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToIntegerInvocation" }, - { "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToLorasInvocation" }, - { "$ref": "#/components/schemas/MetadataToModelInvocation" }, - { "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" }, - { "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" }, - { "$ref": "#/components/schemas/MetadataToSchedulerInvocation" }, - { "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToStringInvocation" }, - { "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" }, - { "$ref": "#/components/schemas/MetadataToVAEInvocation" }, - { "$ref": "#/components/schemas/ModelIdentifierInvocation" }, - { "$ref": "#/components/schemas/MultiplyInvocation" }, - { "$ref": "#/components/schemas/NoiseInvocation" }, - { "$ref": "#/components/schemas/NormalMapInvocation" }, - { "$ref": "#/components/schemas/PairTileImageInvocation" }, - { "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/PromptsFromFileInvocation" }, - { "$ref": "#/components/schemas/RandomFloatInvocation" }, - { "$ref": "#/components/schemas/RandomIntInvocation" }, - { "$ref": "#/components/schemas/RandomRangeInvocation" }, - { "$ref": "#/components/schemas/RangeInvocation" }, - { "$ref": "#/components/schemas/RangeOfSizeInvocation" }, - { "$ref": "#/components/schemas/RectangleMaskInvocation" }, - { "$ref": "#/components/schemas/ResizeLatentsInvocation" }, - { "$ref": "#/components/schemas/RoundInvocation" }, - { "$ref": "#/components/schemas/SD3DenoiseInvocation" }, - { "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/SD3LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/SDXLCompelPromptInvocation" }, - { "$ref": "#/components/schemas/SDXLLoRACollectionLoader" }, - { "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/SDXLModelLoaderInvocation" }, - { "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" }, - { "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" }, - { "$ref": "#/components/schemas/SaveImageInvocation" }, - { "$ref": "#/components/schemas/ScaleLatentsInvocation" }, - { "$ref": "#/components/schemas/SchedulerInvocation" }, - { "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" }, - { "$ref": "#/components/schemas/Sd3TextEncoderInvocation" }, - { "$ref": "#/components/schemas/SeamlessModeInvocation" }, - { "$ref": "#/components/schemas/SegmentAnythingInvocation" }, - { "$ref": "#/components/schemas/ShowImageInvocation" }, - { "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" }, - { "$ref": "#/components/schemas/SpandrelImageToImageInvocation" }, - { "$ref": "#/components/schemas/StringBatchInvocation" }, - { "$ref": "#/components/schemas/StringCollectionInvocation" }, - { "$ref": "#/components/schemas/StringGenerator" }, - { "$ref": "#/components/schemas/StringInvocation" }, - { "$ref": "#/components/schemas/StringJoinInvocation" }, - { "$ref": "#/components/schemas/StringJoinThreeInvocation" }, - { "$ref": "#/components/schemas/StringReplaceInvocation" }, - { "$ref": "#/components/schemas/StringSplitInvocation" }, - { "$ref": "#/components/schemas/StringSplitNegInvocation" }, - { "$ref": "#/components/schemas/SubtractInvocation" }, - { "$ref": "#/components/schemas/T2IAdapterInvocation" }, - { "$ref": "#/components/schemas/TileToPropertiesInvocation" }, - { "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" }, - { "$ref": "#/components/schemas/UnsharpMaskInvocation" }, - { "$ref": "#/components/schemas/VAELoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageDenoiseInvocation" }, - { "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" }, - { "$ref": "#/components/schemas/ZImageLoRACollectionLoader" }, - { "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageModelLoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageTextEncoderInvocation" } + { + "$ref": "#/components/schemas/AddInvocation" + }, + { + "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" + }, + { + "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" + }, + { + "$ref": "#/components/schemas/ApplyMaskToImageInvocation" + }, + { + "$ref": "#/components/schemas/BlankImageInvocation" + }, + { + "$ref": "#/components/schemas/BlendLatentsInvocation" + }, + { + "$ref": "#/components/schemas/BooleanCollectionInvocation" + }, + { + "$ref": "#/components/schemas/BooleanInvocation" + }, + { + "$ref": "#/components/schemas/BoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/CLIPSkipInvocation" + }, + { + "$ref": "#/components/schemas/CV2InfillInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" + }, + { + "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/CanvasPasteBackInvocation" + }, + { + "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" + }, + { + "$ref": "#/components/schemas/CenterPadCropInvocation" + }, + { + "$ref": "#/components/schemas/CogView4DenoiseInvocation" + }, + { + "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/CogView4TextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/CollectInvocation" + }, + { + "$ref": "#/components/schemas/ColorCorrectInvocation" + }, + { + "$ref": "#/components/schemas/ColorInvocation" + }, + { + "$ref": "#/components/schemas/ColorMapInvocation" + }, + { + "$ref": "#/components/schemas/CompelInvocation" + }, + { + "$ref": "#/components/schemas/ConditioningCollectionInvocation" + }, + { + "$ref": "#/components/schemas/ConditioningInvocation" + }, + { + "$ref": "#/components/schemas/ContentShuffleInvocation" + }, + { + "$ref": "#/components/schemas/ControlNetInvocation" + }, + { + "$ref": "#/components/schemas/CoreMetadataInvocation" + }, + { + "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" + }, + { + "$ref": "#/components/schemas/CreateGradientMaskInvocation" + }, + { + "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/CropLatentsCoreInvocation" + }, + { + "$ref": "#/components/schemas/CvInpaintInvocation" + }, + { + "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/DenoiseLatentsInvocation" + }, + { + "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" + }, + { + "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" + }, + { + "$ref": "#/components/schemas/DivideInvocation" + }, + { + "$ref": "#/components/schemas/DynamicPromptInvocation" + }, + { + "$ref": "#/components/schemas/ESRGANInvocation" + }, + { + "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" + }, + { + "$ref": "#/components/schemas/FLUXLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/FaceIdentifierInvocation" + }, + { + "$ref": "#/components/schemas/FaceMaskInvocation" + }, + { + "$ref": "#/components/schemas/FaceOffInvocation" + }, + { + "$ref": "#/components/schemas/FloatBatchInvocation" + }, + { + "$ref": "#/components/schemas/FloatCollectionInvocation" + }, + { + "$ref": "#/components/schemas/FloatGenerator" + }, + { + "$ref": "#/components/schemas/FloatInvocation" + }, + { + "$ref": "#/components/schemas/FloatLinearRangeInvocation" + }, + { + "$ref": "#/components/schemas/FloatMathInvocation" + }, + { + "$ref": "#/components/schemas/FloatToIntegerInvocation" + }, + { + "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxControlNetInvocation" + }, + { + "$ref": "#/components/schemas/FluxDenoiseInvocation" + }, + { + "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" + }, + { + "$ref": "#/components/schemas/FluxFillInvocation" + }, + { + "$ref": "#/components/schemas/FluxIPAdapterInvocation" + }, + { + "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" + }, + { + "$ref": "#/components/schemas/FluxKontextInvocation" + }, + { + "$ref": "#/components/schemas/FluxLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxReduxInvocation" + }, + { + "$ref": "#/components/schemas/FluxTextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/FluxVaeDecodeInvocation" + }, + { + "$ref": "#/components/schemas/FluxVaeEncodeInvocation" + }, + { + "$ref": "#/components/schemas/FreeUInvocation" + }, + { + "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/GroundingDinoInvocation" + }, + { + "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/HeuristicResizeInvocation" + }, + { + "$ref": "#/components/schemas/IPAdapterInvocation" + }, + { + "$ref": "#/components/schemas/IdealSizeInvocation" + }, + { + "$ref": "#/components/schemas/ImageBatchInvocation" + }, + { + "$ref": "#/components/schemas/ImageBlurInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelOffsetInvocation" + }, + { + "$ref": "#/components/schemas/ImageCollectionInvocation" + }, + { + "$ref": "#/components/schemas/ImageConvertInvocation" + }, + { + "$ref": "#/components/schemas/ImageCropInvocation" + }, + { + "$ref": "#/components/schemas/ImageGenerator" + }, + { + "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" + }, + { + "$ref": "#/components/schemas/ImageInverseLerpInvocation" + }, + { + "$ref": "#/components/schemas/ImageInvocation" + }, + { + "$ref": "#/components/schemas/ImageLerpInvocation" + }, + { + "$ref": "#/components/schemas/ImageMaskToTensorInvocation" + }, + { + "$ref": "#/components/schemas/ImageMultiplyInvocation" + }, + { + "$ref": "#/components/schemas/ImageNSFWBlurInvocation" + }, + { + "$ref": "#/components/schemas/ImageNoiseInvocation" + }, + { + "$ref": "#/components/schemas/ImagePanelLayoutInvocation" + }, + { + "$ref": "#/components/schemas/ImagePasteInvocation" + }, + { + "$ref": "#/components/schemas/ImageResizeInvocation" + }, + { + "$ref": "#/components/schemas/ImageScaleInvocation" + }, + { + "$ref": "#/components/schemas/ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/ImageWatermarkInvocation" + }, + { + "$ref": "#/components/schemas/InfillColorInvocation" + }, + { + "$ref": "#/components/schemas/InfillPatchMatchInvocation" + }, + { + "$ref": "#/components/schemas/InfillTileInvocation" + }, + { + "$ref": "#/components/schemas/IntegerBatchInvocation" + }, + { + "$ref": "#/components/schemas/IntegerCollectionInvocation" + }, + { + "$ref": "#/components/schemas/IntegerGenerator" + }, + { + "$ref": "#/components/schemas/IntegerInvocation" + }, + { + "$ref": "#/components/schemas/IntegerMathInvocation" + }, + { + "$ref": "#/components/schemas/InvertTensorMaskInvocation" + }, + { + "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" + }, + { + "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageBlendInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageCompositorInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" + }, + { + "$ref": "#/components/schemas/IterateInvocation" + }, + { + "$ref": "#/components/schemas/LaMaInfillInvocation" + }, + { + "$ref": "#/components/schemas/LatentsCollectionInvocation" + }, + { + "$ref": "#/components/schemas/LatentsInvocation" + }, + { + "$ref": "#/components/schemas/LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" + }, + { + "$ref": "#/components/schemas/LoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/LoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/LoRASelectorInvocation" + }, + { + "$ref": "#/components/schemas/MLSDDetectionInvocation" + }, + { + "$ref": "#/components/schemas/MainModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/MaskCombineInvocation" + }, + { + "$ref": "#/components/schemas/MaskEdgeInvocation" + }, + { + "$ref": "#/components/schemas/MaskFromAlphaInvocation" + }, + { + "$ref": "#/components/schemas/MaskFromIDInvocation" + }, + { + "$ref": "#/components/schemas/MaskTensorToImageInvocation" + }, + { + "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" + }, + { + "$ref": "#/components/schemas/MergeMetadataInvocation" + }, + { + "$ref": "#/components/schemas/MergeTilesToImageInvocation" + }, + { + "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" + }, + { + "$ref": "#/components/schemas/MetadataFromImageInvocation" + }, + { + "$ref": "#/components/schemas/MetadataInvocation" + }, + { + "$ref": "#/components/schemas/MetadataItemInvocation" + }, + { + "$ref": "#/components/schemas/MetadataItemLinkedInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToBoolInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToControlnetsInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToFloatInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIntegerInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToLorasInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToModelInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSchedulerInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToStringInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToVAEInvocation" + }, + { + "$ref": "#/components/schemas/ModelIdentifierInvocation" + }, + { + "$ref": "#/components/schemas/MultiplyInvocation" + }, + { + "$ref": "#/components/schemas/NoiseInvocation" + }, + { + "$ref": "#/components/schemas/NormalMapInvocation" + }, + { + "$ref": "#/components/schemas/PairTileImageInvocation" + }, + { + "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/PromptsFromFileInvocation" + }, + { + "$ref": "#/components/schemas/RandomFloatInvocation" + }, + { + "$ref": "#/components/schemas/RandomIntInvocation" + }, + { + "$ref": "#/components/schemas/RandomRangeInvocation" + }, + { + "$ref": "#/components/schemas/RangeInvocation" + }, + { + "$ref": "#/components/schemas/RangeOfSizeInvocation" + }, + { + "$ref": "#/components/schemas/RectangleMaskInvocation" + }, + { + "$ref": "#/components/schemas/ResizeLatentsInvocation" + }, + { + "$ref": "#/components/schemas/RoundInvocation" + }, + { + "$ref": "#/components/schemas/SD3DenoiseInvocation" + }, + { + "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/SD3LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/SDXLCompelPromptInvocation" + }, + { + "$ref": "#/components/schemas/SDXLLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/SDXLModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" + }, + { + "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/SaveImageInvocation" + }, + { + "$ref": "#/components/schemas/ScaleLatentsInvocation" + }, + { + "$ref": "#/components/schemas/SchedulerInvocation" + }, + { + "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/Sd3TextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/SeamlessModeInvocation" + }, + { + "$ref": "#/components/schemas/SegmentAnythingInvocation" + }, + { + "$ref": "#/components/schemas/ShowImageInvocation" + }, + { + "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" + }, + { + "$ref": "#/components/schemas/SpandrelImageToImageInvocation" + }, + { + "$ref": "#/components/schemas/StringBatchInvocation" + }, + { + "$ref": "#/components/schemas/StringCollectionInvocation" + }, + { + "$ref": "#/components/schemas/StringGenerator" + }, + { + "$ref": "#/components/schemas/StringInvocation" + }, + { + "$ref": "#/components/schemas/StringJoinInvocation" + }, + { + "$ref": "#/components/schemas/StringJoinThreeInvocation" + }, + { + "$ref": "#/components/schemas/StringReplaceInvocation" + }, + { + "$ref": "#/components/schemas/StringSplitInvocation" + }, + { + "$ref": "#/components/schemas/StringSplitNegInvocation" + }, + { + "$ref": "#/components/schemas/SubtractInvocation" + }, + { + "$ref": "#/components/schemas/T2IAdapterInvocation" + }, + { + "$ref": "#/components/schemas/TileToPropertiesInvocation" + }, + { + "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" + }, + { + "$ref": "#/components/schemas/UnsharpMaskInvocation" + }, + { + "$ref": "#/components/schemas/VAELoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageDenoiseInvocation" + }, + { + "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/ZImageLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageTextEncoderInvocation" + } ] }, "type": "object", @@ -15069,7 +21644,9 @@ "description": "The nodes in this graph" }, "edges": { - "items": { "$ref": "#/components/schemas/Edge" }, + "items": { + "$ref": "#/components/schemas/Edge" + }, "type": "array", "title": "Edges", "description": "The connections between nodes and their fields in this graph" @@ -15080,21 +21657,32 @@ }, "GraphExecutionState": { "properties": { - "id": { "type": "string", "title": "Id", "description": "The id of the execution state" }, - "graph": { "$ref": "#/components/schemas/Graph", "description": "The graph being executed" }, + "id": { + "type": "string", + "title": "Id", + "description": "The id of the execution state" + }, + "graph": { + "$ref": "#/components/schemas/Graph", + "description": "The graph being executed" + }, "execution_graph": { "$ref": "#/components/schemas/Graph", "description": "The expanded graph of activated and executed nodes" }, "executed": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "uniqueItems": true, "title": "Executed", "description": "The set of node ids that have been executed" }, "executed_history": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Executed History", "description": "The list of node ids that have been executed, in order of execution" @@ -15102,84 +21690,240 @@ "results": { "additionalProperties": { "oneOf": [ - { "$ref": "#/components/schemas/BooleanCollectionOutput" }, - { "$ref": "#/components/schemas/BooleanOutput" }, - { "$ref": "#/components/schemas/BoundingBoxCollectionOutput" }, - { "$ref": "#/components/schemas/BoundingBoxOutput" }, - { "$ref": "#/components/schemas/CLIPOutput" }, - { "$ref": "#/components/schemas/CLIPSkipInvocationOutput" }, - { "$ref": "#/components/schemas/CalculateImageTilesOutput" }, - { "$ref": "#/components/schemas/CogView4ConditioningOutput" }, - { "$ref": "#/components/schemas/CogView4ModelLoaderOutput" }, - { "$ref": "#/components/schemas/CollectInvocationOutput" }, - { "$ref": "#/components/schemas/ColorCollectionOutput" }, - { "$ref": "#/components/schemas/ColorOutput" }, - { "$ref": "#/components/schemas/ConditioningCollectionOutput" }, - { "$ref": "#/components/schemas/ConditioningOutput" }, - { "$ref": "#/components/schemas/ControlOutput" }, - { "$ref": "#/components/schemas/DenoiseMaskOutput" }, - { "$ref": "#/components/schemas/FaceMaskOutput" }, - { "$ref": "#/components/schemas/FaceOffOutput" }, - { "$ref": "#/components/schemas/FloatCollectionOutput" }, - { "$ref": "#/components/schemas/FloatGeneratorOutput" }, - { "$ref": "#/components/schemas/FloatOutput" }, - { "$ref": "#/components/schemas/FluxConditioningCollectionOutput" }, - { "$ref": "#/components/schemas/FluxConditioningOutput" }, - { "$ref": "#/components/schemas/FluxControlLoRALoaderOutput" }, - { "$ref": "#/components/schemas/FluxControlNetOutput" }, - { "$ref": "#/components/schemas/FluxFillOutput" }, - { "$ref": "#/components/schemas/FluxKontextOutput" }, - { "$ref": "#/components/schemas/FluxLoRALoaderOutput" }, - { "$ref": "#/components/schemas/FluxModelLoaderOutput" }, - { "$ref": "#/components/schemas/FluxReduxOutput" }, - { "$ref": "#/components/schemas/GradientMaskOutput" }, - { "$ref": "#/components/schemas/IPAdapterOutput" }, - { "$ref": "#/components/schemas/IdealSizeOutput" }, - { "$ref": "#/components/schemas/ImageCollectionOutput" }, - { "$ref": "#/components/schemas/ImageGeneratorOutput" }, - { "$ref": "#/components/schemas/ImageOutput" }, - { "$ref": "#/components/schemas/ImagePanelCoordinateOutput" }, - { "$ref": "#/components/schemas/IntegerCollectionOutput" }, - { "$ref": "#/components/schemas/IntegerGeneratorOutput" }, - { "$ref": "#/components/schemas/IntegerOutput" }, - { "$ref": "#/components/schemas/IterateInvocationOutput" }, - { "$ref": "#/components/schemas/LatentsCollectionOutput" }, - { "$ref": "#/components/schemas/LatentsMetaOutput" }, - { "$ref": "#/components/schemas/LatentsOutput" }, - { "$ref": "#/components/schemas/LoRALoaderOutput" }, - { "$ref": "#/components/schemas/LoRASelectorOutput" }, - { "$ref": "#/components/schemas/MDControlListOutput" }, - { "$ref": "#/components/schemas/MDIPAdapterListOutput" }, - { "$ref": "#/components/schemas/MDT2IAdapterListOutput" }, - { "$ref": "#/components/schemas/MaskOutput" }, - { "$ref": "#/components/schemas/MetadataItemOutput" }, - { "$ref": "#/components/schemas/MetadataOutput" }, - { "$ref": "#/components/schemas/MetadataToLorasCollectionOutput" }, - { "$ref": "#/components/schemas/MetadataToModelOutput" }, - { "$ref": "#/components/schemas/MetadataToSDXLModelOutput" }, - { "$ref": "#/components/schemas/ModelIdentifierOutput" }, - { "$ref": "#/components/schemas/ModelLoaderOutput" }, - { "$ref": "#/components/schemas/NoiseOutput" }, - { "$ref": "#/components/schemas/PairTileImageOutput" }, - { "$ref": "#/components/schemas/SD3ConditioningOutput" }, - { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" }, - { "$ref": "#/components/schemas/SDXLModelLoaderOutput" }, - { "$ref": "#/components/schemas/SDXLRefinerModelLoaderOutput" }, - { "$ref": "#/components/schemas/SchedulerOutput" }, - { "$ref": "#/components/schemas/Sd3ModelLoaderOutput" }, - { "$ref": "#/components/schemas/SeamlessModeOutput" }, - { "$ref": "#/components/schemas/String2Output" }, - { "$ref": "#/components/schemas/StringCollectionOutput" }, - { "$ref": "#/components/schemas/StringGeneratorOutput" }, - { "$ref": "#/components/schemas/StringOutput" }, - { "$ref": "#/components/schemas/StringPosNegOutput" }, - { "$ref": "#/components/schemas/T2IAdapterOutput" }, - { "$ref": "#/components/schemas/TileToPropertiesOutput" }, - { "$ref": "#/components/schemas/UNetOutput" }, - { "$ref": "#/components/schemas/VAEOutput" }, - { "$ref": "#/components/schemas/ZImageConditioningOutput" }, - { "$ref": "#/components/schemas/ZImageLoRALoaderOutput" }, - { "$ref": "#/components/schemas/ZImageModelLoaderOutput" } + { + "$ref": "#/components/schemas/BooleanCollectionOutput" + }, + { + "$ref": "#/components/schemas/BooleanOutput" + }, + { + "$ref": "#/components/schemas/BoundingBoxCollectionOutput" + }, + { + "$ref": "#/components/schemas/BoundingBoxOutput" + }, + { + "$ref": "#/components/schemas/CLIPOutput" + }, + { + "$ref": "#/components/schemas/CLIPSkipInvocationOutput" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesOutput" + }, + { + "$ref": "#/components/schemas/CogView4ConditioningOutput" + }, + { + "$ref": "#/components/schemas/CogView4ModelLoaderOutput" + }, + { + "$ref": "#/components/schemas/CollectInvocationOutput" + }, + { + "$ref": "#/components/schemas/ColorCollectionOutput" + }, + { + "$ref": "#/components/schemas/ColorOutput" + }, + { + "$ref": "#/components/schemas/ConditioningCollectionOutput" + }, + { + "$ref": "#/components/schemas/ConditioningOutput" + }, + { + "$ref": "#/components/schemas/ControlOutput" + }, + { + "$ref": "#/components/schemas/DenoiseMaskOutput" + }, + { + "$ref": "#/components/schemas/FaceMaskOutput" + }, + { + "$ref": "#/components/schemas/FaceOffOutput" + }, + { + "$ref": "#/components/schemas/FloatCollectionOutput" + }, + { + "$ref": "#/components/schemas/FloatGeneratorOutput" + }, + { + "$ref": "#/components/schemas/FloatOutput" + }, + { + "$ref": "#/components/schemas/FluxConditioningCollectionOutput" + }, + { + "$ref": "#/components/schemas/FluxConditioningOutput" + }, + { + "$ref": "#/components/schemas/FluxControlLoRALoaderOutput" + }, + { + "$ref": "#/components/schemas/FluxControlNetOutput" + }, + { + "$ref": "#/components/schemas/FluxFillOutput" + }, + { + "$ref": "#/components/schemas/FluxKontextOutput" + }, + { + "$ref": "#/components/schemas/FluxLoRALoaderOutput" + }, + { + "$ref": "#/components/schemas/FluxModelLoaderOutput" + }, + { + "$ref": "#/components/schemas/FluxReduxOutput" + }, + { + "$ref": "#/components/schemas/GradientMaskOutput" + }, + { + "$ref": "#/components/schemas/IPAdapterOutput" + }, + { + "$ref": "#/components/schemas/IdealSizeOutput" + }, + { + "$ref": "#/components/schemas/ImageCollectionOutput" + }, + { + "$ref": "#/components/schemas/ImageGeneratorOutput" + }, + { + "$ref": "#/components/schemas/ImageOutput" + }, + { + "$ref": "#/components/schemas/ImagePanelCoordinateOutput" + }, + { + "$ref": "#/components/schemas/IntegerCollectionOutput" + }, + { + "$ref": "#/components/schemas/IntegerGeneratorOutput" + }, + { + "$ref": "#/components/schemas/IntegerOutput" + }, + { + "$ref": "#/components/schemas/IterateInvocationOutput" + }, + { + "$ref": "#/components/schemas/LatentsCollectionOutput" + }, + { + "$ref": "#/components/schemas/LatentsMetaOutput" + }, + { + "$ref": "#/components/schemas/LatentsOutput" + }, + { + "$ref": "#/components/schemas/LoRALoaderOutput" + }, + { + "$ref": "#/components/schemas/LoRASelectorOutput" + }, + { + "$ref": "#/components/schemas/MDControlListOutput" + }, + { + "$ref": "#/components/schemas/MDIPAdapterListOutput" + }, + { + "$ref": "#/components/schemas/MDT2IAdapterListOutput" + }, + { + "$ref": "#/components/schemas/MaskOutput" + }, + { + "$ref": "#/components/schemas/MetadataItemOutput" + }, + { + "$ref": "#/components/schemas/MetadataOutput" + }, + { + "$ref": "#/components/schemas/MetadataToLorasCollectionOutput" + }, + { + "$ref": "#/components/schemas/MetadataToModelOutput" + }, + { + "$ref": "#/components/schemas/MetadataToSDXLModelOutput" + }, + { + "$ref": "#/components/schemas/ModelIdentifierOutput" + }, + { + "$ref": "#/components/schemas/ModelLoaderOutput" + }, + { + "$ref": "#/components/schemas/NoiseOutput" + }, + { + "$ref": "#/components/schemas/PairTileImageOutput" + }, + { + "$ref": "#/components/schemas/SD3ConditioningOutput" + }, + { + "$ref": "#/components/schemas/SDXLLoRALoaderOutput" + }, + { + "$ref": "#/components/schemas/SDXLModelLoaderOutput" + }, + { + "$ref": "#/components/schemas/SDXLRefinerModelLoaderOutput" + }, + { + "$ref": "#/components/schemas/SchedulerOutput" + }, + { + "$ref": "#/components/schemas/Sd3ModelLoaderOutput" + }, + { + "$ref": "#/components/schemas/SeamlessModeOutput" + }, + { + "$ref": "#/components/schemas/String2Output" + }, + { + "$ref": "#/components/schemas/StringCollectionOutput" + }, + { + "$ref": "#/components/schemas/StringGeneratorOutput" + }, + { + "$ref": "#/components/schemas/StringOutput" + }, + { + "$ref": "#/components/schemas/StringPosNegOutput" + }, + { + "$ref": "#/components/schemas/T2IAdapterOutput" + }, + { + "$ref": "#/components/schemas/TileToPropertiesOutput" + }, + { + "$ref": "#/components/schemas/UNetOutput" + }, + { + "$ref": "#/components/schemas/VAEOutput" + }, + { + "$ref": "#/components/schemas/ZImageConditioningOutput" + }, + { + "$ref": "#/components/schemas/ZImageLoRALoaderOutput" + }, + { + "$ref": "#/components/schemas/ZImageModelLoaderOutput" + } ] }, "type": "object", @@ -15187,26 +21931,44 @@ "description": "The results of node executions" }, "errors": { - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "type": "object", "title": "Errors", "description": "Errors raised when executing nodes" }, "prepared_source_mapping": { - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "type": "object", "title": "Prepared Source Mapping", "description": "The map of prepared nodes to original graph nodes" }, "source_prepared_mapping": { - "additionalProperties": { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, "type": "object", "title": "Source Prepared Mapping", "description": "The map of original graph nodes to prepared nodes" }, - "ready_order": { "items": { "type": "string" }, "type": "array", "title": "Ready Order" }, + "ready_order": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Ready Order" + }, "indegree": { - "additionalProperties": { "type": "integer" }, + "additionalProperties": { + "type": "integer" + }, "type": "object", "title": "Indegree", "description": "Remaining unmet input count for exec nodes" @@ -15259,7 +22021,15 @@ "type": "boolean" }, "model": { - "anyOf": [{ "enum": ["grounding-dino-tiny", "grounding-dino-base"], "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "enum": ["grounding-dino-tiny", "grounding-dino-base"], + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The Grounding DINO model to use.", "field_kind": "input", @@ -15268,7 +22038,14 @@ "title": "Model" }, "prompt": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The prompt describing the object to segment.", "field_kind": "input", @@ -15277,7 +22054,14 @@ "title": "Prompt" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to segment.", "field_kind": "input", @@ -15309,7 +22093,9 @@ "title": "Grounding DINO (Text Prompt Object Detection)", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/BoundingBoxCollectionOutput" } + "output": { + "$ref": "#/components/schemas/BoundingBoxCollectionOutput" + } }, "HEDEdgeDetectionInvocation": { "category": "controlnet", @@ -15319,7 +22105,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -15328,7 +22121,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -15361,7 +22161,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -15391,28 +22198,76 @@ "title": "HED Edge Detection", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "HFModelSource": { "properties": { - "repo_id": { "type": "string", "title": "Repo Id" }, + "repo_id": { + "type": "string", + "title": "Repo Id" + }, "variant": { - "anyOf": [{ "$ref": "#/components/schemas/ModelRepoVariant" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelRepoVariant" + }, + { + "type": "null" + } + ], "default": "fp16" }, - "subfolder": { "anyOf": [{ "type": "string", "format": "path" }, { "type": "null" }], "title": "Subfolder" }, - "access_token": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Access Token" }, - "type": { "type": "string", "const": "hf", "title": "Type", "default": "hf" } + "subfolder": { + "anyOf": [ + { + "type": "string", + "format": "path" + }, + { + "type": "null" + } + ], + "title": "Subfolder" + }, + "access_token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Access Token" + }, + "type": { + "type": "string", + "const": "hf", + "title": "Type", + "default": "hf" + } }, "type": "object", "required": ["repo_id"], "title": "HFModelSource", "description": "A HuggingFace repo_id with optional variant, sub-folder and access token.\nNote that the variant option, if not provided to the constructor, will default to fp16, which is\nwhat people (almost) always want." }, - "HFTokenStatus": { "type": "string", "enum": ["valid", "invalid", "unknown"], "title": "HFTokenStatus" }, + "HFTokenStatus": { + "type": "string", + "enum": ["valid", "invalid", "unknown"], + "title": "HFTokenStatus" + }, "HTTPValidationError": { "properties": { - "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "type": "array", + "title": "Detail" + } }, "type": "object", "title": "HTTPValidationError" @@ -15449,7 +22304,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to resize", "field_kind": "input", @@ -15491,21 +22353,45 @@ "title": "Heuristic Resize", "type": "object", "version": "1.1.1", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "HuggingFaceMetadata": { "properties": { - "name": { "type": "string", "title": "Name", "description": "model's name" }, + "name": { + "type": "string", + "title": "Name", + "description": "model's name" + }, "files": { - "items": { "$ref": "#/components/schemas/RemoteModelFile" }, + "items": { + "$ref": "#/components/schemas/RemoteModelFile" + }, "type": "array", "title": "Files", "description": "model files and their sizes" }, - "type": { "type": "string", "const": "huggingface", "title": "Type", "default": "huggingface" }, - "id": { "type": "string", "title": "Id", "description": "The HF model id" }, + "type": { + "type": "string", + "const": "huggingface", + "title": "Type", + "default": "huggingface" + }, + "id": { + "type": "string", + "title": "Id", + "description": "The HF model id" + }, "api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Api Response", "description": "Response from the HF API as stringified JSON" }, @@ -15517,8 +22403,17 @@ }, "ckpt_urls": { "anyOf": [ - { "items": { "type": "string", "minLength": 1, "format": "uri" }, "type": "array" }, - { "type": "null" } + { + "items": { + "type": "string", + "minLength": 1, + "format": "uri" + }, + "type": "array" + }, + { + "type": "null" + } ], "title": "Ckpt Urls", "description": "URLs for all checkpoint format models in the metadata" @@ -15533,8 +22428,17 @@ "properties": { "urls": { "anyOf": [ - { "items": { "type": "string", "minLength": 1, "format": "uri" }, "type": "array" }, - { "type": "null" } + { + "items": { + "type": "string", + "minLength": 1, + "format": "uri" + }, + "type": "array" + }, + { + "type": "null" + } ], "title": "Urls", "description": "URLs for all checkpoint format models in the metadata" @@ -15553,8 +22457,15 @@ "properties": { "image": { "anyOf": [ - { "$ref": "#/components/schemas/ImageField" }, - { "items": { "$ref": "#/components/schemas/ImageField" }, "type": "array" } + { + "$ref": "#/components/schemas/ImageField" + }, + { + "items": { + "$ref": "#/components/schemas/ImageField" + }, + "type": "array" + } ], "description": "The IP-Adapter image prompt(s).", "title": "Image" @@ -15568,7 +22479,17 @@ "description": "The name of the CLIP image encoder model." }, "weight": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1, "description": "The weight given to the IP-Adapter.", "title": "Weight" @@ -15576,12 +22497,19 @@ "target_blocks": { "default": [], "description": "The IP Adapter blocks to apply", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "title": "Target Blocks", "type": "array" }, - "method": { "default": "full", "description": "Weight apply method", "title": "Method", "type": "string" }, - "begin_step_percent": { + "method": { + "default": "full", + "description": "Weight apply method", + "title": "Method", + "type": "string" + }, + "begin_step_percent": { "default": 0, "description": "When the IP-Adapter is first applied (% of total steps)", "maximum": 1, @@ -15598,7 +22526,14 @@ "type": "number" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "The bool mask associated with this IP-Adapter. Excluded regions should be set to False, included regions should be set to True." } @@ -15640,9 +22575,18 @@ }, "image": { "anyOf": [ - { "$ref": "#/components/schemas/ImageField" }, - { "items": { "$ref": "#/components/schemas/ImageField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/ImageField" + }, + { + "items": { + "$ref": "#/components/schemas/ImageField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "The IP-Adapter image prompt(s).", @@ -15653,7 +22597,14 @@ "ui_order": 1 }, "ip_adapter_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "The IP-Adapter model.", "field_kind": "input", @@ -15677,7 +22628,17 @@ "ui_order": 2 }, "weight": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1, "description": "The weight given to the IP-Adapter", "field_kind": "input", @@ -15722,7 +22683,14 @@ "type": "number" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "A mask defining the region that this IP-Adapter applies to.", "field_kind": "input", @@ -15743,12 +22711,17 @@ "title": "IP-Adapter - SD1.5, SDXL", "type": "object", "version": "1.5.1", - "output": { "$ref": "#/components/schemas/IPAdapterOutput" } + "output": { + "$ref": "#/components/schemas/IPAdapterOutput" + } }, "IPAdapterMetadataField": { "description": "IP Adapter Field, minus the CLIP Vision Encoder model", "properties": { - "image": { "$ref": "#/components/schemas/ImageField", "description": "The IP-Adapter image prompt." }, + "image": { + "$ref": "#/components/schemas/ImageField", + "description": "The IP-Adapter image prompt." + }, "ip_adapter_model": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "The IP-Adapter model." @@ -15766,7 +22739,17 @@ "type": "string" }, "weight": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "description": "The weight given to the IP-Adapter", "title": "Weight" }, @@ -15817,17 +22800,40 @@ }, "IPAdapter_Checkpoint_FLUX_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -15836,20 +22842,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + "type": { + "type": "string", + "const": "ip_adapter", + "title": "Type", + "default": "ip_adapter" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "base": { + "type": "string", + "const": "flux", + "title": "Base", + "default": "flux" + } }, "type": "object", "required": [ @@ -15871,17 +22909,40 @@ }, "IPAdapter_Checkpoint_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -15890,20 +22951,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "type": { + "type": "string", + "const": "ip_adapter", + "title": "Type", + "default": "ip_adapter" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -15925,17 +23018,40 @@ }, "IPAdapter_Checkpoint_SD2_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -15944,20 +23060,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + "type": { + "type": "string", + "const": "ip_adapter", + "title": "Type", + "default": "ip_adapter" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "base": { + "type": "string", + "const": "sd-2", + "title": "Base", + "default": "sd-2" + } }, "type": "object", "required": [ @@ -15979,17 +23127,40 @@ }, "IPAdapter_Checkpoint_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -15998,20 +23169,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "type": { + "type": "string", + "const": "ip_adapter", + "title": "Type", + "default": "ip_adapter" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -16033,17 +23236,40 @@ }, "IPAdapter_InvokeAI_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -16052,21 +23278,56 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, - "format": { "type": "string", "const": "invokeai", "title": "Format", "default": "invokeai" }, - "image_encoder_model_id": { "type": "string", "title": "Image Encoder Model Id" }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "type": { + "type": "string", + "const": "ip_adapter", + "title": "Type", + "default": "ip_adapter" + }, + "format": { + "type": "string", + "const": "invokeai", + "title": "Format", + "default": "invokeai" + }, + "image_encoder_model_id": { + "type": "string", + "title": "Image Encoder Model Id" + }, + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -16089,17 +23350,40 @@ }, "IPAdapter_InvokeAI_SD2_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -16108,21 +23392,56 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, - "format": { "type": "string", "const": "invokeai", "title": "Format", "default": "invokeai" }, - "image_encoder_model_id": { "type": "string", "title": "Image Encoder Model Id" }, - "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + "type": { + "type": "string", + "const": "ip_adapter", + "title": "Type", + "default": "ip_adapter" + }, + "format": { + "type": "string", + "const": "invokeai", + "title": "Format", + "default": "invokeai" + }, + "image_encoder_model_id": { + "type": "string", + "title": "Image Encoder Model Id" + }, + "base": { + "type": "string", + "const": "sd-2", + "title": "Base", + "default": "sd-2" + } }, "type": "object", "required": [ @@ -16145,17 +23464,40 @@ }, "IPAdapter_InvokeAI_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -16164,21 +23506,56 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "ip_adapter", "title": "Type", "default": "ip_adapter" }, - "format": { "type": "string", "const": "invokeai", "title": "Format", "default": "invokeai" }, - "image_encoder_model_id": { "type": "string", "title": "Image Encoder Model Id" }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "type": { + "type": "string", + "const": "ip_adapter", + "title": "Type", + "default": "ip_adapter" + }, + "format": { + "type": "string", + "const": "invokeai", + "title": "Format", + "default": "invokeai" + }, + "image_encoder_model_id": { + "type": "string", + "title": "Image Encoder Model Id" + }, + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -16250,7 +23627,14 @@ "type": "integer" }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "input", @@ -16280,7 +23664,9 @@ "title": "Ideal Size - SD1.5, SDXL", "type": "object", "version": "1.0.6", - "output": { "$ref": "#/components/schemas/IdealSizeOutput" } + "output": { + "$ref": "#/components/schemas/IdealSizeOutput" + } }, "IdealSizeOutput": { "class": "output", @@ -16356,8 +23742,16 @@ }, "images": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/ImageField" }, "minItems": 1, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/ImageField" + }, + "minItems": 1, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "The images to batch over", @@ -16379,7 +23773,9 @@ "title": "Image Batch", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageBlurInvocation": { "category": "image", @@ -16389,7 +23785,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -16398,7 +23801,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -16431,7 +23841,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to blur", "field_kind": "input", @@ -16473,7 +23890,9 @@ "title": "Blur Image", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageCategory": { "type": "string", @@ -16489,7 +23908,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -16498,7 +23924,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -16531,7 +23964,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to get the channel from", "field_kind": "input", @@ -16562,7 +24002,9 @@ "title": "Extract Image Channel", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageChannelMultiplyInvocation": { "category": "image", @@ -16572,7 +24014,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -16581,7 +24030,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -16614,7 +24070,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to adjust", "field_kind": "input", @@ -16645,7 +24108,9 @@ ], "type": "string" }, - { "type": "null" } + { + "type": "null" + } ], "default": null, "description": "Which channel to adjust", @@ -16705,7 +24170,9 @@ "title": "Multiply Image Channel", "type": "object", "version": "1.2.3", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageChannelOffsetInvocation": { "category": "image", @@ -16715,7 +24182,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -16724,7 +24198,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -16757,7 +24238,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to adjust", "field_kind": "input", @@ -16788,7 +24276,9 @@ ], "type": "string" }, - { "type": "null" } + { + "type": "null" + } ], "default": null, "description": "Which channel to adjust", @@ -16837,7 +24327,9 @@ "title": "Offset Image Channel", "type": "object", "version": "1.2.3", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageCollectionInvocation": { "category": "primitives", @@ -16871,7 +24363,17 @@ "type": "boolean" }, "collection": { - "anyOf": [{ "items": { "$ref": "#/components/schemas/ImageField" }, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ImageField" + }, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "description": "The collection of image values", "field_kind": "input", @@ -16892,7 +24394,9 @@ "title": "Image Collection Primitive", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/ImageCollectionOutput" } + "output": { + "$ref": "#/components/schemas/ImageCollectionOutput" + } }, "ImageCollectionOutput": { "class": "output", @@ -16901,7 +24405,9 @@ "collection": { "description": "The output images", "field_kind": "output", - "items": { "$ref": "#/components/schemas/ImageField" }, + "items": { + "$ref": "#/components/schemas/ImageField" + }, "title": "Collection", "type": "array", "ui_hidden": false @@ -16926,7 +24432,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -16935,7 +24448,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -16968,7 +24488,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to convert", "field_kind": "input", @@ -16999,7 +24526,9 @@ "title": "Convert Image Mode", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageCropInvocation": { "category": "image", @@ -17009,7 +24538,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -17018,7 +24554,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -17051,7 +24594,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to crop", "field_kind": "input", @@ -17113,36 +24663,84 @@ "title": "Crop Image", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageDTO": { "properties": { - "image_name": { "type": "string", "title": "Image Name", "description": "The unique name of the image." }, - "image_url": { "type": "string", "title": "Image Url", "description": "The URL of the image." }, + "image_name": { + "type": "string", + "title": "Image Name", + "description": "The unique name of the image." + }, + "image_url": { + "type": "string", + "title": "Image Url", + "description": "The URL of the image." + }, "thumbnail_url": { "type": "string", "title": "Thumbnail Url", "description": "The URL of the image's thumbnail." }, - "image_origin": { "$ref": "#/components/schemas/ResourceOrigin", "description": "The type of the image." }, + "image_origin": { + "$ref": "#/components/schemas/ResourceOrigin", + "description": "The type of the image." + }, "image_category": { "$ref": "#/components/schemas/ImageCategory", "description": "The category of the image." }, - "width": { "type": "integer", "title": "Width", "description": "The width of the image in px." }, - "height": { "type": "integer", "title": "Height", "description": "The height of the image in px." }, + "width": { + "type": "integer", + "title": "Width", + "description": "The width of the image in px." + }, + "height": { + "type": "integer", + "title": "Height", + "description": "The height of the image in px." + }, "created_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "title": "Created At", "description": "The created timestamp of the image." }, "updated_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "title": "Updated At", "description": "The updated timestamp of the image." }, "deleted_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Deleted At", "description": "The deleted timestamp of the image." }, @@ -17152,23 +24750,48 @@ "description": "Whether this is an intermediate image." }, "session_id": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Session Id", "description": "The session ID that generated this image, if it is a generated image." }, "node_id": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Node Id", "description": "The node ID that generated this image, if it is a generated image." }, - "starred": { "type": "boolean", "title": "Starred", "description": "Whether this image is starred." }, + "starred": { + "type": "boolean", + "title": "Starred", + "description": "Whether this image is starred." + }, "has_workflow": { "type": "boolean", "title": "Has Workflow", "description": "Whether this image has a workflow." }, "board_id": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Board Id", "description": "The id of the board the image belongs to, if one exists." } @@ -17193,7 +24816,11 @@ }, "ImageField": { "properties": { - "image_name": { "type": "string", "title": "Image Name", "description": "The name of the image" } + "image_name": { + "type": "string", + "title": "Image Name", + "description": "The name of the image" + } }, "type": "object", "required": ["image_name"], @@ -17252,9 +24879,15 @@ "title": "Image Generator", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageGeneratorOutput" } + "output": { + "$ref": "#/components/schemas/ImageGeneratorOutput" + } + }, + "ImageGeneratorField": { + "properties": {}, + "title": "ImageGeneratorField", + "type": "object" }, - "ImageGeneratorField": { "properties": {}, "title": "ImageGeneratorField", "type": "object" }, "ImageGeneratorOutput": { "class": "output", "description": "Base class for nodes that output a collection of boards", @@ -17262,7 +24895,9 @@ "images": { "description": "The generated images", "field_kind": "output", - "items": { "$ref": "#/components/schemas/ImageField" }, + "items": { + "$ref": "#/components/schemas/ImageField" + }, "title": "Images", "type": "array", "ui_hidden": false @@ -17287,7 +24922,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -17296,7 +24938,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -17329,7 +24978,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to adjust", "field_kind": "input", @@ -17359,7 +25015,9 @@ "title": "Adjust Image Hue", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageInverseLerpInvocation": { "category": "image", @@ -17369,7 +25027,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -17378,7 +25043,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -17411,7 +25083,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to lerp", "field_kind": "input", @@ -17455,7 +25134,9 @@ "title": "Inverse Lerp Image", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageInvocation": { "category": "primitives", @@ -17489,7 +25170,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to load", "field_kind": "input", @@ -17509,7 +25197,9 @@ "title": "Image Primitive", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageLerpInvocation": { "category": "image", @@ -17519,7 +25209,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -17528,7 +25225,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -17561,7 +25265,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to lerp", "field_kind": "input", @@ -17605,7 +25316,9 @@ "title": "Lerp Image", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageMaskToTensorInvocation": { "category": "conditioning", @@ -17615,7 +25328,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -17648,7 +25368,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask image to convert.", "field_kind": "input", @@ -17690,7 +25417,9 @@ "title": "Image Mask to Tensor", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/MaskOutput" } + "output": { + "$ref": "#/components/schemas/MaskOutput" + } }, "ImageMultiplyInvocation": { "category": "image", @@ -17700,7 +25429,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -17709,7 +25445,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -17742,7 +25485,14 @@ "type": "boolean" }, "image1": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The first image to multiply", "field_kind": "input", @@ -17750,7 +25500,14 @@ "orig_required": true }, "image2": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The second image to multiply", "field_kind": "input", @@ -17770,7 +25527,9 @@ "title": "Multiply Images", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageNSFWBlurInvocation": { "category": "image", @@ -17780,7 +25539,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -17789,7 +25555,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -17822,7 +25595,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to check", "field_kind": "input", @@ -17842,12 +25622,16 @@ "title": "Blur NSFW Image", "type": "object", "version": "1.2.3", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageNamesResult": { "properties": { "image_names": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Image Names", "description": "Ordered list of image names" @@ -17876,7 +25660,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -17885,7 +25676,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -17918,7 +25716,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to add noise to", "field_kind": "input", @@ -17926,7 +25731,14 @@ "orig_required": true }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional mask determining where to apply noise (black=noise, white=no noise)", "field_kind": "input", @@ -18003,7 +25815,9 @@ "title": "Add Image Noise", "type": "object", "version": "1.1.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageOutput": { "class": "output", @@ -18116,7 +25930,14 @@ "type": "boolean" }, "width": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The width of the entire grid.", "field_kind": "input", @@ -18125,7 +25946,14 @@ "title": "Width" }, "height": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The height of the entire grid.", "field_kind": "input", @@ -18190,7 +26018,9 @@ "title": "Image Panel Layout", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImagePanelCoordinateOutput" } + "output": { + "$ref": "#/components/schemas/ImagePanelCoordinateOutput" + } }, "ImagePasteInvocation": { "category": "image", @@ -18200,7 +26030,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -18209,7 +26046,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -18242,7 +26086,14 @@ "type": "boolean" }, "base_image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The base image", "field_kind": "input", @@ -18250,7 +26101,14 @@ "orig_required": true }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to paste", "field_kind": "input", @@ -18258,7 +26116,14 @@ "orig_required": true }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask to use when pasting", "field_kind": "input", @@ -18309,26 +26174,56 @@ "title": "Paste Image", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageRecordChanges": { "properties": { "image_category": { - "anyOf": [{ "$ref": "#/components/schemas/ImageCategory" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageCategory" + }, + { + "type": "null" + } + ], "description": "The image's new category." }, "session_id": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Session Id", "description": "The image's new session ID." }, "is_intermediate": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "title": "Is Intermediate", "description": "The image's new `is_intermediate` flag." }, "starred": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "title": "Starred", "description": "The image's new `starred` state" } @@ -18346,7 +26241,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -18355,7 +26257,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -18388,7 +26297,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to resize", "field_kind": "input", @@ -18441,7 +26357,9 @@ "title": "Resize Image", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageScaleInvocation": { "category": "image", @@ -18451,7 +26369,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -18460,7 +26385,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -18493,7 +26425,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to scale", "field_kind": "input", @@ -18535,7 +26474,9 @@ "title": "Scale Image", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImageToLatentsInvocation": { "category": "latents", @@ -18569,7 +26510,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to encode", "field_kind": "input", @@ -18577,7 +26525,14 @@ "orig_required": true }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -18639,11 +26594,16 @@ "title": "Image to Latents - SD1.5, SDXL", "type": "object", "version": "1.2.0", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "ImageUploadEntry": { "properties": { - "image_dto": { "$ref": "#/components/schemas/ImageDTO", "description": "The image DTO" }, + "image_dto": { + "$ref": "#/components/schemas/ImageDTO", + "description": "The image DTO" + }, "presigned_url": { "type": "string", "title": "Presigned Url", @@ -18656,8 +26616,16 @@ }, "ImageUrlsDTO": { "properties": { - "image_name": { "type": "string", "title": "Image Name", "description": "The unique name of the image." }, - "image_url": { "type": "string", "title": "Image Url", "description": "The URL of the image." }, + "image_name": { + "type": "string", + "title": "Image Name", + "description": "The unique name of the image." + }, + "image_url": { + "type": "string", + "title": "Image Url", + "description": "The URL of the image." + }, "thumbnail_url": { "type": "string", "title": "Thumbnail Url", @@ -18677,7 +26645,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -18686,7 +26661,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -18719,7 +26701,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to check", "field_kind": "input", @@ -18749,17 +26738,33 @@ "title": "Add Invisible Watermark", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ImagesDownloaded": { "properties": { "response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Response", "description": "The message to display to the user when images begin downloading" }, "bulk_download_item_name": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Bulk Download Item Name", "description": "The name of the bulk download item for which events will be emitted" } @@ -18775,7 +26780,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -18784,7 +26796,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -18817,7 +26836,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -18826,11 +26852,21 @@ }, "color": { "$ref": "#/components/schemas/ColorField", - "default": { "r": 127, "g": 127, "b": 127, "a": 255 }, + "default": { + "r": 127, + "g": 127, + "b": 127, + "a": 255 + }, "description": "The color to use to infill", "field_kind": "input", "input": "any", - "orig_default": { "a": 255, "b": 127, "g": 127, "r": 127 }, + "orig_default": { + "a": 255, + "b": 127, + "g": 127, + "r": 127 + }, "orig_required": false }, "type": { @@ -18846,7 +26882,9 @@ "title": "Solid Color Infill", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "InfillPatchMatchInvocation": { "category": "inpaint", @@ -18856,7 +26894,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -18865,7 +26910,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -18898,7 +26950,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -18940,7 +26999,9 @@ "title": "PatchMatch Infill", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "InfillTileInvocation": { "category": "inpaint", @@ -18950,7 +27011,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -18959,7 +27027,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -18992,7 +27067,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -19035,7 +27117,9 @@ "title": "Tile Infill", "type": "object", "version": "1.2.3", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "Input": { "description": "The type of input a field accepts.\n- `Input.Direct`: The field must have its value provided directly, when the invocation and field are instantiated.\n- `Input.Connection`: The field must have its value provided by a connection.\n- `Input.Any`: The field may have its value provided either directly or by a connection.", @@ -19046,33 +27130,118 @@ "InputFieldJSONSchemaExtra": { "description": "Extra attributes to be added to input fields and their OpenAPI schema. Used during graph execution,\nand by the workflow editor during schema parsing and UI rendering.", "properties": { - "input": { "$ref": "#/components/schemas/Input" }, - "field_kind": { "$ref": "#/components/schemas/FieldKind" }, - "orig_required": { "default": true, "title": "Orig Required", "type": "boolean" }, - "default": { "anyOf": [{}, { "type": "null" }], "default": null, "title": "Default" }, - "orig_default": { "anyOf": [{}, { "type": "null" }], "default": null, "title": "Orig Default" }, - "ui_hidden": { "default": false, "title": "Ui Hidden", "type": "boolean" }, - "ui_type": { "anyOf": [{ "$ref": "#/components/schemas/UIType" }, { "type": "null" }], "default": null }, + "input": { + "$ref": "#/components/schemas/Input" + }, + "field_kind": { + "$ref": "#/components/schemas/FieldKind" + }, + "orig_required": { + "default": true, + "title": "Orig Required", + "type": "boolean" + }, + "default": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "default": null, + "title": "Default" + }, + "orig_default": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "default": null, + "title": "Orig Default" + }, + "ui_hidden": { + "default": false, + "title": "Ui Hidden", + "type": "boolean" + }, + "ui_type": { + "anyOf": [ + { + "$ref": "#/components/schemas/UIType" + }, + { + "type": "null" + } + ], + "default": null + }, "ui_component": { - "anyOf": [{ "$ref": "#/components/schemas/UIComponent" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UIComponent" + }, + { + "type": "null" + } + ], "default": null }, - "ui_order": { "anyOf": [{ "type": "integer" }, { "type": "null" }], "default": null, "title": "Ui Order" }, + "ui_order": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Ui Order" + }, "ui_choice_labels": { - "anyOf": [{ "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" }], + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], "default": null, "title": "Ui Choice Labels" }, "ui_model_base": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/BaseModelType" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/BaseModelType" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "title": "Ui Model Base" }, "ui_model_type": { - "anyOf": [{ "items": { "$ref": "#/components/schemas/ModelType" }, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ModelType" + }, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "title": "Ui Model Type" }, @@ -19081,19 +27250,35 @@ { "items": { "anyOf": [ - { "$ref": "#/components/schemas/ClipVariantType" }, - { "$ref": "#/components/schemas/ModelVariantType" } + { + "$ref": "#/components/schemas/ClipVariantType" + }, + { + "$ref": "#/components/schemas/ModelVariantType" + } ] }, "type": "array" }, - { "type": "null" } + { + "type": "null" + } ], "default": null, "title": "Ui Model Variant" }, "ui_model_format": { - "anyOf": [{ "items": { "$ref": "#/components/schemas/ModelFormat" }, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ModelFormat" + }, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "title": "Ui Model Format" } @@ -19166,7 +27351,18 @@ "type": "string" }, "integers": { - "anyOf": [{ "items": { "type": "integer" }, "minItems": 1, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "integer" + }, + "minItems": 1, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "description": "The integers to batch over", "field_kind": "input", @@ -19187,7 +27383,9 @@ "title": "Integer Batch", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/IntegerOutput" } + "output": { + "$ref": "#/components/schemas/IntegerOutput" + } }, "IntegerCollectionInvocation": { "category": "primitives", @@ -19225,7 +27423,9 @@ "description": "The collection of integer values", "field_kind": "input", "input": "any", - "items": { "type": "integer" }, + "items": { + "type": "integer" + }, "orig_default": [], "orig_required": false, "title": "Collection", @@ -19244,7 +27444,9 @@ "title": "Integer Collection Primitive", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/IntegerCollectionOutput" } + "output": { + "$ref": "#/components/schemas/IntegerCollectionOutput" + } }, "IntegerCollectionOutput": { "class": "output", @@ -19253,7 +27455,9 @@ "collection": { "description": "The int collection", "field_kind": "output", - "items": { "type": "integer" }, + "items": { + "type": "integer" + }, "title": "Collection", "type": "array", "ui_hidden": false @@ -19322,16 +27526,24 @@ "title": "Integer Generator", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/IntegerGeneratorOutput" } + "output": { + "$ref": "#/components/schemas/IntegerGeneratorOutput" + } + }, + "IntegerGeneratorField": { + "properties": {}, + "title": "IntegerGeneratorField", + "type": "object" }, - "IntegerGeneratorField": { "properties": {}, "title": "IntegerGeneratorField", "type": "object" }, "IntegerGeneratorOutput": { "class": "output", "properties": { "integers": { "description": "The generated integers", "field_kind": "output", - "items": { "type": "integer" }, + "items": { + "type": "integer" + }, "title": "Integers", "type": "array", "ui_hidden": false @@ -19402,7 +27614,9 @@ "title": "Integer Primitive", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/IntegerOutput" } + "output": { + "$ref": "#/components/schemas/IntegerOutput" + } }, "IntegerMathInvocation": { "category": "math", @@ -19502,7 +27716,9 @@ "title": "Integer Math", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/IntegerOutput" } + "output": { + "$ref": "#/components/schemas/IntegerOutput" + } }, "IntegerOutput": { "class": "output", @@ -19559,7 +27775,14 @@ "type": "boolean" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "The tensor mask to convert.", "field_kind": "input", @@ -19579,13 +27802,27 @@ "title": "Invert Tensor Mask", "type": "object", "version": "1.1.0", - "output": { "$ref": "#/components/schemas/MaskOutput" } + "output": { + "$ref": "#/components/schemas/MaskOutput" + } }, "InvocationCacheStatus": { "properties": { - "size": { "type": "integer", "title": "Size", "description": "The current size of the invocation cache" }, - "hits": { "type": "integer", "title": "Hits", "description": "The number of cache hits" }, - "misses": { "type": "integer", "title": "Misses", "description": "The number of cache misses" }, + "size": { + "type": "integer", + "title": "Size", + "description": "The current size of the invocation cache" + }, + "hits": { + "type": "integer", + "title": "Hits", + "description": "The number of cache hits" + }, + "misses": { + "type": "integer", + "title": "Misses", + "description": "The number of cache misses" + }, "enabled": { "type": "boolean", "title": "Enabled", @@ -19604,18 +27841,48 @@ "InvocationCompleteEvent": { "description": "Event model for invocation_complete", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, - "item_id": { "description": "The ID of the queue item", "title": "Item Id", "type": "integer" }, - "batch_id": { "description": "The ID of the queue batch", "title": "Batch Id", "type": "string" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "queue_id": { + "description": "The ID of the queue", + "title": "Queue Id", + "type": "string" + }, + "item_id": { + "description": "The ID of the queue item", + "title": "Item Id", + "type": "integer" + }, + "batch_id": { + "description": "The ID of the queue batch", + "title": "Batch Id", + "type": "string" + }, "origin": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The origin of the queue item", "title": "Origin" }, "destination": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The destination of the queue item", "title": "Destination" @@ -19628,224 +27895,660 @@ "invocation": { "description": "The ID of the invocation", "oneOf": [ - { "$ref": "#/components/schemas/AddInvocation" }, - { "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" }, - { "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" }, - { "$ref": "#/components/schemas/ApplyMaskToImageInvocation" }, - { "$ref": "#/components/schemas/BlankImageInvocation" }, - { "$ref": "#/components/schemas/BlendLatentsInvocation" }, - { "$ref": "#/components/schemas/BooleanCollectionInvocation" }, - { "$ref": "#/components/schemas/BooleanInvocation" }, - { "$ref": "#/components/schemas/BoundingBoxInvocation" }, - { "$ref": "#/components/schemas/CLIPSkipInvocation" }, - { "$ref": "#/components/schemas/CV2InfillInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" }, - { "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/CanvasPasteBackInvocation" }, - { "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" }, - { "$ref": "#/components/schemas/CenterPadCropInvocation" }, - { "$ref": "#/components/schemas/CogView4DenoiseInvocation" }, - { "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" }, - { "$ref": "#/components/schemas/CogView4TextEncoderInvocation" }, - { "$ref": "#/components/schemas/CollectInvocation" }, - { "$ref": "#/components/schemas/ColorCorrectInvocation" }, - { "$ref": "#/components/schemas/ColorInvocation" }, - { "$ref": "#/components/schemas/ColorMapInvocation" }, - { "$ref": "#/components/schemas/CompelInvocation" }, - { "$ref": "#/components/schemas/ConditioningCollectionInvocation" }, - { "$ref": "#/components/schemas/ConditioningInvocation" }, - { "$ref": "#/components/schemas/ContentShuffleInvocation" }, - { "$ref": "#/components/schemas/ControlNetInvocation" }, - { "$ref": "#/components/schemas/CoreMetadataInvocation" }, - { "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" }, - { "$ref": "#/components/schemas/CreateGradientMaskInvocation" }, - { "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/CropLatentsCoreInvocation" }, - { "$ref": "#/components/schemas/CvInpaintInvocation" }, - { "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" }, - { "$ref": "#/components/schemas/DenoiseLatentsInvocation" }, - { "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" }, - { "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" }, - { "$ref": "#/components/schemas/DivideInvocation" }, - { "$ref": "#/components/schemas/DynamicPromptInvocation" }, - { "$ref": "#/components/schemas/ESRGANInvocation" }, - { "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" }, - { "$ref": "#/components/schemas/FLUXLoRACollectionLoader" }, - { "$ref": "#/components/schemas/FaceIdentifierInvocation" }, - { "$ref": "#/components/schemas/FaceMaskInvocation" }, - { "$ref": "#/components/schemas/FaceOffInvocation" }, - { "$ref": "#/components/schemas/FloatBatchInvocation" }, - { "$ref": "#/components/schemas/FloatCollectionInvocation" }, - { "$ref": "#/components/schemas/FloatGenerator" }, - { "$ref": "#/components/schemas/FloatInvocation" }, - { "$ref": "#/components/schemas/FloatLinearRangeInvocation" }, - { "$ref": "#/components/schemas/FloatMathInvocation" }, - { "$ref": "#/components/schemas/FloatToIntegerInvocation" }, - { "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/FluxControlNetInvocation" }, - { "$ref": "#/components/schemas/FluxDenoiseInvocation" }, - { "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" }, - { "$ref": "#/components/schemas/FluxFillInvocation" }, - { "$ref": "#/components/schemas/FluxIPAdapterInvocation" }, - { "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" }, - { "$ref": "#/components/schemas/FluxKontextInvocation" }, - { "$ref": "#/components/schemas/FluxLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/FluxModelLoaderInvocation" }, - { "$ref": "#/components/schemas/FluxReduxInvocation" }, - { "$ref": "#/components/schemas/FluxTextEncoderInvocation" }, - { "$ref": "#/components/schemas/FluxVaeDecodeInvocation" }, - { "$ref": "#/components/schemas/FluxVaeEncodeInvocation" }, - { "$ref": "#/components/schemas/FreeUInvocation" }, - { "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/GroundingDinoInvocation" }, - { "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/HeuristicResizeInvocation" }, - { "$ref": "#/components/schemas/IPAdapterInvocation" }, - { "$ref": "#/components/schemas/IdealSizeInvocation" }, - { "$ref": "#/components/schemas/ImageBatchInvocation" }, - { "$ref": "#/components/schemas/ImageBlurInvocation" }, - { "$ref": "#/components/schemas/ImageChannelInvocation" }, - { "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" }, - { "$ref": "#/components/schemas/ImageChannelOffsetInvocation" }, - { "$ref": "#/components/schemas/ImageCollectionInvocation" }, - { "$ref": "#/components/schemas/ImageConvertInvocation" }, - { "$ref": "#/components/schemas/ImageCropInvocation" }, - { "$ref": "#/components/schemas/ImageGenerator" }, - { "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" }, - { "$ref": "#/components/schemas/ImageInverseLerpInvocation" }, - { "$ref": "#/components/schemas/ImageInvocation" }, - { "$ref": "#/components/schemas/ImageLerpInvocation" }, - { "$ref": "#/components/schemas/ImageMaskToTensorInvocation" }, - { "$ref": "#/components/schemas/ImageMultiplyInvocation" }, - { "$ref": "#/components/schemas/ImageNSFWBlurInvocation" }, - { "$ref": "#/components/schemas/ImageNoiseInvocation" }, - { "$ref": "#/components/schemas/ImagePanelLayoutInvocation" }, - { "$ref": "#/components/schemas/ImagePasteInvocation" }, - { "$ref": "#/components/schemas/ImageResizeInvocation" }, - { "$ref": "#/components/schemas/ImageScaleInvocation" }, - { "$ref": "#/components/schemas/ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/ImageWatermarkInvocation" }, - { "$ref": "#/components/schemas/InfillColorInvocation" }, - { "$ref": "#/components/schemas/InfillPatchMatchInvocation" }, - { "$ref": "#/components/schemas/InfillTileInvocation" }, - { "$ref": "#/components/schemas/IntegerBatchInvocation" }, - { "$ref": "#/components/schemas/IntegerCollectionInvocation" }, - { "$ref": "#/components/schemas/IntegerGenerator" }, - { "$ref": "#/components/schemas/IntegerInvocation" }, - { "$ref": "#/components/schemas/IntegerMathInvocation" }, - { "$ref": "#/components/schemas/InvertTensorMaskInvocation" }, - { "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" }, - { "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" }, - { "$ref": "#/components/schemas/InvokeImageBlendInvocation" }, - { "$ref": "#/components/schemas/InvokeImageCompositorInvocation" }, - { "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" }, - { "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" }, - { "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" }, - { "$ref": "#/components/schemas/IterateInvocation" }, - { "$ref": "#/components/schemas/LaMaInfillInvocation" }, - { "$ref": "#/components/schemas/LatentsCollectionInvocation" }, - { "$ref": "#/components/schemas/LatentsInvocation" }, - { "$ref": "#/components/schemas/LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" }, - { "$ref": "#/components/schemas/LoRACollectionLoader" }, - { "$ref": "#/components/schemas/LoRALoaderInvocation" }, - { "$ref": "#/components/schemas/LoRASelectorInvocation" }, - { "$ref": "#/components/schemas/MLSDDetectionInvocation" }, - { "$ref": "#/components/schemas/MainModelLoaderInvocation" }, - { "$ref": "#/components/schemas/MaskCombineInvocation" }, - { "$ref": "#/components/schemas/MaskEdgeInvocation" }, - { "$ref": "#/components/schemas/MaskFromAlphaInvocation" }, - { "$ref": "#/components/schemas/MaskFromIDInvocation" }, - { "$ref": "#/components/schemas/MaskTensorToImageInvocation" }, - { "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" }, - { "$ref": "#/components/schemas/MergeMetadataInvocation" }, - { "$ref": "#/components/schemas/MergeTilesToImageInvocation" }, - { "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" }, - { "$ref": "#/components/schemas/MetadataFromImageInvocation" }, - { "$ref": "#/components/schemas/MetadataInvocation" }, - { "$ref": "#/components/schemas/MetadataItemInvocation" }, - { "$ref": "#/components/schemas/MetadataItemLinkedInvocation" }, - { "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToBoolInvocation" }, - { "$ref": "#/components/schemas/MetadataToControlnetsInvocation" }, - { "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToFloatInvocation" }, - { "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" }, - { "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToIntegerInvocation" }, - { "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToLorasInvocation" }, - { "$ref": "#/components/schemas/MetadataToModelInvocation" }, - { "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" }, - { "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" }, - { "$ref": "#/components/schemas/MetadataToSchedulerInvocation" }, - { "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToStringInvocation" }, - { "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" }, - { "$ref": "#/components/schemas/MetadataToVAEInvocation" }, - { "$ref": "#/components/schemas/ModelIdentifierInvocation" }, - { "$ref": "#/components/schemas/MultiplyInvocation" }, - { "$ref": "#/components/schemas/NoiseInvocation" }, - { "$ref": "#/components/schemas/NormalMapInvocation" }, - { "$ref": "#/components/schemas/PairTileImageInvocation" }, - { "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/PromptsFromFileInvocation" }, - { "$ref": "#/components/schemas/RandomFloatInvocation" }, - { "$ref": "#/components/schemas/RandomIntInvocation" }, - { "$ref": "#/components/schemas/RandomRangeInvocation" }, - { "$ref": "#/components/schemas/RangeInvocation" }, - { "$ref": "#/components/schemas/RangeOfSizeInvocation" }, - { "$ref": "#/components/schemas/RectangleMaskInvocation" }, - { "$ref": "#/components/schemas/ResizeLatentsInvocation" }, - { "$ref": "#/components/schemas/RoundInvocation" }, - { "$ref": "#/components/schemas/SD3DenoiseInvocation" }, - { "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/SD3LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/SDXLCompelPromptInvocation" }, - { "$ref": "#/components/schemas/SDXLLoRACollectionLoader" }, - { "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/SDXLModelLoaderInvocation" }, - { "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" }, - { "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" }, - { "$ref": "#/components/schemas/SaveImageInvocation" }, - { "$ref": "#/components/schemas/ScaleLatentsInvocation" }, - { "$ref": "#/components/schemas/SchedulerInvocation" }, - { "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" }, - { "$ref": "#/components/schemas/Sd3TextEncoderInvocation" }, - { "$ref": "#/components/schemas/SeamlessModeInvocation" }, - { "$ref": "#/components/schemas/SegmentAnythingInvocation" }, - { "$ref": "#/components/schemas/ShowImageInvocation" }, - { "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" }, - { "$ref": "#/components/schemas/SpandrelImageToImageInvocation" }, - { "$ref": "#/components/schemas/StringBatchInvocation" }, - { "$ref": "#/components/schemas/StringCollectionInvocation" }, - { "$ref": "#/components/schemas/StringGenerator" }, - { "$ref": "#/components/schemas/StringInvocation" }, - { "$ref": "#/components/schemas/StringJoinInvocation" }, - { "$ref": "#/components/schemas/StringJoinThreeInvocation" }, - { "$ref": "#/components/schemas/StringReplaceInvocation" }, - { "$ref": "#/components/schemas/StringSplitInvocation" }, - { "$ref": "#/components/schemas/StringSplitNegInvocation" }, - { "$ref": "#/components/schemas/SubtractInvocation" }, - { "$ref": "#/components/schemas/T2IAdapterInvocation" }, - { "$ref": "#/components/schemas/TileToPropertiesInvocation" }, - { "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" }, - { "$ref": "#/components/schemas/UnsharpMaskInvocation" }, - { "$ref": "#/components/schemas/VAELoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageDenoiseInvocation" }, - { "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" }, - { "$ref": "#/components/schemas/ZImageLoRACollectionLoader" }, - { "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageModelLoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageTextEncoderInvocation" } + { + "$ref": "#/components/schemas/AddInvocation" + }, + { + "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" + }, + { + "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" + }, + { + "$ref": "#/components/schemas/ApplyMaskToImageInvocation" + }, + { + "$ref": "#/components/schemas/BlankImageInvocation" + }, + { + "$ref": "#/components/schemas/BlendLatentsInvocation" + }, + { + "$ref": "#/components/schemas/BooleanCollectionInvocation" + }, + { + "$ref": "#/components/schemas/BooleanInvocation" + }, + { + "$ref": "#/components/schemas/BoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/CLIPSkipInvocation" + }, + { + "$ref": "#/components/schemas/CV2InfillInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" + }, + { + "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/CanvasPasteBackInvocation" + }, + { + "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" + }, + { + "$ref": "#/components/schemas/CenterPadCropInvocation" + }, + { + "$ref": "#/components/schemas/CogView4DenoiseInvocation" + }, + { + "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/CogView4TextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/CollectInvocation" + }, + { + "$ref": "#/components/schemas/ColorCorrectInvocation" + }, + { + "$ref": "#/components/schemas/ColorInvocation" + }, + { + "$ref": "#/components/schemas/ColorMapInvocation" + }, + { + "$ref": "#/components/schemas/CompelInvocation" + }, + { + "$ref": "#/components/schemas/ConditioningCollectionInvocation" + }, + { + "$ref": "#/components/schemas/ConditioningInvocation" + }, + { + "$ref": "#/components/schemas/ContentShuffleInvocation" + }, + { + "$ref": "#/components/schemas/ControlNetInvocation" + }, + { + "$ref": "#/components/schemas/CoreMetadataInvocation" + }, + { + "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" + }, + { + "$ref": "#/components/schemas/CreateGradientMaskInvocation" + }, + { + "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/CropLatentsCoreInvocation" + }, + { + "$ref": "#/components/schemas/CvInpaintInvocation" + }, + { + "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/DenoiseLatentsInvocation" + }, + { + "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" + }, + { + "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" + }, + { + "$ref": "#/components/schemas/DivideInvocation" + }, + { + "$ref": "#/components/schemas/DynamicPromptInvocation" + }, + { + "$ref": "#/components/schemas/ESRGANInvocation" + }, + { + "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" + }, + { + "$ref": "#/components/schemas/FLUXLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/FaceIdentifierInvocation" + }, + { + "$ref": "#/components/schemas/FaceMaskInvocation" + }, + { + "$ref": "#/components/schemas/FaceOffInvocation" + }, + { + "$ref": "#/components/schemas/FloatBatchInvocation" + }, + { + "$ref": "#/components/schemas/FloatCollectionInvocation" + }, + { + "$ref": "#/components/schemas/FloatGenerator" + }, + { + "$ref": "#/components/schemas/FloatInvocation" + }, + { + "$ref": "#/components/schemas/FloatLinearRangeInvocation" + }, + { + "$ref": "#/components/schemas/FloatMathInvocation" + }, + { + "$ref": "#/components/schemas/FloatToIntegerInvocation" + }, + { + "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxControlNetInvocation" + }, + { + "$ref": "#/components/schemas/FluxDenoiseInvocation" + }, + { + "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" + }, + { + "$ref": "#/components/schemas/FluxFillInvocation" + }, + { + "$ref": "#/components/schemas/FluxIPAdapterInvocation" + }, + { + "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" + }, + { + "$ref": "#/components/schemas/FluxKontextInvocation" + }, + { + "$ref": "#/components/schemas/FluxLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxReduxInvocation" + }, + { + "$ref": "#/components/schemas/FluxTextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/FluxVaeDecodeInvocation" + }, + { + "$ref": "#/components/schemas/FluxVaeEncodeInvocation" + }, + { + "$ref": "#/components/schemas/FreeUInvocation" + }, + { + "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/GroundingDinoInvocation" + }, + { + "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/HeuristicResizeInvocation" + }, + { + "$ref": "#/components/schemas/IPAdapterInvocation" + }, + { + "$ref": "#/components/schemas/IdealSizeInvocation" + }, + { + "$ref": "#/components/schemas/ImageBatchInvocation" + }, + { + "$ref": "#/components/schemas/ImageBlurInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelOffsetInvocation" + }, + { + "$ref": "#/components/schemas/ImageCollectionInvocation" + }, + { + "$ref": "#/components/schemas/ImageConvertInvocation" + }, + { + "$ref": "#/components/schemas/ImageCropInvocation" + }, + { + "$ref": "#/components/schemas/ImageGenerator" + }, + { + "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" + }, + { + "$ref": "#/components/schemas/ImageInverseLerpInvocation" + }, + { + "$ref": "#/components/schemas/ImageInvocation" + }, + { + "$ref": "#/components/schemas/ImageLerpInvocation" + }, + { + "$ref": "#/components/schemas/ImageMaskToTensorInvocation" + }, + { + "$ref": "#/components/schemas/ImageMultiplyInvocation" + }, + { + "$ref": "#/components/schemas/ImageNSFWBlurInvocation" + }, + { + "$ref": "#/components/schemas/ImageNoiseInvocation" + }, + { + "$ref": "#/components/schemas/ImagePanelLayoutInvocation" + }, + { + "$ref": "#/components/schemas/ImagePasteInvocation" + }, + { + "$ref": "#/components/schemas/ImageResizeInvocation" + }, + { + "$ref": "#/components/schemas/ImageScaleInvocation" + }, + { + "$ref": "#/components/schemas/ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/ImageWatermarkInvocation" + }, + { + "$ref": "#/components/schemas/InfillColorInvocation" + }, + { + "$ref": "#/components/schemas/InfillPatchMatchInvocation" + }, + { + "$ref": "#/components/schemas/InfillTileInvocation" + }, + { + "$ref": "#/components/schemas/IntegerBatchInvocation" + }, + { + "$ref": "#/components/schemas/IntegerCollectionInvocation" + }, + { + "$ref": "#/components/schemas/IntegerGenerator" + }, + { + "$ref": "#/components/schemas/IntegerInvocation" + }, + { + "$ref": "#/components/schemas/IntegerMathInvocation" + }, + { + "$ref": "#/components/schemas/InvertTensorMaskInvocation" + }, + { + "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" + }, + { + "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageBlendInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageCompositorInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" + }, + { + "$ref": "#/components/schemas/IterateInvocation" + }, + { + "$ref": "#/components/schemas/LaMaInfillInvocation" + }, + { + "$ref": "#/components/schemas/LatentsCollectionInvocation" + }, + { + "$ref": "#/components/schemas/LatentsInvocation" + }, + { + "$ref": "#/components/schemas/LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" + }, + { + "$ref": "#/components/schemas/LoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/LoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/LoRASelectorInvocation" + }, + { + "$ref": "#/components/schemas/MLSDDetectionInvocation" + }, + { + "$ref": "#/components/schemas/MainModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/MaskCombineInvocation" + }, + { + "$ref": "#/components/schemas/MaskEdgeInvocation" + }, + { + "$ref": "#/components/schemas/MaskFromAlphaInvocation" + }, + { + "$ref": "#/components/schemas/MaskFromIDInvocation" + }, + { + "$ref": "#/components/schemas/MaskTensorToImageInvocation" + }, + { + "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" + }, + { + "$ref": "#/components/schemas/MergeMetadataInvocation" + }, + { + "$ref": "#/components/schemas/MergeTilesToImageInvocation" + }, + { + "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" + }, + { + "$ref": "#/components/schemas/MetadataFromImageInvocation" + }, + { + "$ref": "#/components/schemas/MetadataInvocation" + }, + { + "$ref": "#/components/schemas/MetadataItemInvocation" + }, + { + "$ref": "#/components/schemas/MetadataItemLinkedInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToBoolInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToControlnetsInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToFloatInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIntegerInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToLorasInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToModelInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSchedulerInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToStringInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToVAEInvocation" + }, + { + "$ref": "#/components/schemas/ModelIdentifierInvocation" + }, + { + "$ref": "#/components/schemas/MultiplyInvocation" + }, + { + "$ref": "#/components/schemas/NoiseInvocation" + }, + { + "$ref": "#/components/schemas/NormalMapInvocation" + }, + { + "$ref": "#/components/schemas/PairTileImageInvocation" + }, + { + "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/PromptsFromFileInvocation" + }, + { + "$ref": "#/components/schemas/RandomFloatInvocation" + }, + { + "$ref": "#/components/schemas/RandomIntInvocation" + }, + { + "$ref": "#/components/schemas/RandomRangeInvocation" + }, + { + "$ref": "#/components/schemas/RangeInvocation" + }, + { + "$ref": "#/components/schemas/RangeOfSizeInvocation" + }, + { + "$ref": "#/components/schemas/RectangleMaskInvocation" + }, + { + "$ref": "#/components/schemas/ResizeLatentsInvocation" + }, + { + "$ref": "#/components/schemas/RoundInvocation" + }, + { + "$ref": "#/components/schemas/SD3DenoiseInvocation" + }, + { + "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/SD3LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/SDXLCompelPromptInvocation" + }, + { + "$ref": "#/components/schemas/SDXLLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/SDXLModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" + }, + { + "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/SaveImageInvocation" + }, + { + "$ref": "#/components/schemas/ScaleLatentsInvocation" + }, + { + "$ref": "#/components/schemas/SchedulerInvocation" + }, + { + "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/Sd3TextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/SeamlessModeInvocation" + }, + { + "$ref": "#/components/schemas/SegmentAnythingInvocation" + }, + { + "$ref": "#/components/schemas/ShowImageInvocation" + }, + { + "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" + }, + { + "$ref": "#/components/schemas/SpandrelImageToImageInvocation" + }, + { + "$ref": "#/components/schemas/StringBatchInvocation" + }, + { + "$ref": "#/components/schemas/StringCollectionInvocation" + }, + { + "$ref": "#/components/schemas/StringGenerator" + }, + { + "$ref": "#/components/schemas/StringInvocation" + }, + { + "$ref": "#/components/schemas/StringJoinInvocation" + }, + { + "$ref": "#/components/schemas/StringJoinThreeInvocation" + }, + { + "$ref": "#/components/schemas/StringReplaceInvocation" + }, + { + "$ref": "#/components/schemas/StringSplitInvocation" + }, + { + "$ref": "#/components/schemas/StringSplitNegInvocation" + }, + { + "$ref": "#/components/schemas/SubtractInvocation" + }, + { + "$ref": "#/components/schemas/T2IAdapterInvocation" + }, + { + "$ref": "#/components/schemas/TileToPropertiesInvocation" + }, + { + "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" + }, + { + "$ref": "#/components/schemas/UnsharpMaskInvocation" + }, + { + "$ref": "#/components/schemas/VAELoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageDenoiseInvocation" + }, + { + "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/ZImageLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageTextEncoderInvocation" + } ], "title": "Invocation" }, @@ -19857,94 +28560,250 @@ "result": { "description": "The result of the invocation", "oneOf": [ - { "$ref": "#/components/schemas/BooleanCollectionOutput" }, - { "$ref": "#/components/schemas/BooleanOutput" }, - { "$ref": "#/components/schemas/BoundingBoxCollectionOutput" }, - { "$ref": "#/components/schemas/BoundingBoxOutput" }, - { "$ref": "#/components/schemas/CLIPOutput" }, - { "$ref": "#/components/schemas/CLIPSkipInvocationOutput" }, - { "$ref": "#/components/schemas/CalculateImageTilesOutput" }, - { "$ref": "#/components/schemas/CogView4ConditioningOutput" }, - { "$ref": "#/components/schemas/CogView4ModelLoaderOutput" }, - { "$ref": "#/components/schemas/CollectInvocationOutput" }, - { "$ref": "#/components/schemas/ColorCollectionOutput" }, - { "$ref": "#/components/schemas/ColorOutput" }, - { "$ref": "#/components/schemas/ConditioningCollectionOutput" }, - { "$ref": "#/components/schemas/ConditioningOutput" }, - { "$ref": "#/components/schemas/ControlOutput" }, - { "$ref": "#/components/schemas/DenoiseMaskOutput" }, - { "$ref": "#/components/schemas/FaceMaskOutput" }, - { "$ref": "#/components/schemas/FaceOffOutput" }, - { "$ref": "#/components/schemas/FloatCollectionOutput" }, - { "$ref": "#/components/schemas/FloatGeneratorOutput" }, - { "$ref": "#/components/schemas/FloatOutput" }, - { "$ref": "#/components/schemas/FluxConditioningCollectionOutput" }, - { "$ref": "#/components/schemas/FluxConditioningOutput" }, - { "$ref": "#/components/schemas/FluxControlLoRALoaderOutput" }, - { "$ref": "#/components/schemas/FluxControlNetOutput" }, - { "$ref": "#/components/schemas/FluxFillOutput" }, - { "$ref": "#/components/schemas/FluxKontextOutput" }, - { "$ref": "#/components/schemas/FluxLoRALoaderOutput" }, - { "$ref": "#/components/schemas/FluxModelLoaderOutput" }, - { "$ref": "#/components/schemas/FluxReduxOutput" }, - { "$ref": "#/components/schemas/GradientMaskOutput" }, - { "$ref": "#/components/schemas/IPAdapterOutput" }, - { "$ref": "#/components/schemas/IdealSizeOutput" }, - { "$ref": "#/components/schemas/ImageCollectionOutput" }, - { "$ref": "#/components/schemas/ImageGeneratorOutput" }, - { "$ref": "#/components/schemas/ImageOutput" }, - { "$ref": "#/components/schemas/ImagePanelCoordinateOutput" }, - { "$ref": "#/components/schemas/IntegerCollectionOutput" }, - { "$ref": "#/components/schemas/IntegerGeneratorOutput" }, - { "$ref": "#/components/schemas/IntegerOutput" }, - { "$ref": "#/components/schemas/IterateInvocationOutput" }, - { "$ref": "#/components/schemas/LatentsCollectionOutput" }, - { "$ref": "#/components/schemas/LatentsMetaOutput" }, - { "$ref": "#/components/schemas/LatentsOutput" }, - { "$ref": "#/components/schemas/LoRALoaderOutput" }, - { "$ref": "#/components/schemas/LoRASelectorOutput" }, - { "$ref": "#/components/schemas/MDControlListOutput" }, - { "$ref": "#/components/schemas/MDIPAdapterListOutput" }, - { "$ref": "#/components/schemas/MDT2IAdapterListOutput" }, - { "$ref": "#/components/schemas/MaskOutput" }, - { "$ref": "#/components/schemas/MetadataItemOutput" }, - { "$ref": "#/components/schemas/MetadataOutput" }, - { "$ref": "#/components/schemas/MetadataToLorasCollectionOutput" }, - { "$ref": "#/components/schemas/MetadataToModelOutput" }, - { "$ref": "#/components/schemas/MetadataToSDXLModelOutput" }, - { "$ref": "#/components/schemas/ModelIdentifierOutput" }, - { "$ref": "#/components/schemas/ModelLoaderOutput" }, - { "$ref": "#/components/schemas/NoiseOutput" }, - { "$ref": "#/components/schemas/PairTileImageOutput" }, - { "$ref": "#/components/schemas/SD3ConditioningOutput" }, - { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" }, - { "$ref": "#/components/schemas/SDXLModelLoaderOutput" }, - { "$ref": "#/components/schemas/SDXLRefinerModelLoaderOutput" }, - { "$ref": "#/components/schemas/SchedulerOutput" }, - { "$ref": "#/components/schemas/Sd3ModelLoaderOutput" }, - { "$ref": "#/components/schemas/SeamlessModeOutput" }, - { "$ref": "#/components/schemas/String2Output" }, - { "$ref": "#/components/schemas/StringCollectionOutput" }, - { "$ref": "#/components/schemas/StringGeneratorOutput" }, - { "$ref": "#/components/schemas/StringOutput" }, - { "$ref": "#/components/schemas/StringPosNegOutput" }, - { "$ref": "#/components/schemas/T2IAdapterOutput" }, - { "$ref": "#/components/schemas/TileToPropertiesOutput" }, - { "$ref": "#/components/schemas/UNetOutput" }, - { "$ref": "#/components/schemas/VAEOutput" }, - { "$ref": "#/components/schemas/ZImageConditioningOutput" }, - { "$ref": "#/components/schemas/ZImageLoRALoaderOutput" }, - { "$ref": "#/components/schemas/ZImageModelLoaderOutput" } - ], - "title": "Result" - } - }, - "required": [ - "timestamp", - "queue_id", - "item_id", - "batch_id", - "origin", + { + "$ref": "#/components/schemas/BooleanCollectionOutput" + }, + { + "$ref": "#/components/schemas/BooleanOutput" + }, + { + "$ref": "#/components/schemas/BoundingBoxCollectionOutput" + }, + { + "$ref": "#/components/schemas/BoundingBoxOutput" + }, + { + "$ref": "#/components/schemas/CLIPOutput" + }, + { + "$ref": "#/components/schemas/CLIPSkipInvocationOutput" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesOutput" + }, + { + "$ref": "#/components/schemas/CogView4ConditioningOutput" + }, + { + "$ref": "#/components/schemas/CogView4ModelLoaderOutput" + }, + { + "$ref": "#/components/schemas/CollectInvocationOutput" + }, + { + "$ref": "#/components/schemas/ColorCollectionOutput" + }, + { + "$ref": "#/components/schemas/ColorOutput" + }, + { + "$ref": "#/components/schemas/ConditioningCollectionOutput" + }, + { + "$ref": "#/components/schemas/ConditioningOutput" + }, + { + "$ref": "#/components/schemas/ControlOutput" + }, + { + "$ref": "#/components/schemas/DenoiseMaskOutput" + }, + { + "$ref": "#/components/schemas/FaceMaskOutput" + }, + { + "$ref": "#/components/schemas/FaceOffOutput" + }, + { + "$ref": "#/components/schemas/FloatCollectionOutput" + }, + { + "$ref": "#/components/schemas/FloatGeneratorOutput" + }, + { + "$ref": "#/components/schemas/FloatOutput" + }, + { + "$ref": "#/components/schemas/FluxConditioningCollectionOutput" + }, + { + "$ref": "#/components/schemas/FluxConditioningOutput" + }, + { + "$ref": "#/components/schemas/FluxControlLoRALoaderOutput" + }, + { + "$ref": "#/components/schemas/FluxControlNetOutput" + }, + { + "$ref": "#/components/schemas/FluxFillOutput" + }, + { + "$ref": "#/components/schemas/FluxKontextOutput" + }, + { + "$ref": "#/components/schemas/FluxLoRALoaderOutput" + }, + { + "$ref": "#/components/schemas/FluxModelLoaderOutput" + }, + { + "$ref": "#/components/schemas/FluxReduxOutput" + }, + { + "$ref": "#/components/schemas/GradientMaskOutput" + }, + { + "$ref": "#/components/schemas/IPAdapterOutput" + }, + { + "$ref": "#/components/schemas/IdealSizeOutput" + }, + { + "$ref": "#/components/schemas/ImageCollectionOutput" + }, + { + "$ref": "#/components/schemas/ImageGeneratorOutput" + }, + { + "$ref": "#/components/schemas/ImageOutput" + }, + { + "$ref": "#/components/schemas/ImagePanelCoordinateOutput" + }, + { + "$ref": "#/components/schemas/IntegerCollectionOutput" + }, + { + "$ref": "#/components/schemas/IntegerGeneratorOutput" + }, + { + "$ref": "#/components/schemas/IntegerOutput" + }, + { + "$ref": "#/components/schemas/IterateInvocationOutput" + }, + { + "$ref": "#/components/schemas/LatentsCollectionOutput" + }, + { + "$ref": "#/components/schemas/LatentsMetaOutput" + }, + { + "$ref": "#/components/schemas/LatentsOutput" + }, + { + "$ref": "#/components/schemas/LoRALoaderOutput" + }, + { + "$ref": "#/components/schemas/LoRASelectorOutput" + }, + { + "$ref": "#/components/schemas/MDControlListOutput" + }, + { + "$ref": "#/components/schemas/MDIPAdapterListOutput" + }, + { + "$ref": "#/components/schemas/MDT2IAdapterListOutput" + }, + { + "$ref": "#/components/schemas/MaskOutput" + }, + { + "$ref": "#/components/schemas/MetadataItemOutput" + }, + { + "$ref": "#/components/schemas/MetadataOutput" + }, + { + "$ref": "#/components/schemas/MetadataToLorasCollectionOutput" + }, + { + "$ref": "#/components/schemas/MetadataToModelOutput" + }, + { + "$ref": "#/components/schemas/MetadataToSDXLModelOutput" + }, + { + "$ref": "#/components/schemas/ModelIdentifierOutput" + }, + { + "$ref": "#/components/schemas/ModelLoaderOutput" + }, + { + "$ref": "#/components/schemas/NoiseOutput" + }, + { + "$ref": "#/components/schemas/PairTileImageOutput" + }, + { + "$ref": "#/components/schemas/SD3ConditioningOutput" + }, + { + "$ref": "#/components/schemas/SDXLLoRALoaderOutput" + }, + { + "$ref": "#/components/schemas/SDXLModelLoaderOutput" + }, + { + "$ref": "#/components/schemas/SDXLRefinerModelLoaderOutput" + }, + { + "$ref": "#/components/schemas/SchedulerOutput" + }, + { + "$ref": "#/components/schemas/Sd3ModelLoaderOutput" + }, + { + "$ref": "#/components/schemas/SeamlessModeOutput" + }, + { + "$ref": "#/components/schemas/String2Output" + }, + { + "$ref": "#/components/schemas/StringCollectionOutput" + }, + { + "$ref": "#/components/schemas/StringGeneratorOutput" + }, + { + "$ref": "#/components/schemas/StringOutput" + }, + { + "$ref": "#/components/schemas/StringPosNegOutput" + }, + { + "$ref": "#/components/schemas/T2IAdapterOutput" + }, + { + "$ref": "#/components/schemas/TileToPropertiesOutput" + }, + { + "$ref": "#/components/schemas/UNetOutput" + }, + { + "$ref": "#/components/schemas/VAEOutput" + }, + { + "$ref": "#/components/schemas/ZImageConditioningOutput" + }, + { + "$ref": "#/components/schemas/ZImageLoRALoaderOutput" + }, + { + "$ref": "#/components/schemas/ZImageModelLoaderOutput" + } + ], + "title": "Result" + } + }, + "required": [ + "timestamp", + "queue_id", + "item_id", + "batch_id", + "origin", "destination", "session_id", "invocation", @@ -19957,18 +28816,48 @@ "InvocationErrorEvent": { "description": "Event model for invocation_error", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, - "item_id": { "description": "The ID of the queue item", "title": "Item Id", "type": "integer" }, - "batch_id": { "description": "The ID of the queue batch", "title": "Batch Id", "type": "string" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "queue_id": { + "description": "The ID of the queue", + "title": "Queue Id", + "type": "string" + }, + "item_id": { + "description": "The ID of the queue item", + "title": "Item Id", + "type": "integer" + }, + "batch_id": { + "description": "The ID of the queue batch", + "title": "Batch Id", + "type": "string" + }, "origin": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The origin of the queue item", "title": "Origin" }, "destination": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The destination of the queue item", "title": "Destination" @@ -19981,224 +28870,2291 @@ "invocation": { "description": "The ID of the invocation", "oneOf": [ - { "$ref": "#/components/schemas/AddInvocation" }, - { "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" }, - { "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" }, - { "$ref": "#/components/schemas/ApplyMaskToImageInvocation" }, - { "$ref": "#/components/schemas/BlankImageInvocation" }, - { "$ref": "#/components/schemas/BlendLatentsInvocation" }, - { "$ref": "#/components/schemas/BooleanCollectionInvocation" }, - { "$ref": "#/components/schemas/BooleanInvocation" }, - { "$ref": "#/components/schemas/BoundingBoxInvocation" }, - { "$ref": "#/components/schemas/CLIPSkipInvocation" }, - { "$ref": "#/components/schemas/CV2InfillInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" }, - { "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/CanvasPasteBackInvocation" }, - { "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" }, - { "$ref": "#/components/schemas/CenterPadCropInvocation" }, - { "$ref": "#/components/schemas/CogView4DenoiseInvocation" }, - { "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" }, - { "$ref": "#/components/schemas/CogView4TextEncoderInvocation" }, - { "$ref": "#/components/schemas/CollectInvocation" }, - { "$ref": "#/components/schemas/ColorCorrectInvocation" }, - { "$ref": "#/components/schemas/ColorInvocation" }, - { "$ref": "#/components/schemas/ColorMapInvocation" }, - { "$ref": "#/components/schemas/CompelInvocation" }, - { "$ref": "#/components/schemas/ConditioningCollectionInvocation" }, - { "$ref": "#/components/schemas/ConditioningInvocation" }, - { "$ref": "#/components/schemas/ContentShuffleInvocation" }, - { "$ref": "#/components/schemas/ControlNetInvocation" }, - { "$ref": "#/components/schemas/CoreMetadataInvocation" }, - { "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" }, - { "$ref": "#/components/schemas/CreateGradientMaskInvocation" }, - { "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/CropLatentsCoreInvocation" }, - { "$ref": "#/components/schemas/CvInpaintInvocation" }, - { "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" }, - { "$ref": "#/components/schemas/DenoiseLatentsInvocation" }, - { "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" }, - { "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" }, - { "$ref": "#/components/schemas/DivideInvocation" }, - { "$ref": "#/components/schemas/DynamicPromptInvocation" }, - { "$ref": "#/components/schemas/ESRGANInvocation" }, - { "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" }, - { "$ref": "#/components/schemas/FLUXLoRACollectionLoader" }, - { "$ref": "#/components/schemas/FaceIdentifierInvocation" }, - { "$ref": "#/components/schemas/FaceMaskInvocation" }, - { "$ref": "#/components/schemas/FaceOffInvocation" }, - { "$ref": "#/components/schemas/FloatBatchInvocation" }, - { "$ref": "#/components/schemas/FloatCollectionInvocation" }, - { "$ref": "#/components/schemas/FloatGenerator" }, - { "$ref": "#/components/schemas/FloatInvocation" }, - { "$ref": "#/components/schemas/FloatLinearRangeInvocation" }, - { "$ref": "#/components/schemas/FloatMathInvocation" }, - { "$ref": "#/components/schemas/FloatToIntegerInvocation" }, - { "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/FluxControlNetInvocation" }, - { "$ref": "#/components/schemas/FluxDenoiseInvocation" }, - { "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" }, - { "$ref": "#/components/schemas/FluxFillInvocation" }, - { "$ref": "#/components/schemas/FluxIPAdapterInvocation" }, - { "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" }, - { "$ref": "#/components/schemas/FluxKontextInvocation" }, - { "$ref": "#/components/schemas/FluxLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/FluxModelLoaderInvocation" }, - { "$ref": "#/components/schemas/FluxReduxInvocation" }, - { "$ref": "#/components/schemas/FluxTextEncoderInvocation" }, - { "$ref": "#/components/schemas/FluxVaeDecodeInvocation" }, - { "$ref": "#/components/schemas/FluxVaeEncodeInvocation" }, - { "$ref": "#/components/schemas/FreeUInvocation" }, - { "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/GroundingDinoInvocation" }, - { "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/HeuristicResizeInvocation" }, - { "$ref": "#/components/schemas/IPAdapterInvocation" }, - { "$ref": "#/components/schemas/IdealSizeInvocation" }, - { "$ref": "#/components/schemas/ImageBatchInvocation" }, - { "$ref": "#/components/schemas/ImageBlurInvocation" }, - { "$ref": "#/components/schemas/ImageChannelInvocation" }, - { "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" }, - { "$ref": "#/components/schemas/ImageChannelOffsetInvocation" }, - { "$ref": "#/components/schemas/ImageCollectionInvocation" }, - { "$ref": "#/components/schemas/ImageConvertInvocation" }, - { "$ref": "#/components/schemas/ImageCropInvocation" }, - { "$ref": "#/components/schemas/ImageGenerator" }, - { "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" }, - { "$ref": "#/components/schemas/ImageInverseLerpInvocation" }, - { "$ref": "#/components/schemas/ImageInvocation" }, - { "$ref": "#/components/schemas/ImageLerpInvocation" }, - { "$ref": "#/components/schemas/ImageMaskToTensorInvocation" }, - { "$ref": "#/components/schemas/ImageMultiplyInvocation" }, - { "$ref": "#/components/schemas/ImageNSFWBlurInvocation" }, - { "$ref": "#/components/schemas/ImageNoiseInvocation" }, - { "$ref": "#/components/schemas/ImagePanelLayoutInvocation" }, - { "$ref": "#/components/schemas/ImagePasteInvocation" }, - { "$ref": "#/components/schemas/ImageResizeInvocation" }, - { "$ref": "#/components/schemas/ImageScaleInvocation" }, - { "$ref": "#/components/schemas/ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/ImageWatermarkInvocation" }, - { "$ref": "#/components/schemas/InfillColorInvocation" }, - { "$ref": "#/components/schemas/InfillPatchMatchInvocation" }, - { "$ref": "#/components/schemas/InfillTileInvocation" }, - { "$ref": "#/components/schemas/IntegerBatchInvocation" }, - { "$ref": "#/components/schemas/IntegerCollectionInvocation" }, - { "$ref": "#/components/schemas/IntegerGenerator" }, - { "$ref": "#/components/schemas/IntegerInvocation" }, - { "$ref": "#/components/schemas/IntegerMathInvocation" }, - { "$ref": "#/components/schemas/InvertTensorMaskInvocation" }, - { "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" }, - { "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" }, - { "$ref": "#/components/schemas/InvokeImageBlendInvocation" }, - { "$ref": "#/components/schemas/InvokeImageCompositorInvocation" }, - { "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" }, - { "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" }, - { "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" }, - { "$ref": "#/components/schemas/IterateInvocation" }, - { "$ref": "#/components/schemas/LaMaInfillInvocation" }, - { "$ref": "#/components/schemas/LatentsCollectionInvocation" }, - { "$ref": "#/components/schemas/LatentsInvocation" }, - { "$ref": "#/components/schemas/LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" }, - { "$ref": "#/components/schemas/LoRACollectionLoader" }, - { "$ref": "#/components/schemas/LoRALoaderInvocation" }, - { "$ref": "#/components/schemas/LoRASelectorInvocation" }, - { "$ref": "#/components/schemas/MLSDDetectionInvocation" }, - { "$ref": "#/components/schemas/MainModelLoaderInvocation" }, - { "$ref": "#/components/schemas/MaskCombineInvocation" }, - { "$ref": "#/components/schemas/MaskEdgeInvocation" }, - { "$ref": "#/components/schemas/MaskFromAlphaInvocation" }, - { "$ref": "#/components/schemas/MaskFromIDInvocation" }, - { "$ref": "#/components/schemas/MaskTensorToImageInvocation" }, - { "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" }, - { "$ref": "#/components/schemas/MergeMetadataInvocation" }, - { "$ref": "#/components/schemas/MergeTilesToImageInvocation" }, - { "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" }, - { "$ref": "#/components/schemas/MetadataFromImageInvocation" }, - { "$ref": "#/components/schemas/MetadataInvocation" }, - { "$ref": "#/components/schemas/MetadataItemInvocation" }, - { "$ref": "#/components/schemas/MetadataItemLinkedInvocation" }, - { "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToBoolInvocation" }, - { "$ref": "#/components/schemas/MetadataToControlnetsInvocation" }, - { "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToFloatInvocation" }, - { "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" }, - { "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToIntegerInvocation" }, - { "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToLorasInvocation" }, - { "$ref": "#/components/schemas/MetadataToModelInvocation" }, - { "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" }, - { "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" }, - { "$ref": "#/components/schemas/MetadataToSchedulerInvocation" }, - { "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToStringInvocation" }, - { "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" }, - { "$ref": "#/components/schemas/MetadataToVAEInvocation" }, - { "$ref": "#/components/schemas/ModelIdentifierInvocation" }, - { "$ref": "#/components/schemas/MultiplyInvocation" }, - { "$ref": "#/components/schemas/NoiseInvocation" }, - { "$ref": "#/components/schemas/NormalMapInvocation" }, - { "$ref": "#/components/schemas/PairTileImageInvocation" }, - { "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/PromptsFromFileInvocation" }, - { "$ref": "#/components/schemas/RandomFloatInvocation" }, - { "$ref": "#/components/schemas/RandomIntInvocation" }, - { "$ref": "#/components/schemas/RandomRangeInvocation" }, - { "$ref": "#/components/schemas/RangeInvocation" }, - { "$ref": "#/components/schemas/RangeOfSizeInvocation" }, - { "$ref": "#/components/schemas/RectangleMaskInvocation" }, - { "$ref": "#/components/schemas/ResizeLatentsInvocation" }, - { "$ref": "#/components/schemas/RoundInvocation" }, - { "$ref": "#/components/schemas/SD3DenoiseInvocation" }, - { "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/SD3LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/SDXLCompelPromptInvocation" }, - { "$ref": "#/components/schemas/SDXLLoRACollectionLoader" }, - { "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/SDXLModelLoaderInvocation" }, - { "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" }, - { "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" }, - { "$ref": "#/components/schemas/SaveImageInvocation" }, - { "$ref": "#/components/schemas/ScaleLatentsInvocation" }, - { "$ref": "#/components/schemas/SchedulerInvocation" }, - { "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" }, - { "$ref": "#/components/schemas/Sd3TextEncoderInvocation" }, - { "$ref": "#/components/schemas/SeamlessModeInvocation" }, - { "$ref": "#/components/schemas/SegmentAnythingInvocation" }, - { "$ref": "#/components/schemas/ShowImageInvocation" }, - { "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" }, - { "$ref": "#/components/schemas/SpandrelImageToImageInvocation" }, - { "$ref": "#/components/schemas/StringBatchInvocation" }, - { "$ref": "#/components/schemas/StringCollectionInvocation" }, - { "$ref": "#/components/schemas/StringGenerator" }, - { "$ref": "#/components/schemas/StringInvocation" }, - { "$ref": "#/components/schemas/StringJoinInvocation" }, - { "$ref": "#/components/schemas/StringJoinThreeInvocation" }, - { "$ref": "#/components/schemas/StringReplaceInvocation" }, - { "$ref": "#/components/schemas/StringSplitInvocation" }, - { "$ref": "#/components/schemas/StringSplitNegInvocation" }, - { "$ref": "#/components/schemas/SubtractInvocation" }, - { "$ref": "#/components/schemas/T2IAdapterInvocation" }, - { "$ref": "#/components/schemas/TileToPropertiesInvocation" }, - { "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" }, - { "$ref": "#/components/schemas/UnsharpMaskInvocation" }, - { "$ref": "#/components/schemas/VAELoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageDenoiseInvocation" }, - { "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" }, - { "$ref": "#/components/schemas/ZImageLoRACollectionLoader" }, - { "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageModelLoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageTextEncoderInvocation" } + { + "$ref": "#/components/schemas/AddInvocation" + }, + { + "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" + }, + { + "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" + }, + { + "$ref": "#/components/schemas/ApplyMaskToImageInvocation" + }, + { + "$ref": "#/components/schemas/BlankImageInvocation" + }, + { + "$ref": "#/components/schemas/BlendLatentsInvocation" + }, + { + "$ref": "#/components/schemas/BooleanCollectionInvocation" + }, + { + "$ref": "#/components/schemas/BooleanInvocation" + }, + { + "$ref": "#/components/schemas/BoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/CLIPSkipInvocation" + }, + { + "$ref": "#/components/schemas/CV2InfillInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" + }, + { + "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/CanvasPasteBackInvocation" + }, + { + "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" + }, + { + "$ref": "#/components/schemas/CenterPadCropInvocation" + }, + { + "$ref": "#/components/schemas/CogView4DenoiseInvocation" + }, + { + "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/CogView4TextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/CollectInvocation" + }, + { + "$ref": "#/components/schemas/ColorCorrectInvocation" + }, + { + "$ref": "#/components/schemas/ColorInvocation" + }, + { + "$ref": "#/components/schemas/ColorMapInvocation" + }, + { + "$ref": "#/components/schemas/CompelInvocation" + }, + { + "$ref": "#/components/schemas/ConditioningCollectionInvocation" + }, + { + "$ref": "#/components/schemas/ConditioningInvocation" + }, + { + "$ref": "#/components/schemas/ContentShuffleInvocation" + }, + { + "$ref": "#/components/schemas/ControlNetInvocation" + }, + { + "$ref": "#/components/schemas/CoreMetadataInvocation" + }, + { + "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" + }, + { + "$ref": "#/components/schemas/CreateGradientMaskInvocation" + }, + { + "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/CropLatentsCoreInvocation" + }, + { + "$ref": "#/components/schemas/CvInpaintInvocation" + }, + { + "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/DenoiseLatentsInvocation" + }, + { + "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" + }, + { + "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" + }, + { + "$ref": "#/components/schemas/DivideInvocation" + }, + { + "$ref": "#/components/schemas/DynamicPromptInvocation" + }, + { + "$ref": "#/components/schemas/ESRGANInvocation" + }, + { + "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" + }, + { + "$ref": "#/components/schemas/FLUXLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/FaceIdentifierInvocation" + }, + { + "$ref": "#/components/schemas/FaceMaskInvocation" + }, + { + "$ref": "#/components/schemas/FaceOffInvocation" + }, + { + "$ref": "#/components/schemas/FloatBatchInvocation" + }, + { + "$ref": "#/components/schemas/FloatCollectionInvocation" + }, + { + "$ref": "#/components/schemas/FloatGenerator" + }, + { + "$ref": "#/components/schemas/FloatInvocation" + }, + { + "$ref": "#/components/schemas/FloatLinearRangeInvocation" + }, + { + "$ref": "#/components/schemas/FloatMathInvocation" + }, + { + "$ref": "#/components/schemas/FloatToIntegerInvocation" + }, + { + "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxControlNetInvocation" + }, + { + "$ref": "#/components/schemas/FluxDenoiseInvocation" + }, + { + "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" + }, + { + "$ref": "#/components/schemas/FluxFillInvocation" + }, + { + "$ref": "#/components/schemas/FluxIPAdapterInvocation" + }, + { + "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" + }, + { + "$ref": "#/components/schemas/FluxKontextInvocation" + }, + { + "$ref": "#/components/schemas/FluxLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxReduxInvocation" + }, + { + "$ref": "#/components/schemas/FluxTextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/FluxVaeDecodeInvocation" + }, + { + "$ref": "#/components/schemas/FluxVaeEncodeInvocation" + }, + { + "$ref": "#/components/schemas/FreeUInvocation" + }, + { + "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/GroundingDinoInvocation" + }, + { + "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/HeuristicResizeInvocation" + }, + { + "$ref": "#/components/schemas/IPAdapterInvocation" + }, + { + "$ref": "#/components/schemas/IdealSizeInvocation" + }, + { + "$ref": "#/components/schemas/ImageBatchInvocation" + }, + { + "$ref": "#/components/schemas/ImageBlurInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelOffsetInvocation" + }, + { + "$ref": "#/components/schemas/ImageCollectionInvocation" + }, + { + "$ref": "#/components/schemas/ImageConvertInvocation" + }, + { + "$ref": "#/components/schemas/ImageCropInvocation" + }, + { + "$ref": "#/components/schemas/ImageGenerator" + }, + { + "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" + }, + { + "$ref": "#/components/schemas/ImageInverseLerpInvocation" + }, + { + "$ref": "#/components/schemas/ImageInvocation" + }, + { + "$ref": "#/components/schemas/ImageLerpInvocation" + }, + { + "$ref": "#/components/schemas/ImageMaskToTensorInvocation" + }, + { + "$ref": "#/components/schemas/ImageMultiplyInvocation" + }, + { + "$ref": "#/components/schemas/ImageNSFWBlurInvocation" + }, + { + "$ref": "#/components/schemas/ImageNoiseInvocation" + }, + { + "$ref": "#/components/schemas/ImagePanelLayoutInvocation" + }, + { + "$ref": "#/components/schemas/ImagePasteInvocation" + }, + { + "$ref": "#/components/schemas/ImageResizeInvocation" + }, + { + "$ref": "#/components/schemas/ImageScaleInvocation" + }, + { + "$ref": "#/components/schemas/ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/ImageWatermarkInvocation" + }, + { + "$ref": "#/components/schemas/InfillColorInvocation" + }, + { + "$ref": "#/components/schemas/InfillPatchMatchInvocation" + }, + { + "$ref": "#/components/schemas/InfillTileInvocation" + }, + { + "$ref": "#/components/schemas/IntegerBatchInvocation" + }, + { + "$ref": "#/components/schemas/IntegerCollectionInvocation" + }, + { + "$ref": "#/components/schemas/IntegerGenerator" + }, + { + "$ref": "#/components/schemas/IntegerInvocation" + }, + { + "$ref": "#/components/schemas/IntegerMathInvocation" + }, + { + "$ref": "#/components/schemas/InvertTensorMaskInvocation" + }, + { + "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" + }, + { + "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageBlendInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageCompositorInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" + }, + { + "$ref": "#/components/schemas/IterateInvocation" + }, + { + "$ref": "#/components/schemas/LaMaInfillInvocation" + }, + { + "$ref": "#/components/schemas/LatentsCollectionInvocation" + }, + { + "$ref": "#/components/schemas/LatentsInvocation" + }, + { + "$ref": "#/components/schemas/LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" + }, + { + "$ref": "#/components/schemas/LoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/LoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/LoRASelectorInvocation" + }, + { + "$ref": "#/components/schemas/MLSDDetectionInvocation" + }, + { + "$ref": "#/components/schemas/MainModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/MaskCombineInvocation" + }, + { + "$ref": "#/components/schemas/MaskEdgeInvocation" + }, + { + "$ref": "#/components/schemas/MaskFromAlphaInvocation" + }, + { + "$ref": "#/components/schemas/MaskFromIDInvocation" + }, + { + "$ref": "#/components/schemas/MaskTensorToImageInvocation" + }, + { + "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" + }, + { + "$ref": "#/components/schemas/MergeMetadataInvocation" + }, + { + "$ref": "#/components/schemas/MergeTilesToImageInvocation" + }, + { + "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" + }, + { + "$ref": "#/components/schemas/MetadataFromImageInvocation" + }, + { + "$ref": "#/components/schemas/MetadataInvocation" + }, + { + "$ref": "#/components/schemas/MetadataItemInvocation" + }, + { + "$ref": "#/components/schemas/MetadataItemLinkedInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToBoolInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToControlnetsInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToFloatInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIntegerInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToLorasInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToModelInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSchedulerInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToStringInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToVAEInvocation" + }, + { + "$ref": "#/components/schemas/ModelIdentifierInvocation" + }, + { + "$ref": "#/components/schemas/MultiplyInvocation" + }, + { + "$ref": "#/components/schemas/NoiseInvocation" + }, + { + "$ref": "#/components/schemas/NormalMapInvocation" + }, + { + "$ref": "#/components/schemas/PairTileImageInvocation" + }, + { + "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/PromptsFromFileInvocation" + }, + { + "$ref": "#/components/schemas/RandomFloatInvocation" + }, + { + "$ref": "#/components/schemas/RandomIntInvocation" + }, + { + "$ref": "#/components/schemas/RandomRangeInvocation" + }, + { + "$ref": "#/components/schemas/RangeInvocation" + }, + { + "$ref": "#/components/schemas/RangeOfSizeInvocation" + }, + { + "$ref": "#/components/schemas/RectangleMaskInvocation" + }, + { + "$ref": "#/components/schemas/ResizeLatentsInvocation" + }, + { + "$ref": "#/components/schemas/RoundInvocation" + }, + { + "$ref": "#/components/schemas/SD3DenoiseInvocation" + }, + { + "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/SD3LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/SDXLCompelPromptInvocation" + }, + { + "$ref": "#/components/schemas/SDXLLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/SDXLModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" + }, + { + "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/SaveImageInvocation" + }, + { + "$ref": "#/components/schemas/ScaleLatentsInvocation" + }, + { + "$ref": "#/components/schemas/SchedulerInvocation" + }, + { + "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/Sd3TextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/SeamlessModeInvocation" + }, + { + "$ref": "#/components/schemas/SegmentAnythingInvocation" + }, + { + "$ref": "#/components/schemas/ShowImageInvocation" + }, + { + "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" + }, + { + "$ref": "#/components/schemas/SpandrelImageToImageInvocation" + }, + { + "$ref": "#/components/schemas/StringBatchInvocation" + }, + { + "$ref": "#/components/schemas/StringCollectionInvocation" + }, + { + "$ref": "#/components/schemas/StringGenerator" + }, + { + "$ref": "#/components/schemas/StringInvocation" + }, + { + "$ref": "#/components/schemas/StringJoinInvocation" + }, + { + "$ref": "#/components/schemas/StringJoinThreeInvocation" + }, + { + "$ref": "#/components/schemas/StringReplaceInvocation" + }, + { + "$ref": "#/components/schemas/StringSplitInvocation" + }, + { + "$ref": "#/components/schemas/StringSplitNegInvocation" + }, + { + "$ref": "#/components/schemas/SubtractInvocation" + }, + { + "$ref": "#/components/schemas/T2IAdapterInvocation" + }, + { + "$ref": "#/components/schemas/TileToPropertiesInvocation" + }, + { + "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" + }, + { + "$ref": "#/components/schemas/UnsharpMaskInvocation" + }, + { + "$ref": "#/components/schemas/VAELoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageDenoiseInvocation" + }, + { + "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/ZImageLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageTextEncoderInvocation" + } + ], + "title": "Invocation" + }, + "invocation_source_id": { + "description": "The ID of the prepared invocation's source node", + "title": "Invocation Source Id", + "type": "string" + }, + "error_type": { + "description": "The error type", + "title": "Error Type", + "type": "string" + }, + "error_message": { + "description": "The error message", + "title": "Error Message", + "type": "string" + }, + "error_traceback": { + "description": "The error traceback", + "title": "Error Traceback", + "type": "string" + } + }, + "required": [ + "timestamp", + "queue_id", + "item_id", + "batch_id", + "origin", + "destination", + "session_id", + "invocation", + "invocation_source_id", + "error_type", + "error_message", + "error_traceback" + ], + "title": "InvocationErrorEvent", + "type": "object" + }, + "InvocationOutputMap": { + "type": "object", + "properties": { + "add": { + "$ref": "#/components/schemas/IntegerOutput" + }, + "alpha_mask_to_tensor": { + "$ref": "#/components/schemas/MaskOutput" + }, + "apply_mask_to_image": { + "$ref": "#/components/schemas/ImageOutput" + }, + "apply_tensor_mask_to_image": { + "$ref": "#/components/schemas/ImageOutput" + }, + "blank_image": { + "$ref": "#/components/schemas/ImageOutput" + }, + "boolean": { + "$ref": "#/components/schemas/BooleanOutput" + }, + "boolean_collection": { + "$ref": "#/components/schemas/BooleanCollectionOutput" + }, + "bounding_box": { + "$ref": "#/components/schemas/BoundingBoxOutput" + }, + "calculate_image_tiles": { + "$ref": "#/components/schemas/CalculateImageTilesOutput" + }, + "calculate_image_tiles_even_split": { + "$ref": "#/components/schemas/CalculateImageTilesOutput" + }, + "calculate_image_tiles_min_overlap": { + "$ref": "#/components/schemas/CalculateImageTilesOutput" + }, + "canny_edge_detection": { + "$ref": "#/components/schemas/ImageOutput" + }, + "canvas_paste_back": { + "$ref": "#/components/schemas/ImageOutput" + }, + "canvas_v2_mask_and_crop": { + "$ref": "#/components/schemas/ImageOutput" + }, + "clip_skip": { + "$ref": "#/components/schemas/CLIPSkipInvocationOutput" + }, + "cogview4_denoise": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "cogview4_i2l": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "cogview4_l2i": { + "$ref": "#/components/schemas/ImageOutput" + }, + "cogview4_model_loader": { + "$ref": "#/components/schemas/CogView4ModelLoaderOutput" + }, + "cogview4_text_encoder": { + "$ref": "#/components/schemas/CogView4ConditioningOutput" + }, + "collect": { + "$ref": "#/components/schemas/CollectInvocationOutput" + }, + "color": { + "$ref": "#/components/schemas/ColorOutput" + }, + "color_correct": { + "$ref": "#/components/schemas/ImageOutput" + }, + "color_map": { + "$ref": "#/components/schemas/ImageOutput" + }, + "compel": { + "$ref": "#/components/schemas/ConditioningOutput" + }, + "conditioning": { + "$ref": "#/components/schemas/ConditioningOutput" + }, + "conditioning_collection": { + "$ref": "#/components/schemas/ConditioningCollectionOutput" + }, + "content_shuffle": { + "$ref": "#/components/schemas/ImageOutput" + }, + "controlnet": { + "$ref": "#/components/schemas/ControlOutput" + }, + "core_metadata": { + "$ref": "#/components/schemas/MetadataOutput" + }, + "create_denoise_mask": { + "$ref": "#/components/schemas/DenoiseMaskOutput" + }, + "create_gradient_mask": { + "$ref": "#/components/schemas/GradientMaskOutput" + }, + "crop_image_to_bounding_box": { + "$ref": "#/components/schemas/ImageOutput" + }, + "crop_latents": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "cv_inpaint": { + "$ref": "#/components/schemas/ImageOutput" + }, + "denoise_latents": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "denoise_latents_meta": { + "$ref": "#/components/schemas/LatentsMetaOutput" + }, + "depth_anything_depth_estimation": { + "$ref": "#/components/schemas/ImageOutput" + }, + "div": { + "$ref": "#/components/schemas/IntegerOutput" + }, + "dw_openpose_detection": { + "$ref": "#/components/schemas/ImageOutput" + }, + "dynamic_prompt": { + "$ref": "#/components/schemas/StringCollectionOutput" + }, + "esrgan": { + "$ref": "#/components/schemas/ImageOutput" + }, + "expand_mask_with_fade": { + "$ref": "#/components/schemas/ImageOutput" + }, + "face_identifier": { + "$ref": "#/components/schemas/ImageOutput" + }, + "face_mask_detection": { + "$ref": "#/components/schemas/FaceMaskOutput" + }, + "face_off": { + "$ref": "#/components/schemas/FaceOffOutput" + }, + "float": { + "$ref": "#/components/schemas/FloatOutput" + }, + "float_batch": { + "$ref": "#/components/schemas/FloatOutput" + }, + "float_collection": { + "$ref": "#/components/schemas/FloatCollectionOutput" + }, + "float_generator": { + "$ref": "#/components/schemas/FloatGeneratorOutput" + }, + "float_math": { + "$ref": "#/components/schemas/FloatOutput" + }, + "float_range": { + "$ref": "#/components/schemas/FloatCollectionOutput" + }, + "float_to_int": { + "$ref": "#/components/schemas/IntegerOutput" + }, + "flux_control_lora_loader": { + "$ref": "#/components/schemas/FluxControlLoRALoaderOutput" + }, + "flux_controlnet": { + "$ref": "#/components/schemas/FluxControlNetOutput" + }, + "flux_denoise": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "flux_denoise_meta": { + "$ref": "#/components/schemas/LatentsMetaOutput" + }, + "flux_fill": { + "$ref": "#/components/schemas/FluxFillOutput" + }, + "flux_ip_adapter": { + "$ref": "#/components/schemas/IPAdapterOutput" + }, + "flux_kontext": { + "$ref": "#/components/schemas/FluxKontextOutput" + }, + "flux_kontext_image_prep": { + "$ref": "#/components/schemas/ImageOutput" + }, + "flux_lora_collection_loader": { + "$ref": "#/components/schemas/FluxLoRALoaderOutput" + }, + "flux_lora_loader": { + "$ref": "#/components/schemas/FluxLoRALoaderOutput" + }, + "flux_model_loader": { + "$ref": "#/components/schemas/FluxModelLoaderOutput" + }, + "flux_redux": { + "$ref": "#/components/schemas/FluxReduxOutput" + }, + "flux_text_encoder": { + "$ref": "#/components/schemas/FluxConditioningOutput" + }, + "flux_vae_decode": { + "$ref": "#/components/schemas/ImageOutput" + }, + "flux_vae_encode": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "freeu": { + "$ref": "#/components/schemas/UNetOutput" + }, + "get_image_mask_bounding_box": { + "$ref": "#/components/schemas/BoundingBoxOutput" + }, + "grounding_dino": { + "$ref": "#/components/schemas/BoundingBoxCollectionOutput" + }, + "hed_edge_detection": { + "$ref": "#/components/schemas/ImageOutput" + }, + "heuristic_resize": { + "$ref": "#/components/schemas/ImageOutput" + }, + "i2l": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "ideal_size": { + "$ref": "#/components/schemas/IdealSizeOutput" + }, + "image": { + "$ref": "#/components/schemas/ImageOutput" + }, + "image_batch": { + "$ref": "#/components/schemas/ImageOutput" + }, + "image_collection": { + "$ref": "#/components/schemas/ImageCollectionOutput" + }, + "image_generator": { + "$ref": "#/components/schemas/ImageGeneratorOutput" + }, + "image_mask_to_tensor": { + "$ref": "#/components/schemas/MaskOutput" + }, + "image_panel_layout": { + "$ref": "#/components/schemas/ImagePanelCoordinateOutput" + }, + "img_blur": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_chan": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_channel_multiply": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_channel_offset": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_conv": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_crop": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_hue_adjust": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_ilerp": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_lerp": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_mul": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_noise": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_nsfw": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_pad_crop": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_paste": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_resize": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_scale": { + "$ref": "#/components/schemas/ImageOutput" + }, + "img_watermark": { + "$ref": "#/components/schemas/ImageOutput" + }, + "infill_cv2": { + "$ref": "#/components/schemas/ImageOutput" + }, + "infill_lama": { + "$ref": "#/components/schemas/ImageOutput" + }, + "infill_patchmatch": { + "$ref": "#/components/schemas/ImageOutput" + }, + "infill_rgba": { + "$ref": "#/components/schemas/ImageOutput" + }, + "infill_tile": { + "$ref": "#/components/schemas/ImageOutput" + }, + "integer": { + "$ref": "#/components/schemas/IntegerOutput" + }, + "integer_batch": { + "$ref": "#/components/schemas/IntegerOutput" + }, + "integer_collection": { + "$ref": "#/components/schemas/IntegerCollectionOutput" + }, + "integer_generator": { + "$ref": "#/components/schemas/IntegerGeneratorOutput" + }, + "integer_math": { + "$ref": "#/components/schemas/IntegerOutput" + }, + "invert_tensor_mask": { + "$ref": "#/components/schemas/MaskOutput" + }, + "invokeai_ealightness": { + "$ref": "#/components/schemas/ImageOutput" + }, + "invokeai_img_blend": { + "$ref": "#/components/schemas/ImageOutput" + }, + "invokeai_img_composite": { + "$ref": "#/components/schemas/ImageOutput" + }, + "invokeai_img_dilate_erode": { + "$ref": "#/components/schemas/ImageOutput" + }, + "invokeai_img_enhance": { + "$ref": "#/components/schemas/ImageOutput" + }, + "invokeai_img_hue_adjust_plus": { + "$ref": "#/components/schemas/ImageOutput" + }, + "invokeai_img_val_thresholds": { + "$ref": "#/components/schemas/ImageOutput" + }, + "ip_adapter": { + "$ref": "#/components/schemas/IPAdapterOutput" + }, + "iterate": { + "$ref": "#/components/schemas/IterateInvocationOutput" + }, + "l2i": { + "$ref": "#/components/schemas/ImageOutput" + }, + "latents": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "latents_collection": { + "$ref": "#/components/schemas/LatentsCollectionOutput" + }, + "lblend": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "lineart_anime_edge_detection": { + "$ref": "#/components/schemas/ImageOutput" + }, + "lineart_edge_detection": { + "$ref": "#/components/schemas/ImageOutput" + }, + "llava_onevision_vllm": { + "$ref": "#/components/schemas/StringOutput" + }, + "lora_collection_loader": { + "$ref": "#/components/schemas/LoRALoaderOutput" + }, + "lora_loader": { + "$ref": "#/components/schemas/LoRALoaderOutput" + }, + "lora_selector": { + "$ref": "#/components/schemas/LoRASelectorOutput" + }, + "lresize": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "lscale": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "main_model_loader": { + "$ref": "#/components/schemas/ModelLoaderOutput" + }, + "mask_combine": { + "$ref": "#/components/schemas/ImageOutput" + }, + "mask_edge": { + "$ref": "#/components/schemas/ImageOutput" + }, + "mask_from_id": { + "$ref": "#/components/schemas/ImageOutput" + }, + "mediapipe_face_detection": { + "$ref": "#/components/schemas/ImageOutput" + }, + "merge_metadata": { + "$ref": "#/components/schemas/MetadataOutput" + }, + "merge_tiles_to_image": { + "$ref": "#/components/schemas/ImageOutput" + }, + "metadata": { + "$ref": "#/components/schemas/MetadataOutput" + }, + "metadata_field_extractor": { + "$ref": "#/components/schemas/StringOutput" + }, + "metadata_from_image": { + "$ref": "#/components/schemas/MetadataOutput" + }, + "metadata_item": { + "$ref": "#/components/schemas/MetadataItemOutput" + }, + "metadata_item_linked": { + "$ref": "#/components/schemas/MetadataOutput" + }, + "metadata_to_bool": { + "$ref": "#/components/schemas/BooleanOutput" + }, + "metadata_to_bool_collection": { + "$ref": "#/components/schemas/BooleanCollectionOutput" + }, + "metadata_to_controlnets": { + "$ref": "#/components/schemas/MDControlListOutput" + }, + "metadata_to_float": { + "$ref": "#/components/schemas/FloatOutput" + }, + "metadata_to_float_collection": { + "$ref": "#/components/schemas/FloatCollectionOutput" + }, + "metadata_to_integer": { + "$ref": "#/components/schemas/IntegerOutput" + }, + "metadata_to_integer_collection": { + "$ref": "#/components/schemas/IntegerCollectionOutput" + }, + "metadata_to_ip_adapters": { + "$ref": "#/components/schemas/MDIPAdapterListOutput" + }, + "metadata_to_lora_collection": { + "$ref": "#/components/schemas/MetadataToLorasCollectionOutput" + }, + "metadata_to_loras": { + "$ref": "#/components/schemas/LoRALoaderOutput" + }, + "metadata_to_model": { + "$ref": "#/components/schemas/MetadataToModelOutput" + }, + "metadata_to_scheduler": { + "$ref": "#/components/schemas/SchedulerOutput" + }, + "metadata_to_sdlx_loras": { + "$ref": "#/components/schemas/SDXLLoRALoaderOutput" + }, + "metadata_to_sdxl_model": { + "$ref": "#/components/schemas/MetadataToSDXLModelOutput" + }, + "metadata_to_string": { + "$ref": "#/components/schemas/StringOutput" + }, + "metadata_to_string_collection": { + "$ref": "#/components/schemas/StringCollectionOutput" + }, + "metadata_to_t2i_adapters": { + "$ref": "#/components/schemas/MDT2IAdapterListOutput" + }, + "metadata_to_vae": { + "$ref": "#/components/schemas/VAEOutput" + }, + "mlsd_detection": { + "$ref": "#/components/schemas/ImageOutput" + }, + "model_identifier": { + "$ref": "#/components/schemas/ModelIdentifierOutput" + }, + "mul": { + "$ref": "#/components/schemas/IntegerOutput" + }, + "noise": { + "$ref": "#/components/schemas/NoiseOutput" + }, + "normal_map": { + "$ref": "#/components/schemas/ImageOutput" + }, + "pair_tile_image": { + "$ref": "#/components/schemas/PairTileImageOutput" + }, + "paste_image_into_bounding_box": { + "$ref": "#/components/schemas/ImageOutput" + }, + "pidi_edge_detection": { + "$ref": "#/components/schemas/ImageOutput" + }, + "prompt_from_file": { + "$ref": "#/components/schemas/StringCollectionOutput" + }, + "rand_float": { + "$ref": "#/components/schemas/FloatOutput" + }, + "rand_int": { + "$ref": "#/components/schemas/IntegerOutput" + }, + "random_range": { + "$ref": "#/components/schemas/IntegerCollectionOutput" + }, + "range": { + "$ref": "#/components/schemas/IntegerCollectionOutput" + }, + "range_of_size": { + "$ref": "#/components/schemas/IntegerCollectionOutput" + }, + "rectangle_mask": { + "$ref": "#/components/schemas/MaskOutput" + }, + "round_float": { + "$ref": "#/components/schemas/FloatOutput" + }, + "save_image": { + "$ref": "#/components/schemas/ImageOutput" + }, + "scheduler": { + "$ref": "#/components/schemas/SchedulerOutput" + }, + "sd3_denoise": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "sd3_i2l": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "sd3_l2i": { + "$ref": "#/components/schemas/ImageOutput" + }, + "sd3_model_loader": { + "$ref": "#/components/schemas/Sd3ModelLoaderOutput" + }, + "sd3_text_encoder": { + "$ref": "#/components/schemas/SD3ConditioningOutput" + }, + "sdxl_compel_prompt": { + "$ref": "#/components/schemas/ConditioningOutput" + }, + "sdxl_lora_collection_loader": { + "$ref": "#/components/schemas/SDXLLoRALoaderOutput" + }, + "sdxl_lora_loader": { + "$ref": "#/components/schemas/SDXLLoRALoaderOutput" + }, + "sdxl_model_loader": { + "$ref": "#/components/schemas/SDXLModelLoaderOutput" + }, + "sdxl_refiner_compel_prompt": { + "$ref": "#/components/schemas/ConditioningOutput" + }, + "sdxl_refiner_model_loader": { + "$ref": "#/components/schemas/SDXLRefinerModelLoaderOutput" + }, + "seamless": { + "$ref": "#/components/schemas/SeamlessModeOutput" + }, + "segment_anything": { + "$ref": "#/components/schemas/MaskOutput" + }, + "show_image": { + "$ref": "#/components/schemas/ImageOutput" + }, + "spandrel_image_to_image": { + "$ref": "#/components/schemas/ImageOutput" + }, + "spandrel_image_to_image_autoscale": { + "$ref": "#/components/schemas/ImageOutput" + }, + "string": { + "$ref": "#/components/schemas/StringOutput" + }, + "string_batch": { + "$ref": "#/components/schemas/StringOutput" + }, + "string_collection": { + "$ref": "#/components/schemas/StringCollectionOutput" + }, + "string_generator": { + "$ref": "#/components/schemas/StringGeneratorOutput" + }, + "string_join": { + "$ref": "#/components/schemas/StringOutput" + }, + "string_join_three": { + "$ref": "#/components/schemas/StringOutput" + }, + "string_replace": { + "$ref": "#/components/schemas/StringOutput" + }, + "string_split": { + "$ref": "#/components/schemas/String2Output" + }, + "string_split_neg": { + "$ref": "#/components/schemas/StringPosNegOutput" + }, + "sub": { + "$ref": "#/components/schemas/IntegerOutput" + }, + "t2i_adapter": { + "$ref": "#/components/schemas/T2IAdapterOutput" + }, + "tensor_mask_to_image": { + "$ref": "#/components/schemas/ImageOutput" + }, + "tile_to_properties": { + "$ref": "#/components/schemas/TileToPropertiesOutput" + }, + "tiled_multi_diffusion_denoise_latents": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "tomask": { + "$ref": "#/components/schemas/ImageOutput" + }, + "unsharp_mask": { + "$ref": "#/components/schemas/ImageOutput" + }, + "vae_loader": { + "$ref": "#/components/schemas/VAEOutput" + }, + "z_image_denoise": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "z_image_i2l": { + "$ref": "#/components/schemas/LatentsOutput" + }, + "z_image_l2i": { + "$ref": "#/components/schemas/ImageOutput" + }, + "z_image_lora_collection_loader": { + "$ref": "#/components/schemas/ZImageLoRALoaderOutput" + }, + "z_image_lora_loader": { + "$ref": "#/components/schemas/ZImageLoRALoaderOutput" + }, + "z_image_model_loader": { + "$ref": "#/components/schemas/ZImageModelLoaderOutput" + }, + "z_image_text_encoder": { + "$ref": "#/components/schemas/ZImageConditioningOutput" + } + }, + "required": [ + "rand_int", + "metadata_to_bool_collection", + "z_image_i2l", + "lora_loader", + "img_lerp", + "lblend", + "blank_image", + "integer_collection", + "z_image_denoise", + "create_denoise_mask", + "denoise_latents_meta", + "img_channel_multiply", + "sdxl_refiner_compel_prompt", + "show_image", + "float_to_int", + "img_hue_adjust", + "sdxl_compel_prompt", + "get_image_mask_bounding_box", + "metadata_to_lora_collection", + "denoise_latents", + "img_channel_offset", + "string_generator", + "img_conv", + "range_of_size", + "cogview4_denoise", + "float", + "metadata_to_integer", + "t2i_adapter", + "invokeai_ealightness", + "float_batch", + "metadata_item", + "img_ilerp", + "face_mask_detection", + "tile_to_properties", + "conditioning", + "freeu", + "flux_kontext", + "mlsd_detection", + "sdxl_lora_collection_loader", + "invokeai_img_blend", + "img_blur", + "ideal_size", + "range", + "metadata_to_t2i_adapters", + "l2i", + "metadata_to_vae", + "lora_collection_loader", + "canvas_paste_back", + "img_paste", + "lresize", + "random_range", + "metadata_to_integer_collection", + "tensor_mask_to_image", + "alpha_mask_to_tensor", + "invokeai_img_hue_adjust_plus", + "string_split_neg", + "flux_fill", + "sd3_denoise", + "flux_controlnet", + "invokeai_img_dilate_erode", + "canvas_v2_mask_and_crop", + "lineart_edge_detection", + "merge_metadata", + "string_batch", + "mask_combine", + "color", + "float_range", + "crop_latents", + "spandrel_image_to_image", + "metadata_to_float", + "mul", + "infill_tile", + "cv_inpaint", + "calculate_image_tiles", + "img_nsfw", + "image_generator", + "flux_lora_collection_loader", + "string_join", + "seamless", + "sd3_i2l", + "flux_control_lora_loader", + "paste_image_into_bounding_box", + "clip_skip", + "conditioning_collection", + "flux_ip_adapter", + "metadata_to_ip_adapters", + "esrgan", + "invokeai_img_val_thresholds", + "face_identifier", + "metadata", + "cogview4_model_loader", + "sub", + "metadata_to_controlnets", + "z_image_text_encoder", + "string_join_three", + "unsharp_mask", + "grounding_dino", + "metadata_to_bool", + "apply_tensor_mask_to_image", + "flux_denoise_meta", + "iterate", + "image_batch", + "metadata_from_image", + "integer_math", + "metadata_to_string_collection", + "expand_mask_with_fade", + "integer_generator", + "sd3_l2i", + "boolean_collection", + "round_float", + "infill_rgba", + "z_image_l2i", + "vae_loader", + "controlnet", + "tiled_multi_diffusion_denoise_latents", + "string_split", + "cogview4_i2l", + "image_mask_to_tensor", + "heuristic_resize", + "img_watermark", + "scheduler", + "img_crop", + "sdxl_refiner_model_loader", + "segment_anything", + "color_map", + "boolean", + "hed_edge_detection", + "rectangle_mask", + "infill_lama", + "main_model_loader", + "save_image", + "calculate_image_tiles_even_split", + "image", + "flux_redux", + "noise", + "llava_onevision_vllm", + "invokeai_img_enhance", + "model_identifier", + "img_resize", + "integer_batch", + "img_noise", + "cogview4_text_encoder", + "latents_collection", + "metadata_to_loras", + "dynamic_prompt", + "metadata_item_linked", + "z_image_lora_loader", + "merge_tiles_to_image", + "img_chan", + "float_generator", + "compel", + "string", + "add", + "canny_edge_detection", + "string_collection", + "flux_denoise", + "sd3_text_encoder", + "metadata_to_scheduler", + "mask_edge", + "img_scale", + "flux_vae_decode", + "latents", + "flux_lora_loader", + "float_math", + "div", + "pidi_edge_detection", + "image_panel_layout", + "lscale", + "infill_patchmatch", + "face_off", + "sdxl_lora_loader", + "i2l", + "crop_image_to_bounding_box", + "core_metadata", + "calculate_image_tiles_min_overlap", + "image_collection", + "metadata_to_model", + "infill_cv2", + "z_image_lora_collection_loader", + "mask_from_id", + "tomask", + "cogview4_l2i", + "metadata_to_sdlx_loras", + "integer", + "normal_map", + "lineart_anime_edge_detection", + "content_shuffle", + "string_replace", + "img_mul", + "flux_text_encoder", + "sdxl_model_loader", + "prompt_from_file", + "invert_tensor_mask", + "rand_float", + "flux_vae_encode", + "ip_adapter", + "lora_selector", + "spandrel_image_to_image_autoscale", + "sd3_model_loader", + "bounding_box", + "metadata_to_string", + "dw_openpose_detection", + "collect", + "create_gradient_mask", + "flux_kontext_image_prep", + "apply_mask_to_image", + "pair_tile_image", + "z_image_model_loader", + "flux_model_loader", + "metadata_to_sdxl_model", + "metadata_to_float_collection", + "color_correct", + "metadata_field_extractor", + "float_collection", + "mediapipe_face_detection", + "depth_anything_depth_estimation", + "invokeai_img_composite", + "img_pad_crop" + ] + }, + "InvocationProgressEvent": { + "description": "Event model for invocation_progress", + "properties": { + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "queue_id": { + "description": "The ID of the queue", + "title": "Queue Id", + "type": "string" + }, + "item_id": { + "description": "The ID of the queue item", + "title": "Item Id", + "type": "integer" + }, + "batch_id": { + "description": "The ID of the queue batch", + "title": "Batch Id", + "type": "string" + }, + "origin": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The origin of the queue item", + "title": "Origin" + }, + "destination": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The destination of the queue item", + "title": "Destination" + }, + "session_id": { + "description": "The ID of the session (aka graph execution state)", + "title": "Session Id", + "type": "string" + }, + "invocation": { + "description": "The ID of the invocation", + "oneOf": [ + { + "$ref": "#/components/schemas/AddInvocation" + }, + { + "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" + }, + { + "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" + }, + { + "$ref": "#/components/schemas/ApplyMaskToImageInvocation" + }, + { + "$ref": "#/components/schemas/BlankImageInvocation" + }, + { + "$ref": "#/components/schemas/BlendLatentsInvocation" + }, + { + "$ref": "#/components/schemas/BooleanCollectionInvocation" + }, + { + "$ref": "#/components/schemas/BooleanInvocation" + }, + { + "$ref": "#/components/schemas/BoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/CLIPSkipInvocation" + }, + { + "$ref": "#/components/schemas/CV2InfillInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" + }, + { + "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/CanvasPasteBackInvocation" + }, + { + "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" + }, + { + "$ref": "#/components/schemas/CenterPadCropInvocation" + }, + { + "$ref": "#/components/schemas/CogView4DenoiseInvocation" + }, + { + "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/CogView4TextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/CollectInvocation" + }, + { + "$ref": "#/components/schemas/ColorCorrectInvocation" + }, + { + "$ref": "#/components/schemas/ColorInvocation" + }, + { + "$ref": "#/components/schemas/ColorMapInvocation" + }, + { + "$ref": "#/components/schemas/CompelInvocation" + }, + { + "$ref": "#/components/schemas/ConditioningCollectionInvocation" + }, + { + "$ref": "#/components/schemas/ConditioningInvocation" + }, + { + "$ref": "#/components/schemas/ContentShuffleInvocation" + }, + { + "$ref": "#/components/schemas/ControlNetInvocation" + }, + { + "$ref": "#/components/schemas/CoreMetadataInvocation" + }, + { + "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" + }, + { + "$ref": "#/components/schemas/CreateGradientMaskInvocation" + }, + { + "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/CropLatentsCoreInvocation" + }, + { + "$ref": "#/components/schemas/CvInpaintInvocation" + }, + { + "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/DenoiseLatentsInvocation" + }, + { + "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" + }, + { + "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" + }, + { + "$ref": "#/components/schemas/DivideInvocation" + }, + { + "$ref": "#/components/schemas/DynamicPromptInvocation" + }, + { + "$ref": "#/components/schemas/ESRGANInvocation" + }, + { + "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" + }, + { + "$ref": "#/components/schemas/FLUXLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/FaceIdentifierInvocation" + }, + { + "$ref": "#/components/schemas/FaceMaskInvocation" + }, + { + "$ref": "#/components/schemas/FaceOffInvocation" + }, + { + "$ref": "#/components/schemas/FloatBatchInvocation" + }, + { + "$ref": "#/components/schemas/FloatCollectionInvocation" + }, + { + "$ref": "#/components/schemas/FloatGenerator" + }, + { + "$ref": "#/components/schemas/FloatInvocation" + }, + { + "$ref": "#/components/schemas/FloatLinearRangeInvocation" + }, + { + "$ref": "#/components/schemas/FloatMathInvocation" + }, + { + "$ref": "#/components/schemas/FloatToIntegerInvocation" + }, + { + "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxControlNetInvocation" + }, + { + "$ref": "#/components/schemas/FluxDenoiseInvocation" + }, + { + "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" + }, + { + "$ref": "#/components/schemas/FluxFillInvocation" + }, + { + "$ref": "#/components/schemas/FluxIPAdapterInvocation" + }, + { + "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" + }, + { + "$ref": "#/components/schemas/FluxKontextInvocation" + }, + { + "$ref": "#/components/schemas/FluxLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxReduxInvocation" + }, + { + "$ref": "#/components/schemas/FluxTextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/FluxVaeDecodeInvocation" + }, + { + "$ref": "#/components/schemas/FluxVaeEncodeInvocation" + }, + { + "$ref": "#/components/schemas/FreeUInvocation" + }, + { + "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/GroundingDinoInvocation" + }, + { + "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/HeuristicResizeInvocation" + }, + { + "$ref": "#/components/schemas/IPAdapterInvocation" + }, + { + "$ref": "#/components/schemas/IdealSizeInvocation" + }, + { + "$ref": "#/components/schemas/ImageBatchInvocation" + }, + { + "$ref": "#/components/schemas/ImageBlurInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelOffsetInvocation" + }, + { + "$ref": "#/components/schemas/ImageCollectionInvocation" + }, + { + "$ref": "#/components/schemas/ImageConvertInvocation" + }, + { + "$ref": "#/components/schemas/ImageCropInvocation" + }, + { + "$ref": "#/components/schemas/ImageGenerator" + }, + { + "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" + }, + { + "$ref": "#/components/schemas/ImageInverseLerpInvocation" + }, + { + "$ref": "#/components/schemas/ImageInvocation" + }, + { + "$ref": "#/components/schemas/ImageLerpInvocation" + }, + { + "$ref": "#/components/schemas/ImageMaskToTensorInvocation" + }, + { + "$ref": "#/components/schemas/ImageMultiplyInvocation" + }, + { + "$ref": "#/components/schemas/ImageNSFWBlurInvocation" + }, + { + "$ref": "#/components/schemas/ImageNoiseInvocation" + }, + { + "$ref": "#/components/schemas/ImagePanelLayoutInvocation" + }, + { + "$ref": "#/components/schemas/ImagePasteInvocation" + }, + { + "$ref": "#/components/schemas/ImageResizeInvocation" + }, + { + "$ref": "#/components/schemas/ImageScaleInvocation" + }, + { + "$ref": "#/components/schemas/ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/ImageWatermarkInvocation" + }, + { + "$ref": "#/components/schemas/InfillColorInvocation" + }, + { + "$ref": "#/components/schemas/InfillPatchMatchInvocation" + }, + { + "$ref": "#/components/schemas/InfillTileInvocation" + }, + { + "$ref": "#/components/schemas/IntegerBatchInvocation" + }, + { + "$ref": "#/components/schemas/IntegerCollectionInvocation" + }, + { + "$ref": "#/components/schemas/IntegerGenerator" + }, + { + "$ref": "#/components/schemas/IntegerInvocation" + }, + { + "$ref": "#/components/schemas/IntegerMathInvocation" + }, + { + "$ref": "#/components/schemas/InvertTensorMaskInvocation" + }, + { + "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" + }, + { + "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageBlendInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageCompositorInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" + }, + { + "$ref": "#/components/schemas/IterateInvocation" + }, + { + "$ref": "#/components/schemas/LaMaInfillInvocation" + }, + { + "$ref": "#/components/schemas/LatentsCollectionInvocation" + }, + { + "$ref": "#/components/schemas/LatentsInvocation" + }, + { + "$ref": "#/components/schemas/LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" + }, + { + "$ref": "#/components/schemas/LoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/LoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/LoRASelectorInvocation" + }, + { + "$ref": "#/components/schemas/MLSDDetectionInvocation" + }, + { + "$ref": "#/components/schemas/MainModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/MaskCombineInvocation" + }, + { + "$ref": "#/components/schemas/MaskEdgeInvocation" + }, + { + "$ref": "#/components/schemas/MaskFromAlphaInvocation" + }, + { + "$ref": "#/components/schemas/MaskFromIDInvocation" + }, + { + "$ref": "#/components/schemas/MaskTensorToImageInvocation" + }, + { + "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" + }, + { + "$ref": "#/components/schemas/MergeMetadataInvocation" + }, + { + "$ref": "#/components/schemas/MergeTilesToImageInvocation" + }, + { + "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" + }, + { + "$ref": "#/components/schemas/MetadataFromImageInvocation" + }, + { + "$ref": "#/components/schemas/MetadataInvocation" + }, + { + "$ref": "#/components/schemas/MetadataItemInvocation" + }, + { + "$ref": "#/components/schemas/MetadataItemLinkedInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToBoolInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToControlnetsInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToFloatInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIntegerInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToLorasInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToModelInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSchedulerInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToStringInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToVAEInvocation" + }, + { + "$ref": "#/components/schemas/ModelIdentifierInvocation" + }, + { + "$ref": "#/components/schemas/MultiplyInvocation" + }, + { + "$ref": "#/components/schemas/NoiseInvocation" + }, + { + "$ref": "#/components/schemas/NormalMapInvocation" + }, + { + "$ref": "#/components/schemas/PairTileImageInvocation" + }, + { + "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/PromptsFromFileInvocation" + }, + { + "$ref": "#/components/schemas/RandomFloatInvocation" + }, + { + "$ref": "#/components/schemas/RandomIntInvocation" + }, + { + "$ref": "#/components/schemas/RandomRangeInvocation" + }, + { + "$ref": "#/components/schemas/RangeInvocation" + }, + { + "$ref": "#/components/schemas/RangeOfSizeInvocation" + }, + { + "$ref": "#/components/schemas/RectangleMaskInvocation" + }, + { + "$ref": "#/components/schemas/ResizeLatentsInvocation" + }, + { + "$ref": "#/components/schemas/RoundInvocation" + }, + { + "$ref": "#/components/schemas/SD3DenoiseInvocation" + }, + { + "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/SD3LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/SDXLCompelPromptInvocation" + }, + { + "$ref": "#/components/schemas/SDXLLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/SDXLModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" + }, + { + "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/SaveImageInvocation" + }, + { + "$ref": "#/components/schemas/ScaleLatentsInvocation" + }, + { + "$ref": "#/components/schemas/SchedulerInvocation" + }, + { + "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/Sd3TextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/SeamlessModeInvocation" + }, + { + "$ref": "#/components/schemas/SegmentAnythingInvocation" + }, + { + "$ref": "#/components/schemas/ShowImageInvocation" + }, + { + "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" + }, + { + "$ref": "#/components/schemas/SpandrelImageToImageInvocation" + }, + { + "$ref": "#/components/schemas/StringBatchInvocation" + }, + { + "$ref": "#/components/schemas/StringCollectionInvocation" + }, + { + "$ref": "#/components/schemas/StringGenerator" + }, + { + "$ref": "#/components/schemas/StringInvocation" + }, + { + "$ref": "#/components/schemas/StringJoinInvocation" + }, + { + "$ref": "#/components/schemas/StringJoinThreeInvocation" + }, + { + "$ref": "#/components/schemas/StringReplaceInvocation" + }, + { + "$ref": "#/components/schemas/StringSplitInvocation" + }, + { + "$ref": "#/components/schemas/StringSplitNegInvocation" + }, + { + "$ref": "#/components/schemas/SubtractInvocation" + }, + { + "$ref": "#/components/schemas/T2IAdapterInvocation" + }, + { + "$ref": "#/components/schemas/TileToPropertiesInvocation" + }, + { + "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" + }, + { + "$ref": "#/components/schemas/UnsharpMaskInvocation" + }, + { + "$ref": "#/components/schemas/VAELoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageDenoiseInvocation" + }, + { + "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/ZImageLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageTextEncoderInvocation" + } ], "title": "Invocation" }, @@ -20207,732 +31163,35 @@ "title": "Invocation Source Id", "type": "string" }, - "error_type": { "description": "The error type", "title": "Error Type", "type": "string" }, - "error_message": { "description": "The error message", "title": "Error Message", "type": "string" }, - "error_traceback": { "description": "The error traceback", "title": "Error Traceback", "type": "string" } - }, - "required": [ - "timestamp", - "queue_id", - "item_id", - "batch_id", - "origin", - "destination", - "session_id", - "invocation", - "invocation_source_id", - "error_type", - "error_message", - "error_traceback" - ], - "title": "InvocationErrorEvent", - "type": "object" - }, - "InvocationOutputMap": { - "type": "object", - "properties": { - "add": { "$ref": "#/components/schemas/IntegerOutput" }, - "alpha_mask_to_tensor": { "$ref": "#/components/schemas/MaskOutput" }, - "apply_mask_to_image": { "$ref": "#/components/schemas/ImageOutput" }, - "apply_tensor_mask_to_image": { "$ref": "#/components/schemas/ImageOutput" }, - "blank_image": { "$ref": "#/components/schemas/ImageOutput" }, - "boolean": { "$ref": "#/components/schemas/BooleanOutput" }, - "boolean_collection": { "$ref": "#/components/schemas/BooleanCollectionOutput" }, - "bounding_box": { "$ref": "#/components/schemas/BoundingBoxOutput" }, - "calculate_image_tiles": { "$ref": "#/components/schemas/CalculateImageTilesOutput" }, - "calculate_image_tiles_even_split": { "$ref": "#/components/schemas/CalculateImageTilesOutput" }, - "calculate_image_tiles_min_overlap": { "$ref": "#/components/schemas/CalculateImageTilesOutput" }, - "canny_edge_detection": { "$ref": "#/components/schemas/ImageOutput" }, - "canvas_paste_back": { "$ref": "#/components/schemas/ImageOutput" }, - "canvas_v2_mask_and_crop": { "$ref": "#/components/schemas/ImageOutput" }, - "clip_skip": { "$ref": "#/components/schemas/CLIPSkipInvocationOutput" }, - "cogview4_denoise": { "$ref": "#/components/schemas/LatentsOutput" }, - "cogview4_i2l": { "$ref": "#/components/schemas/LatentsOutput" }, - "cogview4_l2i": { "$ref": "#/components/schemas/ImageOutput" }, - "cogview4_model_loader": { "$ref": "#/components/schemas/CogView4ModelLoaderOutput" }, - "cogview4_text_encoder": { "$ref": "#/components/schemas/CogView4ConditioningOutput" }, - "collect": { "$ref": "#/components/schemas/CollectInvocationOutput" }, - "color": { "$ref": "#/components/schemas/ColorOutput" }, - "color_correct": { "$ref": "#/components/schemas/ImageOutput" }, - "color_map": { "$ref": "#/components/schemas/ImageOutput" }, - "compel": { "$ref": "#/components/schemas/ConditioningOutput" }, - "conditioning": { "$ref": "#/components/schemas/ConditioningOutput" }, - "conditioning_collection": { "$ref": "#/components/schemas/ConditioningCollectionOutput" }, - "content_shuffle": { "$ref": "#/components/schemas/ImageOutput" }, - "controlnet": { "$ref": "#/components/schemas/ControlOutput" }, - "core_metadata": { "$ref": "#/components/schemas/MetadataOutput" }, - "create_denoise_mask": { "$ref": "#/components/schemas/DenoiseMaskOutput" }, - "create_gradient_mask": { "$ref": "#/components/schemas/GradientMaskOutput" }, - "crop_image_to_bounding_box": { "$ref": "#/components/schemas/ImageOutput" }, - "crop_latents": { "$ref": "#/components/schemas/LatentsOutput" }, - "cv_inpaint": { "$ref": "#/components/schemas/ImageOutput" }, - "denoise_latents": { "$ref": "#/components/schemas/LatentsOutput" }, - "denoise_latents_meta": { "$ref": "#/components/schemas/LatentsMetaOutput" }, - "depth_anything_depth_estimation": { "$ref": "#/components/schemas/ImageOutput" }, - "div": { "$ref": "#/components/schemas/IntegerOutput" }, - "dw_openpose_detection": { "$ref": "#/components/schemas/ImageOutput" }, - "dynamic_prompt": { "$ref": "#/components/schemas/StringCollectionOutput" }, - "esrgan": { "$ref": "#/components/schemas/ImageOutput" }, - "expand_mask_with_fade": { "$ref": "#/components/schemas/ImageOutput" }, - "face_identifier": { "$ref": "#/components/schemas/ImageOutput" }, - "face_mask_detection": { "$ref": "#/components/schemas/FaceMaskOutput" }, - "face_off": { "$ref": "#/components/schemas/FaceOffOutput" }, - "float": { "$ref": "#/components/schemas/FloatOutput" }, - "float_batch": { "$ref": "#/components/schemas/FloatOutput" }, - "float_collection": { "$ref": "#/components/schemas/FloatCollectionOutput" }, - "float_generator": { "$ref": "#/components/schemas/FloatGeneratorOutput" }, - "float_math": { "$ref": "#/components/schemas/FloatOutput" }, - "float_range": { "$ref": "#/components/schemas/FloatCollectionOutput" }, - "float_to_int": { "$ref": "#/components/schemas/IntegerOutput" }, - "flux_control_lora_loader": { "$ref": "#/components/schemas/FluxControlLoRALoaderOutput" }, - "flux_controlnet": { "$ref": "#/components/schemas/FluxControlNetOutput" }, - "flux_denoise": { "$ref": "#/components/schemas/LatentsOutput" }, - "flux_denoise_meta": { "$ref": "#/components/schemas/LatentsMetaOutput" }, - "flux_fill": { "$ref": "#/components/schemas/FluxFillOutput" }, - "flux_ip_adapter": { "$ref": "#/components/schemas/IPAdapterOutput" }, - "flux_kontext": { "$ref": "#/components/schemas/FluxKontextOutput" }, - "flux_kontext_image_prep": { "$ref": "#/components/schemas/ImageOutput" }, - "flux_lora_collection_loader": { "$ref": "#/components/schemas/FluxLoRALoaderOutput" }, - "flux_lora_loader": { "$ref": "#/components/schemas/FluxLoRALoaderOutput" }, - "flux_model_loader": { "$ref": "#/components/schemas/FluxModelLoaderOutput" }, - "flux_redux": { "$ref": "#/components/schemas/FluxReduxOutput" }, - "flux_text_encoder": { "$ref": "#/components/schemas/FluxConditioningOutput" }, - "flux_vae_decode": { "$ref": "#/components/schemas/ImageOutput" }, - "flux_vae_encode": { "$ref": "#/components/schemas/LatentsOutput" }, - "freeu": { "$ref": "#/components/schemas/UNetOutput" }, - "get_image_mask_bounding_box": { "$ref": "#/components/schemas/BoundingBoxOutput" }, - "grounding_dino": { "$ref": "#/components/schemas/BoundingBoxCollectionOutput" }, - "hed_edge_detection": { "$ref": "#/components/schemas/ImageOutput" }, - "heuristic_resize": { "$ref": "#/components/schemas/ImageOutput" }, - "i2l": { "$ref": "#/components/schemas/LatentsOutput" }, - "ideal_size": { "$ref": "#/components/schemas/IdealSizeOutput" }, - "image": { "$ref": "#/components/schemas/ImageOutput" }, - "image_batch": { "$ref": "#/components/schemas/ImageOutput" }, - "image_collection": { "$ref": "#/components/schemas/ImageCollectionOutput" }, - "image_generator": { "$ref": "#/components/schemas/ImageGeneratorOutput" }, - "image_mask_to_tensor": { "$ref": "#/components/schemas/MaskOutput" }, - "image_panel_layout": { "$ref": "#/components/schemas/ImagePanelCoordinateOutput" }, - "img_blur": { "$ref": "#/components/schemas/ImageOutput" }, - "img_chan": { "$ref": "#/components/schemas/ImageOutput" }, - "img_channel_multiply": { "$ref": "#/components/schemas/ImageOutput" }, - "img_channel_offset": { "$ref": "#/components/schemas/ImageOutput" }, - "img_conv": { "$ref": "#/components/schemas/ImageOutput" }, - "img_crop": { "$ref": "#/components/schemas/ImageOutput" }, - "img_hue_adjust": { "$ref": "#/components/schemas/ImageOutput" }, - "img_ilerp": { "$ref": "#/components/schemas/ImageOutput" }, - "img_lerp": { "$ref": "#/components/schemas/ImageOutput" }, - "img_mul": { "$ref": "#/components/schemas/ImageOutput" }, - "img_noise": { "$ref": "#/components/schemas/ImageOutput" }, - "img_nsfw": { "$ref": "#/components/schemas/ImageOutput" }, - "img_pad_crop": { "$ref": "#/components/schemas/ImageOutput" }, - "img_paste": { "$ref": "#/components/schemas/ImageOutput" }, - "img_resize": { "$ref": "#/components/schemas/ImageOutput" }, - "img_scale": { "$ref": "#/components/schemas/ImageOutput" }, - "img_watermark": { "$ref": "#/components/schemas/ImageOutput" }, - "infill_cv2": { "$ref": "#/components/schemas/ImageOutput" }, - "infill_lama": { "$ref": "#/components/schemas/ImageOutput" }, - "infill_patchmatch": { "$ref": "#/components/schemas/ImageOutput" }, - "infill_rgba": { "$ref": "#/components/schemas/ImageOutput" }, - "infill_tile": { "$ref": "#/components/schemas/ImageOutput" }, - "integer": { "$ref": "#/components/schemas/IntegerOutput" }, - "integer_batch": { "$ref": "#/components/schemas/IntegerOutput" }, - "integer_collection": { "$ref": "#/components/schemas/IntegerCollectionOutput" }, - "integer_generator": { "$ref": "#/components/schemas/IntegerGeneratorOutput" }, - "integer_math": { "$ref": "#/components/schemas/IntegerOutput" }, - "invert_tensor_mask": { "$ref": "#/components/schemas/MaskOutput" }, - "invokeai_ealightness": { "$ref": "#/components/schemas/ImageOutput" }, - "invokeai_img_blend": { "$ref": "#/components/schemas/ImageOutput" }, - "invokeai_img_composite": { "$ref": "#/components/schemas/ImageOutput" }, - "invokeai_img_dilate_erode": { "$ref": "#/components/schemas/ImageOutput" }, - "invokeai_img_enhance": { "$ref": "#/components/schemas/ImageOutput" }, - "invokeai_img_hue_adjust_plus": { "$ref": "#/components/schemas/ImageOutput" }, - "invokeai_img_val_thresholds": { "$ref": "#/components/schemas/ImageOutput" }, - "ip_adapter": { "$ref": "#/components/schemas/IPAdapterOutput" }, - "iterate": { "$ref": "#/components/schemas/IterateInvocationOutput" }, - "l2i": { "$ref": "#/components/schemas/ImageOutput" }, - "latents": { "$ref": "#/components/schemas/LatentsOutput" }, - "latents_collection": { "$ref": "#/components/schemas/LatentsCollectionOutput" }, - "lblend": { "$ref": "#/components/schemas/LatentsOutput" }, - "lineart_anime_edge_detection": { "$ref": "#/components/schemas/ImageOutput" }, - "lineart_edge_detection": { "$ref": "#/components/schemas/ImageOutput" }, - "llava_onevision_vllm": { "$ref": "#/components/schemas/StringOutput" }, - "lora_collection_loader": { "$ref": "#/components/schemas/LoRALoaderOutput" }, - "lora_loader": { "$ref": "#/components/schemas/LoRALoaderOutput" }, - "lora_selector": { "$ref": "#/components/schemas/LoRASelectorOutput" }, - "lresize": { "$ref": "#/components/schemas/LatentsOutput" }, - "lscale": { "$ref": "#/components/schemas/LatentsOutput" }, - "main_model_loader": { "$ref": "#/components/schemas/ModelLoaderOutput" }, - "mask_combine": { "$ref": "#/components/schemas/ImageOutput" }, - "mask_edge": { "$ref": "#/components/schemas/ImageOutput" }, - "mask_from_id": { "$ref": "#/components/schemas/ImageOutput" }, - "mediapipe_face_detection": { "$ref": "#/components/schemas/ImageOutput" }, - "merge_metadata": { "$ref": "#/components/schemas/MetadataOutput" }, - "merge_tiles_to_image": { "$ref": "#/components/schemas/ImageOutput" }, - "metadata": { "$ref": "#/components/schemas/MetadataOutput" }, - "metadata_field_extractor": { "$ref": "#/components/schemas/StringOutput" }, - "metadata_from_image": { "$ref": "#/components/schemas/MetadataOutput" }, - "metadata_item": { "$ref": "#/components/schemas/MetadataItemOutput" }, - "metadata_item_linked": { "$ref": "#/components/schemas/MetadataOutput" }, - "metadata_to_bool": { "$ref": "#/components/schemas/BooleanOutput" }, - "metadata_to_bool_collection": { "$ref": "#/components/schemas/BooleanCollectionOutput" }, - "metadata_to_controlnets": { "$ref": "#/components/schemas/MDControlListOutput" }, - "metadata_to_float": { "$ref": "#/components/schemas/FloatOutput" }, - "metadata_to_float_collection": { "$ref": "#/components/schemas/FloatCollectionOutput" }, - "metadata_to_integer": { "$ref": "#/components/schemas/IntegerOutput" }, - "metadata_to_integer_collection": { "$ref": "#/components/schemas/IntegerCollectionOutput" }, - "metadata_to_ip_adapters": { "$ref": "#/components/schemas/MDIPAdapterListOutput" }, - "metadata_to_lora_collection": { "$ref": "#/components/schemas/MetadataToLorasCollectionOutput" }, - "metadata_to_loras": { "$ref": "#/components/schemas/LoRALoaderOutput" }, - "metadata_to_model": { "$ref": "#/components/schemas/MetadataToModelOutput" }, - "metadata_to_scheduler": { "$ref": "#/components/schemas/SchedulerOutput" }, - "metadata_to_sdlx_loras": { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" }, - "metadata_to_sdxl_model": { "$ref": "#/components/schemas/MetadataToSDXLModelOutput" }, - "metadata_to_string": { "$ref": "#/components/schemas/StringOutput" }, - "metadata_to_string_collection": { "$ref": "#/components/schemas/StringCollectionOutput" }, - "metadata_to_t2i_adapters": { "$ref": "#/components/schemas/MDT2IAdapterListOutput" }, - "metadata_to_vae": { "$ref": "#/components/schemas/VAEOutput" }, - "mlsd_detection": { "$ref": "#/components/schemas/ImageOutput" }, - "model_identifier": { "$ref": "#/components/schemas/ModelIdentifierOutput" }, - "mul": { "$ref": "#/components/schemas/IntegerOutput" }, - "noise": { "$ref": "#/components/schemas/NoiseOutput" }, - "normal_map": { "$ref": "#/components/schemas/ImageOutput" }, - "pair_tile_image": { "$ref": "#/components/schemas/PairTileImageOutput" }, - "paste_image_into_bounding_box": { "$ref": "#/components/schemas/ImageOutput" }, - "pidi_edge_detection": { "$ref": "#/components/schemas/ImageOutput" }, - "prompt_from_file": { "$ref": "#/components/schemas/StringCollectionOutput" }, - "rand_float": { "$ref": "#/components/schemas/FloatOutput" }, - "rand_int": { "$ref": "#/components/schemas/IntegerOutput" }, - "random_range": { "$ref": "#/components/schemas/IntegerCollectionOutput" }, - "range": { "$ref": "#/components/schemas/IntegerCollectionOutput" }, - "range_of_size": { "$ref": "#/components/schemas/IntegerCollectionOutput" }, - "rectangle_mask": { "$ref": "#/components/schemas/MaskOutput" }, - "round_float": { "$ref": "#/components/schemas/FloatOutput" }, - "save_image": { "$ref": "#/components/schemas/ImageOutput" }, - "scheduler": { "$ref": "#/components/schemas/SchedulerOutput" }, - "sd3_denoise": { "$ref": "#/components/schemas/LatentsOutput" }, - "sd3_i2l": { "$ref": "#/components/schemas/LatentsOutput" }, - "sd3_l2i": { "$ref": "#/components/schemas/ImageOutput" }, - "sd3_model_loader": { "$ref": "#/components/schemas/Sd3ModelLoaderOutput" }, - "sd3_text_encoder": { "$ref": "#/components/schemas/SD3ConditioningOutput" }, - "sdxl_compel_prompt": { "$ref": "#/components/schemas/ConditioningOutput" }, - "sdxl_lora_collection_loader": { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" }, - "sdxl_lora_loader": { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" }, - "sdxl_model_loader": { "$ref": "#/components/schemas/SDXLModelLoaderOutput" }, - "sdxl_refiner_compel_prompt": { "$ref": "#/components/schemas/ConditioningOutput" }, - "sdxl_refiner_model_loader": { "$ref": "#/components/schemas/SDXLRefinerModelLoaderOutput" }, - "seamless": { "$ref": "#/components/schemas/SeamlessModeOutput" }, - "segment_anything": { "$ref": "#/components/schemas/MaskOutput" }, - "show_image": { "$ref": "#/components/schemas/ImageOutput" }, - "spandrel_image_to_image": { "$ref": "#/components/schemas/ImageOutput" }, - "spandrel_image_to_image_autoscale": { "$ref": "#/components/schemas/ImageOutput" }, - "string": { "$ref": "#/components/schemas/StringOutput" }, - "string_batch": { "$ref": "#/components/schemas/StringOutput" }, - "string_collection": { "$ref": "#/components/schemas/StringCollectionOutput" }, - "string_generator": { "$ref": "#/components/schemas/StringGeneratorOutput" }, - "string_join": { "$ref": "#/components/schemas/StringOutput" }, - "string_join_three": { "$ref": "#/components/schemas/StringOutput" }, - "string_replace": { "$ref": "#/components/schemas/StringOutput" }, - "string_split": { "$ref": "#/components/schemas/String2Output" }, - "string_split_neg": { "$ref": "#/components/schemas/StringPosNegOutput" }, - "sub": { "$ref": "#/components/schemas/IntegerOutput" }, - "t2i_adapter": { "$ref": "#/components/schemas/T2IAdapterOutput" }, - "tensor_mask_to_image": { "$ref": "#/components/schemas/ImageOutput" }, - "tile_to_properties": { "$ref": "#/components/schemas/TileToPropertiesOutput" }, - "tiled_multi_diffusion_denoise_latents": { "$ref": "#/components/schemas/LatentsOutput" }, - "tomask": { "$ref": "#/components/schemas/ImageOutput" }, - "unsharp_mask": { "$ref": "#/components/schemas/ImageOutput" }, - "vae_loader": { "$ref": "#/components/schemas/VAEOutput" }, - "z_image_denoise": { "$ref": "#/components/schemas/LatentsOutput" }, - "z_image_i2l": { "$ref": "#/components/schemas/LatentsOutput" }, - "z_image_l2i": { "$ref": "#/components/schemas/ImageOutput" }, - "z_image_lora_collection_loader": { "$ref": "#/components/schemas/ZImageLoRALoaderOutput" }, - "z_image_lora_loader": { "$ref": "#/components/schemas/ZImageLoRALoaderOutput" }, - "z_image_model_loader": { "$ref": "#/components/schemas/ZImageModelLoaderOutput" }, - "z_image_text_encoder": { "$ref": "#/components/schemas/ZImageConditioningOutput" } - }, - "required": [ - "invokeai_img_val_thresholds", - "lora_loader", - "flux_kontext_image_prep", - "canny_edge_detection", - "infill_patchmatch", - "calculate_image_tiles_min_overlap", - "esrgan", - "metadata_to_float_collection", - "metadata_to_float", - "flux_control_lora_loader", - "heuristic_resize", - "freeu", - "l2i", - "float_batch", - "string", - "metadata_to_model", - "img_lerp", - "float_math", - "metadata_field_extractor", - "add", - "invokeai_img_dilate_erode", - "sdxl_lora_collection_loader", - "infill_cv2", - "tiled_multi_diffusion_denoise_latents", - "img_crop", - "flux_denoise", - "metadata_to_bool", - "tensor_mask_to_image", - "img_noise", - "mask_from_id", - "image_generator", - "pidi_edge_detection", - "show_image", - "metadata_to_ip_adapters", - "cogview4_denoise", - "i2l", - "tomask", - "latents_collection", - "lscale", - "controlnet", - "lora_collection_loader", - "spandrel_image_to_image_autoscale", - "sd3_text_encoder", - "metadata_to_sdxl_model", - "clip_skip", - "create_denoise_mask", - "infill_rgba", - "string_split_neg", - "canvas_paste_back", - "flux_vae_decode", - "flux_ip_adapter", - "integer_math", - "sdxl_lora_loader", - "paste_image_into_bounding_box", - "model_identifier", - "z_image_lora_loader", - "flux_text_encoder", - "boolean_collection", - "metadata", - "image_mask_to_tensor", - "cogview4_i2l", - "invokeai_img_blend", - "mask_edge", - "img_chan", - "latents", - "grounding_dino", - "flux_controlnet", - "invokeai_img_hue_adjust_plus", - "img_conv", - "round_float", - "infill_tile", - "canvas_v2_mask_and_crop", - "img_paste", - "flux_lora_collection_loader", - "dw_openpose_detection", - "create_gradient_mask", - "z_image_lora_collection_loader", - "blank_image", - "metadata_to_integer_collection", - "image", - "metadata_to_sdlx_loras", - "flux_fill", - "noise", - "sd3_l2i", - "llava_onevision_vllm", - "range_of_size", - "infill_lama", - "img_mul", - "color", - "metadata_to_t2i_adapters", - "float", - "integer", - "metadata_to_string", - "compel", - "lora_selector", - "conditioning_collection", - "lresize", - "ideal_size", - "sdxl_refiner_model_loader", - "flux_redux", - "rand_float", - "face_mask_detection", - "ip_adapter", - "sdxl_refiner_compel_prompt", - "z_image_l2i", - "z_image_denoise", - "spandrel_image_to_image", - "img_pad_crop", - "float_range", - "metadata_to_controlnets", - "apply_tensor_mask_to_image", - "calculate_image_tiles", - "mask_combine", - "metadata_to_loras", - "metadata_item_linked", - "cogview4_l2i", - "bounding_box", - "sd3_i2l", - "flux_vae_encode", - "float_to_int", - "invokeai_img_enhance", - "string_join_three", - "string_generator", - "normal_map", - "metadata_to_lora_collection", - "merge_metadata", - "invokeai_ealightness", - "img_nsfw", - "sd3_denoise", - "face_identifier", - "z_image_model_loader", - "denoise_latents_meta", - "integer_collection", - "flux_kontext", - "metadata_from_image", - "rectangle_mask", - "content_shuffle", - "seamless", - "z_image_i2l", - "string_replace", - "apply_mask_to_image", - "float_collection", - "cogview4_model_loader", - "pair_tile_image", - "segment_anything", - "mlsd_detection", - "hed_edge_detection", - "depth_anything_depth_estimation", - "scheduler", - "mediapipe_face_detection", - "lineart_edge_detection", - "main_model_loader", - "img_channel_offset", - "float_generator", - "calculate_image_tiles_even_split", - "flux_denoise_meta", - "rand_int", - "div", - "iterate", - "cv_inpaint", - "tile_to_properties", - "save_image", - "img_ilerp", - "image_collection", - "unsharp_mask", - "alpha_mask_to_tensor", - "image_batch", - "metadata_to_bool_collection", - "sdxl_compel_prompt", - "lineart_anime_edge_detection", - "prompt_from_file", - "sub", - "cogview4_text_encoder", - "invokeai_img_composite", - "string_split", - "string_batch", - "boolean", - "metadata_to_scheduler", - "get_image_mask_bounding_box", - "z_image_text_encoder", - "img_watermark", - "img_scale", - "flux_model_loader", - "t2i_adapter", - "color_map", - "invert_tensor_mask", - "vae_loader", - "merge_tiles_to_image", - "img_hue_adjust", - "conditioning", - "metadata_to_string_collection", - "string_collection", - "random_range", - "crop_image_to_bounding_box", - "img_channel_multiply", - "img_blur", - "sd3_model_loader", - "mul", - "collect", - "crop_latents", - "lblend", - "integer_batch", - "flux_lora_loader", - "core_metadata", - "face_off", - "range", - "image_panel_layout", - "color_correct", - "integer_generator", - "img_resize", - "sdxl_model_loader", - "metadata_to_vae", - "denoise_latents", - "dynamic_prompt", - "string_join", - "expand_mask_with_fade", - "metadata_to_integer", - "metadata_item" - ] - }, - "InvocationProgressEvent": { - "description": "Event model for invocation_progress", - "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, - "item_id": { "description": "The ID of the queue item", "title": "Item Id", "type": "integer" }, - "batch_id": { "description": "The ID of the queue batch", "title": "Batch Id", "type": "string" }, - "origin": { - "anyOf": [{ "type": "string" }, { "type": "null" }], - "default": null, - "description": "The origin of the queue item", - "title": "Origin" - }, - "destination": { - "anyOf": [{ "type": "string" }, { "type": "null" }], - "default": null, - "description": "The destination of the queue item", - "title": "Destination" - }, - "session_id": { - "description": "The ID of the session (aka graph execution state)", - "title": "Session Id", - "type": "string" - }, - "invocation": { - "description": "The ID of the invocation", - "oneOf": [ - { "$ref": "#/components/schemas/AddInvocation" }, - { "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" }, - { "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" }, - { "$ref": "#/components/schemas/ApplyMaskToImageInvocation" }, - { "$ref": "#/components/schemas/BlankImageInvocation" }, - { "$ref": "#/components/schemas/BlendLatentsInvocation" }, - { "$ref": "#/components/schemas/BooleanCollectionInvocation" }, - { "$ref": "#/components/schemas/BooleanInvocation" }, - { "$ref": "#/components/schemas/BoundingBoxInvocation" }, - { "$ref": "#/components/schemas/CLIPSkipInvocation" }, - { "$ref": "#/components/schemas/CV2InfillInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" }, - { "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/CanvasPasteBackInvocation" }, - { "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" }, - { "$ref": "#/components/schemas/CenterPadCropInvocation" }, - { "$ref": "#/components/schemas/CogView4DenoiseInvocation" }, - { "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" }, - { "$ref": "#/components/schemas/CogView4TextEncoderInvocation" }, - { "$ref": "#/components/schemas/CollectInvocation" }, - { "$ref": "#/components/schemas/ColorCorrectInvocation" }, - { "$ref": "#/components/schemas/ColorInvocation" }, - { "$ref": "#/components/schemas/ColorMapInvocation" }, - { "$ref": "#/components/schemas/CompelInvocation" }, - { "$ref": "#/components/schemas/ConditioningCollectionInvocation" }, - { "$ref": "#/components/schemas/ConditioningInvocation" }, - { "$ref": "#/components/schemas/ContentShuffleInvocation" }, - { "$ref": "#/components/schemas/ControlNetInvocation" }, - { "$ref": "#/components/schemas/CoreMetadataInvocation" }, - { "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" }, - { "$ref": "#/components/schemas/CreateGradientMaskInvocation" }, - { "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/CropLatentsCoreInvocation" }, - { "$ref": "#/components/schemas/CvInpaintInvocation" }, - { "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" }, - { "$ref": "#/components/schemas/DenoiseLatentsInvocation" }, - { "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" }, - { "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" }, - { "$ref": "#/components/schemas/DivideInvocation" }, - { "$ref": "#/components/schemas/DynamicPromptInvocation" }, - { "$ref": "#/components/schemas/ESRGANInvocation" }, - { "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" }, - { "$ref": "#/components/schemas/FLUXLoRACollectionLoader" }, - { "$ref": "#/components/schemas/FaceIdentifierInvocation" }, - { "$ref": "#/components/schemas/FaceMaskInvocation" }, - { "$ref": "#/components/schemas/FaceOffInvocation" }, - { "$ref": "#/components/schemas/FloatBatchInvocation" }, - { "$ref": "#/components/schemas/FloatCollectionInvocation" }, - { "$ref": "#/components/schemas/FloatGenerator" }, - { "$ref": "#/components/schemas/FloatInvocation" }, - { "$ref": "#/components/schemas/FloatLinearRangeInvocation" }, - { "$ref": "#/components/schemas/FloatMathInvocation" }, - { "$ref": "#/components/schemas/FloatToIntegerInvocation" }, - { "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/FluxControlNetInvocation" }, - { "$ref": "#/components/schemas/FluxDenoiseInvocation" }, - { "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" }, - { "$ref": "#/components/schemas/FluxFillInvocation" }, - { "$ref": "#/components/schemas/FluxIPAdapterInvocation" }, - { "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" }, - { "$ref": "#/components/schemas/FluxKontextInvocation" }, - { "$ref": "#/components/schemas/FluxLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/FluxModelLoaderInvocation" }, - { "$ref": "#/components/schemas/FluxReduxInvocation" }, - { "$ref": "#/components/schemas/FluxTextEncoderInvocation" }, - { "$ref": "#/components/schemas/FluxVaeDecodeInvocation" }, - { "$ref": "#/components/schemas/FluxVaeEncodeInvocation" }, - { "$ref": "#/components/schemas/FreeUInvocation" }, - { "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/GroundingDinoInvocation" }, - { "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/HeuristicResizeInvocation" }, - { "$ref": "#/components/schemas/IPAdapterInvocation" }, - { "$ref": "#/components/schemas/IdealSizeInvocation" }, - { "$ref": "#/components/schemas/ImageBatchInvocation" }, - { "$ref": "#/components/schemas/ImageBlurInvocation" }, - { "$ref": "#/components/schemas/ImageChannelInvocation" }, - { "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" }, - { "$ref": "#/components/schemas/ImageChannelOffsetInvocation" }, - { "$ref": "#/components/schemas/ImageCollectionInvocation" }, - { "$ref": "#/components/schemas/ImageConvertInvocation" }, - { "$ref": "#/components/schemas/ImageCropInvocation" }, - { "$ref": "#/components/schemas/ImageGenerator" }, - { "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" }, - { "$ref": "#/components/schemas/ImageInverseLerpInvocation" }, - { "$ref": "#/components/schemas/ImageInvocation" }, - { "$ref": "#/components/schemas/ImageLerpInvocation" }, - { "$ref": "#/components/schemas/ImageMaskToTensorInvocation" }, - { "$ref": "#/components/schemas/ImageMultiplyInvocation" }, - { "$ref": "#/components/schemas/ImageNSFWBlurInvocation" }, - { "$ref": "#/components/schemas/ImageNoiseInvocation" }, - { "$ref": "#/components/schemas/ImagePanelLayoutInvocation" }, - { "$ref": "#/components/schemas/ImagePasteInvocation" }, - { "$ref": "#/components/schemas/ImageResizeInvocation" }, - { "$ref": "#/components/schemas/ImageScaleInvocation" }, - { "$ref": "#/components/schemas/ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/ImageWatermarkInvocation" }, - { "$ref": "#/components/schemas/InfillColorInvocation" }, - { "$ref": "#/components/schemas/InfillPatchMatchInvocation" }, - { "$ref": "#/components/schemas/InfillTileInvocation" }, - { "$ref": "#/components/schemas/IntegerBatchInvocation" }, - { "$ref": "#/components/schemas/IntegerCollectionInvocation" }, - { "$ref": "#/components/schemas/IntegerGenerator" }, - { "$ref": "#/components/schemas/IntegerInvocation" }, - { "$ref": "#/components/schemas/IntegerMathInvocation" }, - { "$ref": "#/components/schemas/InvertTensorMaskInvocation" }, - { "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" }, - { "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" }, - { "$ref": "#/components/schemas/InvokeImageBlendInvocation" }, - { "$ref": "#/components/schemas/InvokeImageCompositorInvocation" }, - { "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" }, - { "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" }, - { "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" }, - { "$ref": "#/components/schemas/IterateInvocation" }, - { "$ref": "#/components/schemas/LaMaInfillInvocation" }, - { "$ref": "#/components/schemas/LatentsCollectionInvocation" }, - { "$ref": "#/components/schemas/LatentsInvocation" }, - { "$ref": "#/components/schemas/LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" }, - { "$ref": "#/components/schemas/LoRACollectionLoader" }, - { "$ref": "#/components/schemas/LoRALoaderInvocation" }, - { "$ref": "#/components/schemas/LoRASelectorInvocation" }, - { "$ref": "#/components/schemas/MLSDDetectionInvocation" }, - { "$ref": "#/components/schemas/MainModelLoaderInvocation" }, - { "$ref": "#/components/schemas/MaskCombineInvocation" }, - { "$ref": "#/components/schemas/MaskEdgeInvocation" }, - { "$ref": "#/components/schemas/MaskFromAlphaInvocation" }, - { "$ref": "#/components/schemas/MaskFromIDInvocation" }, - { "$ref": "#/components/schemas/MaskTensorToImageInvocation" }, - { "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" }, - { "$ref": "#/components/schemas/MergeMetadataInvocation" }, - { "$ref": "#/components/schemas/MergeTilesToImageInvocation" }, - { "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" }, - { "$ref": "#/components/schemas/MetadataFromImageInvocation" }, - { "$ref": "#/components/schemas/MetadataInvocation" }, - { "$ref": "#/components/schemas/MetadataItemInvocation" }, - { "$ref": "#/components/schemas/MetadataItemLinkedInvocation" }, - { "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToBoolInvocation" }, - { "$ref": "#/components/schemas/MetadataToControlnetsInvocation" }, - { "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToFloatInvocation" }, - { "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" }, - { "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToIntegerInvocation" }, - { "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToLorasInvocation" }, - { "$ref": "#/components/schemas/MetadataToModelInvocation" }, - { "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" }, - { "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" }, - { "$ref": "#/components/schemas/MetadataToSchedulerInvocation" }, - { "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToStringInvocation" }, - { "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" }, - { "$ref": "#/components/schemas/MetadataToVAEInvocation" }, - { "$ref": "#/components/schemas/ModelIdentifierInvocation" }, - { "$ref": "#/components/schemas/MultiplyInvocation" }, - { "$ref": "#/components/schemas/NoiseInvocation" }, - { "$ref": "#/components/schemas/NormalMapInvocation" }, - { "$ref": "#/components/schemas/PairTileImageInvocation" }, - { "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/PromptsFromFileInvocation" }, - { "$ref": "#/components/schemas/RandomFloatInvocation" }, - { "$ref": "#/components/schemas/RandomIntInvocation" }, - { "$ref": "#/components/schemas/RandomRangeInvocation" }, - { "$ref": "#/components/schemas/RangeInvocation" }, - { "$ref": "#/components/schemas/RangeOfSizeInvocation" }, - { "$ref": "#/components/schemas/RectangleMaskInvocation" }, - { "$ref": "#/components/schemas/ResizeLatentsInvocation" }, - { "$ref": "#/components/schemas/RoundInvocation" }, - { "$ref": "#/components/schemas/SD3DenoiseInvocation" }, - { "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/SD3LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/SDXLCompelPromptInvocation" }, - { "$ref": "#/components/schemas/SDXLLoRACollectionLoader" }, - { "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/SDXLModelLoaderInvocation" }, - { "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" }, - { "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" }, - { "$ref": "#/components/schemas/SaveImageInvocation" }, - { "$ref": "#/components/schemas/ScaleLatentsInvocation" }, - { "$ref": "#/components/schemas/SchedulerInvocation" }, - { "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" }, - { "$ref": "#/components/schemas/Sd3TextEncoderInvocation" }, - { "$ref": "#/components/schemas/SeamlessModeInvocation" }, - { "$ref": "#/components/schemas/SegmentAnythingInvocation" }, - { "$ref": "#/components/schemas/ShowImageInvocation" }, - { "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" }, - { "$ref": "#/components/schemas/SpandrelImageToImageInvocation" }, - { "$ref": "#/components/schemas/StringBatchInvocation" }, - { "$ref": "#/components/schemas/StringCollectionInvocation" }, - { "$ref": "#/components/schemas/StringGenerator" }, - { "$ref": "#/components/schemas/StringInvocation" }, - { "$ref": "#/components/schemas/StringJoinInvocation" }, - { "$ref": "#/components/schemas/StringJoinThreeInvocation" }, - { "$ref": "#/components/schemas/StringReplaceInvocation" }, - { "$ref": "#/components/schemas/StringSplitInvocation" }, - { "$ref": "#/components/schemas/StringSplitNegInvocation" }, - { "$ref": "#/components/schemas/SubtractInvocation" }, - { "$ref": "#/components/schemas/T2IAdapterInvocation" }, - { "$ref": "#/components/schemas/TileToPropertiesInvocation" }, - { "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" }, - { "$ref": "#/components/schemas/UnsharpMaskInvocation" }, - { "$ref": "#/components/schemas/VAELoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageDenoiseInvocation" }, - { "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" }, - { "$ref": "#/components/schemas/ZImageLoRACollectionLoader" }, - { "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageModelLoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageTextEncoderInvocation" } - ], - "title": "Invocation" - }, - "invocation_source_id": { - "description": "The ID of the prepared invocation's source node", - "title": "Invocation Source Id", + "message": { + "description": "A message to display", + "title": "Message", "type": "string" }, - "message": { "description": "A message to display", "title": "Message", "type": "string" }, "percentage": { - "anyOf": [{ "maximum": 1, "minimum": 0, "type": "number" }, { "type": "null" }], + "anyOf": [ + { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], "default": null, "description": "The percentage of the progress (omit to indicate indeterminate progress)", "title": "Percentage" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ProgressImage" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ProgressImage" + }, + { + "type": "null" + } + ], "default": null, "description": "An image representing the current state of the progress" } @@ -20957,18 +31216,48 @@ "InvocationStartedEvent": { "description": "Event model for invocation_started", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, - "item_id": { "description": "The ID of the queue item", "title": "Item Id", "type": "integer" }, - "batch_id": { "description": "The ID of the queue batch", "title": "Batch Id", "type": "string" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "queue_id": { + "description": "The ID of the queue", + "title": "Queue Id", + "type": "string" + }, + "item_id": { + "description": "The ID of the queue item", + "title": "Item Id", + "type": "integer" + }, + "batch_id": { + "description": "The ID of the queue batch", + "title": "Batch Id", + "type": "string" + }, "origin": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The origin of the queue item", "title": "Origin" }, "destination": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The destination of the queue item", "title": "Destination" @@ -20981,224 +31270,660 @@ "invocation": { "description": "The ID of the invocation", "oneOf": [ - { "$ref": "#/components/schemas/AddInvocation" }, - { "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" }, - { "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" }, - { "$ref": "#/components/schemas/ApplyMaskToImageInvocation" }, - { "$ref": "#/components/schemas/BlankImageInvocation" }, - { "$ref": "#/components/schemas/BlendLatentsInvocation" }, - { "$ref": "#/components/schemas/BooleanCollectionInvocation" }, - { "$ref": "#/components/schemas/BooleanInvocation" }, - { "$ref": "#/components/schemas/BoundingBoxInvocation" }, - { "$ref": "#/components/schemas/CLIPSkipInvocation" }, - { "$ref": "#/components/schemas/CV2InfillInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesInvocation" }, - { "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" }, - { "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/CanvasPasteBackInvocation" }, - { "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" }, - { "$ref": "#/components/schemas/CenterPadCropInvocation" }, - { "$ref": "#/components/schemas/CogView4DenoiseInvocation" }, - { "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" }, - { "$ref": "#/components/schemas/CogView4TextEncoderInvocation" }, - { "$ref": "#/components/schemas/CollectInvocation" }, - { "$ref": "#/components/schemas/ColorCorrectInvocation" }, - { "$ref": "#/components/schemas/ColorInvocation" }, - { "$ref": "#/components/schemas/ColorMapInvocation" }, - { "$ref": "#/components/schemas/CompelInvocation" }, - { "$ref": "#/components/schemas/ConditioningCollectionInvocation" }, - { "$ref": "#/components/schemas/ConditioningInvocation" }, - { "$ref": "#/components/schemas/ContentShuffleInvocation" }, - { "$ref": "#/components/schemas/ControlNetInvocation" }, - { "$ref": "#/components/schemas/CoreMetadataInvocation" }, - { "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" }, - { "$ref": "#/components/schemas/CreateGradientMaskInvocation" }, - { "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/CropLatentsCoreInvocation" }, - { "$ref": "#/components/schemas/CvInpaintInvocation" }, - { "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" }, - { "$ref": "#/components/schemas/DenoiseLatentsInvocation" }, - { "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" }, - { "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" }, - { "$ref": "#/components/schemas/DivideInvocation" }, - { "$ref": "#/components/schemas/DynamicPromptInvocation" }, - { "$ref": "#/components/schemas/ESRGANInvocation" }, - { "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" }, - { "$ref": "#/components/schemas/FLUXLoRACollectionLoader" }, - { "$ref": "#/components/schemas/FaceIdentifierInvocation" }, - { "$ref": "#/components/schemas/FaceMaskInvocation" }, - { "$ref": "#/components/schemas/FaceOffInvocation" }, - { "$ref": "#/components/schemas/FloatBatchInvocation" }, - { "$ref": "#/components/schemas/FloatCollectionInvocation" }, - { "$ref": "#/components/schemas/FloatGenerator" }, - { "$ref": "#/components/schemas/FloatInvocation" }, - { "$ref": "#/components/schemas/FloatLinearRangeInvocation" }, - { "$ref": "#/components/schemas/FloatMathInvocation" }, - { "$ref": "#/components/schemas/FloatToIntegerInvocation" }, - { "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/FluxControlNetInvocation" }, - { "$ref": "#/components/schemas/FluxDenoiseInvocation" }, - { "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" }, - { "$ref": "#/components/schemas/FluxFillInvocation" }, - { "$ref": "#/components/schemas/FluxIPAdapterInvocation" }, - { "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" }, - { "$ref": "#/components/schemas/FluxKontextInvocation" }, - { "$ref": "#/components/schemas/FluxLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/FluxModelLoaderInvocation" }, - { "$ref": "#/components/schemas/FluxReduxInvocation" }, - { "$ref": "#/components/schemas/FluxTextEncoderInvocation" }, - { "$ref": "#/components/schemas/FluxVaeDecodeInvocation" }, - { "$ref": "#/components/schemas/FluxVaeEncodeInvocation" }, - { "$ref": "#/components/schemas/FreeUInvocation" }, - { "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/GroundingDinoInvocation" }, - { "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/HeuristicResizeInvocation" }, - { "$ref": "#/components/schemas/IPAdapterInvocation" }, - { "$ref": "#/components/schemas/IdealSizeInvocation" }, - { "$ref": "#/components/schemas/ImageBatchInvocation" }, - { "$ref": "#/components/schemas/ImageBlurInvocation" }, - { "$ref": "#/components/schemas/ImageChannelInvocation" }, - { "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" }, - { "$ref": "#/components/schemas/ImageChannelOffsetInvocation" }, - { "$ref": "#/components/schemas/ImageCollectionInvocation" }, - { "$ref": "#/components/schemas/ImageConvertInvocation" }, - { "$ref": "#/components/schemas/ImageCropInvocation" }, - { "$ref": "#/components/schemas/ImageGenerator" }, - { "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" }, - { "$ref": "#/components/schemas/ImageInverseLerpInvocation" }, - { "$ref": "#/components/schemas/ImageInvocation" }, - { "$ref": "#/components/schemas/ImageLerpInvocation" }, - { "$ref": "#/components/schemas/ImageMaskToTensorInvocation" }, - { "$ref": "#/components/schemas/ImageMultiplyInvocation" }, - { "$ref": "#/components/schemas/ImageNSFWBlurInvocation" }, - { "$ref": "#/components/schemas/ImageNoiseInvocation" }, - { "$ref": "#/components/schemas/ImagePanelLayoutInvocation" }, - { "$ref": "#/components/schemas/ImagePasteInvocation" }, - { "$ref": "#/components/schemas/ImageResizeInvocation" }, - { "$ref": "#/components/schemas/ImageScaleInvocation" }, - { "$ref": "#/components/schemas/ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/ImageWatermarkInvocation" }, - { "$ref": "#/components/schemas/InfillColorInvocation" }, - { "$ref": "#/components/schemas/InfillPatchMatchInvocation" }, - { "$ref": "#/components/schemas/InfillTileInvocation" }, - { "$ref": "#/components/schemas/IntegerBatchInvocation" }, - { "$ref": "#/components/schemas/IntegerCollectionInvocation" }, - { "$ref": "#/components/schemas/IntegerGenerator" }, - { "$ref": "#/components/schemas/IntegerInvocation" }, - { "$ref": "#/components/schemas/IntegerMathInvocation" }, - { "$ref": "#/components/schemas/InvertTensorMaskInvocation" }, - { "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" }, - { "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" }, - { "$ref": "#/components/schemas/InvokeImageBlendInvocation" }, - { "$ref": "#/components/schemas/InvokeImageCompositorInvocation" }, - { "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" }, - { "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" }, - { "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" }, - { "$ref": "#/components/schemas/IterateInvocation" }, - { "$ref": "#/components/schemas/LaMaInfillInvocation" }, - { "$ref": "#/components/schemas/LatentsCollectionInvocation" }, - { "$ref": "#/components/schemas/LatentsInvocation" }, - { "$ref": "#/components/schemas/LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" }, - { "$ref": "#/components/schemas/LoRACollectionLoader" }, - { "$ref": "#/components/schemas/LoRALoaderInvocation" }, - { "$ref": "#/components/schemas/LoRASelectorInvocation" }, - { "$ref": "#/components/schemas/MLSDDetectionInvocation" }, - { "$ref": "#/components/schemas/MainModelLoaderInvocation" }, - { "$ref": "#/components/schemas/MaskCombineInvocation" }, - { "$ref": "#/components/schemas/MaskEdgeInvocation" }, - { "$ref": "#/components/schemas/MaskFromAlphaInvocation" }, - { "$ref": "#/components/schemas/MaskFromIDInvocation" }, - { "$ref": "#/components/schemas/MaskTensorToImageInvocation" }, - { "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" }, - { "$ref": "#/components/schemas/MergeMetadataInvocation" }, - { "$ref": "#/components/schemas/MergeTilesToImageInvocation" }, - { "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" }, - { "$ref": "#/components/schemas/MetadataFromImageInvocation" }, - { "$ref": "#/components/schemas/MetadataInvocation" }, - { "$ref": "#/components/schemas/MetadataItemInvocation" }, - { "$ref": "#/components/schemas/MetadataItemLinkedInvocation" }, - { "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToBoolInvocation" }, - { "$ref": "#/components/schemas/MetadataToControlnetsInvocation" }, - { "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToFloatInvocation" }, - { "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" }, - { "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToIntegerInvocation" }, - { "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToLorasInvocation" }, - { "$ref": "#/components/schemas/MetadataToModelInvocation" }, - { "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" }, - { "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" }, - { "$ref": "#/components/schemas/MetadataToSchedulerInvocation" }, - { "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" }, - { "$ref": "#/components/schemas/MetadataToStringInvocation" }, - { "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" }, - { "$ref": "#/components/schemas/MetadataToVAEInvocation" }, - { "$ref": "#/components/schemas/ModelIdentifierInvocation" }, - { "$ref": "#/components/schemas/MultiplyInvocation" }, - { "$ref": "#/components/schemas/NoiseInvocation" }, - { "$ref": "#/components/schemas/NormalMapInvocation" }, - { "$ref": "#/components/schemas/PairTileImageInvocation" }, - { "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" }, - { "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" }, - { "$ref": "#/components/schemas/PromptsFromFileInvocation" }, - { "$ref": "#/components/schemas/RandomFloatInvocation" }, - { "$ref": "#/components/schemas/RandomIntInvocation" }, - { "$ref": "#/components/schemas/RandomRangeInvocation" }, - { "$ref": "#/components/schemas/RangeInvocation" }, - { "$ref": "#/components/schemas/RangeOfSizeInvocation" }, - { "$ref": "#/components/schemas/RectangleMaskInvocation" }, - { "$ref": "#/components/schemas/ResizeLatentsInvocation" }, - { "$ref": "#/components/schemas/RoundInvocation" }, - { "$ref": "#/components/schemas/SD3DenoiseInvocation" }, - { "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/SD3LatentsToImageInvocation" }, - { "$ref": "#/components/schemas/SDXLCompelPromptInvocation" }, - { "$ref": "#/components/schemas/SDXLLoRACollectionLoader" }, - { "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/SDXLModelLoaderInvocation" }, - { "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" }, - { "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" }, - { "$ref": "#/components/schemas/SaveImageInvocation" }, - { "$ref": "#/components/schemas/ScaleLatentsInvocation" }, - { "$ref": "#/components/schemas/SchedulerInvocation" }, - { "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" }, - { "$ref": "#/components/schemas/Sd3TextEncoderInvocation" }, - { "$ref": "#/components/schemas/SeamlessModeInvocation" }, - { "$ref": "#/components/schemas/SegmentAnythingInvocation" }, - { "$ref": "#/components/schemas/ShowImageInvocation" }, - { "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" }, - { "$ref": "#/components/schemas/SpandrelImageToImageInvocation" }, - { "$ref": "#/components/schemas/StringBatchInvocation" }, - { "$ref": "#/components/schemas/StringCollectionInvocation" }, - { "$ref": "#/components/schemas/StringGenerator" }, - { "$ref": "#/components/schemas/StringInvocation" }, - { "$ref": "#/components/schemas/StringJoinInvocation" }, - { "$ref": "#/components/schemas/StringJoinThreeInvocation" }, - { "$ref": "#/components/schemas/StringReplaceInvocation" }, - { "$ref": "#/components/schemas/StringSplitInvocation" }, - { "$ref": "#/components/schemas/StringSplitNegInvocation" }, - { "$ref": "#/components/schemas/SubtractInvocation" }, - { "$ref": "#/components/schemas/T2IAdapterInvocation" }, - { "$ref": "#/components/schemas/TileToPropertiesInvocation" }, - { "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" }, - { "$ref": "#/components/schemas/UnsharpMaskInvocation" }, - { "$ref": "#/components/schemas/VAELoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageDenoiseInvocation" }, - { "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" }, - { "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" }, - { "$ref": "#/components/schemas/ZImageLoRACollectionLoader" }, - { "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageModelLoaderInvocation" }, - { "$ref": "#/components/schemas/ZImageTextEncoderInvocation" } + { + "$ref": "#/components/schemas/AddInvocation" + }, + { + "$ref": "#/components/schemas/AlphaMaskToTensorInvocation" + }, + { + "$ref": "#/components/schemas/ApplyMaskTensorToImageInvocation" + }, + { + "$ref": "#/components/schemas/ApplyMaskToImageInvocation" + }, + { + "$ref": "#/components/schemas/BlankImageInvocation" + }, + { + "$ref": "#/components/schemas/BlendLatentsInvocation" + }, + { + "$ref": "#/components/schemas/BooleanCollectionInvocation" + }, + { + "$ref": "#/components/schemas/BooleanInvocation" + }, + { + "$ref": "#/components/schemas/BoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/CLIPSkipInvocation" + }, + { + "$ref": "#/components/schemas/CV2InfillInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesEvenSplitInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesInvocation" + }, + { + "$ref": "#/components/schemas/CalculateImageTilesMinimumOverlapInvocation" + }, + { + "$ref": "#/components/schemas/CannyEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/CanvasPasteBackInvocation" + }, + { + "$ref": "#/components/schemas/CanvasV2MaskAndCropInvocation" + }, + { + "$ref": "#/components/schemas/CenterPadCropInvocation" + }, + { + "$ref": "#/components/schemas/CogView4DenoiseInvocation" + }, + { + "$ref": "#/components/schemas/CogView4ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/CogView4LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/CogView4ModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/CogView4TextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/CollectInvocation" + }, + { + "$ref": "#/components/schemas/ColorCorrectInvocation" + }, + { + "$ref": "#/components/schemas/ColorInvocation" + }, + { + "$ref": "#/components/schemas/ColorMapInvocation" + }, + { + "$ref": "#/components/schemas/CompelInvocation" + }, + { + "$ref": "#/components/schemas/ConditioningCollectionInvocation" + }, + { + "$ref": "#/components/schemas/ConditioningInvocation" + }, + { + "$ref": "#/components/schemas/ContentShuffleInvocation" + }, + { + "$ref": "#/components/schemas/ControlNetInvocation" + }, + { + "$ref": "#/components/schemas/CoreMetadataInvocation" + }, + { + "$ref": "#/components/schemas/CreateDenoiseMaskInvocation" + }, + { + "$ref": "#/components/schemas/CreateGradientMaskInvocation" + }, + { + "$ref": "#/components/schemas/CropImageToBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/CropLatentsCoreInvocation" + }, + { + "$ref": "#/components/schemas/CvInpaintInvocation" + }, + { + "$ref": "#/components/schemas/DWOpenposeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/DenoiseLatentsInvocation" + }, + { + "$ref": "#/components/schemas/DenoiseLatentsMetaInvocation" + }, + { + "$ref": "#/components/schemas/DepthAnythingDepthEstimationInvocation" + }, + { + "$ref": "#/components/schemas/DivideInvocation" + }, + { + "$ref": "#/components/schemas/DynamicPromptInvocation" + }, + { + "$ref": "#/components/schemas/ESRGANInvocation" + }, + { + "$ref": "#/components/schemas/ExpandMaskWithFadeInvocation" + }, + { + "$ref": "#/components/schemas/FLUXLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/FaceIdentifierInvocation" + }, + { + "$ref": "#/components/schemas/FaceMaskInvocation" + }, + { + "$ref": "#/components/schemas/FaceOffInvocation" + }, + { + "$ref": "#/components/schemas/FloatBatchInvocation" + }, + { + "$ref": "#/components/schemas/FloatCollectionInvocation" + }, + { + "$ref": "#/components/schemas/FloatGenerator" + }, + { + "$ref": "#/components/schemas/FloatInvocation" + }, + { + "$ref": "#/components/schemas/FloatLinearRangeInvocation" + }, + { + "$ref": "#/components/schemas/FloatMathInvocation" + }, + { + "$ref": "#/components/schemas/FloatToIntegerInvocation" + }, + { + "$ref": "#/components/schemas/FluxControlLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxControlNetInvocation" + }, + { + "$ref": "#/components/schemas/FluxDenoiseInvocation" + }, + { + "$ref": "#/components/schemas/FluxDenoiseLatentsMetaInvocation" + }, + { + "$ref": "#/components/schemas/FluxFillInvocation" + }, + { + "$ref": "#/components/schemas/FluxIPAdapterInvocation" + }, + { + "$ref": "#/components/schemas/FluxKontextConcatenateImagesInvocation" + }, + { + "$ref": "#/components/schemas/FluxKontextInvocation" + }, + { + "$ref": "#/components/schemas/FluxLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/FluxReduxInvocation" + }, + { + "$ref": "#/components/schemas/FluxTextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/FluxVaeDecodeInvocation" + }, + { + "$ref": "#/components/schemas/FluxVaeEncodeInvocation" + }, + { + "$ref": "#/components/schemas/FreeUInvocation" + }, + { + "$ref": "#/components/schemas/GetMaskBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/GroundingDinoInvocation" + }, + { + "$ref": "#/components/schemas/HEDEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/HeuristicResizeInvocation" + }, + { + "$ref": "#/components/schemas/IPAdapterInvocation" + }, + { + "$ref": "#/components/schemas/IdealSizeInvocation" + }, + { + "$ref": "#/components/schemas/ImageBatchInvocation" + }, + { + "$ref": "#/components/schemas/ImageBlurInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelMultiplyInvocation" + }, + { + "$ref": "#/components/schemas/ImageChannelOffsetInvocation" + }, + { + "$ref": "#/components/schemas/ImageCollectionInvocation" + }, + { + "$ref": "#/components/schemas/ImageConvertInvocation" + }, + { + "$ref": "#/components/schemas/ImageCropInvocation" + }, + { + "$ref": "#/components/schemas/ImageGenerator" + }, + { + "$ref": "#/components/schemas/ImageHueAdjustmentInvocation" + }, + { + "$ref": "#/components/schemas/ImageInverseLerpInvocation" + }, + { + "$ref": "#/components/schemas/ImageInvocation" + }, + { + "$ref": "#/components/schemas/ImageLerpInvocation" + }, + { + "$ref": "#/components/schemas/ImageMaskToTensorInvocation" + }, + { + "$ref": "#/components/schemas/ImageMultiplyInvocation" + }, + { + "$ref": "#/components/schemas/ImageNSFWBlurInvocation" + }, + { + "$ref": "#/components/schemas/ImageNoiseInvocation" + }, + { + "$ref": "#/components/schemas/ImagePanelLayoutInvocation" + }, + { + "$ref": "#/components/schemas/ImagePasteInvocation" + }, + { + "$ref": "#/components/schemas/ImageResizeInvocation" + }, + { + "$ref": "#/components/schemas/ImageScaleInvocation" + }, + { + "$ref": "#/components/schemas/ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/ImageWatermarkInvocation" + }, + { + "$ref": "#/components/schemas/InfillColorInvocation" + }, + { + "$ref": "#/components/schemas/InfillPatchMatchInvocation" + }, + { + "$ref": "#/components/schemas/InfillTileInvocation" + }, + { + "$ref": "#/components/schemas/IntegerBatchInvocation" + }, + { + "$ref": "#/components/schemas/IntegerCollectionInvocation" + }, + { + "$ref": "#/components/schemas/IntegerGenerator" + }, + { + "$ref": "#/components/schemas/IntegerInvocation" + }, + { + "$ref": "#/components/schemas/IntegerMathInvocation" + }, + { + "$ref": "#/components/schemas/InvertTensorMaskInvocation" + }, + { + "$ref": "#/components/schemas/InvokeAdjustImageHuePlusInvocation" + }, + { + "$ref": "#/components/schemas/InvokeEquivalentAchromaticLightnessInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageBlendInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageCompositorInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageDilateOrErodeInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageEnhanceInvocation" + }, + { + "$ref": "#/components/schemas/InvokeImageValueThresholdsInvocation" + }, + { + "$ref": "#/components/schemas/IterateInvocation" + }, + { + "$ref": "#/components/schemas/LaMaInfillInvocation" + }, + { + "$ref": "#/components/schemas/LatentsCollectionInvocation" + }, + { + "$ref": "#/components/schemas/LatentsInvocation" + }, + { + "$ref": "#/components/schemas/LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/LineartAnimeEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/LineartEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/LlavaOnevisionVllmInvocation" + }, + { + "$ref": "#/components/schemas/LoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/LoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/LoRASelectorInvocation" + }, + { + "$ref": "#/components/schemas/MLSDDetectionInvocation" + }, + { + "$ref": "#/components/schemas/MainModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/MaskCombineInvocation" + }, + { + "$ref": "#/components/schemas/MaskEdgeInvocation" + }, + { + "$ref": "#/components/schemas/MaskFromAlphaInvocation" + }, + { + "$ref": "#/components/schemas/MaskFromIDInvocation" + }, + { + "$ref": "#/components/schemas/MaskTensorToImageInvocation" + }, + { + "$ref": "#/components/schemas/MediaPipeFaceDetectionInvocation" + }, + { + "$ref": "#/components/schemas/MergeMetadataInvocation" + }, + { + "$ref": "#/components/schemas/MergeTilesToImageInvocation" + }, + { + "$ref": "#/components/schemas/MetadataFieldExtractorInvocation" + }, + { + "$ref": "#/components/schemas/MetadataFromImageInvocation" + }, + { + "$ref": "#/components/schemas/MetadataInvocation" + }, + { + "$ref": "#/components/schemas/MetadataItemInvocation" + }, + { + "$ref": "#/components/schemas/MetadataItemLinkedInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToBoolCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToBoolInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToControlnetsInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToFloatCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToFloatInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIPAdaptersInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIntegerCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToIntegerInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToLorasCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToLorasInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToModelInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSDXLLorasInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSDXLModelInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToSchedulerInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToStringCollectionInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToStringInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToT2IAdaptersInvocation" + }, + { + "$ref": "#/components/schemas/MetadataToVAEInvocation" + }, + { + "$ref": "#/components/schemas/ModelIdentifierInvocation" + }, + { + "$ref": "#/components/schemas/MultiplyInvocation" + }, + { + "$ref": "#/components/schemas/NoiseInvocation" + }, + { + "$ref": "#/components/schemas/NormalMapInvocation" + }, + { + "$ref": "#/components/schemas/PairTileImageInvocation" + }, + { + "$ref": "#/components/schemas/PasteImageIntoBoundingBoxInvocation" + }, + { + "$ref": "#/components/schemas/PiDiNetEdgeDetectionInvocation" + }, + { + "$ref": "#/components/schemas/PromptsFromFileInvocation" + }, + { + "$ref": "#/components/schemas/RandomFloatInvocation" + }, + { + "$ref": "#/components/schemas/RandomIntInvocation" + }, + { + "$ref": "#/components/schemas/RandomRangeInvocation" + }, + { + "$ref": "#/components/schemas/RangeInvocation" + }, + { + "$ref": "#/components/schemas/RangeOfSizeInvocation" + }, + { + "$ref": "#/components/schemas/RectangleMaskInvocation" + }, + { + "$ref": "#/components/schemas/ResizeLatentsInvocation" + }, + { + "$ref": "#/components/schemas/RoundInvocation" + }, + { + "$ref": "#/components/schemas/SD3DenoiseInvocation" + }, + { + "$ref": "#/components/schemas/SD3ImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/SD3LatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/SDXLCompelPromptInvocation" + }, + { + "$ref": "#/components/schemas/SDXLLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/SDXLLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/SDXLModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/SDXLRefinerCompelPromptInvocation" + }, + { + "$ref": "#/components/schemas/SDXLRefinerModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/SaveImageInvocation" + }, + { + "$ref": "#/components/schemas/ScaleLatentsInvocation" + }, + { + "$ref": "#/components/schemas/SchedulerInvocation" + }, + { + "$ref": "#/components/schemas/Sd3ModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/Sd3TextEncoderInvocation" + }, + { + "$ref": "#/components/schemas/SeamlessModeInvocation" + }, + { + "$ref": "#/components/schemas/SegmentAnythingInvocation" + }, + { + "$ref": "#/components/schemas/ShowImageInvocation" + }, + { + "$ref": "#/components/schemas/SpandrelImageToImageAutoscaleInvocation" + }, + { + "$ref": "#/components/schemas/SpandrelImageToImageInvocation" + }, + { + "$ref": "#/components/schemas/StringBatchInvocation" + }, + { + "$ref": "#/components/schemas/StringCollectionInvocation" + }, + { + "$ref": "#/components/schemas/StringGenerator" + }, + { + "$ref": "#/components/schemas/StringInvocation" + }, + { + "$ref": "#/components/schemas/StringJoinInvocation" + }, + { + "$ref": "#/components/schemas/StringJoinThreeInvocation" + }, + { + "$ref": "#/components/schemas/StringReplaceInvocation" + }, + { + "$ref": "#/components/schemas/StringSplitInvocation" + }, + { + "$ref": "#/components/schemas/StringSplitNegInvocation" + }, + { + "$ref": "#/components/schemas/SubtractInvocation" + }, + { + "$ref": "#/components/schemas/T2IAdapterInvocation" + }, + { + "$ref": "#/components/schemas/TileToPropertiesInvocation" + }, + { + "$ref": "#/components/schemas/TiledMultiDiffusionDenoiseLatents" + }, + { + "$ref": "#/components/schemas/UnsharpMaskInvocation" + }, + { + "$ref": "#/components/schemas/VAELoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageDenoiseInvocation" + }, + { + "$ref": "#/components/schemas/ZImageImageToLatentsInvocation" + }, + { + "$ref": "#/components/schemas/ZImageLatentsToImageInvocation" + }, + { + "$ref": "#/components/schemas/ZImageLoRACollectionLoader" + }, + { + "$ref": "#/components/schemas/ZImageLoRALoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageModelLoaderInvocation" + }, + { + "$ref": "#/components/schemas/ZImageTextEncoderInvocation" + } ], "title": "Invocation" }, @@ -21231,7 +31956,15 @@ "default": "4.0.2" }, "legacy_models_yaml_path": { - "anyOf": [{ "type": "string", "format": "path" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "path" + }, + { + "type": "null" + } + ], "title": "Legacy Models Yaml Path", "description": "Path to the legacy models.yaml file. This is not a user-configurable setting." }, @@ -21241,9 +31974,16 @@ "description": "IP address to bind to. Use `0.0.0.0` to serve to your local network.", "default": "127.0.0.1" }, - "port": { "type": "integer", "title": "Port", "description": "Port to bind to.", "default": 9090 }, + "port": { + "type": "integer", + "title": "Port", + "description": "Port to bind to.", + "default": 9090 + }, "allow_origins": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Allow Origins", "description": "Allowed CORS origins.", @@ -21256,26 +31996,46 @@ "default": true }, "allow_methods": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Allow Methods", "description": "Methods allowed for CORS.", "default": ["*"] }, "allow_headers": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Allow Headers", "description": "Headers allowed for CORS.", "default": ["*"] }, "ssl_certfile": { - "anyOf": [{ "type": "string", "format": "path" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "path" + }, + { + "type": "null" + } + ], "title": "Ssl Certfile", "description": "SSL certificate file for HTTPS. See https://www.uvicorn.org/settings/#https." }, "ssl_keyfile": { - "anyOf": [{ "type": "string", "format": "path" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "path" + }, + { + "type": "null" + } + ], "title": "Ssl Keyfile", "description": "SSL key file for HTTPS. See https://www.uvicorn.org/settings/#https." }, @@ -21355,7 +32115,9 @@ "default": "workflow_thumbnails" }, "log_handlers": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Log Handlers", "description": "Log handler. Valid options are \"console\", \"file=\", \"syslog=path|address:host:port\", \"http=\".", @@ -21407,7 +32169,14 @@ "default": false }, "profile_prefix": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Profile Prefix", "description": "An optional prefix for profile output files." }, @@ -21419,12 +32188,28 @@ "default": "profiles" }, "max_cache_ram_gb": { - "anyOf": [{ "type": "number", "exclusiveMinimum": 0.0 }, { "type": "null" }], + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0.0 + }, + { + "type": "null" + } + ], "title": "Max Cache Ram Gb", "description": "The maximum amount of CPU RAM to use for model caching in GB. If unset, the limit will be configured based on the available RAM. In most cases, it is recommended to leave this unset." }, "max_cache_vram_gb": { - "anyOf": [{ "type": "number", "minimum": 0.0 }, { "type": "null" }], + "anyOf": [ + { + "type": "number", + "minimum": 0.0 + }, + { + "type": "null" + } + ], "title": "Max Cache Vram Gb", "description": "The amount of VRAM to use for model caching in GB. If unset, the limit will be configured based on the available VRAM and the device_working_mem_gb. In most cases, it is recommended to leave this unset." }, @@ -21453,12 +32238,28 @@ "default": true }, "ram": { - "anyOf": [{ "type": "number", "exclusiveMinimum": 0.0 }, { "type": "null" }], + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0.0 + }, + { + "type": "null" + } + ], "title": "Ram", "description": "DEPRECATED: This setting is no longer used. It has been replaced by `max_cache_ram_gb`, but most users will not need to use this config since automatic cache size limits should work well in most cases. This config setting will be removed once the new model cache behavior is stable." }, "vram": { - "anyOf": [{ "type": "number", "minimum": 0.0 }, { "type": "null" }], + "anyOf": [ + { + "type": "number", + "minimum": 0.0 + }, + { + "type": "null" + } + ], "title": "Vram", "description": "DEPRECATED: This setting is no longer used. It has been replaced by `max_cache_vram_gb`, but most users will not need to use this config since automatic cache size limits should work well in most cases. This config setting will be removed once the new model cache behavior is stable." }, @@ -21469,7 +32270,14 @@ "default": true }, "pytorch_cuda_alloc_conf": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Pytorch Cuda Alloc Conf", "description": "Configure the Torch CUDA memory allocator. This will impact peak reserved VRAM usage and performance. Setting to \"backend:cudaMallocAsync\" works well on many systems. The optimal configuration is highly dependent on the system configuration (device type, VRAM, CUDA driver version, etc.), so must be tuned experimentally." }, @@ -21532,12 +32340,32 @@ "default": false }, "allow_nodes": { - "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], "title": "Allow Nodes", "description": "List of nodes to allow. Omit to allow all." }, "deny_nodes": { - "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], "title": "Deny Nodes", "description": "List of nodes to deny. Omit to deny none." }, @@ -21574,8 +32402,15 @@ }, "remote_api_tokens": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/URLRegexTokenPair" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/URLRegexTokenPair" + }, + "type": "array" + }, + { + "type": "null" + } ], "title": "Remote Api Tokens", "description": "List of regular expression and token pairs used when downloading models from URLs. The download URL is tested against the regex, and if it matches, the token is provided in as a Bearer token." @@ -21607,13 +32442,18 @@ "InvokeAIAppConfigWithSetFields": { "properties": { "set_fields": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "uniqueItems": true, "title": "Set Fields", "description": "The set fields" }, - "config": { "$ref": "#/components/schemas/InvokeAIAppConfig", "description": "The InvokeAI App Config" } + "config": { + "$ref": "#/components/schemas/InvokeAIAppConfig", + "description": "The InvokeAI App Config" + } }, "type": "object", "required": ["set_fields", "config"], @@ -21628,7 +32468,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -21637,7 +32484,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -21670,7 +32524,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to adjust", "field_kind": "input", @@ -21749,7 +32610,9 @@ "title": "Adjust Image Hue Plus", "type": "object", "version": "1.2.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "InvokeEquivalentAchromaticLightnessInvocation": { "category": "image", @@ -21759,7 +32622,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -21768,7 +32638,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -21801,7 +32678,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Image from which to get channel", "field_kind": "input", @@ -21821,7 +32705,9 @@ "title": "Equivalent Achromatic Lightness", "type": "object", "version": "1.2.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "InvokeImageBlendInvocation": { "category": "image", @@ -21831,7 +32717,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -21840,7 +32733,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -21873,7 +32773,14 @@ "type": "boolean" }, "layer_upper": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The top image to blend", "field_kind": "input", @@ -21930,7 +32837,14 @@ "ui_order": 3 }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional mask, used to restrict areas from blending", "field_kind": "input", @@ -21962,7 +32876,14 @@ "ui_order": 6 }, "layer_base": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The bottom image to blend", "field_kind": "input", @@ -22018,7 +32939,9 @@ "title": "Image Layer Blend", "type": "object", "version": "1.2.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "InvokeImageCompositorInvocation": { "category": "image", @@ -22028,7 +32951,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -22037,7 +32967,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -22070,7 +33007,14 @@ "type": "boolean" }, "image_subject": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Image of the subject on a plain monochrome background", "field_kind": "input", @@ -22078,7 +33022,14 @@ "orig_required": true }, "image_background": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "Image of a background scene", "field_kind": "input", @@ -22159,7 +33110,9 @@ "title": "Image Compositor", "type": "object", "version": "1.2.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "InvokeImageDilateOrErodeInvocation": { "category": "image", @@ -22169,7 +33122,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -22202,7 +33162,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image from which to create a mask", "field_kind": "input", @@ -22265,7 +33232,9 @@ "title": "Image Dilate or Erode", "type": "object", "version": "1.3.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "InvokeImageEnhanceInvocation": { "category": "image", @@ -22275,7 +33244,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -22284,7 +33260,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -22317,7 +33300,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image for which to apply processing", "field_kind": "input", @@ -22391,7 +33381,9 @@ "title": "Enhance Image", "type": "object", "version": "1.2.1", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "InvokeImageValueThresholdsInvocation": { "category": "image", @@ -22401,7 +33393,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -22410,7 +33409,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -22443,7 +33449,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image from which to create a mask", "field_kind": "input", @@ -22513,12 +33526,16 @@ "title": "Image Value Thresholds", "type": "object", "version": "1.2.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ItemIdsResult": { "properties": { "item_ids": { - "items": { "type": "integer" }, + "items": { + "type": "integer" + }, "type": "array", "title": "Item Ids", "description": "Ordered list of item ids" @@ -22599,7 +33616,9 @@ "title": "IterateInvocation", "type": "object", "version": "1.1.0", - "output": { "$ref": "#/components/schemas/IterateInvocationOutput" } + "output": { + "$ref": "#/components/schemas/IterateInvocationOutput" + } }, "IterateInvocationOutput": { "class": "output", @@ -22647,7 +33666,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -22656,7 +33682,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -22689,7 +33722,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -22709,7 +33749,9 @@ "title": "LaMa Infill", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "LatentsCollectionInvocation": { "category": "primitives", @@ -22744,8 +33786,15 @@ }, "collection": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/LatentsField" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/LatentsField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "The collection of latents tensors", @@ -22767,7 +33816,9 @@ "title": "Latents Collection Primitive", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/LatentsCollectionOutput" } + "output": { + "$ref": "#/components/schemas/LatentsCollectionOutput" + } }, "LatentsCollectionOutput": { "class": "output", @@ -22776,7 +33827,9 @@ "collection": { "description": "Latents tensor", "field_kind": "output", - "items": { "$ref": "#/components/schemas/LatentsField" }, + "items": { + "$ref": "#/components/schemas/LatentsField" + }, "title": "Collection", "type": "array", "ui_hidden": false @@ -22796,9 +33849,20 @@ "LatentsField": { "description": "A latents tensor primitive field", "properties": { - "latents_name": { "description": "The name of the latents", "title": "Latents Name", "type": "string" }, + "latents_name": { + "description": "The name of the latents", + "title": "Latents Name", + "type": "string" + }, "seed": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "Seed used to generate this latents", "title": "Seed" @@ -22840,7 +33904,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "The latents tensor", "field_kind": "input", @@ -22860,7 +33931,9 @@ "title": "Latents Primitive", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "LatentsMetaOutput": { "class": "output", @@ -22948,7 +34021,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -22957,7 +34037,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -22990,7 +34077,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -22998,7 +34092,14 @@ "orig_required": true }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -23049,7 +34150,9 @@ "title": "Latents to Image - SD1.5, SDXL", "type": "object", "version": "1.3.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "LineartAnimeEdgeDetectionInvocation": { "category": "controlnet", @@ -23059,7 +34162,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -23068,7 +34178,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -23101,7 +34218,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -23121,7 +34245,9 @@ "title": "Lineart Anime Edge Detection", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "LineartEdgeDetectionInvocation": { "category": "controlnet", @@ -23131,7 +34257,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -23140,7 +34273,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -23173,7 +34313,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -23203,7 +34350,9 @@ "title": "Lineart Edge Detection", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "LlavaOnevisionVllmInvocation": { "category": "vllm", @@ -23240,12 +34389,21 @@ "anyOf": [ { "anyOf": [ - { "items": { "$ref": "#/components/schemas/ImageField" }, "type": "array" }, - { "$ref": "#/components/schemas/ImageField" } + { + "items": { + "$ref": "#/components/schemas/ImageField" + }, + "type": "array" + }, + { + "$ref": "#/components/schemas/ImageField" + } ], "maxLength": 3 }, - { "type": "null" } + { + "type": "null" + } ], "default": null, "description": "Input image.", @@ -23267,7 +34425,14 @@ "ui_component": "textarea" }, "vllm_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "The VLLM model to use", "field_kind": "input", @@ -23289,21 +34454,46 @@ "title": "LLaVA OneVision VLLM", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/StringOutput" } + "output": { + "$ref": "#/components/schemas/StringOutput" + } }, "LlavaOnevision_Diffusers_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -23312,21 +34502,56 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "type": { "type": "string", "const": "llava_onevision", "title": "Type", "default": "llava_onevision" }, - "base": { "type": "string", "const": "any", "title": "Base", "default": "any" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "type": { + "type": "string", + "const": "llava_onevision", + "title": "Type", + "default": "llava_onevision" + }, + "base": { + "type": "string", + "const": "any", + "title": "Base", + "default": "any" + } }, "type": "object", "required": [ @@ -23381,9 +34606,18 @@ }, "loras": { "anyOf": [ - { "$ref": "#/components/schemas/LoRAField" }, - { "items": { "$ref": "#/components/schemas/LoRAField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/LoRAField" + }, + { + "items": { + "$ref": "#/components/schemas/LoRAField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "LoRA models and weights. May be a single LoRA or collection.", @@ -23394,7 +34628,14 @@ "title": "LoRAs" }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "input", @@ -23404,7 +34645,14 @@ "title": "UNet" }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -23426,12 +34674,21 @@ "title": "Apply LoRA Collection - SD1.5", "type": "object", "version": "1.1.2", - "output": { "$ref": "#/components/schemas/LoRALoaderOutput" } + "output": { + "$ref": "#/components/schemas/LoRALoaderOutput" + } }, "LoRAField": { "properties": { - "lora": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "Info to load lora model" }, - "weight": { "description": "Weight to apply to lora model", "title": "Weight", "type": "number" } + "lora": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load lora model" + }, + "weight": { + "description": "Weight to apply to lora model", + "title": "Weight", + "type": "number" + } }, "required": ["lora", "weight"], "title": "LoRAField", @@ -23469,7 +34726,14 @@ "type": "boolean" }, "lora": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "LoRA model to load", "field_kind": "input", @@ -23490,7 +34754,14 @@ "type": "number" }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "input", @@ -23500,7 +34771,14 @@ "title": "UNet" }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -23522,14 +34800,23 @@ "title": "Apply LoRA - SD1.5", "type": "object", "version": "1.0.4", - "output": { "$ref": "#/components/schemas/LoRALoaderOutput" } + "output": { + "$ref": "#/components/schemas/LoRALoaderOutput" + } }, "LoRALoaderOutput": { "class": "output", "description": "Model loader output", "properties": { "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "output", @@ -23537,7 +34824,14 @@ "ui_hidden": false }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "output", @@ -23559,7 +34853,10 @@ "LoRAMetadataField": { "description": "LoRA Metadata Field", "properties": { - "model": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "LoRA model to load" }, + "model": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "LoRA model to load" + }, "weight": { "description": "The weight at which the LoRA is applied to each model", "title": "Weight", @@ -23602,7 +34899,14 @@ "type": "boolean" }, "lora": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "LoRA model to load", "field_kind": "input", @@ -23634,7 +34938,9 @@ "title": "Select LoRA", "type": "object", "version": "1.0.3", - "output": { "$ref": "#/components/schemas/LoRASelectorOutput" } + "output": { + "$ref": "#/components/schemas/LoRASelectorOutput" + } }, "LoRASelectorOutput": { "class": "output", @@ -23661,17 +34967,40 @@ }, "LoRA_Diffusers_FLUX_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -23680,29 +35009,79 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "type": { + "type": "string", + "const": "lora", + "title": "Type", + "default": "lora" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "base": { + "type": "string", + "const": "flux", + "title": "Base", + "default": "flux" + } }, "type": "object", "required": [ @@ -23726,17 +35105,40 @@ }, "LoRA_Diffusers_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -23745,29 +35147,79 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "type": { + "type": "string", + "const": "lora", + "title": "Type", + "default": "lora" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -23791,17 +35243,40 @@ }, "LoRA_Diffusers_SD2_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -23810,29 +35285,79 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "type": { + "type": "string", + "const": "lora", + "title": "Type", + "default": "lora" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "base": { + "type": "string", + "const": "sd-2", + "title": "Base", + "default": "sd-2" + } }, "type": "object", "required": [ @@ -23856,17 +35381,40 @@ }, "LoRA_Diffusers_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -23875,29 +35423,79 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "type": { + "type": "string", + "const": "lora", + "title": "Type", + "default": "lora" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -23921,17 +35519,40 @@ }, "LoRA_Diffusers_ZImage_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -23940,29 +35561,79 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "type": { + "type": "string", + "const": "lora", + "title": "Type", + "default": "lora" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "base": { "type": "string", "const": "z-image", "title": "Base", "default": "z-image" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "base": { + "type": "string", + "const": "z-image", + "title": "Base", + "default": "z-image" + } }, "type": "object", "required": [ @@ -23987,17 +35658,40 @@ }, "LoRA_LyCORIS_FLUX_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -24006,29 +35700,79 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "type": { + "type": "string", + "const": "lora", + "title": "Type", + "default": "lora" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "lycoris", "title": "Format", "default": "lycoris" }, - "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + "format": { + "type": "string", + "const": "lycoris", + "title": "Format", + "default": "lycoris" + }, + "base": { + "type": "string", + "const": "flux", + "title": "Base", + "default": "flux" + } }, "type": "object", "required": [ @@ -24052,17 +35796,40 @@ }, "LoRA_LyCORIS_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -24071,29 +35838,79 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "type": { + "type": "string", + "const": "lora", + "title": "Type", + "default": "lora" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "lycoris", "title": "Format", "default": "lycoris" }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "format": { + "type": "string", + "const": "lycoris", + "title": "Format", + "default": "lycoris" + }, + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -24117,17 +35934,40 @@ }, "LoRA_LyCORIS_SD2_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -24136,29 +35976,79 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "type": { + "type": "string", + "const": "lora", + "title": "Type", + "default": "lora" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "lycoris", "title": "Format", "default": "lycoris" }, - "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + "format": { + "type": "string", + "const": "lycoris", + "title": "Format", + "default": "lycoris" + }, + "base": { + "type": "string", + "const": "sd-2", + "title": "Base", + "default": "sd-2" + } }, "type": "object", "required": [ @@ -24182,17 +36072,40 @@ }, "LoRA_LyCORIS_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -24201,29 +36114,79 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "type": { + "type": "string", + "const": "lora", + "title": "Type", + "default": "lora" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "lycoris", "title": "Format", "default": "lycoris" }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "format": { + "type": "string", + "const": "lycoris", + "title": "Format", + "default": "lycoris" + }, + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -24247,17 +36210,40 @@ }, "LoRA_LyCORIS_ZImage_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -24266,29 +36252,79 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "type": { + "type": "string", + "const": "lora", + "title": "Type", + "default": "lora" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "lycoris", "title": "Format", "default": "lycoris" }, - "base": { "type": "string", "const": "z-image", "title": "Base", "default": "z-image" } + "format": { + "type": "string", + "const": "lycoris", + "title": "Format", + "default": "lycoris" + }, + "base": { + "type": "string", + "const": "z-image", + "title": "Base", + "default": "z-image" + } }, "type": "object", "required": [ @@ -24313,17 +36349,40 @@ }, "LoRA_OMI_FLUX_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -24332,29 +36391,79 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "type": { + "type": "string", + "const": "lora", + "title": "Type", + "default": "lora" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "omi", "title": "Format", "default": "omi" }, - "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + "format": { + "type": "string", + "const": "omi", + "title": "Format", + "default": "omi" + }, + "base": { + "type": "string", + "const": "flux", + "title": "Base", + "default": "flux" + } }, "type": "object", "required": [ @@ -24378,17 +36487,40 @@ }, "LoRA_OMI_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -24397,29 +36529,79 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "lora", "title": "Type", "default": "lora" }, + "type": { + "type": "string", + "const": "lora", + "title": "Type", + "default": "lora" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/LoraModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "omi", "title": "Format", "default": "omi" }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "format": { + "type": "string", + "const": "omi", + "title": "Format", + "default": "omi" + }, + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -24443,20 +36625,60 @@ }, "LocalModelSource": { "properties": { - "path": { "anyOf": [{ "type": "string" }, { "type": "string", "format": "path" }], "title": "Path" }, - "inplace": { "anyOf": [{ "type": "boolean" }, { "type": "null" }], "title": "Inplace", "default": false }, - "type": { "type": "string", "const": "local", "title": "Type", "default": "local" } + "path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string", + "format": "path" + } + ], + "title": "Path" + }, + "inplace": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Inplace", + "default": false + }, + "type": { + "type": "string", + "const": "local", + "title": "Type", + "default": "local" + } }, "type": "object", "required": ["path"], "title": "LocalModelSource", "description": "A local file or directory path." }, - "LogLevel": { "type": "integer", "enum": [0, 10, 20, 30, 40, 50], "title": "LogLevel" }, + "LogLevel": { + "type": "integer", + "enum": [0, 10, 20, 30, 40, 50], + "title": "LogLevel" + }, "LoraModelDefaultSettings": { "properties": { "weight": { - "anyOf": [{ "type": "number", "maximum": 2.0, "minimum": -1.0 }, { "type": "null" }], + "anyOf": [ + { + "type": "number", + "maximum": 2.0, + "minimum": -1.0 + }, + { + "type": "null" + } + ], "title": "Weight", "description": "Default weight for this model" } @@ -24470,9 +36692,18 @@ "properties": { "control_list": { "anyOf": [ - { "$ref": "#/components/schemas/ControlField" }, - { "items": { "$ref": "#/components/schemas/ControlField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/ControlField" + }, + { + "items": { + "$ref": "#/components/schemas/ControlField" + }, + "type": "array" + }, + { + "type": "null" + } ], "description": "ControlNet(s) to apply", "field_kind": "output", @@ -24496,9 +36727,18 @@ "properties": { "ip_adapter_list": { "anyOf": [ - { "$ref": "#/components/schemas/IPAdapterField" }, - { "items": { "$ref": "#/components/schemas/IPAdapterField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/IPAdapterField" + }, + { + "items": { + "$ref": "#/components/schemas/IPAdapterField" + }, + "type": "array" + }, + { + "type": "null" + } ], "description": "IP-Adapter to apply", "field_kind": "output", @@ -24522,9 +36762,18 @@ "properties": { "t2i_adapter_list": { "anyOf": [ - { "$ref": "#/components/schemas/T2IAdapterField" }, - { "items": { "$ref": "#/components/schemas/T2IAdapterField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/T2IAdapterField" + }, + { + "items": { + "$ref": "#/components/schemas/T2IAdapterField" + }, + "type": "array" + }, + { + "type": "null" + } ], "description": "T2I-Adapter(s) to apply", "field_kind": "output", @@ -24551,7 +36800,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -24560,7 +36816,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -24593,7 +36856,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -24635,17 +36905,34 @@ "title": "MLSD Detection", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "MainModelDefaultSettings": { "properties": { "vae": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Vae", "description": "Default VAE for this model (model key)" }, "vae_precision": { - "anyOf": [{ "type": "string", "enum": ["fp16", "fp32"] }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "enum": ["fp16", "fp32"] + }, + { + "type": "null" + } + ], "title": "Vae Precision", "description": "Default VAE precision for this model" }, @@ -24686,38 +36973,91 @@ "tcd" ] }, - { "type": "null" } + { + "type": "null" + } ], "title": "Scheduler", "description": "Default scheduler for this model" }, "steps": { - "anyOf": [{ "type": "integer", "exclusiveMinimum": 0.0 }, { "type": "null" }], + "anyOf": [ + { + "type": "integer", + "exclusiveMinimum": 0.0 + }, + { + "type": "null" + } + ], "title": "Steps", "description": "Default number of steps for this model" }, "cfg_scale": { - "anyOf": [{ "type": "number", "minimum": 1.0 }, { "type": "null" }], + "anyOf": [ + { + "type": "number", + "minimum": 1.0 + }, + { + "type": "null" + } + ], "title": "Cfg Scale", "description": "Default CFG Scale for this model" }, "cfg_rescale_multiplier": { - "anyOf": [{ "type": "number", "exclusiveMaximum": 1.0, "minimum": 0.0 }, { "type": "null" }], + "anyOf": [ + { + "type": "number", + "exclusiveMaximum": 1.0, + "minimum": 0.0 + }, + { + "type": "null" + } + ], "title": "Cfg Rescale Multiplier", "description": "Default CFG Rescale Multiplier for this model" }, "width": { - "anyOf": [{ "type": "integer", "multipleOf": 8.0, "minimum": 64.0 }, { "type": "null" }], + "anyOf": [ + { + "type": "integer", + "multipleOf": 8.0, + "minimum": 64.0 + }, + { + "type": "null" + } + ], "title": "Width", "description": "Default width for this model" }, "height": { - "anyOf": [{ "type": "integer", "multipleOf": 8.0, "minimum": 64.0 }, { "type": "null" }], + "anyOf": [ + { + "type": "integer", + "multipleOf": 8.0, + "minimum": 64.0 + }, + { + "type": "null" + } + ], "title": "Height", "description": "Default height for this model" }, "guidance": { - "anyOf": [{ "type": "number", "minimum": 1.0 }, { "type": "null" }], + "anyOf": [ + { + "type": "number", + "minimum": 1.0 + }, + { + "type": "null" + } + ], "title": "Guidance", "description": "Default Guidance for this model" } @@ -24758,7 +37098,14 @@ "type": "boolean" }, "model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "Main model (UNet, VAE, CLIP) to load", "field_kind": "input", @@ -24780,21 +37127,46 @@ "title": "Main Model - SD1.5, SD2", "type": "object", "version": "1.0.4", - "output": { "$ref": "#/components/schemas/ModelLoaderOutput" } + "output": { + "$ref": "#/components/schemas/ModelLoaderOutput" + } }, "Main_BnBNF4_FLUX_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -24803,40 +37175,94 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" }, + "base": { + "type": "string", + "const": "flux", + "title": "Base", + "default": "flux" + }, "format": { "type": "string", "const": "bnb_quantized_nf4b", "title": "Format", "default": "bnb_quantized_nf4b" }, - "variant": { "$ref": "#/components/schemas/FluxVariantType" } + "variant": { + "$ref": "#/components/schemas/FluxVariantType" + } }, "type": "object", "required": [ @@ -24863,17 +37289,40 @@ }, "Main_Checkpoint_FLUX_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -24882,35 +37331,94 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" }, - "variant": { "$ref": "#/components/schemas/FluxVariantType" } + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "base": { + "type": "string", + "const": "flux", + "title": "Base", + "default": "flux" + }, + "variant": { + "$ref": "#/components/schemas/FluxVariantType" + } }, "type": "object", "required": [ @@ -24937,17 +37445,40 @@ }, "Main_Checkpoint_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -24956,36 +37487,97 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, - "variant": { "$ref": "#/components/schemas/ModelVariantType" }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "prediction_type": { + "$ref": "#/components/schemas/SchedulerPredictionType" + }, + "variant": { + "$ref": "#/components/schemas/ModelVariantType" + }, + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -25012,17 +37604,40 @@ }, "Main_Checkpoint_SD2_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -25031,36 +37646,97 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, - "variant": { "$ref": "#/components/schemas/ModelVariantType" }, - "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "prediction_type": { + "$ref": "#/components/schemas/SchedulerPredictionType" + }, + "variant": { + "$ref": "#/components/schemas/ModelVariantType" + }, + "base": { + "type": "string", + "const": "sd-2", + "title": "Base", + "default": "sd-2" + } }, "type": "object", "required": [ @@ -25087,17 +37763,40 @@ }, "Main_Checkpoint_SDXLRefiner_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -25106,36 +37805,97 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, - "variant": { "$ref": "#/components/schemas/ModelVariantType" }, - "base": { "type": "string", "const": "sdxl-refiner", "title": "Base", "default": "sdxl-refiner" } + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "prediction_type": { + "$ref": "#/components/schemas/SchedulerPredictionType" + }, + "variant": { + "$ref": "#/components/schemas/ModelVariantType" + }, + "base": { + "type": "string", + "const": "sdxl-refiner", + "title": "Base", + "default": "sdxl-refiner" + } }, "type": "object", "required": [ @@ -25162,17 +37922,40 @@ }, "Main_Checkpoint_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -25181,36 +37964,97 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, - "variant": { "$ref": "#/components/schemas/ModelVariantType" }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "prediction_type": { + "$ref": "#/components/schemas/SchedulerPredictionType" + }, + "variant": { + "$ref": "#/components/schemas/ModelVariantType" + }, + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -25237,17 +38081,40 @@ }, "Main_Diffusers_CogView4_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -25256,30 +38123,83 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "base": { "type": "string", "const": "cogview4", "title": "Base", "default": "cogview4" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "base": { + "type": "string", + "const": "cogview4", + "title": "Base", + "default": "cogview4" + } }, "type": "object", "required": [ @@ -25304,17 +38224,40 @@ }, "Main_Diffusers_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -25323,32 +38266,89 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, - "variant": { "$ref": "#/components/schemas/ModelVariantType" }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "prediction_type": { + "$ref": "#/components/schemas/SchedulerPredictionType" + }, + "variant": { + "$ref": "#/components/schemas/ModelVariantType" + }, + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -25375,17 +38375,40 @@ }, "Main_Diffusers_SD2_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -25394,32 +38417,89 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, - "variant": { "$ref": "#/components/schemas/ModelVariantType" }, - "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "prediction_type": { + "$ref": "#/components/schemas/SchedulerPredictionType" + }, + "variant": { + "$ref": "#/components/schemas/ModelVariantType" + }, + "base": { + "type": "string", + "const": "sd-2", + "title": "Base", + "default": "sd-2" + } }, "type": "object", "required": [ @@ -25446,17 +38526,40 @@ }, "Main_Diffusers_SD3_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -25465,38 +38568,97 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "base": { "type": "string", "const": "sd-3", "title": "Base", "default": "sd-3" }, + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "base": { + "type": "string", + "const": "sd-3", + "title": "Base", + "default": "sd-3" + }, "submodels": { "anyOf": [ { - "additionalProperties": { "$ref": "#/components/schemas/SubmodelDefinition" }, - "propertyNames": { "$ref": "#/components/schemas/SubModelType" }, + "additionalProperties": { + "$ref": "#/components/schemas/SubmodelDefinition" + }, + "propertyNames": { + "$ref": "#/components/schemas/SubModelType" + }, "type": "object" }, - { "type": "null" } + { + "type": "null" + } ], "title": "Submodels", "description": "Loadable submodels in this model" @@ -25526,17 +38688,40 @@ }, "Main_Diffusers_SDXLRefiner_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -25545,32 +38730,89 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, - "variant": { "$ref": "#/components/schemas/ModelVariantType" }, - "base": { "type": "string", "const": "sdxl-refiner", "title": "Base", "default": "sdxl-refiner" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "prediction_type": { + "$ref": "#/components/schemas/SchedulerPredictionType" + }, + "variant": { + "$ref": "#/components/schemas/ModelVariantType" + }, + "base": { + "type": "string", + "const": "sdxl-refiner", + "title": "Base", + "default": "sdxl-refiner" + } }, "type": "object", "required": [ @@ -25597,17 +38839,40 @@ }, "Main_Diffusers_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -25616,32 +38881,89 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "prediction_type": { "$ref": "#/components/schemas/SchedulerPredictionType" }, - "variant": { "$ref": "#/components/schemas/ModelVariantType" }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "prediction_type": { + "$ref": "#/components/schemas/SchedulerPredictionType" + }, + "variant": { + "$ref": "#/components/schemas/ModelVariantType" + }, + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -25668,17 +38990,40 @@ }, "Main_Diffusers_ZImage_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -25687,30 +39032,83 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "base": { "type": "string", "const": "z-image", "title": "Base", "default": "z-image" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "base": { + "type": "string", + "const": "z-image", + "title": "Base", + "default": "z-image" + } }, "type": "object", "required": [ @@ -25736,17 +39134,40 @@ }, "Main_GGUF_FLUX_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -25755,35 +39176,94 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" }, - "format": { "type": "string", "const": "gguf_quantized", "title": "Format", "default": "gguf_quantized" }, - "variant": { "$ref": "#/components/schemas/FluxVariantType" } + "base": { + "type": "string", + "const": "flux", + "title": "Base", + "default": "flux" + }, + "format": { + "type": "string", + "const": "gguf_quantized", + "title": "Format", + "default": "gguf_quantized" + }, + "variant": { + "$ref": "#/components/schemas/FluxVariantType" + } }, "type": "object", "required": [ @@ -25810,17 +39290,40 @@ }, "Main_GGUF_ZImage_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -25829,34 +39332,91 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "main", "title": "Type", "default": "main" }, + "type": { + "type": "string", + "const": "main", + "title": "Type", + "default": "main" + }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/MainModelDefaultSettings" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "type": "null" + } + ], "description": "Default settings for this model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "base": { "type": "string", "const": "z-image", "title": "Base", "default": "z-image" }, - "format": { "type": "string", "const": "gguf_quantized", "title": "Format", "default": "gguf_quantized" } + "base": { + "type": "string", + "const": "z-image", + "title": "Base", + "default": "z-image" + }, + "format": { + "type": "string", + "const": "gguf_quantized", + "title": "Format", + "default": "gguf_quantized" + } }, "type": "object", "required": [ @@ -25888,7 +39448,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -25897,7 +39464,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -25930,7 +39504,14 @@ "type": "boolean" }, "mask1": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The first mask to combine", "field_kind": "input", @@ -25938,7 +39519,14 @@ "orig_required": true }, "mask2": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The second image to combine", "field_kind": "input", @@ -25958,7 +39546,9 @@ "title": "Combine Masks", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "MaskEdgeInvocation": { "category": "image", @@ -25968,7 +39558,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -25977,7 +39574,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -26010,7 +39614,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to apply the mask to", "field_kind": "input", @@ -26018,7 +39629,14 @@ "orig_required": true }, "edge_size": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The size of the edge", "field_kind": "input", @@ -26027,7 +39645,14 @@ "title": "Edge Size" }, "edge_blur": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The amount of blur on the edge", "field_kind": "input", @@ -26036,7 +39661,14 @@ "title": "Edge Blur" }, "low_threshold": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "First threshold for the hysteresis procedure in Canny edge detection", "field_kind": "input", @@ -26045,7 +39677,14 @@ "title": "Low Threshold" }, "high_threshold": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "Second threshold for the hysteresis procedure in Canny edge detection", "field_kind": "input", @@ -26066,7 +39705,9 @@ "title": "Mask Edge", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "MaskFromAlphaInvocation": { "category": "image", @@ -26076,7 +39717,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -26085,7 +39733,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -26118,7 +39773,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to create the mask from", "field_kind": "input", @@ -26148,7 +39810,9 @@ "title": "Mask from Alpha", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "MaskFromIDInvocation": { "category": "image", @@ -26158,7 +39822,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -26167,7 +39838,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -26200,7 +39878,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to create the mask from", "field_kind": "input", @@ -26208,7 +39893,14 @@ "orig_required": true }, "color": { - "anyOf": [{ "$ref": "#/components/schemas/ColorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ColorField" + }, + { + "type": "null" + } + ], "default": null, "description": "ID color to mask", "field_kind": "input", @@ -26248,7 +39940,9 @@ "title": "Mask from Segmented Image", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "MaskOutput": { "class": "output", @@ -26294,7 +39988,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -26303,7 +40004,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -26336,7 +40044,14 @@ "type": "boolean" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "The mask tensor to convert.", "field_kind": "input", @@ -26356,7 +40071,9 @@ "title": "Tensor Mask to Image", "type": "object", "version": "1.1.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "MediaPipeFaceDetectionInvocation": { "category": "controlnet", @@ -26366,7 +40083,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -26375,7 +40099,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -26408,7 +40139,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -26451,7 +40189,9 @@ "title": "MediaPipe Face Detection", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "MergeMetadataInvocation": { "category": "metadata", @@ -26486,8 +40226,15 @@ }, "collection": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/MetadataField" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/MetadataField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "Collection of Metadata", @@ -26509,7 +40256,9 @@ "title": "Metadata Merge", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/MetadataOutput" } + "output": { + "$ref": "#/components/schemas/MetadataOutput" + } }, "MergeTilesToImageInvocation": { "category": "tiles", @@ -26519,7 +40268,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -26528,7 +40284,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -26562,8 +40325,15 @@ }, "tiles_with_images": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/TileWithImage" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/TileWithImage" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "A list of tile images with tile properties.", @@ -26607,7 +40377,9 @@ "title": "Merge Tiles to Image", "type": "object", "version": "1.1.1", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "MetadataField": { "additionalProperties": true, @@ -26647,7 +40419,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to extract metadata from", "field_kind": "input", @@ -26655,7 +40434,14 @@ "orig_required": true }, "key": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The key in the image's metadata to extract the value from", "field_kind": "input", @@ -26676,7 +40462,9 @@ "title": "Metadata Field Extractor", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/StringOutput" } + "output": { + "$ref": "#/components/schemas/StringOutput" + } }, "MetadataFromImageInvocation": { "category": "metadata", @@ -26710,7 +40498,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -26730,7 +40525,9 @@ "title": "Metadata From Image", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/MetadataOutput" } + "output": { + "$ref": "#/components/schemas/MetadataOutput" + } }, "MetadataInvocation": { "category": "metadata", @@ -26765,9 +40562,18 @@ }, "items": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/MetadataItemField" }, "type": "array" }, - { "$ref": "#/components/schemas/MetadataItemField" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/MetadataItemField" + }, + "type": "array" + }, + { + "$ref": "#/components/schemas/MetadataItemField" + }, + { + "type": "null" + } ], "default": null, "description": "A single metadata item or collection of metadata items", @@ -26789,12 +40595,21 @@ "title": "Metadata", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/MetadataOutput" } + "output": { + "$ref": "#/components/schemas/MetadataOutput" + } }, "MetadataItemField": { "properties": { - "label": { "description": "Label for this metadata item", "title": "Label", "type": "string" }, - "value": { "description": "The value for this metadata item (may be any type)", "title": "Value" } + "label": { + "description": "Label for this metadata item", + "title": "Label", + "type": "string" + }, + "value": { + "description": "The value for this metadata item (may be any type)", + "title": "Value" + } }, "required": ["label", "value"], "title": "MetadataItemField", @@ -26832,7 +40647,14 @@ "type": "boolean" }, "label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -26841,7 +40663,12 @@ "title": "Label" }, "value": { - "anyOf": [{}, { "type": "null" }], + "anyOf": [ + {}, + { + "type": "null" + } + ], "default": null, "description": "The value for this metadata item (may be any type)", "field_kind": "input", @@ -26863,7 +40690,9 @@ "title": "Metadata Item", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/MetadataItemOutput" } + "output": { + "$ref": "#/components/schemas/MetadataItemOutput" + } }, "MetadataItemLinkedInvocation": { "category": "metadata", @@ -26873,7 +40702,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -26938,7 +40774,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -26948,7 +40791,12 @@ "title": "Custom Label" }, "value": { - "anyOf": [{}, { "type": "null" }], + "anyOf": [ + {}, + { + "type": "null" + } + ], "default": null, "description": "The value for this metadata item (may be any type)", "field_kind": "input", @@ -26970,7 +40818,9 @@ "title": "Metadata Item Linked", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/MetadataOutput" } + "output": { + "$ref": "#/components/schemas/MetadataOutput" + } }, "MetadataItemOutput": { "class": "output", @@ -27023,7 +40873,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -27067,7 +40924,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -27077,7 +40941,17 @@ "title": "Custom Label" }, "default_value": { - "anyOf": [{ "items": { "type": "boolean" }, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "boolean" + }, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "description": "The default bool to use if not found in the metadata", "field_kind": "input", @@ -27098,7 +40972,9 @@ "title": "Metadata To Bool Collection", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/BooleanCollectionOutput" } + "output": { + "$ref": "#/components/schemas/BooleanCollectionOutput" + } }, "MetadataToBoolInvocation": { "category": "metadata", @@ -27108,7 +40984,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -27152,7 +41035,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -27162,7 +41052,14 @@ "title": "Custom Label" }, "default_value": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "default": null, "description": "The default bool to use if not found in the metadata", "field_kind": "input", @@ -27183,7 +41080,9 @@ "title": "Metadata To Bool", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/BooleanOutput" } + "output": { + "$ref": "#/components/schemas/BooleanOutput" + } }, "MetadataToControlnetsInvocation": { "category": "metadata", @@ -27193,7 +41092,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -27227,9 +41133,18 @@ }, "control_list": { "anyOf": [ - { "$ref": "#/components/schemas/ControlField" }, - { "items": { "$ref": "#/components/schemas/ControlField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/ControlField" + }, + { + "items": { + "$ref": "#/components/schemas/ControlField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "field_kind": "input", @@ -27251,7 +41166,9 @@ "title": "Metadata To ControlNets", "type": "object", "version": "1.2.0", - "output": { "$ref": "#/components/schemas/MDControlListOutput" } + "output": { + "$ref": "#/components/schemas/MDControlListOutput" + } }, "MetadataToFloatCollectionInvocation": { "category": "metadata", @@ -27261,7 +41178,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -27305,7 +41229,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -27315,7 +41246,17 @@ "title": "Custom Label" }, "default_value": { - "anyOf": [{ "items": { "type": "number" }, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "description": "The default float to use if not found in the metadata", "field_kind": "input", @@ -27336,7 +41277,9 @@ "title": "Metadata To Float Collection", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/FloatCollectionOutput" } + "output": { + "$ref": "#/components/schemas/FloatCollectionOutput" + } }, "MetadataToFloatInvocation": { "category": "metadata", @@ -27346,7 +41289,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -27390,7 +41340,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -27400,7 +41357,14 @@ "title": "Custom Label" }, "default_value": { - "anyOf": [{ "type": "number" }, { "type": "null" }], + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], "default": null, "description": "The default float to use if not found in the metadata", "field_kind": "input", @@ -27421,7 +41385,9 @@ "title": "Metadata To Float", "type": "object", "version": "1.1.0", - "output": { "$ref": "#/components/schemas/FloatOutput" } + "output": { + "$ref": "#/components/schemas/FloatOutput" + } }, "MetadataToIPAdaptersInvocation": { "category": "metadata", @@ -27431,7 +41397,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -27465,9 +41438,18 @@ }, "ip_adapter_list": { "anyOf": [ - { "$ref": "#/components/schemas/IPAdapterField" }, - { "items": { "$ref": "#/components/schemas/IPAdapterField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/IPAdapterField" + }, + { + "items": { + "$ref": "#/components/schemas/IPAdapterField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "IP-Adapter to apply", @@ -27490,7 +41472,9 @@ "title": "Metadata To IP-Adapters", "type": "object", "version": "1.2.0", - "output": { "$ref": "#/components/schemas/MDIPAdapterListOutput" } + "output": { + "$ref": "#/components/schemas/MDIPAdapterListOutput" + } }, "MetadataToIntegerCollectionInvocation": { "category": "metadata", @@ -27500,7 +41484,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -27553,7 +41544,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -27563,7 +41561,17 @@ "title": "Custom Label" }, "default_value": { - "anyOf": [{ "items": { "type": "integer" }, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "integer" + }, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "description": "The default integer to use if not found in the metadata", "field_kind": "input", @@ -27584,7 +41592,9 @@ "title": "Metadata To Integer Collection", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/IntegerCollectionOutput" } + "output": { + "$ref": "#/components/schemas/IntegerCollectionOutput" + } }, "MetadataToIntegerInvocation": { "category": "metadata", @@ -27594,7 +41604,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -27647,7 +41664,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -27657,7 +41681,14 @@ "title": "Custom Label" }, "default_value": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The default integer to use if not found in the metadata", "field_kind": "input", @@ -27678,7 +41709,9 @@ "title": "Metadata To Integer", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/IntegerOutput" } + "output": { + "$ref": "#/components/schemas/IntegerOutput" + } }, "MetadataToLorasCollectionInvocation": { "category": "metadata", @@ -27688,7 +41721,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -27732,9 +41772,18 @@ }, "loras": { "anyOf": [ - { "$ref": "#/components/schemas/LoRAField" }, - { "items": { "$ref": "#/components/schemas/LoRAField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/LoRAField" + }, + { + "items": { + "$ref": "#/components/schemas/LoRAField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": [], "description": "LoRA models and weights. May be a single LoRA or collection.", @@ -27757,7 +41806,9 @@ "title": "Metadata To LoRA Collection", "type": "object", "version": "1.1.0", - "output": { "$ref": "#/components/schemas/MetadataToLorasCollectionOutput" } + "output": { + "$ref": "#/components/schemas/MetadataToLorasCollectionOutput" + } }, "MetadataToLorasCollectionOutput": { "class": "output", @@ -27766,7 +41817,9 @@ "lora": { "description": "Collection of LoRA model and weights", "field_kind": "output", - "items": { "$ref": "#/components/schemas/LoRAField" }, + "items": { + "$ref": "#/components/schemas/LoRAField" + }, "title": "LoRAs", "type": "array", "ui_hidden": false @@ -27791,7 +41844,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -27824,7 +41884,14 @@ "type": "boolean" }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "input", @@ -27834,7 +41901,14 @@ "title": "UNet" }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -27856,7 +41930,9 @@ "title": "Metadata To LoRAs", "type": "object", "version": "1.1.1", - "output": { "$ref": "#/components/schemas/LoRALoaderOutput" } + "output": { + "$ref": "#/components/schemas/LoRALoaderOutput" + } }, "MetadataToModelInvocation": { "category": "metadata", @@ -27866,7 +41942,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -27910,7 +41993,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -27920,7 +42010,14 @@ "title": "Custom Label" }, "default_value": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "The default model to use if not found in the metadata", "field_kind": "input", @@ -27941,7 +42038,9 @@ "title": "Metadata To Model", "type": "object", "version": "1.3.0", - "output": { "$ref": "#/components/schemas/MetadataToModelOutput" } + "output": { + "$ref": "#/components/schemas/MetadataToModelOutput" + } }, "MetadataToModelOutput": { "class": "output", @@ -28002,7 +42101,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -28035,7 +42141,14 @@ "type": "boolean" }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "input", @@ -28045,7 +42158,14 @@ "title": "UNet" }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -28055,7 +42175,14 @@ "title": "CLIP 1" }, "clip2": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -28077,7 +42204,9 @@ "title": "Metadata To SDXL LoRAs", "type": "object", "version": "1.1.1", - "output": { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" } + "output": { + "$ref": "#/components/schemas/SDXLLoRALoaderOutput" + } }, "MetadataToSDXLModelInvocation": { "category": "metadata", @@ -28087,7 +42216,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -28131,7 +42267,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -28141,7 +42284,14 @@ "title": "Custom Label" }, "default_value": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "The default SDXL Model to use if not found in the metadata", "field_kind": "input", @@ -28163,7 +42313,9 @@ "title": "Metadata To SDXL Model", "type": "object", "version": "1.3.0", - "output": { "$ref": "#/components/schemas/MetadataToSDXLModelOutput" } + "output": { + "$ref": "#/components/schemas/MetadataToSDXLModelOutput" + } }, "MetadataToSDXLModelOutput": { "class": "output", @@ -28231,7 +42383,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -28275,7 +42434,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -28340,7 +42506,9 @@ "title": "Metadata To Scheduler", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/SchedulerOutput" } + "output": { + "$ref": "#/components/schemas/SchedulerOutput" + } }, "MetadataToStringCollectionInvocation": { "category": "metadata", @@ -28350,7 +42518,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -28400,7 +42575,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -28410,7 +42592,17 @@ "title": "Custom Label" }, "default_value": { - "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "description": "The default string collection to use if not found in the metadata", "field_kind": "input", @@ -28431,7 +42623,9 @@ "title": "Metadata To String Collection", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/StringCollectionOutput" } + "output": { + "$ref": "#/components/schemas/StringCollectionOutput" + } }, "MetadataToStringInvocation": { "category": "metadata", @@ -28441,7 +42635,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -28491,7 +42692,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -28501,7 +42709,14 @@ "title": "Custom Label" }, "default_value": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The default string to use if not found in the metadata", "field_kind": "input", @@ -28522,7 +42737,9 @@ "title": "Metadata To String", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/StringOutput" } + "output": { + "$ref": "#/components/schemas/StringOutput" + } }, "MetadataToT2IAdaptersInvocation": { "category": "metadata", @@ -28532,7 +42749,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -28566,9 +42790,18 @@ }, "t2i_adapter_list": { "anyOf": [ - { "$ref": "#/components/schemas/T2IAdapterField" }, - { "items": { "$ref": "#/components/schemas/T2IAdapterField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/T2IAdapterField" + }, + { + "items": { + "$ref": "#/components/schemas/T2IAdapterField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "IP-Adapter to apply", @@ -28591,7 +42824,9 @@ "title": "Metadata To T2I-Adapters", "type": "object", "version": "1.2.0", - "output": { "$ref": "#/components/schemas/MDT2IAdapterListOutput" } + "output": { + "$ref": "#/components/schemas/MDT2IAdapterListOutput" + } }, "MetadataToVAEInvocation": { "category": "metadata", @@ -28601,7 +42836,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -28645,7 +42887,14 @@ "type": "string" }, "custom_label": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Label for this metadata item", "field_kind": "input", @@ -28655,7 +42904,14 @@ "title": "Custom Label" }, "default_value": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "The default VAE to use if not found in the metadata", "field_kind": "input", @@ -28675,7 +42931,9 @@ "title": "Metadata To VAE", "type": "object", "version": "1.2.1", - "output": { "$ref": "#/components/schemas/VAEOutput" } + "output": { + "$ref": "#/components/schemas/VAEOutput" + } }, "ModelFormat": { "type": "string", @@ -28701,13 +42959,38 @@ }, "ModelIdentifierField": { "properties": { - "key": { "description": "The model's unique key", "title": "Key", "type": "string" }, - "hash": { "description": "The model's BLAKE3 hash", "title": "Hash", "type": "string" }, - "name": { "description": "The model's name", "title": "Name", "type": "string" }, - "base": { "$ref": "#/components/schemas/BaseModelType", "description": "The model's base model type" }, - "type": { "$ref": "#/components/schemas/ModelType", "description": "The model's type" }, + "key": { + "description": "The model's unique key", + "title": "Key", + "type": "string" + }, + "hash": { + "description": "The model's BLAKE3 hash", + "title": "Hash", + "type": "string" + }, + "name": { + "description": "The model's name", + "title": "Name", + "type": "string" + }, + "base": { + "$ref": "#/components/schemas/BaseModelType", + "description": "The model's base model type" + }, + "type": { + "$ref": "#/components/schemas/ModelType", + "description": "The model's type" + }, "submodel_type": { - "anyOf": [{ "$ref": "#/components/schemas/SubModelType" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/SubModelType" + }, + { + "type": "null" + } + ], "default": null, "description": "The submodel to load, if this is a main model" } @@ -28748,7 +43031,14 @@ "type": "boolean" }, "model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "The model to select", "field_kind": "input", @@ -28769,7 +43059,9 @@ "title": "Any Model", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/ModelIdentifierOutput" } + "output": { + "$ref": "#/components/schemas/ModelIdentifierOutput" + } }, "ModelIdentifierOutput": { "class": "output", @@ -28797,8 +43089,16 @@ "ModelInstallCancelledEvent": { "description": "Event model for model_install_cancelled", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "id": { + "description": "The ID of the install job", + "title": "Id", + "type": "integer" + }, "source": { "description": "Source of the model; local path, repo_id or url", "discriminator": { @@ -28810,9 +43110,15 @@ "propertyName": "type" }, "oneOf": [ - { "$ref": "#/components/schemas/LocalModelSource" }, - { "$ref": "#/components/schemas/HFModelSource" }, - { "$ref": "#/components/schemas/URLModelSource" } + { + "$ref": "#/components/schemas/LocalModelSource" + }, + { + "$ref": "#/components/schemas/HFModelSource" + }, + { + "$ref": "#/components/schemas/URLModelSource" + } ], "title": "Source" } @@ -28824,8 +43130,16 @@ "ModelInstallCompleteEvent": { "description": "Event model for model_install_complete", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "id": { + "description": "The ID of the install job", + "title": "Id", + "type": "integer" + }, "source": { "description": "Source of the model; local path, repo_id or url", "discriminator": { @@ -28837,89 +43151,242 @@ "propertyName": "type" }, "oneOf": [ - { "$ref": "#/components/schemas/LocalModelSource" }, - { "$ref": "#/components/schemas/HFModelSource" }, - { "$ref": "#/components/schemas/URLModelSource" } + { + "$ref": "#/components/schemas/LocalModelSource" + }, + { + "$ref": "#/components/schemas/HFModelSource" + }, + { + "$ref": "#/components/schemas/URLModelSource" + } ], "title": "Source" }, - "key": { "description": "Model config record key", "title": "Key", "type": "string" }, + "key": { + "description": "Model config record key", + "title": "Key", + "type": "string" + }, "total_bytes": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "description": "Size of the model (may be None for installation of a local path)", "title": "Total Bytes" }, "config": { "description": "The installed model's config", "oneOf": [ - { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, - { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, - { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, - { "$ref": "#/components/schemas/TI_File_SD1_Config" }, - { "$ref": "#/components/schemas/TI_File_SD2_Config" }, - { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, - { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, - { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, - { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, - { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, - { "$ref": "#/components/schemas/Unknown_Config" } + { + "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" + }, + { + "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SDXL_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" + }, + { + "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/SigLIP_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/Unknown_Config" + } ], "title": "Config" } @@ -28931,8 +43398,16 @@ "ModelInstallDownloadProgressEvent": { "description": "Event model for model_install_download_progress", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "id": { + "description": "The ID of the install job", + "title": "Id", + "type": "integer" + }, "source": { "description": "Source of the model; local path, repo_id or url", "discriminator": { @@ -28944,14 +43419,28 @@ "propertyName": "type" }, "oneOf": [ - { "$ref": "#/components/schemas/LocalModelSource" }, - { "$ref": "#/components/schemas/HFModelSource" }, - { "$ref": "#/components/schemas/URLModelSource" } + { + "$ref": "#/components/schemas/LocalModelSource" + }, + { + "$ref": "#/components/schemas/HFModelSource" + }, + { + "$ref": "#/components/schemas/URLModelSource" + } ], "title": "Source" }, - "local_path": { "description": "Where model is downloading to", "title": "Local Path", "type": "string" }, - "bytes": { "description": "Number of bytes downloaded so far", "title": "Bytes", "type": "integer" }, + "local_path": { + "description": "Where model is downloading to", + "title": "Local Path", + "type": "string" + }, + "bytes": { + "description": "Number of bytes downloaded so far", + "title": "Bytes", + "type": "integer" + }, "total_bytes": { "description": "Total size of download, including all files", "title": "Total Bytes", @@ -28960,7 +43449,16 @@ "parts": { "description": "Progress of downloading URLs that comprise the model, if any", "items": { - "additionalProperties": { "anyOf": [{ "type": "integer" }, { "type": "string" }] }, + "additionalProperties": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, "type": "object" }, "title": "Parts", @@ -28974,8 +43472,16 @@ "ModelInstallDownloadStartedEvent": { "description": "Event model for model_install_download_started", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "id": { + "description": "The ID of the install job", + "title": "Id", + "type": "integer" + }, "source": { "description": "Source of the model; local path, repo_id or url", "discriminator": { @@ -28987,14 +43493,28 @@ "propertyName": "type" }, "oneOf": [ - { "$ref": "#/components/schemas/LocalModelSource" }, - { "$ref": "#/components/schemas/HFModelSource" }, - { "$ref": "#/components/schemas/URLModelSource" } + { + "$ref": "#/components/schemas/LocalModelSource" + }, + { + "$ref": "#/components/schemas/HFModelSource" + }, + { + "$ref": "#/components/schemas/URLModelSource" + } ], "title": "Source" }, - "local_path": { "description": "Where model is downloading to", "title": "Local Path", "type": "string" }, - "bytes": { "description": "Number of bytes downloaded so far", "title": "Bytes", "type": "integer" }, + "local_path": { + "description": "Where model is downloading to", + "title": "Local Path", + "type": "string" + }, + "bytes": { + "description": "Number of bytes downloaded so far", + "title": "Bytes", + "type": "integer" + }, "total_bytes": { "description": "Total size of download, including all files", "title": "Total Bytes", @@ -29003,7 +43523,16 @@ "parts": { "description": "Progress of downloading URLs that comprise the model, if any", "items": { - "additionalProperties": { "anyOf": [{ "type": "integer" }, { "type": "string" }] }, + "additionalProperties": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ] + }, "type": "object" }, "title": "Parts", @@ -29017,8 +43546,16 @@ "ModelInstallDownloadsCompleteEvent": { "description": "Emitted once when an install job becomes active.", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "id": { + "description": "The ID of the install job", + "title": "Id", + "type": "integer" + }, "source": { "description": "Source of the model; local path, repo_id or url", "discriminator": { @@ -29030,9 +43567,15 @@ "propertyName": "type" }, "oneOf": [ - { "$ref": "#/components/schemas/LocalModelSource" }, - { "$ref": "#/components/schemas/HFModelSource" }, - { "$ref": "#/components/schemas/URLModelSource" } + { + "$ref": "#/components/schemas/LocalModelSource" + }, + { + "$ref": "#/components/schemas/HFModelSource" + }, + { + "$ref": "#/components/schemas/URLModelSource" + } ], "title": "Source" } @@ -29044,8 +43587,16 @@ "ModelInstallErrorEvent": { "description": "Event model for model_install_error", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "id": { + "description": "The ID of the install job", + "title": "Id", + "type": "integer" + }, "source": { "description": "Source of the model; local path, repo_id or url", "discriminator": { @@ -29057,14 +43608,28 @@ "propertyName": "type" }, "oneOf": [ - { "$ref": "#/components/schemas/LocalModelSource" }, - { "$ref": "#/components/schemas/HFModelSource" }, - { "$ref": "#/components/schemas/URLModelSource" } + { + "$ref": "#/components/schemas/LocalModelSource" + }, + { + "$ref": "#/components/schemas/HFModelSource" + }, + { + "$ref": "#/components/schemas/URLModelSource" + } ], "title": "Source" }, - "error_type": { "description": "The name of the exception", "title": "Error Type", "type": "string" }, - "error": { "description": "A text description of the exception", "title": "Error", "type": "string" } + "error_type": { + "description": "The name of the exception", + "title": "Error Type", + "type": "string" + }, + "error": { + "description": "A text description of the exception", + "title": "Error", + "type": "string" + } }, "required": ["timestamp", "id", "source", "error_type", "error"], "title": "ModelInstallErrorEvent", @@ -29072,14 +43637,25 @@ }, "ModelInstallJob": { "properties": { - "id": { "type": "integer", "title": "Id", "description": "Unique ID for this job" }, + "id": { + "type": "integer", + "title": "Id", + "description": "Unique ID for this job" + }, "status": { "$ref": "#/components/schemas/InstallStatus", "description": "Current status of install process", "default": "waiting" }, "error_reason": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Error Reason", "description": "Information about why the job failed" }, @@ -29091,77 +43667,215 @@ "anyOf": [ { "oneOf": [ - { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, - { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, - { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, - { "$ref": "#/components/schemas/TI_File_SD1_Config" }, - { "$ref": "#/components/schemas/TI_File_SD2_Config" }, - { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, - { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, - { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, - { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, - { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, - { "$ref": "#/components/schemas/Unknown_Config" } + { + "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" + }, + { + "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SDXL_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" + }, + { + "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/SigLIP_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/Unknown_Config" + } ] }, - { "type": "null" } + { + "type": "null" + } ], "title": "Config Out", "description": "After successful installation, this will hold the configuration object." @@ -29174,9 +43888,15 @@ }, "source": { "oneOf": [ - { "$ref": "#/components/schemas/LocalModelSource" }, - { "$ref": "#/components/schemas/HFModelSource" }, - { "$ref": "#/components/schemas/URLModelSource" } + { + "$ref": "#/components/schemas/LocalModelSource" + }, + { + "$ref": "#/components/schemas/HFModelSource" + }, + { + "$ref": "#/components/schemas/URLModelSource" + } ], "title": "Source", "description": "Source (URL, repo_id, or local path) of model", @@ -29211,8 +43931,12 @@ "anyOf": [ { "oneOf": [ - { "$ref": "#/components/schemas/BaseMetadata" }, - { "$ref": "#/components/schemas/HuggingFaceMetadata" } + { + "$ref": "#/components/schemas/BaseMetadata" + }, + { + "$ref": "#/components/schemas/HuggingFaceMetadata" + } ], "discriminator": { "propertyName": "type", @@ -29222,25 +43946,43 @@ } } }, - { "type": "null" } + { + "type": "null" + } ], "title": "Source Metadata", "description": "Metadata provided by the model source" }, "download_parts": { - "items": { "$ref": "#/components/schemas/DownloadJob" }, + "items": { + "$ref": "#/components/schemas/DownloadJob" + }, "type": "array", "uniqueItems": true, "title": "Download Parts", "description": "Download jobs contributing to this install" }, "error": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Error", "description": "On an error condition, this field will contain the text of the exception" }, "error_traceback": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Error Traceback", "description": "On an error condition, this field will contain the exception traceback" } @@ -29253,8 +43995,16 @@ "ModelInstallStartedEvent": { "description": "Event model for model_install_started", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "id": { "description": "The ID of the install job", "title": "Id", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "id": { + "description": "The ID of the install job", + "title": "Id", + "type": "integer" + }, "source": { "description": "Source of the model; local path, repo_id or url", "discriminator": { @@ -29266,9 +44016,15 @@ "propertyName": "type" }, "oneOf": [ - { "$ref": "#/components/schemas/LocalModelSource" }, - { "$ref": "#/components/schemas/HFModelSource" }, - { "$ref": "#/components/schemas/URLModelSource" } + { + "$ref": "#/components/schemas/LocalModelSource" + }, + { + "$ref": "#/components/schemas/HFModelSource" + }, + { + "$ref": "#/components/schemas/URLModelSource" + } ], "title": "Source" } @@ -29280,83 +44036,230 @@ "ModelLoadCompleteEvent": { "description": "Event model for model_load_complete", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, "config": { "description": "The model's config", "oneOf": [ - { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, - { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, - { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, - { "$ref": "#/components/schemas/TI_File_SD1_Config" }, - { "$ref": "#/components/schemas/TI_File_SD2_Config" }, - { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, - { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, - { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, - { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, - { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, - { "$ref": "#/components/schemas/Unknown_Config" } + { + "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" + }, + { + "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SDXL_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" + }, + { + "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/SigLIP_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/Unknown_Config" + } ], "title": "Config" }, "submodel_type": { - "anyOf": [{ "$ref": "#/components/schemas/SubModelType" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/SubModelType" + }, + { + "type": "null" + } + ], "default": null, "description": "The submodel type, if any" } @@ -29368,83 +44271,230 @@ "ModelLoadStartedEvent": { "description": "Event model for model_load_started", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, "config": { "description": "The model's config", "oneOf": [ - { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, - { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, - { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, - { "$ref": "#/components/schemas/TI_File_SD1_Config" }, - { "$ref": "#/components/schemas/TI_File_SD2_Config" }, - { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, - { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, - { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, - { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, - { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, - { "$ref": "#/components/schemas/Unknown_Config" } + { + "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" + }, + { + "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SDXL_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" + }, + { + "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/SigLIP_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/Unknown_Config" + } ], "title": "Config" }, "submodel_type": { - "anyOf": [{ "$ref": "#/components/schemas/SubModelType" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/SubModelType" + }, + { + "type": "null" + } + ], "default": null, "description": "The submodel type, if any" } @@ -29493,98 +44543,230 @@ "ModelRecordChanges": { "properties": { "source": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source", "description": "original source of the model" }, "source_type": { - "anyOf": [{ "$ref": "#/components/schemas/ModelSourceType" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelSourceType" + }, + { + "type": "null" + } + ], "description": "type of model source" }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "metadata from remote source" }, "name": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Name", "description": "Name of the model." }, "path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Path", "description": "Path to the model." }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, "base": { - "anyOf": [{ "$ref": "#/components/schemas/BaseModelType" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BaseModelType" + }, + { + "type": "null" + } + ], "description": "The base model." }, "type": { - "anyOf": [{ "$ref": "#/components/schemas/ModelType" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelType" + }, + { + "type": "null" + } + ], "description": "Type of model" }, "key": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Key", "description": "Database ID for this model" }, "hash": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Hash", "description": "hash of model file" }, "file_size": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "title": "File Size", "description": "Size of model file" }, "format": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Format", "description": "format of model file" }, "trigger_phrases": { - "anyOf": [{ "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ], "title": "Trigger Phrases", "description": "Set of trigger phrases for this model" }, "default_settings": { "anyOf": [ - { "$ref": "#/components/schemas/MainModelDefaultSettings" }, - { "$ref": "#/components/schemas/LoraModelDefaultSettings" }, - { "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, - { "type": "null" } + { + "$ref": "#/components/schemas/MainModelDefaultSettings" + }, + { + "$ref": "#/components/schemas/LoraModelDefaultSettings" + }, + { + "$ref": "#/components/schemas/ControlAdapterDefaultSettings" + }, + { + "type": "null" + } ], "title": "Default Settings", "description": "Default settings for this model" }, "variant": { "anyOf": [ - { "$ref": "#/components/schemas/ModelVariantType" }, - { "$ref": "#/components/schemas/ClipVariantType" }, - { "$ref": "#/components/schemas/FluxVariantType" }, - { "type": "null" } + { + "$ref": "#/components/schemas/ModelVariantType" + }, + { + "$ref": "#/components/schemas/ClipVariantType" + }, + { + "$ref": "#/components/schemas/FluxVariantType" + }, + { + "type": "null" + } ], "title": "Variant", "description": "The variant of the model." }, "prediction_type": { - "anyOf": [{ "$ref": "#/components/schemas/SchedulerPredictionType" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/SchedulerPredictionType" + }, + { + "type": "null" + } + ], "description": "The prediction type of the model." }, "upcast_attention": { - "anyOf": [{ "type": "boolean" }, { "type": "null" }], + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], "title": "Upcast Attention", "description": "Whether to upcast attention." }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to config file for model" } @@ -29596,7 +44778,9 @@ "ModelRelationshipBatchRequest": { "properties": { "model_keys": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Model Keys", "description": "List of model keys to fetch related models for", @@ -29696,74 +44880,210 @@ "models": { "items": { "oneOf": [ - { "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" }, - { "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" }, - { "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" }, - { "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" }, - { "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" }, - { "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" }, - { "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" }, - { "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" }, - { "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" }, - { "$ref": "#/components/schemas/TI_File_SD1_Config" }, - { "$ref": "#/components/schemas/TI_File_SD2_Config" }, - { "$ref": "#/components/schemas/TI_File_SDXL_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD1_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SD2_Config" }, - { "$ref": "#/components/schemas/TI_Folder_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" }, - { "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" }, - { "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" }, - { "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" }, - { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, - { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, - { "$ref": "#/components/schemas/SigLIP_Diffusers_Config" }, - { "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" }, - { "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" }, - { "$ref": "#/components/schemas/Unknown_Config" } + { + "$ref": "#/components/schemas/Main_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_SD3_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_CogView4_Config" + }, + { + "$ref": "#/components/schemas/Main_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_SDXLRefiner_Config" + }, + { + "$ref": "#/components/schemas/Main_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_BnBNF4_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_FLUX_Config" + }, + { + "$ref": "#/components/schemas/Main_GGUF_ZImage_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/VAE_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/VAE_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/ControlNet_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_LyCORIS_ZImage_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_OMI_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SD2_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_FLUX_Config" + }, + { + "$ref": "#/components/schemas/LoRA_Diffusers_ZImage_Config" + }, + { + "$ref": "#/components/schemas/ControlLoRA_LyCORIS_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_T5Encoder_Config" + }, + { + "$ref": "#/components/schemas/T5Encoder_BnBLLMint8_Config" + }, + { + "$ref": "#/components/schemas/Qwen3Encoder_Qwen3Encoder_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_File_SDXL_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD1_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SD2_Config" + }, + { + "$ref": "#/components/schemas/TI_Folder_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_InvokeAI_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD1_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SD2_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_SDXL_Config" + }, + { + "$ref": "#/components/schemas/IPAdapter_Checkpoint_FLUX_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SD1_Config" + }, + { + "$ref": "#/components/schemas/T2IAdapter_Diffusers_SDXL_Config" + }, + { + "$ref": "#/components/schemas/Spandrel_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" + }, + { + "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/SigLIP_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/FLUXRedux_Checkpoint_Config" + }, + { + "$ref": "#/components/schemas/LlavaOnevision_Diffusers_Config" + }, + { + "$ref": "#/components/schemas/Unknown_Config" + } ] }, "type": "array", @@ -29839,7 +45159,9 @@ "title": "Multiply Integers", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/IntegerOutput" } + "output": { + "$ref": "#/components/schemas/IntegerOutput" + } }, "NodeFieldValue": { "properties": { @@ -29855,10 +45177,18 @@ }, "value": { "anyOf": [ - { "type": "string" }, - { "type": "number" }, - { "type": "integer" }, - { "$ref": "#/components/schemas/ImageField" } + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "integer" + }, + { + "$ref": "#/components/schemas/ImageField" + } ], "title": "Value", "description": "The value to substitute into the node/field." @@ -29958,7 +45288,9 @@ "title": "Create Latent Noise", "type": "object", "version": "1.0.3", - "output": { "$ref": "#/components/schemas/NoiseOutput" } + "output": { + "$ref": "#/components/schemas/NoiseOutput" + } }, "NoiseOutput": { "class": "output", @@ -30004,7 +45336,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -30013,7 +45352,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -30046,7 +45392,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -30066,15 +45419,31 @@ "title": "Normal Map", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "OffsetPaginatedResults_BoardDTO_": { "properties": { - "limit": { "type": "integer", "title": "Limit", "description": "Limit of items to get" }, - "offset": { "type": "integer", "title": "Offset", "description": "Offset from which to retrieve items" }, - "total": { "type": "integer", "title": "Total", "description": "Total number of items in result" }, + "limit": { + "type": "integer", + "title": "Limit", + "description": "Limit of items to get" + }, + "offset": { + "type": "integer", + "title": "Offset", + "description": "Offset from which to retrieve items" + }, + "total": { + "type": "integer", + "title": "Total", + "description": "Total number of items in result" + }, "items": { - "items": { "$ref": "#/components/schemas/BoardDTO" }, + "items": { + "$ref": "#/components/schemas/BoardDTO" + }, "type": "array", "title": "Items", "description": "Items" @@ -30086,11 +45455,25 @@ }, "OffsetPaginatedResults_ImageDTO_": { "properties": { - "limit": { "type": "integer", "title": "Limit", "description": "Limit of items to get" }, - "offset": { "type": "integer", "title": "Offset", "description": "Offset from which to retrieve items" }, - "total": { "type": "integer", "title": "Total", "description": "Total number of items in result" }, + "limit": { + "type": "integer", + "title": "Limit", + "description": "Limit of items to get" + }, + "offset": { + "type": "integer", + "title": "Offset", + "description": "Offset from which to retrieve items" + }, + "total": { + "type": "integer", + "title": "Total", + "description": "Total number of items in result" + }, "items": { - "items": { "$ref": "#/components/schemas/ImageDTO" }, + "items": { + "$ref": "#/components/schemas/ImageDTO" + }, "type": "array", "title": "Items", "description": "Items" @@ -30103,10 +45486,37 @@ "OutputFieldJSONSchemaExtra": { "description": "Extra attributes to be added to input fields and their OpenAPI schema. Used by the workflow editor\nduring schema parsing and UI rendering.", "properties": { - "field_kind": { "$ref": "#/components/schemas/FieldKind" }, - "ui_hidden": { "default": false, "title": "Ui Hidden", "type": "boolean" }, - "ui_order": { "anyOf": [{ "type": "integer" }, { "type": "null" }], "default": null, "title": "Ui Order" }, - "ui_type": { "anyOf": [{ "$ref": "#/components/schemas/UIType" }, { "type": "null" }], "default": null } + "field_kind": { + "$ref": "#/components/schemas/FieldKind" + }, + "ui_hidden": { + "default": false, + "title": "Ui Hidden", + "type": "boolean" + }, + "ui_order": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Ui Order" + }, + "ui_type": { + "anyOf": [ + { + "$ref": "#/components/schemas/UIType" + }, + { + "type": "null" + } + ], + "default": null + } }, "required": ["field_kind", "ui_hidden", "ui_order", "ui_type"], "title": "OutputFieldJSONSchemaExtra", @@ -30114,12 +45524,30 @@ }, "PaginatedResults_WorkflowRecordListItemWithThumbnailDTO_": { "properties": { - "page": { "type": "integer", "title": "Page", "description": "Current Page" }, - "pages": { "type": "integer", "title": "Pages", "description": "Total number of pages" }, - "per_page": { "type": "integer", "title": "Per Page", "description": "Number of items per page" }, - "total": { "type": "integer", "title": "Total", "description": "Total number of items in result" }, + "page": { + "type": "integer", + "title": "Page", + "description": "Current Page" + }, + "pages": { + "type": "integer", + "title": "Pages", + "description": "Total number of pages" + }, + "per_page": { + "type": "integer", + "title": "Per Page", + "description": "Number of items per page" + }, + "total": { + "type": "integer", + "title": "Total", + "description": "Total number of items in result" + }, "items": { - "items": { "$ref": "#/components/schemas/WorkflowRecordListItemWithThumbnailDTO" }, + "items": { + "$ref": "#/components/schemas/WorkflowRecordListItemWithThumbnailDTO" + }, "type": "array", "title": "Items", "description": "Items" @@ -30161,7 +45589,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The tile image.", "field_kind": "input", @@ -30169,7 +45604,14 @@ "orig_required": true }, "tile": { - "anyOf": [{ "$ref": "#/components/schemas/Tile" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/Tile" + }, + { + "type": "null" + } + ], "default": null, "description": "The tile properties.", "field_kind": "input", @@ -30189,7 +45631,9 @@ "title": "Pair Tile with Image", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/PairTileImageOutput" } + "output": { + "$ref": "#/components/schemas/PairTileImageOutput" + } }, "PairTileImageOutput": { "class": "output", @@ -30220,7 +45664,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -30229,7 +45680,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -30262,7 +45720,14 @@ "type": "boolean" }, "source_image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to paste", "field_kind": "input", @@ -30270,7 +45735,14 @@ "orig_required": true }, "target_image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to paste into", "field_kind": "input", @@ -30278,7 +45750,14 @@ "orig_required": true }, "bounding_box": { - "anyOf": [{ "$ref": "#/components/schemas/BoundingBoxField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoundingBoxField" + }, + { + "type": "null" + } + ], "default": null, "description": "The bounding box to paste the image into", "field_kind": "input", @@ -30298,7 +45777,9 @@ "title": "Paste Image into Bounding Box", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "PiDiNetEdgeDetectionInvocation": { "category": "controlnet", @@ -30308,7 +45789,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -30317,7 +45805,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -30350,7 +45845,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -30390,19 +45892,33 @@ "title": "PiDiNet Edge Detection", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "PresetData": { "properties": { - "positive_prompt": { "type": "string", "title": "Positive Prompt", "description": "Positive prompt" }, - "negative_prompt": { "type": "string", "title": "Negative Prompt", "description": "Negative prompt" } + "positive_prompt": { + "type": "string", + "title": "Positive Prompt", + "description": "Positive prompt" + }, + "negative_prompt": { + "type": "string", + "title": "Negative Prompt", + "description": "Negative prompt" + } }, "additionalProperties": false, "type": "object", "required": ["positive_prompt", "negative_prompt"], "title": "PresetData" }, - "PresetType": { "type": "string", "enum": ["user", "default"], "title": "PresetType" }, + "PresetType": { + "type": "string", + "enum": ["user", "default"], + "title": "PresetType" + }, "ProgressImage": { "description": "The progress image sent intermittently during processing", "properties": { @@ -30418,7 +45934,11 @@ "title": "Height", "type": "integer" }, - "dataURL": { "description": "The image data as a b64 data URL", "title": "Dataurl", "type": "string" } + "dataURL": { + "description": "The image data as a b64 data URL", + "title": "Dataurl", + "type": "string" + } }, "required": ["width", "height", "dataURL"], "title": "ProgressImage", @@ -30456,7 +45976,14 @@ "type": "boolean" }, "file_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Path to prompt text file", "field_kind": "input", @@ -30465,7 +45992,14 @@ "title": "File Path" }, "pre_prompt": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "String to prepend to each prompt", "field_kind": "input", @@ -30476,7 +46010,14 @@ "ui_component": "textarea" }, "post_prompt": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "String to append to each prompt", "field_kind": "input", @@ -30521,11 +46062,17 @@ "title": "Prompts from File", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/StringCollectionOutput" } + "output": { + "$ref": "#/components/schemas/StringCollectionOutput" + } }, "PruneResult": { "properties": { - "deleted": { "type": "integer", "title": "Deleted", "description": "Number of queue items deleted" } + "deleted": { + "type": "integer", + "title": "Deleted", + "description": "Number of queue items deleted" + } }, "type": "object", "required": ["deleted"], @@ -30535,8 +46082,16 @@ "QueueClearedEvent": { "description": "Event model for queue_cleared", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" } + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "queue_id": { + "description": "The ID of the queue", + "title": "Queue Id", + "type": "string" + } }, "required": ["timestamp", "queue_id"], "title": "QueueClearedEvent", @@ -30545,18 +46100,48 @@ "QueueItemStatusChangedEvent": { "description": "Event model for queue_item_status_changed", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, - "item_id": { "description": "The ID of the queue item", "title": "Item Id", "type": "integer" }, - "batch_id": { "description": "The ID of the queue batch", "title": "Batch Id", "type": "string" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "queue_id": { + "description": "The ID of the queue", + "title": "Queue Id", + "type": "string" + }, + "item_id": { + "description": "The ID of the queue item", + "title": "Item Id", + "type": "integer" + }, + "batch_id": { + "description": "The ID of the queue batch", + "title": "Batch Id", + "type": "string" + }, "origin": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The origin of the queue item", "title": "Origin" }, "destination": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The destination of the queue item", "title": "Destination" @@ -30568,19 +46153,40 @@ "type": "string" }, "error_type": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The error type, if any", "title": "Error Type" }, "error_message": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The error message, if any", "title": "Error Message" }, "error_traceback": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The error traceback, if any", "title": "Error Traceback" @@ -30596,18 +46202,35 @@ "type": "string" }, "started_at": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The timestamp when the queue item was started", "title": "Started At" }, "completed_at": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The timestamp when the queue item was completed", "title": "Completed At" }, - "batch_status": { "$ref": "#/components/schemas/BatchStatus", "description": "The status of the batch" }, + "batch_status": { + "$ref": "#/components/schemas/BatchStatus", + "description": "The status of the batch" + }, "queue_status": { "$ref": "#/components/schemas/SessionQueueStatus", "description": "The status of the queue" @@ -30643,11 +46266,21 @@ "QueueItemsRetriedEvent": { "description": "Event model for queue_items_retried", "properties": { - "timestamp": { "description": "The timestamp of the event", "title": "Timestamp", "type": "integer" }, - "queue_id": { "description": "The ID of the queue", "title": "Queue Id", "type": "string" }, + "timestamp": { + "description": "The timestamp of the event", + "title": "Timestamp", + "type": "integer" + }, + "queue_id": { + "description": "The ID of the queue", + "title": "Queue Id", + "type": "string" + }, "retried_item_ids": { "description": "The IDs of the queue items that were retried", - "items": { "type": "integer" }, + "items": { + "type": "integer" + }, "title": "Retried Item Ids", "type": "array" } @@ -30669,7 +46302,9 @@ }, "loras": { "description": "LoRAs to apply on model loading", - "items": { "$ref": "#/components/schemas/LoRAField" }, + "items": { + "$ref": "#/components/schemas/LoRAField" + }, "title": "Loras", "type": "array" } @@ -30680,17 +46315,40 @@ }, "Qwen3Encoder_Qwen3Encoder_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -30699,20 +46357,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, - "type": { "type": "string", "const": "qwen3_encoder", "title": "Type", "default": "qwen3_encoder" }, - "format": { "type": "string", "const": "qwen3_encoder", "title": "Format", "default": "qwen3_encoder" } + "base": { + "type": "string", + "const": "any", + "title": "Base", + "default": "any" + }, + "type": { + "type": "string", + "const": "qwen3_encoder", + "title": "Type", + "default": "qwen3_encoder" + }, + "format": { + "type": "string", + "const": "qwen3_encoder", + "title": "Format", + "default": "qwen3_encoder" + } }, "type": "object", "required": [ @@ -30807,7 +46497,9 @@ "title": "Random Float", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/FloatOutput" } + "output": { + "$ref": "#/components/schemas/FloatOutput" + } }, "RandomIntInvocation": { "category": "math", @@ -30873,7 +46565,9 @@ "title": "Random Integer", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/IntegerOutput" } + "output": { + "$ref": "#/components/schemas/IntegerOutput" + } }, "RandomRangeInvocation": { "category": "collections", @@ -30961,7 +46655,9 @@ "title": "Random Range", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/IntegerCollectionOutput" } + "output": { + "$ref": "#/components/schemas/IntegerCollectionOutput" + } }, "RangeInvocation": { "category": "collections", @@ -31037,7 +46733,9 @@ "title": "Integer Range", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/IntegerCollectionOutput" } + "output": { + "$ref": "#/components/schemas/IntegerCollectionOutput" + } }, "RangeOfSizeInvocation": { "category": "collections", @@ -31114,7 +46812,9 @@ "title": "Integer Range of Size", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/IntegerCollectionOutput" } + "output": { + "$ref": "#/components/schemas/IntegerCollectionOutput" + } }, "RectangleMaskInvocation": { "category": "conditioning", @@ -31124,7 +46824,14 @@ "node_pack": "invokeai", "properties": { "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -31157,7 +46864,14 @@ "type": "boolean" }, "width": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The width of the entire mask.", "field_kind": "input", @@ -31166,7 +46880,14 @@ "title": "Width" }, "height": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The height of the entire mask.", "field_kind": "input", @@ -31175,7 +46896,14 @@ "title": "Height" }, "x_left": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The left x-coordinate of the rectangular masked region (inclusive).", "field_kind": "input", @@ -31184,7 +46912,14 @@ "title": "X Left" }, "y_top": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The top y-coordinate of the rectangular masked region (inclusive).", "field_kind": "input", @@ -31193,7 +46928,14 @@ "title": "Y Top" }, "rectangle_width": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The width of the rectangular masked region.", "field_kind": "input", @@ -31202,7 +46944,14 @@ "title": "Rectangle Width" }, "rectangle_height": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "The height of the rectangular masked region.", "field_kind": "input", @@ -31223,7 +46972,9 @@ "title": "Create Rectangle Mask", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/MaskOutput" } + "output": { + "$ref": "#/components/schemas/MaskOutput" + } }, "RemoteModelFile": { "properties": { @@ -31241,13 +46992,27 @@ "description": "The path to the file, relative to the model root" }, "size": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "title": "Size", "description": "The size of this file, in bytes", "default": 0 }, "sha256": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Sha256", "description": "SHA256 hash of this model (not always available)" } @@ -31260,13 +47025,17 @@ "RemoveImagesFromBoardResult": { "properties": { "affected_boards": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Affected Boards", "description": "The ids of boards affected by the delete operation" }, "removed_images": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Removed Images", "description": "The image names that were removed from their board" @@ -31308,7 +47077,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -31316,7 +47092,16 @@ "orig_required": true }, "width": { - "anyOf": [{ "minimum": 64, "multipleOf": 8, "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "minimum": 64, + "multipleOf": 8, + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "Width of output (px)", "field_kind": "input", @@ -31325,7 +47110,16 @@ "title": "Width" }, "height": { - "anyOf": [{ "minimum": 64, "multipleOf": 8, "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "minimum": 64, + "multipleOf": 8, + "type": "integer" + }, + { + "type": "null" + } + ], "default": null, "description": "Width of output (px)", "field_kind": "input", @@ -31367,7 +47161,9 @@ "title": "Resize Latents", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "ResourceOrigin": { "type": "string", @@ -31377,9 +47173,15 @@ }, "RetryItemsResult": { "properties": { - "queue_id": { "type": "string", "title": "Queue Id", "description": "The ID of the queue" }, + "queue_id": { + "type": "string", + "title": "Queue Id", + "description": "The ID of the queue" + }, "retried_item_ids": { - "items": { "type": "integer" }, + "items": { + "type": "integer" + }, "type": "array", "title": "Retried Item Ids", "description": "The IDs of the queue items that were retried" @@ -31453,24 +47255,43 @@ "title": "Round Float", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/FloatOutput" } + "output": { + "$ref": "#/components/schemas/FloatOutput" + } }, "SAMPoint": { "properties": { - "x": { "description": "The x-coordinate of the point", "title": "X", "type": "integer" }, - "y": { "description": "The y-coordinate of the point", "title": "Y", "type": "integer" }, - "label": { "$ref": "#/components/schemas/SAMPointLabel", "description": "The label of the point" } + "x": { + "description": "The x-coordinate of the point", + "title": "X", + "type": "integer" + }, + "y": { + "description": "The y-coordinate of the point", + "title": "Y", + "type": "integer" + }, + "label": { + "$ref": "#/components/schemas/SAMPointLabel", + "description": "The label of the point" + } }, "required": ["x", "y", "label"], "title": "SAMPoint", "type": "object" }, - "SAMPointLabel": { "enum": [-1, 0, 1], "title": "SAMPointLabel", "type": "integer" }, + "SAMPointLabel": { + "enum": [-1, 0, 1], + "title": "SAMPointLabel", + "type": "integer" + }, "SAMPointsField": { "properties": { "points": { "description": "The points of the object", - "items": { "$ref": "#/components/schemas/SAMPoint" }, + "items": { + "$ref": "#/components/schemas/SAMPoint" + }, "minItems": 1, "title": "Points", "type": "array" @@ -31523,7 +47344,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -31532,7 +47360,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -31565,7 +47400,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -31574,7 +47416,14 @@ "orig_required": false }, "denoise_mask": { - "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/DenoiseMaskField" + }, + { + "type": "null" + } + ], "default": null, "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", "field_kind": "input", @@ -31607,7 +47456,14 @@ "type": "number" }, "transformer": { - "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TransformerField" + }, + { + "type": "null" + } + ], "default": null, "description": "SD3 model (MMDiTX) to load", "field_kind": "input", @@ -31616,7 +47472,14 @@ "title": "Transformer" }, "positive_conditioning": { - "anyOf": [{ "$ref": "#/components/schemas/SD3ConditioningField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/SD3ConditioningField" + }, + { + "type": "null" + } + ], "default": null, "description": "Positive conditioning tensor", "field_kind": "input", @@ -31624,7 +47487,14 @@ "orig_required": true }, "negative_conditioning": { - "anyOf": [{ "$ref": "#/components/schemas/SD3ConditioningField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/SD3ConditioningField" + }, + { + "type": "null" + } + ], "default": null, "description": "Negative conditioning tensor", "field_kind": "input", @@ -31632,7 +47502,17 @@ "orig_required": true }, "cfg_scale": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 3.5, "description": "Classifier-Free Guidance scale", "field_kind": "input", @@ -31697,7 +47577,9 @@ "title": "Denoise - SD3", "type": "object", "version": "1.1.1", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "SD3ImageToLatentsInvocation": { "category": "image", @@ -31707,7 +47589,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -31716,7 +47605,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -31749,7 +47645,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to encode", "field_kind": "input", @@ -31757,7 +47660,14 @@ "orig_required": true }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -31777,7 +47687,9 @@ "title": "Image to Latents - SD3", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "SD3LatentsToImageInvocation": { "category": "latents", @@ -31787,7 +47699,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -31796,7 +47715,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -31829,7 +47755,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -31837,7 +47770,14 @@ "orig_required": true }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -31857,7 +47797,9 @@ "title": "Latents to Image - SD3", "type": "object", "version": "1.3.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "SDXLCompelPromptInvocation": { "category": "conditioning", @@ -31973,7 +47915,14 @@ "type": "integer" }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -31982,7 +47931,14 @@ "title": "CLIP 1" }, "clip2": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -31991,7 +47947,14 @@ "title": "CLIP 2" }, "mask": { - "anyOf": [{ "$ref": "#/components/schemas/TensorField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], "default": null, "description": "A mask defining the region that this conditioning prompt applies to.", "field_kind": "input", @@ -32012,7 +47975,9 @@ "title": "Prompt - SDXL", "type": "object", "version": "1.2.1", - "output": { "$ref": "#/components/schemas/ConditioningOutput" } + "output": { + "$ref": "#/components/schemas/ConditioningOutput" + } }, "SDXLLoRACollectionLoader": { "category": "model", @@ -32047,9 +48012,18 @@ }, "loras": { "anyOf": [ - { "$ref": "#/components/schemas/LoRAField" }, - { "items": { "$ref": "#/components/schemas/LoRAField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/LoRAField" + }, + { + "items": { + "$ref": "#/components/schemas/LoRAField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "LoRA models and weights. May be a single LoRA or collection.", @@ -32060,7 +48034,14 @@ "title": "LoRAs" }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "input", @@ -32070,7 +48051,14 @@ "title": "UNet" }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -32080,7 +48068,14 @@ "title": "CLIP" }, "clip2": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -32102,7 +48097,9 @@ "title": "Apply LoRA Collection - SDXL", "type": "object", "version": "1.1.2", - "output": { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" } + "output": { + "$ref": "#/components/schemas/SDXLLoRALoaderOutput" + } }, "SDXLLoRALoaderInvocation": { "category": "model", @@ -32136,7 +48133,14 @@ "type": "boolean" }, "lora": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "LoRA model to load", "field_kind": "input", @@ -32157,7 +48161,14 @@ "type": "number" }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "input", @@ -32167,7 +48178,14 @@ "title": "UNet" }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -32177,7 +48195,14 @@ "title": "CLIP 1" }, "clip2": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -32199,14 +48224,23 @@ "title": "Apply LoRA - SDXL", "type": "object", "version": "1.0.5", - "output": { "$ref": "#/components/schemas/SDXLLoRALoaderOutput" } + "output": { + "$ref": "#/components/schemas/SDXLLoRALoaderOutput" + } }, "SDXLLoRALoaderOutput": { "class": "output", "description": "SDXL LoRA Loader Output", "properties": { "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "output", @@ -32214,7 +48248,14 @@ "ui_hidden": false }, "clip": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "output", @@ -32222,7 +48263,14 @@ "ui_hidden": false }, "clip2": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "output", @@ -32273,7 +48321,14 @@ "type": "boolean" }, "model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "SDXL Main model (UNet, VAE, CLIP1, CLIP2) to load", "field_kind": "input", @@ -32295,7 +48350,9 @@ "title": "Main Model - SDXL", "type": "object", "version": "1.0.4", - "output": { "$ref": "#/components/schemas/SDXLModelLoaderOutput" } + "output": { + "$ref": "#/components/schemas/SDXLModelLoaderOutput" + } }, "SDXLModelLoaderOutput": { "class": "output", @@ -32434,7 +48491,14 @@ "type": "number" }, "clip2": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -32454,7 +48518,9 @@ "title": "Prompt - SDXL Refiner", "type": "object", "version": "1.1.2", - "output": { "$ref": "#/components/schemas/ConditioningOutput" } + "output": { + "$ref": "#/components/schemas/ConditioningOutput" + } }, "SDXLRefinerModelLoaderInvocation": { "category": "model", @@ -32488,7 +48554,14 @@ "type": "boolean" }, "model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "SDXL Refiner Main Modde (UNet, VAE, CLIP2) to load", "field_kind": "input", @@ -32510,7 +48583,9 @@ "title": "Refiner Model - SDXL", "type": "object", "version": "1.0.4", - "output": { "$ref": "#/components/schemas/SDXLRefinerModelLoaderOutput" } + "output": { + "$ref": "#/components/schemas/SDXLRefinerModelLoaderOutput" + } }, "SDXLRefinerModelLoaderOutput": { "class": "output", @@ -32549,7 +48624,11 @@ "title": "SDXLRefinerModelLoaderOutput", "type": "object" }, - "SQLiteDirection": { "type": "string", "enum": ["ASC", "DESC"], "title": "SQLiteDirection" }, + "SQLiteDirection": { + "type": "string", + "enum": ["ASC", "DESC"], + "title": "SQLiteDirection" + }, "SaveImageInvocation": { "category": "primitives", "class": "invocation", @@ -32558,7 +48637,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -32567,7 +48653,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -32600,7 +48693,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to process", "field_kind": "input", @@ -32620,7 +48720,9 @@ "title": "Save Image", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ScaleLatentsInvocation": { "category": "latents", @@ -32654,7 +48756,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -32662,7 +48771,15 @@ "orig_required": true }, "scale_factor": { - "anyOf": [{ "exclusiveMinimum": 0, "type": "number" }, { "type": "null" }], + "anyOf": [ + { + "exclusiveMinimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], "default": null, "description": "The factor by which to scale", "field_kind": "input", @@ -32704,7 +48821,9 @@ "title": "Scale Latents", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "SchedulerInvocation": { "category": "latents", @@ -32793,7 +48912,9 @@ "title": "Scheduler", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/SchedulerOutput" } + "output": { + "$ref": "#/components/schemas/SchedulerOutput" + } }, "SchedulerOutput": { "class": "output", @@ -32897,7 +49018,14 @@ "ui_model_type": ["main"] }, "t5_encoder_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "T5 tokenizer and text encoder", "field_kind": "input", @@ -32908,7 +49036,14 @@ "ui_model_type": ["t5_encoder"] }, "clip_l_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP Embed loader", "field_kind": "input", @@ -32920,7 +49055,14 @@ "ui_model_variant": ["large"] }, "clip_g_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP-G Embed loader", "field_kind": "input", @@ -32932,7 +49074,14 @@ "ui_model_variant": ["gigantic"] }, "vae_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE model to load", "field_kind": "input", @@ -32956,7 +49105,9 @@ "title": "Main Model - SD3", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/Sd3ModelLoaderOutput" } + "output": { + "$ref": "#/components/schemas/Sd3ModelLoaderOutput" + } }, "Sd3ModelLoaderOutput": { "class": "output", @@ -33041,7 +49192,14 @@ "type": "boolean" }, "clip_l": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -33050,7 +49208,14 @@ "title": "CLIP L" }, "clip_g": { - "anyOf": [{ "$ref": "#/components/schemas/CLIPField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/CLIPField" + }, + { + "type": "null" + } + ], "default": null, "description": "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count", "field_kind": "input", @@ -33059,7 +49224,14 @@ "title": "CLIP G" }, "t5_encoder": { - "anyOf": [{ "$ref": "#/components/schemas/T5EncoderField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/T5EncoderField" + }, + { + "type": "null" + } + ], "default": null, "description": "T5 tokenizer and text encoder", "field_kind": "input", @@ -33069,7 +49241,14 @@ "title": "T5Encoder" }, "prompt": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Text prompt to encode.", "field_kind": "input", @@ -33090,7 +49269,9 @@ "title": "Prompt - SD3", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/SD3ConditioningOutput" } + "output": { + "$ref": "#/components/schemas/SD3ConditioningOutput" + } }, "SeamlessModeInvocation": { "category": "model", @@ -33124,7 +49305,14 @@ "type": "boolean" }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "input", @@ -33134,7 +49322,14 @@ "title": "UNet" }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE model to load", "field_kind": "input", @@ -33176,14 +49371,23 @@ "title": "Apply Seamless - SD1.5, SDXL", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/SeamlessModeOutput" } + "output": { + "$ref": "#/components/schemas/SeamlessModeOutput" + } }, "SeamlessModeOutput": { "class": "output", "description": "Modified Seamless Model output", "properties": { "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "output", @@ -33191,7 +49395,14 @@ "ui_hidden": false }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "output", @@ -33255,7 +49466,9 @@ ], "type": "string" }, - { "type": "null" } + { + "type": "null" + } ], "default": null, "description": "The Segment Anything model to use (SAM or SAM2).", @@ -33265,7 +49478,14 @@ "title": "Model" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to segment.", "field_kind": "input", @@ -33274,8 +49494,15 @@ }, "bounding_boxes": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/BoundingBoxField" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/BoundingBoxField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "The bounding boxes to prompt the model with.", @@ -33287,8 +49514,15 @@ }, "point_lists": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/SAMPointsField" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/SAMPointsField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "The list of point lists to prompt the model with. Each list of points represents a single object.", @@ -33332,7 +49566,9 @@ "title": "Segment Anything", "type": "object", "version": "1.3.0", - "output": { "$ref": "#/components/schemas/MaskOutput" } + "output": { + "$ref": "#/components/schemas/MaskOutput" + } }, "SessionProcessorStatus": { "properties": { @@ -33353,8 +49589,12 @@ }, "SessionQueueAndProcessorStatus": { "properties": { - "queue": { "$ref": "#/components/schemas/SessionQueueStatus" }, - "processor": { "$ref": "#/components/schemas/SessionProcessorStatus" } + "queue": { + "$ref": "#/components/schemas/SessionQueueStatus" + }, + "processor": { + "$ref": "#/components/schemas/SessionProcessorStatus" + } }, "type": "object", "required": ["queue", "processor"], @@ -33363,7 +49603,11 @@ }, "SessionQueueCountsByDestination": { "properties": { - "queue_id": { "type": "string", "title": "Queue Id", "description": "The ID of the queue" }, + "queue_id": { + "type": "string", + "title": "Queue Id", + "description": "The ID of the queue" + }, "destination": { "type": "string", "title": "Destination", @@ -33430,12 +49674,26 @@ "description": "The ID of the batch associated with this queue item" }, "origin": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Origin", "description": "The origin of this queue item. This data is used by the frontend to determine how to handle results." }, "destination": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Destination", "description": "The origin of this queue item. This data is used by the frontend to determine how to handle results" }, @@ -33445,37 +49703,96 @@ "description": "The ID of the session associated with this queue item. The session doesn't exist in graph_executions until the queue item is executed." }, "error_type": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Error Type", "description": "The error type if this queue item errored" }, "error_message": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Error Message", "description": "The error message if this queue item errored" }, "error_traceback": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Error Traceback", "description": "The error traceback if this queue item errored" }, "created_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "title": "Created At", "description": "When this queue item was created" }, "updated_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "title": "Updated At", "description": "When this queue item was updated" }, "started_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Started At", "description": "When this queue item was started" }, "completed_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Completed At", "description": "When this queue item was completed" }, @@ -33486,14 +49803,28 @@ }, "field_values": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/NodeFieldValue" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/NodeFieldValue" + }, + "type": "array" + }, + { + "type": "null" + } ], "title": "Field Values", "description": "The field values that were used for this queue item" }, "retried_from_item_id": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "title": "Retried From Item Id", "description": "The item_id of the queue item that this item was retried from" }, @@ -33502,7 +49833,14 @@ "description": "The fully-populated session to be executed" }, "workflow": { - "anyOf": [{ "$ref": "#/components/schemas/WorkflowWithoutID" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/WorkflowWithoutID" + }, + { + "type": "null" + } + ], "description": "The workflow associated with this queue item" } }, @@ -33524,19 +49862,44 @@ }, "SessionQueueStatus": { "properties": { - "queue_id": { "type": "string", "title": "Queue Id", "description": "The ID of the queue" }, + "queue_id": { + "type": "string", + "title": "Queue Id", + "description": "The ID of the queue" + }, "item_id": { - "anyOf": [{ "type": "integer" }, { "type": "null" }], + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], "title": "Item Id", "description": "The current queue item id" }, "batch_id": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Batch Id", "description": "The current queue item's batch id" }, "session_id": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Session Id", "description": "The current queue item's session id" }, @@ -33565,7 +49928,11 @@ "title": "Canceled", "description": "Number of queue items with status 'canceled'" }, - "total": { "type": "integer", "title": "Total", "description": "Total number of queue items" } + "total": { + "type": "integer", + "title": "Total", + "description": "Total number of queue items" + } }, "type": "object", "required": [ @@ -33614,7 +49981,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to show", "field_kind": "input", @@ -33634,21 +50008,46 @@ "title": "Show Image", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "SigLIP_Diffusers_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -33657,21 +50056,56 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "type": { "type": "string", "const": "siglip", "title": "Type", "default": "siglip" }, - "base": { "type": "string", "const": "any", "title": "Base", "default": "any" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "type": { + "type": "string", + "const": "siglip", + "title": "Type", + "default": "siglip" + }, + "base": { + "type": "string", + "const": "any", + "title": "Base", + "default": "any" + } }, "type": "object", "required": [ @@ -33701,7 +50135,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -33710,7 +50151,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -33743,7 +50191,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The input image", "field_kind": "input", @@ -33751,7 +50206,14 @@ "orig_required": true }, "image_to_image_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "Image-to-Image model", "field_kind": "input", @@ -33805,7 +50267,9 @@ "title": "Image-to-Image (Autoscale)", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "SpandrelImageToImageInvocation": { "category": "upscale", @@ -33815,7 +50279,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -33824,7 +50295,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -33857,7 +50335,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The input image", "field_kind": "input", @@ -33865,7 +50350,14 @@ "orig_required": true }, "image_to_image_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "Image-to-Image model", "field_kind": "input", @@ -33897,21 +50389,46 @@ "title": "Image-to-Image", "type": "object", "version": "1.3.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "Spandrel_Checkpoint_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -33920,25 +50437,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, + "base": { + "type": "string", + "const": "any", + "title": "Base", + "default": "any" + }, "type": { "type": "string", "const": "spandrel_image_to_image", "title": "Type", "default": "spandrel_image_to_image" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" } + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + } }, "type": "object", "required": [ @@ -33962,13 +50506,17 @@ "StarredImagesResult": { "properties": { "affected_boards": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Affected Boards", "description": "The ids of boards affected by the delete operation" }, "starred_images": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Starred Images", "description": "The names of the images that were starred" @@ -33980,23 +50528,58 @@ }, "StarterModel": { "properties": { - "description": { "type": "string", "title": "Description" }, - "source": { "type": "string", "title": "Source" }, - "name": { "type": "string", "title": "Name" }, - "base": { "$ref": "#/components/schemas/BaseModelType" }, - "type": { "$ref": "#/components/schemas/ModelType" }, - "format": { "anyOf": [{ "$ref": "#/components/schemas/ModelFormat" }, { "type": "null" }] }, - "is_installed": { "type": "boolean", "title": "Is Installed", "default": false }, + "description": { + "type": "string", + "title": "Description" + }, + "source": { + "type": "string", + "title": "Source" + }, + "name": { + "type": "string", + "title": "Name" + }, + "base": { + "$ref": "#/components/schemas/BaseModelType" + }, + "type": { + "$ref": "#/components/schemas/ModelType" + }, + "format": { + "anyOf": [ + { + "$ref": "#/components/schemas/ModelFormat" + }, + { + "type": "null" + } + ] + }, + "is_installed": { + "type": "boolean", + "title": "Is Installed", + "default": false + }, "previous_names": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Previous Names", "default": [] }, "dependencies": { "anyOf": [ - { "items": { "$ref": "#/components/schemas/StarterModelWithoutDependencies" }, "type": "array" }, - { "type": "null" } + { + "items": { + "$ref": "#/components/schemas/StarterModelWithoutDependencies" + }, + "type": "array" + }, + { + "type": "null" + } ], "title": "Dependencies" } @@ -34007,8 +50590,17 @@ }, "StarterModelBundle": { "properties": { - "name": { "type": "string", "title": "Name" }, - "models": { "items": { "$ref": "#/components/schemas/StarterModel" }, "type": "array", "title": "Models" } + "name": { + "type": "string", + "title": "Name" + }, + "models": { + "items": { + "$ref": "#/components/schemas/StarterModel" + }, + "type": "array", + "title": "Models" + } }, "type": "object", "required": ["name", "models"], @@ -34017,12 +50609,16 @@ "StarterModelResponse": { "properties": { "starter_models": { - "items": { "$ref": "#/components/schemas/StarterModel" }, + "items": { + "$ref": "#/components/schemas/StarterModel" + }, "type": "array", "title": "Starter Models" }, "starter_bundles": { - "additionalProperties": { "$ref": "#/components/schemas/StarterModelBundle" }, + "additionalProperties": { + "$ref": "#/components/schemas/StarterModelBundle" + }, "type": "object", "title": "Starter Bundles" } @@ -34033,14 +50629,47 @@ }, "StarterModelWithoutDependencies": { "properties": { - "description": { "type": "string", "title": "Description" }, - "source": { "type": "string", "title": "Source" }, - "name": { "type": "string", "title": "Name" }, - "base": { "$ref": "#/components/schemas/BaseModelType" }, - "type": { "$ref": "#/components/schemas/ModelType" }, - "format": { "anyOf": [{ "$ref": "#/components/schemas/ModelFormat" }, { "type": "null" }] }, - "is_installed": { "type": "boolean", "title": "Is Installed", "default": false }, - "previous_names": { "items": { "type": "string" }, "type": "array", "title": "Previous Names", "default": [] } + "description": { + "type": "string", + "title": "Description" + }, + "source": { + "type": "string", + "title": "Source" + }, + "name": { + "type": "string", + "title": "Name" + }, + "base": { + "$ref": "#/components/schemas/BaseModelType" + }, + "type": { + "$ref": "#/components/schemas/ModelType" + }, + "format": { + "anyOf": [ + { + "$ref": "#/components/schemas/ModelFormat" + }, + { + "type": "null" + } + ] + }, + "is_installed": { + "type": "boolean", + "title": "Is Installed", + "default": false + }, + "previous_names": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Previous Names", + "default": [] + } }, "type": "object", "required": ["description", "source", "name", "base", "type"], @@ -34119,7 +50748,18 @@ "type": "string" }, "strings": { - "anyOf": [{ "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "description": "The strings to batch over", "field_kind": "input", @@ -34140,7 +50780,9 @@ "title": "String Batch", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/StringOutput" } + "output": { + "$ref": "#/components/schemas/StringOutput" + } }, "StringCollectionInvocation": { "category": "primitives", @@ -34178,7 +50820,9 @@ "description": "The collection of string values", "field_kind": "input", "input": "any", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "orig_default": [], "orig_required": false, "title": "Collection", @@ -34197,7 +50841,9 @@ "title": "String Collection Primitive", "type": "object", "version": "1.0.2", - "output": { "$ref": "#/components/schemas/StringCollectionOutput" } + "output": { + "$ref": "#/components/schemas/StringCollectionOutput" + } }, "StringCollectionOutput": { "class": "output", @@ -34206,7 +50852,9 @@ "collection": { "description": "The output strings", "field_kind": "output", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "title": "Collection", "type": "array", "ui_hidden": false @@ -34275,9 +50923,15 @@ "title": "String Generator", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/StringGeneratorOutput" } + "output": { + "$ref": "#/components/schemas/StringGeneratorOutput" + } + }, + "StringGeneratorField": { + "properties": {}, + "title": "StringGeneratorField", + "type": "object" }, - "StringGeneratorField": { "properties": {}, "title": "StringGeneratorField", "type": "object" }, "StringGeneratorOutput": { "class": "output", "description": "Base class for nodes that output a collection of strings", @@ -34285,7 +50939,9 @@ "strings": { "description": "The generated strings", "field_kind": "output", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "title": "Strings", "type": "array", "ui_hidden": false @@ -34357,7 +51013,9 @@ "title": "String Primitive", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/StringOutput" } + "output": { + "$ref": "#/components/schemas/StringOutput" + } }, "StringJoinInvocation": { "category": "string", @@ -34425,7 +51083,9 @@ "title": "String Join", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/StringOutput" } + "output": { + "$ref": "#/components/schemas/StringOutput" + } }, "StringJoinThreeInvocation": { "category": "string", @@ -34504,7 +51164,9 @@ "title": "String Join Three", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/StringOutput" } + "output": { + "$ref": "#/components/schemas/StringOutput" + } }, "StringOutput": { "class": "output", @@ -34646,7 +51308,9 @@ "title": "String Replace", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/StringOutput" } + "output": { + "$ref": "#/components/schemas/StringOutput" + } }, "StringSplitInvocation": { "category": "string", @@ -34713,7 +51377,9 @@ "title": "String Split", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/String2Output" } + "output": { + "$ref": "#/components/schemas/String2Output" + } }, "StringSplitNegInvocation": { "category": "string", @@ -34770,16 +51436,39 @@ "title": "String Split Negative", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/StringPosNegOutput" } + "output": { + "$ref": "#/components/schemas/StringPosNegOutput" + } }, "StylePresetRecordWithImage": { "properties": { - "name": { "type": "string", "title": "Name", "description": "The name of the style preset." }, - "preset_data": { "$ref": "#/components/schemas/PresetData", "description": "The preset data" }, - "type": { "$ref": "#/components/schemas/PresetType", "description": "The type of style preset" }, - "id": { "type": "string", "title": "Id", "description": "The style preset ID." }, + "name": { + "type": "string", + "title": "Name", + "description": "The name of the style preset." + }, + "preset_data": { + "$ref": "#/components/schemas/PresetData", + "description": "The preset data" + }, + "type": { + "$ref": "#/components/schemas/PresetType", + "description": "The type of style preset" + }, + "id": { + "type": "string", + "title": "Id", + "description": "The style preset ID." + }, "image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Image", "description": "The path for image" } @@ -34810,14 +51499,27 @@ }, "SubmodelDefinition": { "properties": { - "path_or_prefix": { "type": "string", "title": "Path Or Prefix" }, - "model_type": { "$ref": "#/components/schemas/ModelType" }, + "path_or_prefix": { + "type": "string", + "title": "Path Or Prefix" + }, + "model_type": { + "$ref": "#/components/schemas/ModelType" + }, "variant": { "anyOf": [ - { "$ref": "#/components/schemas/ModelVariantType" }, - { "$ref": "#/components/schemas/ClipVariantType" }, - { "$ref": "#/components/schemas/FluxVariantType" }, - { "type": "null" } + { + "$ref": "#/components/schemas/ModelVariantType" + }, + { + "$ref": "#/components/schemas/ClipVariantType" + }, + { + "$ref": "#/components/schemas/FluxVariantType" + }, + { + "type": "null" + } ], "title": "Variant" } @@ -34890,17 +51592,32 @@ "title": "Subtract Integers", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/IntegerOutput" } + "output": { + "$ref": "#/components/schemas/IntegerOutput" + } }, "T2IAdapterField": { "properties": { - "image": { "$ref": "#/components/schemas/ImageField", "description": "The T2I-Adapter image prompt." }, + "image": { + "$ref": "#/components/schemas/ImageField", + "description": "The T2I-Adapter image prompt." + }, "t2i_adapter_model": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "The T2I-Adapter model to use." }, "weight": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1, "description": "The weight given to the T2I-Adapter", "title": "Weight" @@ -34965,7 +51682,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The IP-Adapter image prompt.", "field_kind": "input", @@ -34973,7 +51697,14 @@ "orig_required": true }, "t2i_adapter_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "The T2I-Adapter model.", "field_kind": "input", @@ -34985,7 +51716,17 @@ "ui_order": -1 }, "weight": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1, "description": "The weight given to the T2I-Adapter", "field_kind": "input", @@ -35043,13 +51784,25 @@ "title": "T2I-Adapter - SD1.5, SDXL", "type": "object", "version": "1.0.4", - "output": { "$ref": "#/components/schemas/T2IAdapterOutput" } + "output": { + "$ref": "#/components/schemas/T2IAdapterOutput" + } }, "T2IAdapterMetadataField": { "properties": { - "image": { "$ref": "#/components/schemas/ImageField", "description": "The control image." }, + "image": { + "$ref": "#/components/schemas/ImageField", + "description": "The control image." + }, "processed_image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The control image, after processing." }, @@ -35058,7 +51811,17 @@ "description": "The T2I-Adapter model to use." }, "weight": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 1, "description": "The weight given to the T2I-Adapter", "title": "Weight" @@ -35115,17 +51878,40 @@ }, "T2IAdapter_Diffusers_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -35134,24 +51920,66 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "type": { "type": "string", "const": "t2i_adapter", "title": "Type", "default": "t2i_adapter" }, + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "type": { + "type": "string", + "const": "t2i_adapter", + "title": "Type", + "default": "t2i_adapter" + }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + "anyOf": [ + { + "$ref": "#/components/schemas/ControlAdapterDefaultSettings" + }, + { + "type": "null" + } + ] }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -35175,17 +52003,40 @@ }, "T2IAdapter_Diffusers_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -35194,24 +52045,66 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "type": { "type": "string", "const": "t2i_adapter", "title": "Type", "default": "t2i_adapter" }, + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "type": { + "type": "string", + "const": "t2i_adapter", + "title": "Type", + "default": "t2i_adapter" + }, "default_settings": { - "anyOf": [{ "$ref": "#/components/schemas/ControlAdapterDefaultSettings" }, { "type": "null" }] + "anyOf": [ + { + "$ref": "#/components/schemas/ControlAdapterDefaultSettings" + }, + { + "type": "null" + } + ] }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -35245,7 +52138,9 @@ }, "loras": { "description": "LoRAs to apply on model loading", - "items": { "$ref": "#/components/schemas/LoRAField" }, + "items": { + "$ref": "#/components/schemas/LoRAField" + }, "title": "Loras", "type": "array" } @@ -35256,17 +52151,40 @@ }, "T5Encoder_BnBLLMint8_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -35275,19 +52193,46 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, - "type": { "type": "string", "const": "t5_encoder", "title": "Type", "default": "t5_encoder" }, + "base": { + "type": "string", + "const": "any", + "title": "Base", + "default": "any" + }, + "type": { + "type": "string", + "const": "t5_encoder", + "title": "Type", + "default": "t5_encoder" + }, "format": { "type": "string", "const": "bnb_quantized_int8b", @@ -35316,17 +52261,40 @@ }, "T5Encoder_T5Encoder_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -35335,20 +52303,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "base": { "type": "string", "const": "any", "title": "Base", "default": "any" }, - "type": { "type": "string", "const": "t5_encoder", "title": "Type", "default": "t5_encoder" }, - "format": { "type": "string", "const": "t5_encoder", "title": "Format", "default": "t5_encoder" } + "base": { + "type": "string", + "const": "any", + "title": "Base", + "default": "any" + }, + "type": { + "type": "string", + "const": "t5_encoder", + "title": "Type", + "default": "t5_encoder" + }, + "format": { + "type": "string", + "const": "t5_encoder", + "title": "Format", + "default": "t5_encoder" + } }, "type": "object", "required": [ @@ -35371,10 +52371,22 @@ }, "TBLR": { "properties": { - "top": { "title": "Top", "type": "integer" }, - "bottom": { "title": "Bottom", "type": "integer" }, - "left": { "title": "Left", "type": "integer" }, - "right": { "title": "Right", "type": "integer" } + "top": { + "title": "Top", + "type": "integer" + }, + "bottom": { + "title": "Bottom", + "type": "integer" + }, + "left": { + "title": "Left", + "type": "integer" + }, + "right": { + "title": "Right", + "type": "integer" + } }, "required": ["top", "bottom", "left", "right"], "title": "TBLR", @@ -35382,17 +52394,40 @@ }, "TI_File_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -35401,20 +52436,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "embedding", "title": "Type", "default": "embedding" }, - "format": { "type": "string", "const": "embedding_file", "title": "Format", "default": "embedding_file" }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "type": { + "type": "string", + "const": "embedding", + "title": "Type", + "default": "embedding" + }, + "format": { + "type": "string", + "const": "embedding_file", + "title": "Format", + "default": "embedding_file" + }, + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -35436,17 +52503,40 @@ }, "TI_File_SD2_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -35455,20 +52545,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "embedding", "title": "Type", "default": "embedding" }, - "format": { "type": "string", "const": "embedding_file", "title": "Format", "default": "embedding_file" }, - "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + "type": { + "type": "string", + "const": "embedding", + "title": "Type", + "default": "embedding" + }, + "format": { + "type": "string", + "const": "embedding_file", + "title": "Format", + "default": "embedding_file" + }, + "base": { + "type": "string", + "const": "sd-2", + "title": "Base", + "default": "sd-2" + } }, "type": "object", "required": [ @@ -35490,17 +52612,40 @@ }, "TI_File_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -35509,20 +52654,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "embedding", "title": "Type", "default": "embedding" }, - "format": { "type": "string", "const": "embedding_file", "title": "Format", "default": "embedding_file" }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "type": { + "type": "string", + "const": "embedding", + "title": "Type", + "default": "embedding" + }, + "format": { + "type": "string", + "const": "embedding_file", + "title": "Format", + "default": "embedding_file" + }, + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -35544,17 +52721,40 @@ }, "TI_Folder_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -35563,20 +52763,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "embedding", "title": "Type", "default": "embedding" }, - "format": { "type": "string", "const": "embedding_folder", "title": "Format", "default": "embedding_folder" }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "type": { + "type": "string", + "const": "embedding", + "title": "Type", + "default": "embedding" + }, + "format": { + "type": "string", + "const": "embedding_folder", + "title": "Format", + "default": "embedding_folder" + }, + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -35598,17 +52830,40 @@ }, "TI_Folder_SD2_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -35617,20 +52872,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "embedding", "title": "Type", "default": "embedding" }, - "format": { "type": "string", "const": "embedding_folder", "title": "Format", "default": "embedding_folder" }, - "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + "type": { + "type": "string", + "const": "embedding", + "title": "Type", + "default": "embedding" + }, + "format": { + "type": "string", + "const": "embedding_folder", + "title": "Format", + "default": "embedding_folder" + }, + "base": { + "type": "string", + "const": "sd-2", + "title": "Base", + "default": "sd-2" + } }, "type": "object", "required": [ @@ -35652,17 +52939,40 @@ }, "TI_Folder_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -35671,20 +52981,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "type": { "type": "string", "const": "embedding", "title": "Type", "default": "embedding" }, - "format": { "type": "string", "const": "embedding_folder", "title": "Format", "default": "embedding_folder" }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "type": { + "type": "string", + "const": "embedding", + "title": "Type", + "default": "embedding" + }, + "format": { + "type": "string", + "const": "embedding_folder", + "title": "Format", + "default": "embedding_folder" + }, + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -35707,7 +53049,11 @@ "TensorField": { "description": "A tensor primitive field.", "properties": { - "tensor_name": { "description": "The name of a tensor.", "title": "Tensor Name", "type": "string" } + "tensor_name": { + "description": "The name of a tensor.", + "title": "Tensor Name", + "type": "string" + } }, "required": ["tensor_name"], "title": "TensorField", @@ -35760,7 +53106,14 @@ "type": "boolean" }, "tile": { - "anyOf": [{ "$ref": "#/components/schemas/Tile" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/Tile" + }, + { + "type": "null" + } + ], "default": null, "description": "The tile to split into properties.", "field_kind": "input", @@ -35780,7 +53133,9 @@ "title": "Tile to Properties", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/TileToPropertiesOutput" } + "output": { + "$ref": "#/components/schemas/TileToPropertiesOutput" + } }, "TileToPropertiesOutput": { "class": "output", @@ -35883,8 +53238,12 @@ }, "TileWithImage": { "properties": { - "tile": { "$ref": "#/components/schemas/Tile" }, - "image": { "$ref": "#/components/schemas/ImageField" } + "tile": { + "$ref": "#/components/schemas/Tile" + }, + "image": { + "$ref": "#/components/schemas/ImageField" + } }, "required": ["tile", "image"], "title": "TileWithImage", @@ -35922,7 +53281,14 @@ "type": "boolean" }, "positive_conditioning": { - "anyOf": [{ "$ref": "#/components/schemas/ConditioningField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ConditioningField" + }, + { + "type": "null" + } + ], "default": null, "description": "Positive conditioning tensor", "field_kind": "input", @@ -35930,7 +53296,14 @@ "orig_required": true }, "negative_conditioning": { - "anyOf": [{ "$ref": "#/components/schemas/ConditioningField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ConditioningField" + }, + { + "type": "null" + } + ], "default": null, "description": "Negative conditioning tensor", "field_kind": "input", @@ -35938,7 +53311,14 @@ "orig_required": true }, "noise": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Noise tensor", "field_kind": "input", @@ -35947,7 +53327,14 @@ "orig_required": false }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -36003,7 +53390,17 @@ "type": "integer" }, "cfg_scale": { - "anyOf": [{ "type": "number" }, { "items": { "type": "number" }, "type": "array" }], + "anyOf": [ + { + "type": "number" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], "default": 6.0, "description": "Classifier-Free Guidance scale", "field_kind": "input", @@ -36080,7 +53477,14 @@ "ui_type": "SchedulerField" }, "unet": { - "anyOf": [{ "$ref": "#/components/schemas/UNetField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/UNetField" + }, + { + "type": "null" + } + ], "default": null, "description": "UNet (scheduler, LoRAs)", "field_kind": "input", @@ -36102,9 +53506,18 @@ }, "control": { "anyOf": [ - { "$ref": "#/components/schemas/ControlField" }, - { "items": { "$ref": "#/components/schemas/ControlField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/ControlField" + }, + { + "items": { + "$ref": "#/components/schemas/ControlField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "field_kind": "input", @@ -36126,7 +53539,9 @@ "title": "Tiled Multi-Diffusion Denoise - SD1.5, SDXL", "type": "object", "version": "1.0.1", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "TransformerField": { "properties": { @@ -36136,7 +53551,9 @@ }, "loras": { "description": "LoRAs to apply on model loading", - "items": { "$ref": "#/components/schemas/LoRAField" }, + "items": { + "$ref": "#/components/schemas/LoRAField" + }, "title": "Loras", "type": "array" } @@ -36155,19 +53572,43 @@ "description": "Provides additional node configuration to the UI.\nThis is used internally by the @invocation decorator logic. Do not use this directly.", "properties": { "tags": { - "anyOf": [{ "items": { "type": "string" }, "type": "array" }, { "type": "null" }], + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "description": "The node's tags", "title": "Tags" }, "title": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The node's display name", "title": "Title" }, "category": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "The node's category", "title": "Category" @@ -36274,25 +53715,39 @@ }, "UNetField": { "properties": { - "unet": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "Info to load unet submodel" }, + "unet": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load unet submodel" + }, "scheduler": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "Info to load scheduler submodel" }, "loras": { "description": "LoRAs to apply on model loading", - "items": { "$ref": "#/components/schemas/LoRAField" }, + "items": { + "$ref": "#/components/schemas/LoRAField" + }, "title": "Loras", "type": "array" }, "seamless_axes": { "description": "Axes(\"x\" and \"y\") to which apply seamless", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "title": "Seamless Axes", "type": "array" }, "freeu_config": { - "anyOf": [{ "$ref": "#/components/schemas/FreeUConfig" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/FreeUConfig" + }, + { + "type": "null" + } + ], "default": null, "description": "FreeU configuration" } @@ -36326,9 +53781,29 @@ }, "URLModelSource": { "properties": { - "url": { "type": "string", "minLength": 1, "format": "uri", "title": "Url" }, - "access_token": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Access Token" }, - "type": { "type": "string", "const": "url", "title": "Type", "default": "url" } + "url": { + "type": "string", + "minLength": 1, + "format": "uri", + "title": "Url" + }, + "access_token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Access Token" + }, + "type": { + "type": "string", + "const": "url", + "title": "Type", + "default": "url" + } }, "type": "object", "required": ["url"], @@ -36342,7 +53817,11 @@ "title": "Url Regex", "description": "Regular expression to match against the URL" }, - "token": { "type": "string", "title": "Token", "description": "Token to use when the URL matches the regex" } + "token": { + "type": "string", + "title": "Token", + "description": "Token to use when the URL matches the regex" + } }, "type": "object", "required": ["url_regex", "token"], @@ -36350,17 +53829,40 @@ }, "Unknown_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -36369,20 +53871,52 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "base": { "type": "string", "const": "unknown", "title": "Base", "default": "unknown" }, - "type": { "type": "string", "const": "unknown", "title": "Type", "default": "unknown" }, - "format": { "type": "string", "const": "unknown", "title": "Format", "default": "unknown" } + "base": { + "type": "string", + "const": "unknown", + "title": "Base", + "default": "unknown" + }, + "type": { + "type": "string", + "const": "unknown", + "title": "Type", + "default": "unknown" + }, + "format": { + "type": "string", + "const": "unknown", + "title": "Format", + "default": "unknown" + } }, "type": "object", "required": [ @@ -36411,7 +53945,14 @@ "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -36420,7 +53961,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -36453,7 +54001,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to use", "field_kind": "input", @@ -36495,18 +54050,24 @@ "title": "Unsharp Mask", "type": "object", "version": "1.2.2", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "UnstarredImagesResult": { "properties": { "affected_boards": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Affected Boards", "description": "The ids of boards affected by the delete operation" }, "unstarred_images": { - "items": { "type": "string" }, + "items": { + "type": "string" + }, "type": "array", "title": "Unstarred Images", "description": "The names of the images that were unstarred" @@ -36518,10 +54079,15 @@ }, "VAEField": { "properties": { - "vae": { "$ref": "#/components/schemas/ModelIdentifierField", "description": "Info to load vae submodel" }, + "vae": { + "$ref": "#/components/schemas/ModelIdentifierField", + "description": "Info to load vae submodel" + }, "seamless_axes": { "description": "Axes(\"x\" and \"y\") to which apply seamless", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "title": "Seamless Axes", "type": "array" } @@ -36562,7 +54128,14 @@ "type": "boolean" }, "vae_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE model to load", "field_kind": "input", @@ -36585,7 +54158,9 @@ "title": "VAE Model - SD1.5, SD2, SDXL, SD3, FLUX", "type": "object", "version": "1.0.4", - "output": { "$ref": "#/components/schemas/VAEOutput" } + "output": { + "$ref": "#/components/schemas/VAEOutput" + } }, "VAEOutput": { "class": "output", @@ -36612,17 +54187,40 @@ }, "VAE_Checkpoint_FLUX_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -36631,25 +54229,64 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "type": { "type": "string", "const": "vae", "title": "Type", "default": "vae" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "base": { "type": "string", "const": "flux", "title": "Base", "default": "flux" } + "type": { + "type": "string", + "const": "vae", + "title": "Type", + "default": "vae" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "base": { + "type": "string", + "const": "flux", + "title": "Base", + "default": "flux" + } }, "type": "object", "required": [ @@ -36672,17 +54309,40 @@ }, "VAE_Checkpoint_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -36691,25 +54351,64 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "type": { "type": "string", "const": "vae", "title": "Type", "default": "vae" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "type": { + "type": "string", + "const": "vae", + "title": "Type", + "default": "vae" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -36732,17 +54431,40 @@ }, "VAE_Checkpoint_SD2_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -36751,25 +54473,64 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "type": { "type": "string", "const": "vae", "title": "Type", "default": "vae" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "base": { "type": "string", "const": "sd-2", "title": "Base", "default": "sd-2" } + "type": { + "type": "string", + "const": "vae", + "title": "Type", + "default": "vae" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "base": { + "type": "string", + "const": "sd-2", + "title": "Base", + "default": "sd-2" + } }, "type": "object", "required": [ @@ -36792,17 +54553,40 @@ }, "VAE_Checkpoint_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -36811,25 +54595,64 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, "config_path": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Config Path", "description": "Path to the config for this model, if any." }, - "type": { "type": "string", "const": "vae", "title": "Type", "default": "vae" }, - "format": { "type": "string", "const": "checkpoint", "title": "Format", "default": "checkpoint" }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "type": { + "type": "string", + "const": "vae", + "title": "Type", + "default": "vae" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -36852,17 +54675,40 @@ }, "VAE_Diffusers_SD1_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -36871,21 +54717,56 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "type": { "type": "string", "const": "vae", "title": "Type", "default": "vae" }, - "base": { "type": "string", "const": "sd-1", "title": "Base", "default": "sd-1" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "type": { + "type": "string", + "const": "vae", + "title": "Type", + "default": "vae" + }, + "base": { + "type": "string", + "const": "sd-1", + "title": "Base", + "default": "sd-1" + } }, "type": "object", "required": [ @@ -36908,17 +54789,40 @@ }, "VAE_Diffusers_SDXL_Config": { "properties": { - "key": { "type": "string", "title": "Key", "description": "A unique key for this model." }, - "hash": { "type": "string", "title": "Hash", "description": "The hash of the model file(s)." }, + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, "path": { "type": "string", "title": "Path", "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." }, - "file_size": { "type": "integer", "title": "File Size", "description": "The size of the model in bytes." }, - "name": { "type": "string", "title": "Name", "description": "Name of the model." }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, "description": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Description", "description": "Model description" }, @@ -36927,21 +54831,56 @@ "title": "Source", "description": "The original source of the model (path, URL or repo_id)." }, - "source_type": { "$ref": "#/components/schemas/ModelSourceType", "description": "The type of source" }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, "source_api_response": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Source Api Response", "description": "The original API response from the source, as stringified JSON." }, "cover_image": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Cover Image", "description": "Url for image to preview model" }, - "format": { "type": "string", "const": "diffusers", "title": "Format", "default": "diffusers" }, - "repo_variant": { "$ref": "#/components/schemas/ModelRepoVariant", "default": "" }, - "type": { "type": "string", "const": "vae", "title": "Type", "default": "vae" }, - "base": { "type": "string", "const": "sdxl", "title": "Base", "default": "sdxl" } + "format": { + "type": "string", + "const": "diffusers", + "title": "Format", + "default": "diffusers" + }, + "repo_variant": { + "$ref": "#/components/schemas/ModelRepoVariant", + "default": "" + }, + "type": { + "type": "string", + "const": "vae", + "title": "Type", + "default": "vae" + }, + "base": { + "type": "string", + "const": "sdxl", + "title": "Base", + "default": "sdxl" + } }, "type": "object", "required": [ @@ -36965,12 +54904,27 @@ "ValidationError": { "properties": { "loc": { - "items": { "anyOf": [{ "type": "string" }, { "type": "integer" }] }, + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, "type": "array", "title": "Location" }, - "msg": { "type": "string", "title": "Message" }, - "type": { "type": "string", "title": "Error Type" } + "msg": { + "type": "string", + "title": "Message" + }, + "type": { + "type": "string", + "title": "Error Type" + } }, "type": "object", "required": ["loc", "msg", "type"], @@ -36978,45 +54932,95 @@ }, "Workflow": { "properties": { - "name": { "type": "string", "title": "Name", "description": "The name of the workflow." }, - "author": { "type": "string", "title": "Author", "description": "The author of the workflow." }, + "name": { + "type": "string", + "title": "Name", + "description": "The name of the workflow." + }, + "author": { + "type": "string", + "title": "Author", + "description": "The author of the workflow." + }, "description": { "type": "string", "title": "Description", "description": "The description of the workflow." }, - "version": { "type": "string", "title": "Version", "description": "The version of the workflow." }, - "contact": { "type": "string", "title": "Contact", "description": "The contact of the workflow." }, - "tags": { "type": "string", "title": "Tags", "description": "The tags of the workflow." }, - "notes": { "type": "string", "title": "Notes", "description": "The notes of the workflow." }, + "version": { + "type": "string", + "title": "Version", + "description": "The version of the workflow." + }, + "contact": { + "type": "string", + "title": "Contact", + "description": "The contact of the workflow." + }, + "tags": { + "type": "string", + "title": "Tags", + "description": "The tags of the workflow." + }, + "notes": { + "type": "string", + "title": "Notes", + "description": "The notes of the workflow." + }, "exposedFields": { - "items": { "$ref": "#/components/schemas/ExposedField" }, + "items": { + "$ref": "#/components/schemas/ExposedField" + }, "type": "array", "title": "Exposedfields", "description": "The exposed fields of the workflow." }, - "meta": { "$ref": "#/components/schemas/WorkflowMeta", "description": "The meta of the workflow." }, + "meta": { + "$ref": "#/components/schemas/WorkflowMeta", + "description": "The meta of the workflow." + }, "nodes": { - "items": { "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "type": "object" }, + "items": { + "additionalProperties": { + "$ref": "#/components/schemas/JsonValue" + }, + "type": "object" + }, "type": "array", "title": "Nodes", "description": "The nodes of the workflow." }, "edges": { - "items": { "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "type": "object" }, + "items": { + "additionalProperties": { + "$ref": "#/components/schemas/JsonValue" + }, + "type": "object" + }, "type": "array", "title": "Edges", "description": "The edges of the workflow." }, "form": { "anyOf": [ - { "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "type": "object" }, - { "type": "null" } + { + "additionalProperties": { + "$ref": "#/components/schemas/JsonValue" + }, + "type": "object" + }, + { + "type": "null" + } ], "title": "Form", "description": "The form of the workflow." }, - "id": { "type": "string", "title": "Id", "description": "The id of the workflow." } + "id": { + "type": "string", + "title": "Id", + "description": "The id of the workflow." + } }, "type": "object", "required": [ @@ -37038,12 +55042,26 @@ "WorkflowAndGraphResponse": { "properties": { "workflow": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Workflow", "description": "The workflow used to generate the image, as stringified JSON" }, "graph": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Graph", "description": "The graph used to generate the image, as stringified JSON" } @@ -37052,10 +55070,18 @@ "required": ["workflow", "graph"], "title": "WorkflowAndGraphResponse" }, - "WorkflowCategory": { "type": "string", "enum": ["user", "default"], "title": "WorkflowCategory" }, + "WorkflowCategory": { + "type": "string", + "enum": ["user", "default"], + "title": "WorkflowCategory" + }, "WorkflowMeta": { "properties": { - "version": { "type": "string", "title": "Version", "description": "The version of the workflow schema." }, + "version": { + "type": "string", + "title": "Version", + "description": "The version of the workflow schema." + }, "category": { "$ref": "#/components/schemas/WorkflowCategory", "description": "The category of the workflow (user or default)." @@ -37067,24 +55093,62 @@ }, "WorkflowRecordDTO": { "properties": { - "workflow_id": { "type": "string", "title": "Workflow Id", "description": "The id of the workflow." }, - "name": { "type": "string", "title": "Name", "description": "The name of the workflow." }, + "workflow_id": { + "type": "string", + "title": "Workflow Id", + "description": "The id of the workflow." + }, + "name": { + "type": "string", + "title": "Name", + "description": "The name of the workflow." + }, "created_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "title": "Created At", "description": "The created timestamp of the workflow." }, "updated_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "title": "Updated At", "description": "The updated timestamp of the workflow." }, "opened_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Opened At", "description": "The opened timestamp of the workflow." }, - "workflow": { "$ref": "#/components/schemas/Workflow", "description": "The workflow." } + "workflow": { + "$ref": "#/components/schemas/Workflow", + "description": "The workflow." + } }, "type": "object", "required": ["workflow_id", "name", "created_at", "updated_at", "workflow"], @@ -37092,20 +55156,55 @@ }, "WorkflowRecordListItemWithThumbnailDTO": { "properties": { - "workflow_id": { "type": "string", "title": "Workflow Id", "description": "The id of the workflow." }, - "name": { "type": "string", "title": "Name", "description": "The name of the workflow." }, + "workflow_id": { + "type": "string", + "title": "Workflow Id", + "description": "The id of the workflow." + }, + "name": { + "type": "string", + "title": "Name", + "description": "The name of the workflow." + }, "created_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "title": "Created At", "description": "The created timestamp of the workflow." }, "updated_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "title": "Updated At", "description": "The updated timestamp of the workflow." }, "opened_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Opened At", "description": "The opened timestamp of the workflow." }, @@ -37118,9 +55217,20 @@ "$ref": "#/components/schemas/WorkflowCategory", "description": "The description of the workflow." }, - "tags": { "type": "string", "title": "Tags", "description": "The tags of the workflow." }, + "tags": { + "type": "string", + "title": "Tags", + "description": "The tags of the workflow." + }, "thumbnail_url": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Thumbnail Url", "description": "The URL of the workflow thumbnail." } @@ -37137,26 +55247,71 @@ }, "WorkflowRecordWithThumbnailDTO": { "properties": { - "workflow_id": { "type": "string", "title": "Workflow Id", "description": "The id of the workflow." }, - "name": { "type": "string", "title": "Name", "description": "The name of the workflow." }, + "workflow_id": { + "type": "string", + "title": "Workflow Id", + "description": "The id of the workflow." + }, + "name": { + "type": "string", + "title": "Name", + "description": "The name of the workflow." + }, "created_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "title": "Created At", "description": "The created timestamp of the workflow." }, "updated_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "title": "Updated At", "description": "The updated timestamp of the workflow." }, "opened_at": { - "anyOf": [{ "type": "string", "format": "date-time" }, { "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Opened At", "description": "The opened timestamp of the workflow." }, - "workflow": { "$ref": "#/components/schemas/Workflow", "description": "The workflow." }, + "workflow": { + "$ref": "#/components/schemas/Workflow", + "description": "The workflow." + }, "thumbnail_url": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "title": "Thumbnail Url", "description": "The URL of the workflow thumbnail." } @@ -37167,40 +55322,86 @@ }, "WorkflowWithoutID": { "properties": { - "name": { "type": "string", "title": "Name", "description": "The name of the workflow." }, - "author": { "type": "string", "title": "Author", "description": "The author of the workflow." }, + "name": { + "type": "string", + "title": "Name", + "description": "The name of the workflow." + }, + "author": { + "type": "string", + "title": "Author", + "description": "The author of the workflow." + }, "description": { "type": "string", "title": "Description", "description": "The description of the workflow." }, - "version": { "type": "string", "title": "Version", "description": "The version of the workflow." }, - "contact": { "type": "string", "title": "Contact", "description": "The contact of the workflow." }, - "tags": { "type": "string", "title": "Tags", "description": "The tags of the workflow." }, - "notes": { "type": "string", "title": "Notes", "description": "The notes of the workflow." }, + "version": { + "type": "string", + "title": "Version", + "description": "The version of the workflow." + }, + "contact": { + "type": "string", + "title": "Contact", + "description": "The contact of the workflow." + }, + "tags": { + "type": "string", + "title": "Tags", + "description": "The tags of the workflow." + }, + "notes": { + "type": "string", + "title": "Notes", + "description": "The notes of the workflow." + }, "exposedFields": { - "items": { "$ref": "#/components/schemas/ExposedField" }, + "items": { + "$ref": "#/components/schemas/ExposedField" + }, "type": "array", "title": "Exposedfields", "description": "The exposed fields of the workflow." }, - "meta": { "$ref": "#/components/schemas/WorkflowMeta", "description": "The meta of the workflow." }, + "meta": { + "$ref": "#/components/schemas/WorkflowMeta", + "description": "The meta of the workflow." + }, "nodes": { - "items": { "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "type": "object" }, + "items": { + "additionalProperties": { + "$ref": "#/components/schemas/JsonValue" + }, + "type": "object" + }, "type": "array", "title": "Nodes", "description": "The nodes of the workflow." }, "edges": { - "items": { "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "type": "object" }, + "items": { + "additionalProperties": { + "$ref": "#/components/schemas/JsonValue" + }, + "type": "object" + }, "type": "array", "title": "Edges", "description": "The edges of the workflow." }, "form": { "anyOf": [ - { "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "type": "object" }, - { "type": "null" } + { + "additionalProperties": { + "$ref": "#/components/schemas/JsonValue" + }, + "type": "object" + }, + { + "type": "null" + } ], "title": "Form", "description": "The form of the workflow." @@ -37229,6 +55430,18 @@ "description": "The name of conditioning tensor", "title": "Conditioning Name", "type": "string" + }, + "mask": { + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The mask associated with this conditioning tensor for regional prompting. Excluded regions should be set to False, included regions should be set to True." } }, "required": ["conditioning_name"], @@ -37261,11 +55474,18 @@ "category": "image", "class": "invocation", "classification": "prototype", - "description": "Run the denoising process with a Z-Image model.", + "description": "Run the denoising process with a Z-Image model.\n\nSupports regional prompting by connecting multiple conditioning inputs with masks.", "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -37274,7 +55494,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -37307,7 +55534,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -37316,7 +55550,14 @@ "orig_required": false }, "denoise_mask": { - "anyOf": [{ "$ref": "#/components/schemas/DenoiseMaskField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/DenoiseMaskField" + }, + { + "type": "null" + } + ], "default": null, "description": "A mask of the region to apply the denoising process to. Values of 0.0 represent the regions to be fully denoised, and 1.0 represent the regions to be preserved.", "field_kind": "input", @@ -37349,7 +55590,14 @@ "type": "number" }, "transformer": { - "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TransformerField" + }, + { + "type": "null" + } + ], "default": null, "description": "Z-Image model (Transformer) to load", "field_kind": "input", @@ -37358,21 +55606,49 @@ "title": "Transformer" }, "positive_conditioning": { - "anyOf": [{ "$ref": "#/components/schemas/ZImageConditioningField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ZImageConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/ZImageConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "description": "Positive conditioning tensor", "field_kind": "input", "input": "connection", - "orig_required": true + "orig_required": true, + "title": "Positive Conditioning" }, "negative_conditioning": { - "anyOf": [{ "$ref": "#/components/schemas/ZImageConditioningField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ZImageConditioningField" + }, + { + "items": { + "$ref": "#/components/schemas/ZImageConditioningField" + }, + "type": "array" + }, + { + "type": "null" + } + ], "default": null, "description": "Negative conditioning tensor", "field_kind": "input", "input": "connection", "orig_default": null, - "orig_required": false + "orig_required": false, + "title": "Negative Conditioning" }, "guidance_scale": { "default": 0.0, @@ -37440,18 +55716,27 @@ "tags": ["image", "z-image"], "title": "Denoise - Z-Image", "type": "object", - "version": "1.0.0", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "version": "1.2.0", + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "ZImageImageToLatentsInvocation": { "category": "image", "class": "invocation", "classification": "prototype", - "description": "Generates latents from an image using Z-Image VAE.", + "description": "Generates latents from an image using Z-Image VAE (supports both Diffusers and FLUX VAE).", "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -37460,7 +55745,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -37493,7 +55785,14 @@ "type": "boolean" }, "image": { - "anyOf": [{ "$ref": "#/components/schemas/ImageField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ImageField" + }, + { + "type": "null" + } + ], "default": null, "description": "The image to encode.", "field_kind": "input", @@ -37501,7 +55800,14 @@ "orig_required": true }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -37520,18 +55826,27 @@ "tags": ["image", "latents", "vae", "i2l", "z-image"], "title": "Image to Latents - Z-Image", "type": "object", - "version": "1.0.0", - "output": { "$ref": "#/components/schemas/LatentsOutput" } + "version": "1.1.0", + "output": { + "$ref": "#/components/schemas/LatentsOutput" + } }, "ZImageLatentsToImageInvocation": { "category": "latents", "class": "invocation", "classification": "prototype", - "description": "Generates an image from latents using Z-Image VAE.", + "description": "Generates an image from latents using Z-Image VAE (supports both Diffusers and FLUX VAE).", "node_pack": "invokeai", "properties": { "board": { - "anyOf": [{ "$ref": "#/components/schemas/BoardField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/BoardField" + }, + { + "type": "null" + } + ], "default": null, "description": "The board to save the image to", "field_kind": "internal", @@ -37540,7 +55855,14 @@ "ui_hidden": false }, "metadata": { - "anyOf": [{ "$ref": "#/components/schemas/MetadataField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/MetadataField" + }, + { + "type": "null" + } + ], "default": null, "description": "Optional metadata to be saved with the image", "field_kind": "internal", @@ -37573,7 +55895,14 @@ "type": "boolean" }, "latents": { - "anyOf": [{ "$ref": "#/components/schemas/LatentsField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/LatentsField" + }, + { + "type": "null" + } + ], "default": null, "description": "Latents tensor", "field_kind": "input", @@ -37581,7 +55910,14 @@ "orig_required": true }, "vae": { - "anyOf": [{ "$ref": "#/components/schemas/VAEField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/VAEField" + }, + { + "type": "null" + } + ], "default": null, "description": "VAE", "field_kind": "input", @@ -37600,8 +55936,10 @@ "tags": ["latents", "image", "vae", "l2i", "z-image"], "title": "Latents to Image - Z-Image", "type": "object", - "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ImageOutput" } + "version": "1.1.0", + "output": { + "$ref": "#/components/schemas/ImageOutput" + } }, "ZImageLoRACollectionLoader": { "category": "model", @@ -37636,9 +55974,18 @@ }, "loras": { "anyOf": [ - { "$ref": "#/components/schemas/LoRAField" }, - { "items": { "$ref": "#/components/schemas/LoRAField" }, "type": "array" }, - { "type": "null" } + { + "$ref": "#/components/schemas/LoRAField" + }, + { + "items": { + "$ref": "#/components/schemas/LoRAField" + }, + "type": "array" + }, + { + "type": "null" + } ], "default": null, "description": "LoRA models and weights. May be a single LoRA or collection.", @@ -37649,7 +55996,14 @@ "title": "LoRAs" }, "transformer": { - "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TransformerField" + }, + { + "type": "null" + } + ], "default": null, "description": "Transformer", "field_kind": "input", @@ -37659,7 +56013,14 @@ "title": "Transformer" }, "qwen3_encoder": { - "anyOf": [{ "$ref": "#/components/schemas/Qwen3EncoderField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/Qwen3EncoderField" + }, + { + "type": "null" + } + ], "default": null, "description": "Qwen3 tokenizer and text encoder", "field_kind": "input", @@ -37681,7 +56042,9 @@ "title": "Apply LoRA Collection - Z-Image", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ZImageLoRALoaderOutput" } + "output": { + "$ref": "#/components/schemas/ZImageLoRALoaderOutput" + } }, "ZImageLoRALoaderInvocation": { "category": "model", @@ -37715,7 +56078,14 @@ "type": "boolean" }, "lora": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "LoRA model to load", "field_kind": "input", @@ -37736,7 +56106,14 @@ "type": "number" }, "transformer": { - "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TransformerField" + }, + { + "type": "null" + } + ], "default": null, "description": "Transformer", "field_kind": "input", @@ -37746,7 +56123,14 @@ "title": "Z-Image Transformer" }, "qwen3_encoder": { - "anyOf": [{ "$ref": "#/components/schemas/Qwen3EncoderField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/Qwen3EncoderField" + }, + { + "type": "null" + } + ], "default": null, "description": "Qwen3 tokenizer and text encoder", "field_kind": "input", @@ -37768,14 +56152,23 @@ "title": "Apply LoRA - Z-Image", "type": "object", "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ZImageLoRALoaderOutput" } + "output": { + "$ref": "#/components/schemas/ZImageLoRALoaderOutput" + } }, "ZImageLoRALoaderOutput": { "class": "output", "description": "Z-Image LoRA Loader Output", "properties": { "transformer": { - "anyOf": [{ "$ref": "#/components/schemas/TransformerField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/TransformerField" + }, + { + "type": "null" + } + ], "default": null, "description": "Transformer", "field_kind": "output", @@ -37783,7 +56176,14 @@ "ui_hidden": false }, "qwen3_encoder": { - "anyOf": [{ "$ref": "#/components/schemas/Qwen3EncoderField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/Qwen3EncoderField" + }, + { + "type": "null" + } + ], "default": null, "description": "Qwen3 tokenizer and text encoder", "field_kind": "output", @@ -37844,7 +56244,14 @@ "ui_model_type": ["main"] }, "vae_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "Standalone VAE model. Z-Image uses the same VAE as FLUX (16-channel). If not provided, VAE will be loaded from the Qwen3 Source model.", "field_kind": "input", @@ -37856,7 +56263,14 @@ "ui_model_type": ["vae"] }, "qwen3_encoder_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "Standalone Qwen3 Encoder model. If not provided, encoder will be loaded from the Qwen3 Source model.", "field_kind": "input", @@ -37867,7 +56281,14 @@ "ui_model_type": ["qwen3_encoder"] }, "qwen3_source_model": { - "anyOf": [{ "$ref": "#/components/schemas/ModelIdentifierField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/ModelIdentifierField" + }, + { + "type": "null" + } + ], "default": null, "description": "Diffusers Z-Image model to extract VAE and/or Qwen3 encoder from. Use this if you don't have separate VAE/Qwen3 models. Ignored if both VAE and Qwen3 Encoder are provided separately.", "field_kind": "input", @@ -37892,7 +56313,9 @@ "title": "Main Model - Z-Image", "type": "object", "version": "3.0.0", - "output": { "$ref": "#/components/schemas/ZImageModelLoaderOutput" } + "output": { + "$ref": "#/components/schemas/ZImageModelLoaderOutput" + } }, "ZImageModelLoaderOutput": { "class": "output", @@ -37935,7 +56358,7 @@ "category": "conditioning", "class": "invocation", "classification": "prototype", - "description": "Encodes and preps a prompt for a Z-Image image.", + "description": "Encodes and preps a prompt for a Z-Image image.\n\nSupports regional prompting by connecting a mask input.", "node_pack": "invokeai", "properties": { "id": { @@ -37963,7 +56386,14 @@ "type": "boolean" }, "prompt": { - "anyOf": [{ "type": "string" }, { "type": "null" }], + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], "default": null, "description": "Text prompt to encode.", "field_kind": "input", @@ -37973,7 +56403,14 @@ "ui_component": "textarea" }, "qwen3_encoder": { - "anyOf": [{ "$ref": "#/components/schemas/Qwen3EncoderField" }, { "type": "null" }], + "anyOf": [ + { + "$ref": "#/components/schemas/Qwen3EncoderField" + }, + { + "type": "null" + } + ], "default": null, "description": "Qwen3 tokenizer and text encoder", "field_kind": "input", @@ -37981,6 +56418,22 @@ "orig_required": true, "title": "Qwen3 Encoder" }, + "mask": { + "anyOf": [ + { + "$ref": "#/components/schemas/TensorField" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A mask defining the region that this conditioning prompt applies to.", + "field_kind": "input", + "input": "any", + "orig_default": null, + "orig_required": false + }, "type": { "const": "z_image_text_encoder", "default": "z_image_text_encoder", @@ -37993,8 +56446,10 @@ "tags": ["prompt", "conditioning", "z-image"], "title": "Prompt - Z-Image", "type": "object", - "version": "1.0.0", - "output": { "$ref": "#/components/schemas/ZImageConditioningOutput" } + "version": "1.1.0", + "output": { + "$ref": "#/components/schemas/ZImageConditioningOutput" + } } } } diff --git a/invokeai/frontend/web/src/features/controlLayers/store/validators.ts b/invokeai/frontend/web/src/features/controlLayers/store/validators.ts index 197a3d6e3e3..5706f77bb2f 100644 --- a/invokeai/frontend/web/src/features/controlLayers/store/validators.ts +++ b/invokeai/frontend/web/src/features/controlLayers/store/validators.ts @@ -59,6 +59,17 @@ export const getRegionalGuidanceWarnings = ( } } + if (model.base === 'z-image') { + // Z-Image has similar limitations to FLUX - no negative prompts via CFG by default + // Reference images (IP Adapters) are not supported for Z-Image + if (entity.referenceImages.length > 0) { + warnings.push(WARNINGS.RG_REFERENCE_IMAGES_NOT_SUPPORTED); + } + if (entity.autoNegative) { + warnings.push(WARNINGS.RG_AUTO_NEGATIVE_NOT_SUPPORTED); + } + } + entity.referenceImages.forEach(({ config }) => { if (!config.model) { // No model selected diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addRegions.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addRegions.ts index e96f698e631..3337a094f51 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addRegions.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addRegions.ts @@ -32,8 +32,8 @@ type AddRegionsArg = { g: Graph; bbox: Rect; model: MainModelConfig; - posCond: Invocation<'compel' | 'sdxl_compel_prompt' | 'flux_text_encoder'>; - negCond: Invocation<'compel' | 'sdxl_compel_prompt' | 'flux_text_encoder'> | null; + posCond: Invocation<'compel' | 'sdxl_compel_prompt' | 'flux_text_encoder' | 'z_image_text_encoder'>; + negCond: Invocation<'compel' | 'sdxl_compel_prompt' | 'flux_text_encoder' | 'z_image_text_encoder'> | null; posCondCollect: Invocation<'collect'>; negCondCollect: Invocation<'collect'> | null; ipAdapterCollect: Invocation<'collect'>; @@ -71,6 +71,7 @@ export const addRegions = async ({ }: AddRegionsArg): Promise => { const isSDXL = model.base === 'sdxl'; const isFLUX = model.base === 'flux'; + const isZImage = model.base === 'z-image'; const validRegions = regions .filter((entity) => entity.isEnabled) @@ -111,7 +112,7 @@ export const addRegions = async ({ if (region.positivePrompt) { // The main positive conditioning node result.addedPositivePrompt = true; - let regionalPosCond: Invocation<'compel' | 'sdxl_compel_prompt' | 'flux_text_encoder'>; + let regionalPosCond: Invocation<'compel' | 'sdxl_compel_prompt' | 'flux_text_encoder' | 'z_image_text_encoder'>; if (isSDXL) { regionalPosCond = g.addNode({ type: 'sdxl_compel_prompt', @@ -125,6 +126,12 @@ export const addRegions = async ({ id: getPrefixedId('prompt_region_positive_cond'), prompt: region.positivePrompt, }); + } else if (isZImage) { + regionalPosCond = g.addNode({ + type: 'z_image_text_encoder', + id: getPrefixedId('prompt_region_positive_cond'), + prompt: region.positivePrompt, + }); } else { regionalPosCond = g.addNode({ type: 'compel', @@ -155,6 +162,12 @@ export const addRegions = async ({ clone.destination.node_id = regionalPosCond.id; g.addEdgeFromObj(clone); } + } else if (posCond.type === 'z_image_text_encoder') { + for (const edge of g.getEdgesTo(posCond, ['qwen3_encoder', 'mask'])) { + const clone = deepClone(edge); + clone.destination.node_id = regionalPosCond.id; + g.addEdgeFromObj(clone); + } } else { assert(false, 'Unsupported positive conditioning node type.'); } @@ -166,7 +179,7 @@ export const addRegions = async ({ // The main negative conditioning node result.addedNegativePrompt = true; - let regionalNegCond: Invocation<'compel' | 'sdxl_compel_prompt' | 'flux_text_encoder'>; + let regionalNegCond: Invocation<'compel' | 'sdxl_compel_prompt' | 'flux_text_encoder' | 'z_image_text_encoder'>; if (isSDXL) { regionalNegCond = g.addNode({ type: 'sdxl_compel_prompt', @@ -180,6 +193,12 @@ export const addRegions = async ({ id: getPrefixedId('prompt_region_negative_cond'), prompt: region.negativePrompt, }); + } else if (isZImage) { + regionalNegCond = g.addNode({ + type: 'z_image_text_encoder', + id: getPrefixedId('prompt_region_negative_cond'), + prompt: region.negativePrompt, + }); } else { regionalNegCond = g.addNode({ type: 'compel', @@ -211,6 +230,12 @@ export const addRegions = async ({ clone.destination.node_id = regionalNegCond.id; g.addEdgeFromObj(clone); } + } else if (negCond.type === 'z_image_text_encoder') { + for (const edge of g.getEdgesTo(negCond, ['qwen3_encoder', 'mask'])) { + const clone = deepClone(edge); + clone.destination.node_id = regionalNegCond.id; + g.addEdgeFromObj(clone); + } } else { assert(false, 'Unsupported negative conditioning node type.'); } @@ -229,7 +254,9 @@ export const addRegions = async ({ // Connect the OG mask image to the inverted mask-to-tensor node g.addEdge(maskToTensor, 'mask', invertTensorMask, 'mask'); // Create the conditioning node. It's going to be connected to the negative cond collector, but it uses the positive prompt - let regionalPosCondInverted: Invocation<'compel' | 'sdxl_compel_prompt' | 'flux_text_encoder'>; + let regionalPosCondInverted: Invocation< + 'compel' | 'sdxl_compel_prompt' | 'flux_text_encoder' | 'z_image_text_encoder' + >; if (isSDXL) { regionalPosCondInverted = g.addNode({ type: 'sdxl_compel_prompt', @@ -243,6 +270,12 @@ export const addRegions = async ({ id: getPrefixedId('prompt_region_positive_cond_inverted'), prompt: region.positivePrompt, }); + } else if (isZImage) { + regionalPosCondInverted = g.addNode({ + type: 'z_image_text_encoder', + id: getPrefixedId('prompt_region_positive_cond_inverted'), + prompt: region.positivePrompt, + }); } else { regionalPosCondInverted = g.addNode({ type: 'compel', @@ -273,6 +306,12 @@ export const addRegions = async ({ clone.destination.node_id = regionalPosCondInverted.id; g.addEdgeFromObj(clone); } + } else if (posCond.type === 'z_image_text_encoder') { + for (const edge of g.getEdgesTo(posCond, ['qwen3_encoder', 'mask'])) { + const clone = deepClone(edge); + clone.destination.node_id = regionalPosCondInverted.id; + g.addEdgeFromObj(clone); + } } else { assert(false, 'Unsupported positive conditioning node type.'); } diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addZImageLoRAs.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addZImageLoRAs.ts index 5d702dbeddb..bb7b63b427a 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/generation/addZImageLoRAs.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/addZImageLoRAs.ts @@ -10,7 +10,7 @@ export const addZImageLoRAs = ( denoise: Invocation<'z_image_denoise'>, modelLoader: Invocation<'z_image_model_loader'>, posCond: Invocation<'z_image_text_encoder'>, - negCond: Invocation<'z_image_text_encoder'> + negCond: Invocation<'z_image_text_encoder'> | null ): void => { const enabledLoRAs = state.loras.loras.filter((l) => l.isEnabled && l.model.base === 'z-image'); const loraCount = enabledLoRAs.length; @@ -39,10 +39,13 @@ export const addZImageLoRAs = ( // Reroute model connections through the LoRA collection loader g.deleteEdgesTo(denoise, ['transformer']); g.deleteEdgesTo(posCond, ['qwen3_encoder']); - g.deleteEdgesTo(negCond, ['qwen3_encoder']); g.addEdge(loraCollectionLoader, 'transformer', denoise, 'transformer'); g.addEdge(loraCollectionLoader, 'qwen3_encoder', posCond, 'qwen3_encoder'); - g.addEdge(loraCollectionLoader, 'qwen3_encoder', negCond, 'qwen3_encoder'); + // Only reroute negCond if it exists (guidance_scale > 0) + if (negCond !== null) { + g.deleteEdgesTo(negCond, ['qwen3_encoder']); + g.addEdge(loraCollectionLoader, 'qwen3_encoder', negCond, 'qwen3_encoder'); + } for (const lora of enabledLoRAs) { const { weight } = lora; diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts index 0f1017ff905..bec3166dedb 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/generation/buildZImageGraph.ts @@ -7,12 +7,13 @@ import { selectZImageQwen3SourceModel, selectZImageVaeModel, } from 'features/controlLayers/store/paramsSlice'; -import { selectCanvasMetadata } from 'features/controlLayers/store/selectors'; +import { selectCanvasMetadata, selectCanvasSlice } from 'features/controlLayers/store/selectors'; import { fetchModelConfigWithTypeGuard } from 'features/metadata/util/modelFetchingHelpers'; import { addImageToImage } from 'features/nodes/util/graph/generation/addImageToImage'; import { addInpaint } from 'features/nodes/util/graph/generation/addInpaint'; import { addNSFWChecker } from 'features/nodes/util/graph/generation/addNSFWChecker'; import { addOutpaint } from 'features/nodes/util/graph/generation/addOutpaint'; +import { addRegions } from 'features/nodes/util/graph/generation/addRegions'; import { addTextToImage } from 'features/nodes/util/graph/generation/addTextToImage'; import { addWatermarker } from 'features/nodes/util/graph/generation/addWatermarker'; import { addZImageLoRAs } from 'features/nodes/util/graph/generation/addZImageLoRAs'; @@ -73,12 +74,32 @@ export const buildZImageGraph = async (arg: GraphBuilderArg): Promise 0 - const negCond = g.addNode({ - type: 'z_image_text_encoder', - id: getPrefixedId('neg_prompt'), - prompt: prompts.negative, + // Only create negative conditioning nodes if guidance is used + let negCond: Invocation<'z_image_text_encoder'> | null = null; + let negCondCollect: Invocation<'collect'> | null = null; + if (guidance_scale > 0) { + negCond = g.addNode({ + type: 'z_image_text_encoder', + id: getPrefixedId('neg_prompt'), + prompt: prompts.negative, + }); + negCondCollect = g.addNode({ + type: 'collect', + id: getPrefixedId('neg_cond_collect'), + }); + } + + // Placeholder collect node for IP adapters (not supported for Z-Image but needed for addRegions) + const ipAdapterCollect = g.addNode({ + type: 'collect', + id: getPrefixedId('ip_adapter_collect'), }); const seed = g.addNode({ @@ -98,15 +119,18 @@ export const buildZImageGraph = async (arg: GraphBuilderArg): Promise 0 - if (guidance_scale > 0) { - g.addEdge(negCond, 'conditioning', denoise, 'negative_conditioning'); + // Connect positive conditioning through collector for regional support + g.addEdge(posCond, 'conditioning', posCondCollect, 'item'); + g.addEdge(posCondCollect, 'collection', denoise, 'positive_conditioning'); + + // Connect negative conditioning if guidance_scale > 0 + if (negCond !== null && negCondCollect !== null) { + g.addEdge(modelLoader, 'qwen3_encoder', negCond, 'qwen3_encoder'); + g.addEdge(negCond, 'conditioning', negCondCollect, 'item'); + g.addEdge(negCondCollect, 'collection', denoise, 'negative_conditioning'); } g.addEdge(seed, 'value', denoise, 'seed'); @@ -115,6 +139,27 @@ export const buildZImageGraph = async (arg: GraphBuilderArg): Promise Date: Fri, 5 Dec 2025 00:52:53 +0100 Subject: [PATCH 9/9] @Pfannkuchensack Fix windows path again --- invokeai/frontend/web/src/services/api/schema.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/services/api/schema.ts b/invokeai/frontend/web/src/services/api/schema.ts index 6765082bea0..3e968329370 100644 --- a/invokeai/frontend/web/src/services/api/schema.ts +++ b/invokeai/frontend/web/src/services/api/schema.ts @@ -12963,14 +12963,14 @@ export type components = { * Convert Cache Dir * Format: path * @description Path to the converted models cache directory (DEPRECATED, but do not delete because it is needed for migration from previous versions). - * @default models\.convert_cache + * @default models/.convert_cache */ convert_cache_dir?: string; /** * Download Cache Dir * Format: path * @description Path to the directory that contains dynamically downloaded models. - * @default models\.download_cache + * @default models/.download_cache */ download_cache_dir?: string; /**