From 338081f855c86eb84afda6b06928a72a93d5f812 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sat, 23 Sep 2023 14:51:39 +1000 Subject: [PATCH] feat(nodes,ui): use new metadata nodes for all metadata --- .../controlnet_image_processors.py | 5 +- invokeai/app/invocations/metadata.py | 164 +- invokeai/app/invocations/onnx.py | 2 +- .../web/src/features/nodes/types/types.ts | 12 +- .../addControlNetToLinearGraph.ts | 23 +- .../addIPAdapterToLinearGraph.ts | 10 +- .../util/graphBuilders/addLoRAsToGraph.ts | 60 +- .../util/graphBuilders/addSDXLLoRAstoGraph.ts | 63 +- .../graphBuilders/addSDXLRefinerToGraph.ts | 27 +- .../util/graphBuilders/addSaveImageNode.ts | 27 +- .../graphBuilders/addSeamlessToLinearGraph.ts | 6 + .../nodes/util/graphBuilders/addVAEToGraph.ts | 10 +- .../graphBuilders/addWatermarkerToGraph.ts | 25 +- .../graphBuilders/buildAdHocUpscaleGraph.ts | 9 +- .../buildCanvasImageToImageGraph.ts | 12 +- .../buildCanvasSDXLImageToImageGraph.ts | 21 +- .../buildCanvasSDXLTextToImageGraph.ts | 21 +- .../buildCanvasTextToImageGraph.ts | 21 +- .../graphBuilders/buildLinearBatchConfig.ts | 114 +- .../buildLinearImageToImageGraph.ts | 21 +- .../buildLinearSDXLImageToImageGraph.ts | 23 +- .../buildLinearSDXLTextToImageGraph.ts | 21 +- .../buildLinearTextToImageGraph.ts | 21 +- .../nodes/util/graphBuilders/constants.ts | 8 + .../nodes/util/graphBuilders/metadata.ts | 151 + .../src/features/nodes/util/parseSchema.ts | 5 +- .../frontend/web/src/services/api/schema.d.ts | 3023 ++++++----------- .../frontend/web/src/services/api/types.ts | 9 + 28 files changed, 1466 insertions(+), 2448 deletions(-) create mode 100644 invokeai/frontend/web/src/features/nodes/util/graphBuilders/metadata.ts diff --git a/invokeai/app/invocations/controlnet_image_processors.py b/invokeai/app/invocations/controlnet_image_processors.py index 933c32c908..a80e8e64ee 100644 --- a/invokeai/app/invocations/controlnet_image_processors.py +++ b/invokeai/app/invocations/controlnet_image_processors.py @@ -25,6 +25,7 @@ from controlnet_aux import ( from controlnet_aux.util import HWC3, ade_palette from PIL import Image from pydantic import BaseModel, Field, validator +from invokeai.app.invocations.metadata import WithMetadata from invokeai.app.invocations.primitives import ImageField, ImageOutput @@ -38,6 +39,7 @@ from .baseinvocation import ( InputField, InvocationContext, OutputField, + WithWorkflow, invocation, invocation_output, ) @@ -127,7 +129,7 @@ class ControlNetInvocation(BaseInvocation): @invocation( "image_processor", title="Base Image Processor", tags=["controlnet"], category="controlnet", version="1.0.0" ) -class ImageProcessorInvocation(BaseInvocation): +class ImageProcessorInvocation(BaseInvocation, WithMetadata, WithWorkflow): """Base class for invocations that preprocess images for ControlNet""" image: ImageField = InputField(description="The image to process") @@ -150,6 +152,7 @@ class ImageProcessorInvocation(BaseInvocation): session_id=context.graph_execution_state_id, node_id=self.id, is_intermediate=self.is_intermediate, + metadata=self.metadata.data if self.metadata else None, workflow=self.workflow, ) diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index 7af74a1f1e..2b766848c6 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -13,8 +13,7 @@ from invokeai.app.invocations.baseinvocation import ( invocation, invocation_output, ) -from invokeai.app.invocations.controlnet_image_processors import ControlField -from invokeai.app.invocations.model import LoRAModelField, MainModelField, VAEModelField +from invokeai.app.invocations.model import LoRAModelField from invokeai.app.util.model_exclude_null import BaseModelExcludeNull from ...version import __version__ @@ -27,63 +26,6 @@ class LoRAMetadataField(BaseModelExcludeNull): weight: float = Field(description="The weight of the LoRA model") -class CoreMetadata(BaseModelExcludeNull): - """Core generation metadata for an image generated in InvokeAI.""" - - app_version: str = Field(default=__version__, description="The version of InvokeAI used to generate this image") - generation_mode: str = Field( - description="The generation mode that output this image", - ) - created_by: Optional[str] = Field(description="The name of the creator of the image") - positive_prompt: str = Field(description="The positive prompt parameter") - negative_prompt: str = Field(description="The negative prompt parameter") - width: int = Field(description="The width parameter") - height: int = Field(description="The height parameter") - seed: int = Field(description="The seed used for noise generation") - rand_device: str = Field(description="The device used for random number generation") - cfg_scale: float = Field(description="The classifier-free guidance scale parameter") - steps: int = Field(description="The number of steps used for inference") - scheduler: str = Field(description="The scheduler used for inference") - clip_skip: Optional[int] = Field( - default=None, - description="The number of skipped CLIP layers", - ) - model: MainModelField = Field(description="The main model used for inference") - controlnets: list[ControlField] = Field(description="The ControlNets used for inference") - loras: list[LoRAMetadataField] = Field(description="The LoRAs used for inference") - vae: Optional[VAEModelField] = Field( - default=None, - description="The VAE used for decoding, if the main model's default was not used", - ) - - # Latents-to-Latents - strength: Optional[float] = Field( - default=None, - description="The strength used for latents-to-latents", - ) - init_image: Optional[str] = Field(default=None, description="The name of the initial image") - - # SDXL - positive_style_prompt: Optional[str] = Field(default=None, description="The positive style prompt parameter") - negative_style_prompt: Optional[str] = Field(default=None, description="The negative style prompt parameter") - - # SDXL Refiner - refiner_model: Optional[MainModelField] = Field(default=None, description="The SDXL Refiner model used") - refiner_cfg_scale: Optional[float] = Field( - default=None, - description="The classifier-free guidance scale parameter used for the refiner", - ) - refiner_steps: Optional[int] = Field(default=None, description="The number of steps used for the refiner") - refiner_scheduler: Optional[str] = Field(default=None, description="The scheduler used for the refiner") - refiner_positive_aesthetic_score: Optional[float] = Field( - default=None, description="The aesthetic score used for the refiner" - ) - refiner_negative_aesthetic_score: Optional[float] = Field( - default=None, description="The aesthetic score used for the refiner" - ) - refiner_start: Optional[float] = Field(default=None, description="The start value used for refiner denoising") - - class ImageMetadata(BaseModelExcludeNull): """An image's generation metadata""" @@ -91,97 +33,6 @@ class ImageMetadata(BaseModelExcludeNull): workflow: Optional[dict] = Field(default=None, description="The workflow associated with the image") -@invocation_output("metadata_accumulator_output") -class MetadataAccumulatorOutput(BaseInvocationOutput): - """The output of the MetadataAccumulator node""" - - metadata: CoreMetadata = OutputField(description="The core metadata for the image") - - -@invocation( - "metadata_accumulator", title="Metadata Accumulator", tags=["metadata"], category="metadata", version="1.0.0" -) -class MetadataAccumulatorInvocation(BaseInvocation): - """Outputs a Core Metadata Object""" - - generation_mode: str = InputField( - description="The generation mode that output this image", - ) - positive_prompt: str = InputField(description="The positive prompt parameter") - negative_prompt: str = InputField(description="The negative prompt parameter") - width: int = InputField(description="The width parameter") - height: int = InputField(description="The height parameter") - seed: int = InputField(description="The seed used for noise generation") - rand_device: str = InputField(description="The device used for random number generation") - cfg_scale: float = InputField(description="The classifier-free guidance scale parameter") - steps: int = InputField(description="The number of steps used for inference") - scheduler: str = InputField(description="The scheduler used for inference") - clip_skip: Optional[int] = Field( - default=None, - description="The number of skipped CLIP layers", - ) - model: MainModelField = InputField(description="The main model used for inference") - controlnets: list[ControlField] = InputField(description="The ControlNets used for inference") - loras: list[LoRAMetadataField] = InputField(description="The LoRAs used for inference") - strength: Optional[float] = InputField( - default=None, - description="The strength used for latents-to-latents", - ) - init_image: Optional[str] = InputField( - default=None, - description="The name of the initial image", - ) - vae: Optional[VAEModelField] = InputField( - default=None, - description="The VAE used for decoding, if the main model's default was not used", - ) - - # SDXL - positive_style_prompt: Optional[str] = InputField( - default=None, - description="The positive style prompt parameter", - ) - negative_style_prompt: Optional[str] = InputField( - default=None, - description="The negative style prompt parameter", - ) - - # SDXL Refiner - refiner_model: Optional[MainModelField] = InputField( - default=None, - description="The SDXL Refiner model used", - ) - refiner_cfg_scale: Optional[float] = InputField( - default=None, - description="The classifier-free guidance scale parameter used for the refiner", - ) - refiner_steps: Optional[int] = InputField( - default=None, - description="The number of steps used for the refiner", - ) - refiner_scheduler: Optional[str] = InputField( - default=None, - description="The scheduler used for the refiner", - ) - refiner_positive_aesthetic_score: Optional[float] = InputField( - default=None, - description="The aesthetic score used for the refiner", - ) - refiner_negative_aesthetic_score: Optional[float] = InputField( - default=None, - description="The aesthetic score used for the refiner", - ) - refiner_start: Optional[float] = InputField( - default=None, - description="The start value used for refiner denoising", - ) - - def invoke(self, context: InvocationContext) -> MetadataAccumulatorOutput: - """Collects and outputs a CoreMetadata object""" - - return MetadataAccumulatorOutput(metadata=CoreMetadata(**self.dict())) - - class MetadataItem(BaseModel): label: str = Field(description=FieldDescriptions.metadata_item_label) value: Any = Field(description=FieldDescriptions.metadata_item_value) @@ -218,20 +69,25 @@ class MetadataDictOutput(BaseInvocationOutput): @invocation("metadata", title="Metadata", tags=["metadata"], category="metadata", version="1.0.0") class MetadataInvocation(BaseInvocation): - """Takes a list of MetadataItems and outputs a MetadataDict.""" + """Takes a MetadataItem or collection of MetadataItems and outputs a MetadataDict.""" items: Union[list[MetadataItem], MetadataItem] = InputField(description=FieldDescriptions.metadata_item_polymorphic) def invoke(self, context: InvocationContext) -> MetadataDictOutput: if isinstance(self.items, MetadataItem): - return MetadataDictOutput(metadata_dict=(MetadataDict(data={self.items.label: self.items.value}))) + # single metadata item + data = {self.items.label: self.items.value} + else: + # collection of metadata items + data = {item.label: item.value for item in self.items} - return MetadataDictOutput(metadata_dict=(MetadataDict(data={item.label: item.value for item in self.items}))) + data.update({"app_version": __version__}) + return MetadataDictOutput(metadata_dict=(MetadataDict(data=data))) @invocation("merge_metadata_dict", title="Metadata Merge", tags=["metadata"], category="metadata", version="1.0.0") class MergeMetadataDictInvocation(BaseInvocation): - """Takes a list of MetadataItems and outputs a MetadataDict.""" + """Merged a collection of MetadataDict into a single MetadataDict.""" collection: list[MetadataDict] = InputField(description=FieldDescriptions.metadata_dict_collection) diff --git a/invokeai/app/invocations/onnx.py b/invokeai/app/invocations/onnx.py index 8841729780..7ee369680b 100644 --- a/invokeai/app/invocations/onnx.py +++ b/invokeai/app/invocations/onnx.py @@ -12,7 +12,7 @@ from diffusers.image_processor import VaeImageProcessor from pydantic import BaseModel, Field, validator from tqdm import tqdm -from invokeai.app.invocations.metadata import CoreMetadata, WithMetadata +from invokeai.app.invocations.metadata import WithMetadata from invokeai.app.invocations.primitives import ConditioningField, ConditioningOutput, ImageField, ImageOutput from invokeai.app.util.step_callback import stable_diffusion_step_callback from invokeai.backend import BaseModelType, ModelType, SubModelType diff --git a/invokeai/frontend/web/src/features/nodes/types/types.ts b/invokeai/frontend/web/src/features/nodes/types/types.ts index 074e9c7b16..ff5e614f5d 100644 --- a/invokeai/frontend/web/src/features/nodes/types/types.ts +++ b/invokeai/frontend/web/src/features/nodes/types/types.ts @@ -1252,7 +1252,7 @@ export const isInvocationFieldSchema = ( export type InvocationEdgeExtra = { type: 'default' | 'collapsed' }; -const zLoRAMetadataItem = z.object({ +export const zLoRAMetadataItem = z.object({ lora: zLoRAModelField.deepPartial(), weight: z.number(), }); @@ -1279,15 +1279,7 @@ export const zCoreMetadata = z .nullish() .catch(null), controlnets: z.array(zControlField.deepPartial()).nullish().catch(null), - loras: z - .array( - z.object({ - lora: zLoRAModelField.deepPartial(), - weight: z.number(), - }) - ) - .nullish() - .catch(null), + loras: z.array(zLoRAMetadataItem).nullish().catch(null), vae: zVaeModelField.nullish().catch(null), strength: z.number().nullish().catch(null), init_image: z.string().nullish().catch(null), diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addControlNetToLinearGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addControlNetToLinearGraph.ts index 1df90624ef..57f0ef341d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addControlNetToLinearGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addControlNetToLinearGraph.ts @@ -1,18 +1,16 @@ import { RootState } from 'app/store/store'; import { getValidControlNets } from 'features/controlNet/util/getValidControlNets'; -import { omit } from 'lodash-es'; import { CollectInvocation, ControlField, ControlNetInvocation, - MetadataAccumulatorInvocation, } from 'services/api/types'; -import { NonNullableGraph } from '../../types/types'; +import { NonNullableGraph, zControlField } from '../../types/types'; import { CANVAS_COHERENCE_DENOISE_LATENTS, CONTROL_NET_COLLECT, - METADATA_ACCUMULATOR, } from './constants'; +import { addMainMetadata } from './metadata'; export const addControlNetToLinearGraph = ( state: RootState, @@ -23,12 +21,9 @@ export const addControlNetToLinearGraph = ( const validControlNets = getValidControlNets(controlNets); - const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as - | MetadataAccumulatorInvocation - | undefined; - if (isControlNetEnabled && Boolean(validControlNets.length)) { if (validControlNets.length) { + const controlnets: ControlField[] = []; // We have multiple controlnets, add ControlNet collector const controlNetIterateNode: CollectInvocation = { id: CONTROL_NET_COLLECT, @@ -87,15 +82,7 @@ export const addControlNetToLinearGraph = ( graph.nodes[controlNetNode.id] = controlNetNode as ControlNetInvocation; - if (metadataAccumulator?.controlnets) { - // metadata accumulator only needs a control field - not the whole node - // extract what we need and add to the accumulator - const controlField = omit(controlNetNode, [ - 'id', - 'type', - ]) as ControlField; - metadataAccumulator.controlnets.push(controlField); - } + controlnets.push(zControlField.parse(controlNetNode)); graph.edges.push({ source: { node_id: controlNetNode.id, field: 'control' }, @@ -115,6 +102,8 @@ export const addControlNetToLinearGraph = ( }); } }); + + addMainMetadata(graph, { controlnets }); } } }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addIPAdapterToLinearGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addIPAdapterToLinearGraph.ts index d645b274ec..ec0fefcb8d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addIPAdapterToLinearGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addIPAdapterToLinearGraph.ts @@ -38,15 +38,7 @@ export const addIPAdapterToLinearGraph = ( graph.nodes[ipAdapterNode.id] = ipAdapterNode as IPAdapterInvocation; - // if (metadataAccumulator?.ip_adapters) { - // // metadata accumulator only needs the ip_adapter field - not the whole node - // // extract what we need and add to the accumulator - // const ipAdapterField = omit(ipAdapterNode, [ - // 'id', - // 'type', - // ]) as IPAdapterField; - // metadataAccumulator.ip_adapters.push(ipAdapterField); - // } + // TODO: add metadata graph.edges.push({ source: { node_id: ipAdapterNode.id, field: 'ip_adapter' }, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts index e199a78a20..a07c54b2a1 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts @@ -1,21 +1,22 @@ import { RootState } from 'app/store/store'; -import { NonNullableGraph } from 'features/nodes/types/types'; +import { + LoRAMetadataItem, + NonNullableGraph, + zLoRAMetadataItem, +} from 'features/nodes/types/types'; import { forEach, size } from 'lodash-es'; +import { LoraLoaderInvocation } from 'services/api/types'; import { - LoraLoaderInvocation, - MetadataAccumulatorInvocation, -} from 'services/api/types'; -import { + CANVAS_COHERENCE_DENOISE_LATENTS, CANVAS_INPAINT_GRAPH, CANVAS_OUTPAINT_GRAPH, - CANVAS_COHERENCE_DENOISE_LATENTS, CLIP_SKIP, LORA_LOADER, MAIN_MODEL_LOADER, - METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, POSITIVE_CONDITIONING, } from './constants'; +import { addMainMetadata } from './metadata'; export const addLoRAsToGraph = ( state: RootState, @@ -33,29 +34,29 @@ export const addLoRAsToGraph = ( const { loras } = state.lora; const loraCount = size(loras); - const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as - | MetadataAccumulatorInvocation - | undefined; - if (loraCount > 0) { - // Remove modelLoaderNodeId unet connection to feed it to LoRAs - graph.edges = graph.edges.filter( - (e) => - !( - e.source.node_id === modelLoaderNodeId && - ['unet'].includes(e.source.field) - ) - ); - // Remove CLIP_SKIP connections to conditionings to feed it through LoRAs - graph.edges = graph.edges.filter( - (e) => - !(e.source.node_id === CLIP_SKIP && ['clip'].includes(e.source.field)) - ); + if (loraCount === 0) { + return; } + // Remove modelLoaderNodeId unet connection to feed it to LoRAs + graph.edges = graph.edges.filter( + (e) => + !( + e.source.node_id === modelLoaderNodeId && + ['unet'].includes(e.source.field) + ) + ); + // Remove CLIP_SKIP connections to conditionings to feed it through LoRAs + graph.edges = graph.edges.filter( + (e) => + !(e.source.node_id === CLIP_SKIP && ['clip'].includes(e.source.field)) + ); + // we need to remember the last lora so we can chain from it let lastLoraNodeId = ''; let currentLoraIndex = 0; + const loraMetadata: LoRAMetadataItem[] = []; forEach(loras, (lora) => { const { model_name, base_model, weight } = lora; @@ -69,13 +70,12 @@ export const addLoRAsToGraph = ( weight, }; - // add the lora to the metadata accumulator - if (metadataAccumulator?.loras) { - metadataAccumulator.loras.push({ + loraMetadata.push( + zLoRAMetadataItem.parse({ lora: { model_name, base_model }, weight, - }); - } + }) + ); // add to graph graph.nodes[currentLoraNodeId] = loraLoaderNode; @@ -182,4 +182,6 @@ export const addLoRAsToGraph = ( lastLoraNodeId = currentLoraNodeId; currentLoraIndex += 1; }); + + addMainMetadata(graph, { loras: loraMetadata }); }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLLoRAstoGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLLoRAstoGraph.ts index cb052984d4..b3e9f1b6af 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLLoRAstoGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLLoRAstoGraph.ts @@ -1,14 +1,14 @@ import { RootState } from 'app/store/store'; -import { NonNullableGraph } from 'features/nodes/types/types'; -import { forEach, size } from 'lodash-es'; import { - MetadataAccumulatorInvocation, - SDXLLoraLoaderInvocation, -} from 'services/api/types'; + LoRAMetadataItem, + NonNullableGraph, + zLoRAMetadataItem, +} from 'features/nodes/types/types'; +import { forEach, size } from 'lodash-es'; +import { SDXLLoraLoaderInvocation } from 'services/api/types'; import { CANVAS_COHERENCE_DENOISE_LATENTS, LORA_LOADER, - METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, POSITIVE_CONDITIONING, SDXL_CANVAS_INPAINT_GRAPH, @@ -17,6 +17,7 @@ import { SDXL_REFINER_INPAINT_CREATE_MASK, SEAMLESS, } from './constants'; +import { addMainMetadata } from './metadata'; export const addSDXLLoRAsToGraph = ( state: RootState, @@ -34,9 +35,12 @@ export const addSDXLLoRAsToGraph = ( const { loras } = state.lora; const loraCount = size(loras); - const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as - | MetadataAccumulatorInvocation - | undefined; + + if (loraCount === 0) { + return; + } + + const loraMetadata: LoRAMetadataItem[] = []; // Handle Seamless Plugs const unetLoaderId = modelLoaderNodeId; @@ -47,22 +51,17 @@ export const addSDXLLoRAsToGraph = ( clipLoaderId = SDXL_MODEL_LOADER; } - if (loraCount > 0) { - // Remove modelLoaderNodeId unet/clip/clip2 connections to feed it to LoRAs - graph.edges = graph.edges.filter( - (e) => - !( - e.source.node_id === unetLoaderId && ['unet'].includes(e.source.field) - ) && - !( - e.source.node_id === clipLoaderId && ['clip'].includes(e.source.field) - ) && - !( - e.source.node_id === clipLoaderId && - ['clip2'].includes(e.source.field) - ) - ); - } + // Remove modelLoaderNodeId unet/clip/clip2 connections to feed it to LoRAs + graph.edges = graph.edges.filter( + (e) => + !( + e.source.node_id === unetLoaderId && ['unet'].includes(e.source.field) + ) && + !( + e.source.node_id === clipLoaderId && ['clip'].includes(e.source.field) + ) && + !(e.source.node_id === clipLoaderId && ['clip2'].includes(e.source.field)) + ); // we need to remember the last lora so we can chain from it let lastLoraNodeId = ''; @@ -80,16 +79,12 @@ export const addSDXLLoRAsToGraph = ( weight, }; - // add the lora to the metadata accumulator - if (metadataAccumulator) { - if (!metadataAccumulator.loras) { - metadataAccumulator.loras = []; - } - metadataAccumulator.loras.push({ + loraMetadata.push( + zLoRAMetadataItem.parse({ lora: { model_name, base_model }, weight, - }); - } + }) + ); // add to graph graph.nodes[currentLoraNodeId] = loraLoaderNode; @@ -242,4 +237,6 @@ export const addSDXLLoRAsToGraph = ( lastLoraNodeId = currentLoraNodeId; currentLoraIndex += 1; }); + + addMainMetadata(graph, { loras: loraMetadata }); }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts index 6bd44db197..666009ba4a 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts @@ -2,7 +2,6 @@ import { RootState } from 'app/store/store'; import { CreateDenoiseMaskInvocation, ImageDTO, - MetadataAccumulatorInvocation, SeamlessModeInvocation, } from 'services/api/types'; import { NonNullableGraph } from '../../types/types'; @@ -12,7 +11,6 @@ import { LATENTS_TO_IMAGE, MASK_COMBINE, MASK_RESIZE_UP, - METADATA_ACCUMULATOR, SDXL_CANVAS_IMAGE_TO_IMAGE_GRAPH, SDXL_CANVAS_INPAINT_GRAPH, SDXL_CANVAS_OUTPAINT_GRAPH, @@ -26,6 +24,7 @@ import { SDXL_REFINER_SEAMLESS, } from './constants'; import { buildSDXLStylePrompts } from './helpers/craftSDXLStylePrompt'; +import { addMainMetadata } from './metadata'; export const addSDXLRefinerToGraph = ( state: RootState, @@ -57,21 +56,15 @@ export const addSDXLRefinerToGraph = ( return; } - const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as - | MetadataAccumulatorInvocation - | undefined; - - if (metadataAccumulator) { - metadataAccumulator.refiner_model = refinerModel; - metadataAccumulator.refiner_positive_aesthetic_score = - refinerPositiveAestheticScore; - metadataAccumulator.refiner_negative_aesthetic_score = - refinerNegativeAestheticScore; - metadataAccumulator.refiner_cfg_scale = refinerCFGScale; - metadataAccumulator.refiner_scheduler = refinerScheduler; - metadataAccumulator.refiner_start = refinerStart; - metadataAccumulator.refiner_steps = refinerSteps; - } + addMainMetadata(graph, { + refiner_model: refinerModel, + refiner_positive_aesthetic_score: refinerPositiveAestheticScore, + refiner_negative_aesthetic_score: refinerNegativeAestheticScore, + refiner_cfg_scale: refinerCFGScale, + refiner_scheduler: refinerScheduler, + refiner_start: refinerStart, + refiner_steps: refinerSteps, + }); const modelLoaderId = modelLoaderNodeId ? modelLoaderNodeId diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSaveImageNode.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSaveImageNode.ts index 738c69faff..756f342f4d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSaveImageNode.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSaveImageNode.ts @@ -1,18 +1,14 @@ +import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; +import { activeTabNameSelector } from 'features/ui/store/uiSelectors'; +import { SaveImageInvocation } from 'services/api/types'; import { CANVAS_OUTPUT, LATENTS_TO_IMAGE, - METADATA_ACCUMULATOR, NSFW_CHECKER, SAVE_IMAGE, WATERMARKER, } from './constants'; -import { - MetadataAccumulatorInvocation, - SaveImageInvocation, -} from 'services/api/types'; -import { RootState } from 'app/store/store'; -import { activeTabNameSelector } from 'features/ui/store/uiSelectors'; /** * Set the `use_cache` field on the linear/canvas graph's final image output node to False. @@ -36,23 +32,6 @@ export const addSaveImageNode = ( graph.nodes[SAVE_IMAGE] = saveImageNode; - const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as - | MetadataAccumulatorInvocation - | undefined; - - if (metadataAccumulator) { - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: SAVE_IMAGE, - field: 'metadata', - }, - }); - } - const destination = { node_id: SAVE_IMAGE, field: 'image', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSeamlessToLinearGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSeamlessToLinearGraph.ts index bdbaacd384..0b1c3d6740 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSeamlessToLinearGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSeamlessToLinearGraph.ts @@ -1,6 +1,7 @@ import { RootState } from 'app/store/store'; import { SeamlessModeInvocation } from 'services/api/types'; import { NonNullableGraph } from '../../types/types'; +import { addMainMetadata } from './metadata'; import { CANVAS_COHERENCE_DENOISE_LATENTS, CANVAS_INPAINT_GRAPH, @@ -31,6 +32,11 @@ export const addSeamlessToLinearGraph = ( seamless_y: seamlessYAxis, } as SeamlessModeInvocation; + addMainMetadata(graph, { + seamless_x: seamlessXAxis, + seamless_y: seamlessYAxis, + }); + let denoisingNodeId = DENOISE_LATENTS; if ( diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts index 696c8afff2..8ecd1c9da3 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts @@ -1,6 +1,5 @@ import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; -import { MetadataAccumulatorInvocation } from 'services/api/types'; import { CANVAS_COHERENCE_INPAINT_CREATE_MASK, CANVAS_IMAGE_TO_IMAGE_GRAPH, @@ -14,7 +13,6 @@ import { INPAINT_IMAGE, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, - METADATA_ACCUMULATOR, ONNX_MODEL_LOADER, SDXL_CANVAS_IMAGE_TO_IMAGE_GRAPH, SDXL_CANVAS_INPAINT_GRAPH, @@ -26,6 +24,7 @@ import { TEXT_TO_IMAGE_GRAPH, VAE_LOADER, } from './constants'; +import { addMainMetadata } from './metadata'; export const addVAEToGraph = ( state: RootState, @@ -41,9 +40,6 @@ export const addVAEToGraph = ( ); const isAutoVae = !vae; - const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as - | MetadataAccumulatorInvocation - | undefined; if (!isAutoVae) { graph.nodes[VAE_LOADER] = { @@ -181,7 +177,7 @@ export const addVAEToGraph = ( } } - if (vae && metadataAccumulator) { - metadataAccumulator.vae = vae; + if (vae) { + addMainMetadata(graph, { vae }); } }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addWatermarkerToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addWatermarkerToGraph.ts index 4e515906b6..c43437e4fc 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addWatermarkerToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addWatermarkerToGraph.ts @@ -5,14 +5,8 @@ import { ImageNSFWBlurInvocation, ImageWatermarkInvocation, LatentsToImageInvocation, - MetadataAccumulatorInvocation, } from 'services/api/types'; -import { - LATENTS_TO_IMAGE, - METADATA_ACCUMULATOR, - NSFW_CHECKER, - WATERMARKER, -} from './constants'; +import { LATENTS_TO_IMAGE, NSFW_CHECKER, WATERMARKER } from './constants'; export const addWatermarkerToGraph = ( state: RootState, @@ -32,10 +26,6 @@ export const addWatermarkerToGraph = ( | ImageNSFWBlurInvocation | undefined; - const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as - | MetadataAccumulatorInvocation - | undefined; - if (!nodeToAddTo) { // something has gone terribly awry return; @@ -80,17 +70,4 @@ export const addWatermarkerToGraph = ( }, }); } - - if (metadataAccumulator) { - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: WATERMARKER, - field: 'metadata', - }, - }); - } }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildAdHocUpscaleGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildAdHocUpscaleGraph.ts index c612e88598..bdb1f4d530 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildAdHocUpscaleGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildAdHocUpscaleGraph.ts @@ -1,12 +1,13 @@ +import { BoardId } from 'features/gallery/store/types'; import { NonNullableGraph } from 'features/nodes/types/types'; import { ESRGANModelName } from 'features/parameters/store/postprocessingSlice'; import { - Graph, ESRGANInvocation, + Graph, SaveImageInvocation, } from 'services/api/types'; import { REALESRGAN as ESRGAN, SAVE_IMAGE } from './constants'; -import { BoardId } from 'features/gallery/store/types'; +import { addMainMetadataNodeToGraph } from './metadata'; type Arg = { image_name: string; @@ -55,5 +56,9 @@ export const buildAdHocUpscaleGraph = ({ ], }; + addMainMetadataNodeToGraph(graph, { + model: esrganModelName, + }); + return graph; }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index 4dbbac9f96..2014689434 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -19,12 +19,12 @@ import { IMG2IMG_RESIZE, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, - METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, SEAMLESS, } from './constants'; +import { addMainMetadataNodeToGraph } from './metadata'; /** * Builds the Canvas tab's Image to Image graph. @@ -307,10 +307,7 @@ export const buildCanvasImageToImageGraph = ( }); } - // add metadata accumulator, which is only mostly populated - some fields are added later - graph.nodes[METADATA_ACCUMULATOR] = { - id: METADATA_ACCUMULATOR, - type: 'metadata_accumulator', + addMainMetadataNodeToGraph(graph, { generation_mode: 'img2img', cfg_scale, width: !isUsingScaledDimensions ? width : scaledBoundingBoxDimensions.width, @@ -324,13 +321,10 @@ export const buildCanvasImageToImageGraph = ( steps, rand_device: use_cpu ? 'cpu' : 'cuda', scheduler, - vae: undefined, // option; set in addVAEToGraph - controlnets: [], // populated in addControlNetToLinearGraph - loras: [], // populated in addLoRAsToGraph clip_skip: clipSkip, strength, init_image: initialImage.image_name, - }; + }); // Add Seamless To Graph if (seamlessXAxis || seamlessYAxis) { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts index d958b78a90..38c2ccc7be 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts @@ -16,7 +16,6 @@ import { IMAGE_TO_LATENTS, IMG2IMG_RESIZE, LATENTS_TO_IMAGE, - METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, @@ -27,6 +26,7 @@ import { SEAMLESS, } from './constants'; import { buildSDXLStylePrompts } from './helpers/craftSDXLStylePrompt'; +import { addMainMetadataNodeToGraph } from './metadata'; /** * Builds the Canvas tab's Image to Image graph. @@ -318,10 +318,7 @@ export const buildCanvasSDXLImageToImageGraph = ( }); } - // add metadata accumulator, which is only mostly populated - some fields are added later - graph.nodes[METADATA_ACCUMULATOR] = { - id: METADATA_ACCUMULATOR, - type: 'metadata_accumulator', + addMainMetadataNodeToGraph(graph, { generation_mode: 'img2img', cfg_scale, width: !isUsingScaledDimensions ? width : scaledBoundingBoxDimensions.width, @@ -335,22 +332,8 @@ export const buildCanvasSDXLImageToImageGraph = ( steps, rand_device: use_cpu ? 'cpu' : 'cuda', scheduler, - vae: undefined, // option; set in addVAEToGraph - controlnets: [], // populated in addControlNetToLinearGraph - loras: [], // populated in addLoRAsToGraph strength, init_image: initialImage.image_name, - }; - - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: CANVAS_OUTPUT, - field: 'metadata', - }, }); // Add Seamless To Graph diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts index 9f9a442b99..1288d13b10 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts @@ -17,7 +17,6 @@ import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CANVAS_OUTPUT, LATENTS_TO_IMAGE, - METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, ONNX_MODEL_LOADER, @@ -29,6 +28,7 @@ import { SEAMLESS, } from './constants'; import { buildSDXLStylePrompts } from './helpers/craftSDXLStylePrompt'; +import { addMainMetadataNodeToGraph } from './metadata'; /** * Builds the Canvas tab's Text to Image graph. @@ -300,10 +300,7 @@ export const buildCanvasSDXLTextToImageGraph = ( }); } - // add metadata accumulator, which is only mostly populated - some fields are added later - graph.nodes[METADATA_ACCUMULATOR] = { - id: METADATA_ACCUMULATOR, - type: 'metadata_accumulator', + addMainMetadataNodeToGraph(graph, { generation_mode: 'txt2img', cfg_scale, width: !isUsingScaledDimensions ? width : scaledBoundingBoxDimensions.width, @@ -317,20 +314,6 @@ export const buildCanvasSDXLTextToImageGraph = ( steps, rand_device: use_cpu ? 'cpu' : 'cuda', scheduler, - vae: undefined, // option; set in addVAEToGraph - controlnets: [], // populated in addControlNetToLinearGraph - loras: [], // populated in addLoRAsToGraph - }; - - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: CANVAS_OUTPUT, - field: 'metadata', - }, }); // Add Seamless To Graph diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index 2aa0b2b47d..f823244742 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -20,13 +20,13 @@ import { DENOISE_LATENTS, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, - METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, ONNX_MODEL_LOADER, POSITIVE_CONDITIONING, SEAMLESS, } from './constants'; +import { addMainMetadataNodeToGraph } from './metadata'; /** * Builds the Canvas tab's Text to Image graph. @@ -288,10 +288,7 @@ export const buildCanvasTextToImageGraph = ( }); } - // add metadata accumulator, which is only mostly populated - some fields are added later - graph.nodes[METADATA_ACCUMULATOR] = { - id: METADATA_ACCUMULATOR, - type: 'metadata_accumulator', + addMainMetadataNodeToGraph(graph, { generation_mode: 'txt2img', cfg_scale, width: !isUsingScaledDimensions ? width : scaledBoundingBoxDimensions.width, @@ -305,21 +302,7 @@ export const buildCanvasTextToImageGraph = ( steps, rand_device: use_cpu ? 'cpu' : 'cuda', scheduler, - vae: undefined, // option; set in addVAEToGraph - controlnets: [], // populated in addControlNetToLinearGraph - loras: [], // populated in addLoRAsToGraph clip_skip: clipSkip, - }; - - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: CANVAS_OUTPUT, - field: 'metadata', - }, }); // Add Seamless To Graph diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearBatchConfig.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearBatchConfig.ts index 9c25ee3b8f..1457b03039 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearBatchConfig.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearBatchConfig.ts @@ -4,13 +4,20 @@ import { generateSeeds } from 'common/util/generateSeeds'; import { NonNullableGraph } from 'features/nodes/types/types'; import { range, unset } from 'lodash-es'; import { components } from 'services/api/schema'; -import { Batch, BatchConfig } from 'services/api/types'; +import { Batch, BatchConfig, MetadataItemInvocation } from 'services/api/types'; import { + BATCH_PROMPT, + BATCH_SEED, + BATCH_STYLE_PROMPT, CANVAS_COHERENCE_NOISE, METADATA_ACCUMULATOR, NOISE, POSITIVE_CONDITIONING, } from './constants'; +import { + addBatchMetadataNodeToGraph, + removeMetadataFromMainMetadataNode, +} from './metadata'; export const prepareLinearUIBatch = ( state: RootState, @@ -23,8 +30,27 @@ export const prepareLinearUIBatch = ( const data: Batch['data'] = []; + const seedMetadataItemNode: MetadataItemInvocation = { + id: BATCH_SEED, + type: 'metadata_item', + label: 'seed', + }; + + const promptMetadataItemNode: MetadataItemInvocation = { + id: BATCH_PROMPT, + type: 'metadata_item', + label: 'positive_prompt', + }; + + const stylePromptMetadataItemNode: MetadataItemInvocation = { + id: BATCH_STYLE_PROMPT, + type: 'metadata_item', + label: 'positive_style_prompt', + }; + + const itemNodesIds: string[] = []; + if (prompts.length === 1) { - unset(graph.nodes[METADATA_ACCUMULATOR], 'seed'); const seeds = generateSeeds({ count: iterations, start: shouldRandomizeSeed ? undefined : seed, @@ -40,13 +66,15 @@ export const prepareLinearUIBatch = ( }); } - if (graph.nodes[METADATA_ACCUMULATOR]) { - zipped.push({ - node_path: METADATA_ACCUMULATOR, - field_name: 'seed', - items: seeds, - }); - } + // add to metadata + removeMetadataFromMainMetadataNode(graph, 'seed'); + itemNodesIds.push(BATCH_SEED); + graph.nodes[BATCH_SEED] = seedMetadataItemNode; + zipped.push({ + node_path: BATCH_SEED, + field_name: 'value', + items: seeds, + }); if (graph.nodes[CANVAS_COHERENCE_NOISE]) { zipped.push({ @@ -77,13 +105,15 @@ export const prepareLinearUIBatch = ( }); } - if (graph.nodes[METADATA_ACCUMULATOR]) { - firstBatchDatumList.push({ - node_path: METADATA_ACCUMULATOR, - field_name: 'seed', - items: seeds, - }); - } + // add to metadata + removeMetadataFromMainMetadataNode(graph, 'seed'); + itemNodesIds.push(BATCH_SEED); + graph.nodes[BATCH_SEED] = seedMetadataItemNode; + firstBatchDatumList.push({ + node_path: BATCH_SEED, + field_name: 'value', + items: seeds, + }); if (graph.nodes[CANVAS_COHERENCE_NOISE]) { firstBatchDatumList.push({ @@ -106,13 +136,17 @@ export const prepareLinearUIBatch = ( items: seeds, }); } - if (graph.nodes[METADATA_ACCUMULATOR]) { - secondBatchDatumList.push({ - node_path: METADATA_ACCUMULATOR, - field_name: 'seed', - items: seeds, - }); - } + + // add to metadata + removeMetadataFromMainMetadataNode(graph, 'seed'); + itemNodesIds.push(BATCH_SEED); + graph.nodes[BATCH_SEED] = seedMetadataItemNode; + secondBatchDatumList.push({ + node_path: BATCH_SEED, + field_name: 'value', + items: seeds, + }); + if (graph.nodes[CANVAS_COHERENCE_NOISE]) { secondBatchDatumList.push({ node_path: CANVAS_COHERENCE_NOISE, @@ -137,13 +171,15 @@ export const prepareLinearUIBatch = ( }); } - if (graph.nodes[METADATA_ACCUMULATOR]) { - firstBatchDatumList.push({ - node_path: METADATA_ACCUMULATOR, - field_name: 'positive_prompt', - items: extendedPrompts, - }); - } + // add to metadata + removeMetadataFromMainMetadataNode(graph, 'positive_prompt'); + itemNodesIds.push(BATCH_PROMPT); + graph.nodes[BATCH_PROMPT] = promptMetadataItemNode; + firstBatchDatumList.push({ + node_path: BATCH_PROMPT, + field_name: 'value', + items: extendedPrompts, + }); if (shouldConcatSDXLStylePrompt && model?.base_model === 'sdxl') { unset(graph.nodes[METADATA_ACCUMULATOR], 'positive_style_prompt'); @@ -160,18 +196,22 @@ export const prepareLinearUIBatch = ( }); } - if (graph.nodes[METADATA_ACCUMULATOR]) { - firstBatchDatumList.push({ - node_path: METADATA_ACCUMULATOR, - field_name: 'positive_style_prompt', - items: stylePrompts, - }); - } + // add to metadata + removeMetadataFromMainMetadataNode(graph, 'positive_style_prompt'); + itemNodesIds.push(BATCH_STYLE_PROMPT); + graph.nodes[BATCH_STYLE_PROMPT] = stylePromptMetadataItemNode; + firstBatchDatumList.push({ + node_path: BATCH_STYLE_PROMPT, + field_name: 'value', + items: extendedPrompts, + }); } data.push(firstBatchDatumList); } + addBatchMetadataNodeToGraph(graph, itemNodesIds); + const enqueueBatchArg: BatchConfig = { prepend, batch: { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts index bf8d9ea314..bc11580cda 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts @@ -20,13 +20,13 @@ import { IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, - METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, RESIZE, SEAMLESS, } from './constants'; +import { addMainMetadataNodeToGraph } from './metadata'; /** * Builds the Image to Image tab graph. @@ -310,10 +310,7 @@ export const buildLinearImageToImageGraph = ( }); } - // add metadata accumulator, which is only mostly populated - some fields are added later - graph.nodes[METADATA_ACCUMULATOR] = { - id: METADATA_ACCUMULATOR, - type: 'metadata_accumulator', + addMainMetadataNodeToGraph(graph, { generation_mode: 'img2img', cfg_scale, height, @@ -325,23 +322,9 @@ export const buildLinearImageToImageGraph = ( steps, rand_device: use_cpu ? 'cpu' : 'cuda', scheduler, - vae: undefined, // option; set in addVAEToGraph - controlnets: [], // populated in addControlNetToLinearGraph - loras: [], // populated in addLoRAsToGraph clip_skip: clipSkip, strength, init_image: initialImage.imageName, - }; - - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'metadata', - }, }); // Add Seamless To Graph diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts index bc02fb5a66..d80d5fb8f6 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -17,7 +17,6 @@ import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, - METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, @@ -29,6 +28,7 @@ import { SEAMLESS, } from './constants'; import { buildSDXLStylePrompts } from './helpers/craftSDXLStylePrompt'; +import { addMainMetadataNodeToGraph } from './metadata'; /** * Builds the Image to Image tab graph. @@ -330,10 +330,7 @@ export const buildLinearSDXLImageToImageGraph = ( }); } - // add metadata accumulator, which is only mostly populated - some fields are added later - graph.nodes[METADATA_ACCUMULATOR] = { - id: METADATA_ACCUMULATOR, - type: 'metadata_accumulator', + addMainMetadataNodeToGraph(graph, { generation_mode: 'sdxl_img2img', cfg_scale, height, @@ -345,24 +342,10 @@ export const buildLinearSDXLImageToImageGraph = ( steps, rand_device: use_cpu ? 'cpu' : 'cuda', scheduler, - vae: undefined, - controlnets: [], - loras: [], - strength: strength, + strength, init_image: initialImage.imageName, positive_style_prompt: positiveStylePrompt, negative_style_prompt: negativeStylePrompt, - }; - - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'metadata', - }, }); // Add Seamless To Graph diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts index 22a7dd4192..9fb6787227 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -10,9 +10,9 @@ import { addSaveImageNode } from './addSaveImageNode'; import { addSeamlessToLinearGraph } from './addSeamlessToLinearGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; +import { addMainMetadataNodeToGraph } from './metadata'; import { LATENTS_TO_IMAGE, - METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, @@ -224,10 +224,7 @@ export const buildLinearSDXLTextToImageGraph = ( ], }; - // add metadata accumulator, which is only mostly populated - some fields are added later - graph.nodes[METADATA_ACCUMULATOR] = { - id: METADATA_ACCUMULATOR, - type: 'metadata_accumulator', + addMainMetadataNodeToGraph(graph, { generation_mode: 'sdxl_txt2img', cfg_scale, height, @@ -239,22 +236,8 @@ export const buildLinearSDXLTextToImageGraph = ( steps, rand_device: use_cpu ? 'cpu' : 'cuda', scheduler, - vae: undefined, - controlnets: [], - loras: [], positive_style_prompt: positiveStylePrompt, negative_style_prompt: negativeStylePrompt, - }; - - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'metadata', - }, }); // Add Seamless To Graph diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index d7af045803..9c6d007c5c 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -13,12 +13,12 @@ import { addSaveImageNode } from './addSaveImageNode'; import { addSeamlessToLinearGraph } from './addSeamlessToLinearGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; +import { addMainMetadataNodeToGraph } from './metadata'; import { CLIP_SKIP, DENOISE_LATENTS, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, - METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, ONNX_MODEL_LOADER, @@ -232,10 +232,7 @@ export const buildLinearTextToImageGraph = ( ], }; - // add metadata accumulator, which is only mostly populated - some fields are added later - graph.nodes[METADATA_ACCUMULATOR] = { - id: METADATA_ACCUMULATOR, - type: 'metadata_accumulator', + addMainMetadataNodeToGraph(graph, { generation_mode: 'txt2img', cfg_scale, height, @@ -247,21 +244,7 @@ export const buildLinearTextToImageGraph = ( steps, rand_device: use_cpu ? 'cpu' : 'cuda', scheduler, - vae: undefined, // option; set in addVAEToGraph - controlnets: [], // populated in addControlNetToLinearGraph - loras: [], // populated in addLoRAsToGraph clip_skip: clipSkip, - }; - - graph.edges.push({ - source: { - node_id: METADATA_ACCUMULATOR, - field: 'metadata', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'metadata', - }, }); // Add Seamless To Graph diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index 32c46944c7..c5db88c49d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -50,7 +50,15 @@ export const IP_ADAPTER = 'ip_adapter'; export const DYNAMIC_PROMPT = 'dynamic_prompt'; export const IMAGE_COLLECTION = 'image_collection'; export const IMAGE_COLLECTION_ITERATE = 'image_collection_iterate'; +export const METADATA = 'metadata'; +export const BATCH_METADATA = 'batch_metadata'; +export const BATCH_METADATA_COLLECT = 'batch_metadata_collect'; +export const BATCH_SEED = 'batch_seed'; +export const BATCH_PROMPT = 'batch_prompt'; +export const BATCH_STYLE_PROMPT = 'batch_style_prompt'; +export const METADATA_COLLECT = 'metadata_collect'; export const METADATA_ACCUMULATOR = 'metadata_accumulator'; +export const MERGE_METADATA = 'merge_metadata'; export const REALESRGAN = 'esrgan'; export const DIVIDE = 'divide'; export const SCALE = 'scale_image'; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/metadata.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/metadata.ts new file mode 100644 index 0000000000..359bf4bef3 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/metadata.ts @@ -0,0 +1,151 @@ +import { NonNullableGraph } from 'features/nodes/types/types'; +import { map } from 'lodash-es'; +import { MetadataInvocationAsCollection } from 'services/api/types'; +import { JsonObject } from 'type-fest'; +import { + BATCH_METADATA, + BATCH_METADATA_COLLECT, + MERGE_METADATA, + METADATA, + METADATA_COLLECT, + SAVE_IMAGE, +} from './constants'; + +export const addMainMetadataNodeToGraph = ( + graph: NonNullableGraph, + metadata: JsonObject +): void => { + graph.nodes[METADATA] = { + id: METADATA, + type: 'metadata', + items: map(metadata, (value, label) => ({ label, value })), + }; + + graph.nodes[METADATA_COLLECT] = { + id: METADATA_COLLECT, + type: 'collect', + }; + + graph.nodes[MERGE_METADATA] = { + id: MERGE_METADATA, + type: 'merge_metadata_dict', + }; + + graph.edges.push({ + source: { + node_id: METADATA, + field: 'metadata_dict', + }, + destination: { + node_id: METADATA_COLLECT, + field: 'item', + }, + }); + + graph.edges.push({ + source: { + node_id: METADATA_COLLECT, + field: 'collection', + }, + destination: { + node_id: MERGE_METADATA, + field: 'collection', + }, + }); + + graph.edges.push({ + source: { + node_id: MERGE_METADATA, + field: 'metadata_dict', + }, + destination: { + node_id: SAVE_IMAGE, + field: 'metadata', + }, + }); + + return; +}; + +export const addMainMetadata = ( + graph: NonNullableGraph, + metadata: JsonObject +): void => { + const metadataNode = graph.nodes[METADATA] as + | MetadataInvocationAsCollection + | undefined; + + if (!metadataNode) { + return; + } + + metadataNode.items.push( + ...map(metadata, (value, label) => ({ label, value })) + ); +}; + +export const removeMetadataFromMainMetadataNode = ( + graph: NonNullableGraph, + label: string +): void => { + const metadataNode = graph.nodes[METADATA] as + | MetadataInvocationAsCollection + | undefined; + + if (!metadataNode) { + return; + } + + metadataNode.items = metadataNode.items.filter( + (item) => item.label !== label + ); +}; + +export const addBatchMetadataNodeToGraph = ( + graph: NonNullableGraph, + itemNodeIds: string[] +) => { + graph.nodes[BATCH_METADATA] = { + id: BATCH_METADATA, + type: 'metadata', + }; + graph.nodes[BATCH_METADATA_COLLECT] = { + id: BATCH_METADATA_COLLECT, + type: 'collect', + }; + + itemNodeIds.forEach((id) => { + graph.edges.push({ + source: { + node_id: id, + field: 'item', + }, + destination: { + node_id: BATCH_METADATA_COLLECT, + field: 'item', + }, + }); + }); + + graph.edges.push({ + source: { + node_id: BATCH_METADATA_COLLECT, + field: 'collection', + }, + destination: { + node_id: BATCH_METADATA, + field: 'items', + }, + }); + + graph.edges.push({ + source: { + node_id: BATCH_METADATA, + field: 'metadata_dict', + }, + destination: { + node_id: METADATA_COLLECT, + field: 'item', + }, + }); +}; diff --git a/invokeai/frontend/web/src/features/nodes/util/parseSchema.ts b/invokeai/frontend/web/src/features/nodes/util/parseSchema.ts index d5a34c8861..301a9801b2 100644 --- a/invokeai/frontend/web/src/features/nodes/util/parseSchema.ts +++ b/invokeai/frontend/web/src/features/nodes/util/parseSchema.ts @@ -19,10 +19,7 @@ const RESERVED_INPUT_FIELD_NAMES = ['id', 'type', 'use_cache']; const RESERVED_OUTPUT_FIELD_NAMES = ['type']; const RESERVED_FIELD_TYPES = ['IsIntermediate', 'WorkflowField']; -const invocationDenylist: AnyInvocationType[] = [ - 'graph', - 'metadata_accumulator', -]; +const invocationDenylist: AnyInvocationType[] = ['graph']; const isReservedInputField = (nodeType: string, fieldName: string) => { if (RESERVED_INPUT_FIELD_NAMES.includes(fieldName)) { diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 898a180574..4e3e3b9b12 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -3,444 +3,445 @@ * Do not make direct changes to the file. */ + export type paths = { - '/api/v1/sessions/': { + "/api/v1/sessions/": { /** * List Sessions * @deprecated * @description Gets a list of sessions, optionally searching */ - get: operations['list_sessions']; + get: operations["list_sessions"]; /** * Create Session * @deprecated * @description Creates a new session, optionally initializing it with an invocation graph */ - post: operations['create_session']; + post: operations["create_session"]; }; - '/api/v1/sessions/{session_id}': { + "/api/v1/sessions/{session_id}": { /** * Get Session * @deprecated * @description Gets a session */ - get: operations['get_session']; + get: operations["get_session"]; }; - '/api/v1/sessions/{session_id}/nodes': { + "/api/v1/sessions/{session_id}/nodes": { /** * Add Node * @deprecated * @description Adds a node to the graph */ - post: operations['add_node']; + post: operations["add_node"]; }; - '/api/v1/sessions/{session_id}/nodes/{node_path}': { + "/api/v1/sessions/{session_id}/nodes/{node_path}": { /** * Update Node * @deprecated * @description Updates a node in the graph and removes all linked edges */ - put: operations['update_node']; + put: operations["update_node"]; /** * Delete Node * @deprecated * @description Deletes a node in the graph and removes all linked edges */ - delete: operations['delete_node']; + delete: operations["delete_node"]; }; - '/api/v1/sessions/{session_id}/edges': { + "/api/v1/sessions/{session_id}/edges": { /** * Add Edge * @deprecated * @description Adds an edge to the graph */ - post: operations['add_edge']; + post: operations["add_edge"]; }; - '/api/v1/sessions/{session_id}/edges/{from_node_id}/{from_field}/{to_node_id}/{to_field}': { + "/api/v1/sessions/{session_id}/edges/{from_node_id}/{from_field}/{to_node_id}/{to_field}": { /** * Delete Edge * @deprecated * @description Deletes an edge from the graph */ - delete: operations['delete_edge']; + delete: operations["delete_edge"]; }; - '/api/v1/sessions/{session_id}/invoke': { + "/api/v1/sessions/{session_id}/invoke": { /** * Invoke Session * @deprecated * @description Invokes a session */ - put: operations['invoke_session']; + put: operations["invoke_session"]; /** * Cancel Session Invoke * @deprecated * @description Invokes a session */ - delete: operations['cancel_session_invoke']; + delete: operations["cancel_session_invoke"]; }; - '/api/v1/utilities/dynamicprompts': { + "/api/v1/utilities/dynamicprompts": { /** * Parse Dynamicprompts * @description Creates a batch process */ - post: operations['parse_dynamicprompts']; + post: operations["parse_dynamicprompts"]; }; - '/api/v1/models/': { + "/api/v1/models/": { /** * List Models * @description Gets a list of models */ - get: operations['list_models']; + get: operations["list_models"]; }; - '/api/v1/models/{base_model}/{model_type}/{model_name}': { + "/api/v1/models/{base_model}/{model_type}/{model_name}": { /** * Delete Model * @description Delete Model */ - delete: operations['del_model']; + delete: operations["del_model"]; /** * Update Model * @description Update model contents with a new config. If the model name or base fields are changed, then the model is renamed. */ - patch: operations['update_model']; + patch: operations["update_model"]; }; - '/api/v1/models/import': { + "/api/v1/models/import": { /** * Import Model * @description Add a model using its local path, repo_id, or remote URL. Model characteristics will be probed and configured automatically */ - post: operations['import_model']; + post: operations["import_model"]; }; - '/api/v1/models/add': { + "/api/v1/models/add": { /** * Add Model * @description Add a model using the configuration information appropriate for its type. Only local models can be added by path */ - post: operations['add_model']; + post: operations["add_model"]; }; - '/api/v1/models/convert/{base_model}/{model_type}/{model_name}': { + "/api/v1/models/convert/{base_model}/{model_type}/{model_name}": { /** * Convert Model * @description Convert a checkpoint model into a diffusers model, optionally saving to the indicated destination directory, or `models` if none. */ - put: operations['convert_model']; + put: operations["convert_model"]; }; - '/api/v1/models/search': { + "/api/v1/models/search": { /** Search For Models */ - get: operations['search_for_models']; + get: operations["search_for_models"]; }; - '/api/v1/models/ckpt_confs': { + "/api/v1/models/ckpt_confs": { /** * List Ckpt Configs * @description Return a list of the legacy checkpoint configuration files stored in `ROOT/configs/stable-diffusion`, relative to ROOT. */ - get: operations['list_ckpt_configs']; + get: operations["list_ckpt_configs"]; }; - '/api/v1/models/sync': { + "/api/v1/models/sync": { /** * Sync To Config * @description Call after making changes to models.yaml, autoimport directories or models directory to synchronize * in-memory data structures with disk data structures. */ - post: operations['sync_to_config']; + post: operations["sync_to_config"]; }; - '/api/v1/models/merge/{base_model}': { + "/api/v1/models/merge/{base_model}": { /** * Merge Models * @description Convert a checkpoint model into a diffusers model */ - put: operations['merge_models']; + put: operations["merge_models"]; }; - '/api/v1/images/upload': { + "/api/v1/images/upload": { /** * Upload Image * @description Uploads an image */ - post: operations['upload_image']; + post: operations["upload_image"]; }; - '/api/v1/images/i/{image_name}': { + "/api/v1/images/i/{image_name}": { /** * Get Image Dto * @description Gets an image's DTO */ - get: operations['get_image_dto']; + get: operations["get_image_dto"]; /** * Delete Image * @description Deletes an image */ - delete: operations['delete_image']; + delete: operations["delete_image"]; /** * Update Image * @description Updates an image */ - patch: operations['update_image']; + patch: operations["update_image"]; }; - '/api/v1/images/clear-intermediates': { + "/api/v1/images/clear-intermediates": { /** * Clear Intermediates * @description Clears all intermediates */ - post: operations['clear_intermediates']; + post: operations["clear_intermediates"]; }; - '/api/v1/images/i/{image_name}/metadata': { + "/api/v1/images/i/{image_name}/metadata": { /** * Get Image Metadata * @description Gets an image's metadata */ - get: operations['get_image_metadata']; + get: operations["get_image_metadata"]; }; - '/api/v1/images/i/{image_name}/full': { + "/api/v1/images/i/{image_name}/full": { /** * Get Image Full * @description Gets a full-resolution image file */ - get: operations['get_image_full']; + get: operations["get_image_full"]; /** * Get Image Full * @description Gets a full-resolution image file */ - head: operations['get_image_full']; + head: operations["get_image_full"]; }; - '/api/v1/images/i/{image_name}/thumbnail': { + "/api/v1/images/i/{image_name}/thumbnail": { /** * Get Image Thumbnail * @description Gets a thumbnail image file */ - get: operations['get_image_thumbnail']; + get: operations["get_image_thumbnail"]; }; - '/api/v1/images/i/{image_name}/urls': { + "/api/v1/images/i/{image_name}/urls": { /** * Get Image Urls * @description Gets an image and thumbnail URL */ - get: operations['get_image_urls']; + get: operations["get_image_urls"]; }; - '/api/v1/images/': { + "/api/v1/images/": { /** * List Image Dtos * @description Gets a list of image DTOs */ - get: operations['list_image_dtos']; + get: operations["list_image_dtos"]; }; - '/api/v1/images/delete': { + "/api/v1/images/delete": { /** Delete Images From List */ - post: operations['delete_images_from_list']; + post: operations["delete_images_from_list"]; }; - '/api/v1/images/star': { + "/api/v1/images/star": { /** Star Images In List */ - post: operations['star_images_in_list']; + post: operations["star_images_in_list"]; }; - '/api/v1/images/unstar': { + "/api/v1/images/unstar": { /** Unstar Images In List */ - post: operations['unstar_images_in_list']; + post: operations["unstar_images_in_list"]; }; - '/api/v1/boards/': { + "/api/v1/boards/": { /** * List Boards * @description Gets a list of boards */ - get: operations['list_boards']; + get: operations["list_boards"]; /** * Create Board * @description Creates a board */ - post: operations['create_board']; + post: operations["create_board"]; }; - '/api/v1/boards/{board_id}': { + "/api/v1/boards/{board_id}": { /** * Get Board * @description Gets a board */ - get: operations['get_board']; + get: operations["get_board"]; /** * Delete Board * @description Deletes a board */ - delete: operations['delete_board']; + delete: operations["delete_board"]; /** * Update Board * @description Updates a board */ - patch: operations['update_board']; + patch: operations["update_board"]; }; - '/api/v1/boards/{board_id}/image_names': { + "/api/v1/boards/{board_id}/image_names": { /** * List All Board Image Names * @description Gets a list of images for a board */ - get: operations['list_all_board_image_names']; + get: operations["list_all_board_image_names"]; }; - '/api/v1/board_images/': { + "/api/v1/board_images/": { /** * Add Image To Board * @description Creates a board_image */ - post: operations['add_image_to_board']; + post: operations["add_image_to_board"]; /** * Remove Image From Board * @description Removes an image from its board, if it had one */ - delete: operations['remove_image_from_board']; + delete: operations["remove_image_from_board"]; }; - '/api/v1/board_images/batch': { + "/api/v1/board_images/batch": { /** * Add Images To Board * @description Adds a list of images to a board */ - post: operations['add_images_to_board']; + post: operations["add_images_to_board"]; }; - '/api/v1/board_images/batch/delete': { + "/api/v1/board_images/batch/delete": { /** * Remove Images From Board * @description Removes a list of images from their board, if they had one */ - post: operations['remove_images_from_board']; + post: operations["remove_images_from_board"]; }; - '/api/v1/app/version': { + "/api/v1/app/version": { /** Get Version */ - get: operations['app_version']; + get: operations["app_version"]; }; - '/api/v1/app/config': { + "/api/v1/app/config": { /** Get Config */ - get: operations['get_config']; + get: operations["get_config"]; }; - '/api/v1/app/logging': { + "/api/v1/app/logging": { /** * Get Log Level * @description Returns the log level */ - get: operations['get_log_level']; + get: operations["get_log_level"]; /** * Set Log Level * @description Sets the log verbosity level */ - post: operations['set_log_level']; + post: operations["set_log_level"]; }; - '/api/v1/app/invocation_cache': { + "/api/v1/app/invocation_cache": { /** * Clear Invocation Cache * @description Clears the invocation cache */ - delete: operations['clear_invocation_cache']; + delete: operations["clear_invocation_cache"]; }; - '/api/v1/app/invocation_cache/enable': { + "/api/v1/app/invocation_cache/enable": { /** * Enable Invocation Cache * @description Clears the invocation cache */ - put: operations['enable_invocation_cache']; + put: operations["enable_invocation_cache"]; }; - '/api/v1/app/invocation_cache/disable': { + "/api/v1/app/invocation_cache/disable": { /** * Disable Invocation Cache * @description Clears the invocation cache */ - put: operations['disable_invocation_cache']; + put: operations["disable_invocation_cache"]; }; - '/api/v1/app/invocation_cache/status': { + "/api/v1/app/invocation_cache/status": { /** * Get Invocation Cache Status * @description Clears the invocation cache */ - get: operations['get_invocation_cache_status']; + get: operations["get_invocation_cache_status"]; }; - '/api/v1/queue/{queue_id}/enqueue_graph': { + "/api/v1/queue/{queue_id}/enqueue_graph": { /** * Enqueue Graph * @description Enqueues a graph for single execution. */ - post: operations['enqueue_graph']; + post: operations["enqueue_graph"]; }; - '/api/v1/queue/{queue_id}/enqueue_batch': { + "/api/v1/queue/{queue_id}/enqueue_batch": { /** * Enqueue Batch * @description Processes a batch and enqueues the output graphs for execution. */ - post: operations['enqueue_batch']; + post: operations["enqueue_batch"]; }; - '/api/v1/queue/{queue_id}/list': { + "/api/v1/queue/{queue_id}/list": { /** * List Queue Items * @description Gets all queue items (without graphs) */ - get: operations['list_queue_items']; + get: operations["list_queue_items"]; }; - '/api/v1/queue/{queue_id}/processor/resume': { + "/api/v1/queue/{queue_id}/processor/resume": { /** * Resume * @description Resumes session processor */ - put: operations['resume']; + put: operations["resume"]; }; - '/api/v1/queue/{queue_id}/processor/pause': { + "/api/v1/queue/{queue_id}/processor/pause": { /** * Pause * @description Pauses session processor */ - put: operations['pause']; + put: operations["pause"]; }; - '/api/v1/queue/{queue_id}/cancel_by_batch_ids': { + "/api/v1/queue/{queue_id}/cancel_by_batch_ids": { /** * Cancel By Batch Ids * @description Immediately cancels all queue items from the given batch ids */ - put: operations['cancel_by_batch_ids']; + put: operations["cancel_by_batch_ids"]; }; - '/api/v1/queue/{queue_id}/clear': { + "/api/v1/queue/{queue_id}/clear": { /** * Clear * @description Clears the queue entirely, immediately canceling the currently-executing session */ - put: operations['clear']; + put: operations["clear"]; }; - '/api/v1/queue/{queue_id}/prune': { + "/api/v1/queue/{queue_id}/prune": { /** * Prune * @description Prunes all completed or errored queue items */ - put: operations['prune']; + put: operations["prune"]; }; - '/api/v1/queue/{queue_id}/current': { + "/api/v1/queue/{queue_id}/current": { /** * Get Current Queue Item * @description Gets the currently execution queue item */ - get: operations['get_current_queue_item']; + get: operations["get_current_queue_item"]; }; - '/api/v1/queue/{queue_id}/next': { + "/api/v1/queue/{queue_id}/next": { /** * Get Next Queue Item * @description Gets the next queue item, without executing it */ - get: operations['get_next_queue_item']; + get: operations["get_next_queue_item"]; }; - '/api/v1/queue/{queue_id}/status': { + "/api/v1/queue/{queue_id}/status": { /** * Get Queue Status * @description Gets the status of the session queue */ - get: operations['get_queue_status']; + get: operations["get_queue_status"]; }; - '/api/v1/queue/{queue_id}/b/{batch_id}/status': { + "/api/v1/queue/{queue_id}/b/{batch_id}/status": { /** * Get Batch Status * @description Gets the status of the session queue */ - get: operations['get_batch_status']; + get: operations["get_batch_status"]; }; - '/api/v1/queue/{queue_id}/i/{item_id}': { + "/api/v1/queue/{queue_id}/i/{item_id}": { /** * Get Queue Item * @description Gets a queue item */ - get: operations['get_queue_item']; + get: operations["get_queue_item"]; }; - '/api/v1/queue/{queue_id}/i/{item_id}/cancel': { + "/api/v1/queue/{queue_id}/i/{item_id}/cancel": { /** * Cancel Queue Item * @description Deletes a queue item */ - put: operations['cancel_queue_item']; + put: operations["cancel_queue_item"]; }; }; @@ -500,7 +501,7 @@ export type components = { * @default add * @enum {string} */ - type: 'add'; + type: "add"; }; /** * AppConfig @@ -516,7 +517,7 @@ export type components = { * Upscaling Methods * @description List of upscaling methods */ - upscaling_methods: components['schemas']['Upscaler'][]; + upscaling_methods: components["schemas"]["Upscaler"][]; /** * Nsfw Methods * @description List of NSFW checking methods @@ -544,7 +545,7 @@ export type components = { * @description An enumeration. * @enum {string} */ - BaseModelType: 'any' | 'sd-1' | 'sd-2' | 'sdxl' | 'sdxl-refiner'; + BaseModelType: "any" | "sd-1" | "sd-2" | "sdxl" | "sdxl-refiner"; /** Batch */ Batch: { /** @@ -556,12 +557,12 @@ export type components = { * Data * @description The batch data collection. */ - data?: components['schemas']['BatchDatum'][][]; + data?: components["schemas"]["BatchDatum"][][]; /** * Graph * @description The graph to initialize the session with */ - graph: components['schemas']['Graph']; + graph: components["schemas"]["Graph"]; /** * Runs * @description Int stating how many times to iterate through all possible batch indices @@ -644,7 +645,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -680,7 +681,7 @@ export type components = { * @default RGB * @enum {string} */ - mode?: 'RGB' | 'RGBA'; + mode?: "RGB" | "RGBA"; /** * Color * @description The color of the image @@ -691,13 +692,13 @@ export type components = { * "a": 255 * } */ - color?: components['schemas']['ColorField']; + color?: components["schemas"]["ColorField"]; /** * Type * @default blank_image * @enum {string} */ - type: 'blank_image'; + type: "blank_image"; }; /** * Blend Latents @@ -725,12 +726,12 @@ export type components = { * Latents A * @description Latents tensor */ - latents_a?: components['schemas']['LatentsField']; + latents_a?: components["schemas"]["LatentsField"]; /** * Latents B * @description Latents tensor */ - latents_b?: components['schemas']['LatentsField']; + latents_b?: components["schemas"]["LatentsField"]; /** * Alpha * @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. @@ -742,7 +743,7 @@ export type components = { * @default lblend * @enum {string} */ - type: 'lblend'; + type: "lblend"; }; /** BoardChanges */ BoardChanges: { @@ -857,7 +858,7 @@ export type components = { * Batch * @description Batch to process */ - batch: components['schemas']['Batch']; + batch: components["schemas"]["Batch"]; /** * Prepend * @description Whether or not to prepend this batch in the queue @@ -871,7 +872,7 @@ export type components = { * Graph * @description The graph to enqueue */ - graph: components['schemas']['Graph']; + graph: components["schemas"]["Graph"]; /** * Prepend * @description Whether or not to prepend this batch in the queue @@ -892,7 +893,7 @@ export type components = { * @default v_prediction * @enum {string} */ - prediction_type?: 'v_prediction' | 'epsilon' | 'sample'; + prediction_type?: "v_prediction" | "epsilon" | "sample"; }; /** Body_merge_models */ Body_merge_models: { @@ -913,7 +914,7 @@ export type components = { */ alpha?: number; /** @description Interpolation method */ - interp: components['schemas']['MergeInterpolationMethod']; + interp: components["schemas"]["MergeInterpolationMethod"]; /** * Force * @description Force merging of models created with different versions of diffusers @@ -1018,7 +1019,7 @@ export type components = { * @default boolean_collection * @enum {string} */ - type: 'boolean_collection'; + type: "boolean_collection"; }; /** * BooleanCollectionOutput @@ -1035,7 +1036,7 @@ export type components = { * @default boolean_collection_output * @enum {string} */ - type: 'boolean_collection_output'; + type: "boolean_collection_output"; }; /** * Boolean Primitive @@ -1070,7 +1071,7 @@ export type components = { * @default boolean * @enum {string} */ - type: 'boolean'; + type: "boolean"; }; /** * BooleanOutput @@ -1087,18 +1088,18 @@ export type components = { * @default boolean_output * @enum {string} */ - type: 'boolean_output'; + type: "boolean_output"; }; /** CLIPVisionModelDiffusersConfig */ CLIPVisionModelDiffusersConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'clip_vision'; + model_type: "clip_vision"; /** Path */ path: string; /** Description */ @@ -1107,8 +1108,8 @@ export type components = { * Model Format * @enum {string} */ - model_format: 'diffusers'; - error?: components['schemas']['ModelError']; + model_format: "diffusers"; + error?: components["schemas"]["ModelError"]; }; /** CLIPVisionModelField */ CLIPVisionModelField: { @@ -1118,7 +1119,7 @@ export type components = { */ model_name: string; /** @description Base model (usually 'Any') */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; }; /** * CV2 Infill @@ -1129,7 +1130,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -1156,13 +1157,13 @@ export type components = { * Image * @description The image to infill */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default infill_cv2 * @enum {string} */ - type: 'infill_cv2'; + type: "infill_cv2"; }; /** * CancelByBatchIDsResult @@ -1180,6 +1181,16 @@ export type components = { * @description Canny edge detection for ControlNet */ CannyImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -1201,13 +1212,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default canny_image_processor * @enum {string} */ - type: 'canny_image_processor'; + type: "canny_image_processor"; /** * Low Threshold * @description The low threshold of the Canny pixel gradient (0-255) @@ -1238,12 +1249,12 @@ export type components = { * Tokenizer * @description Info to load tokenizer submodel */ - tokenizer: components['schemas']['ModelInfo']; + tokenizer: components["schemas"]["ModelInfo"]; /** * Text Encoder * @description Info to load text_encoder submodel */ - text_encoder: components['schemas']['ModelInfo']; + text_encoder: components["schemas"]["ModelInfo"]; /** * Skipped Layers * @description Number of skipped layers in text_encoder @@ -1253,7 +1264,7 @@ export type components = { * Loras * @description Loras to apply on model loading */ - loras: components['schemas']['LoraInfo'][]; + loras: components["schemas"]["LoraInfo"][]; }; /** * CLIP Skip @@ -1281,7 +1292,7 @@ export type components = { * CLIP * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip?: components['schemas']['ClipField']; + clip?: components["schemas"]["ClipField"]; /** * Skipped Layers * @description Number of layers to skip in text encoder @@ -1293,7 +1304,7 @@ export type components = { * @default clip_skip * @enum {string} */ - type: 'clip_skip'; + type: "clip_skip"; }; /** * ClipSkipInvocationOutput @@ -1304,13 +1315,13 @@ export type components = { * CLIP * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip?: components['schemas']['ClipField']; + clip?: components["schemas"]["ClipField"]; /** * Type * @default clip_skip_output * @enum {string} */ - type: 'clip_skip_output'; + type: "clip_skip_output"; }; /** * CollectInvocation @@ -1349,7 +1360,7 @@ export type components = { * @default collect * @enum {string} */ - type: 'collect'; + type: "collect"; }; /** * CollectInvocationOutput @@ -1368,7 +1379,7 @@ export type components = { * @default collect_output * @enum {string} */ - type: 'collect_output'; + type: "collect_output"; }; /** * ColorCollectionOutput @@ -1379,13 +1390,13 @@ export type components = { * Collection * @description The output colors */ - collection: components['schemas']['ColorField'][]; + collection: components["schemas"]["ColorField"][]; /** * Type * @default color_collection_output * @enum {string} */ - type: 'color_collection_output'; + type: "color_collection_output"; }; /** * Color Correct @@ -1397,7 +1408,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -1424,17 +1435,17 @@ export type components = { * Image * @description The image to color-correct */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Reference * @description Reference image for color-correction */ - reference?: components['schemas']['ImageField']; + reference?: components["schemas"]["ImageField"]; /** * Mask * @description Mask to use when applying color-correction */ - mask?: components['schemas']['ImageField']; + mask?: components["schemas"]["ImageField"]; /** * Mask Blur Radius * @description Mask blur radius @@ -1446,7 +1457,7 @@ export type components = { * @default color_correct * @enum {string} */ - type: 'color_correct'; + type: "color_correct"; }; /** * ColorField @@ -1506,19 +1517,29 @@ export type components = { * "a": 255 * } */ - color?: components['schemas']['ColorField']; + color?: components["schemas"]["ColorField"]; /** * Type * @default color * @enum {string} */ - type: 'color'; + type: "color"; }; /** * Color Map Processor * @description Generates a color map from the provided image */ ColorMapImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -1540,13 +1561,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default color_map_image_processor * @enum {string} */ - type: 'color_map_image_processor'; + type: "color_map_image_processor"; /** * Color Map Tile Size * @description Tile size @@ -1563,13 +1584,13 @@ export type components = { * Color * @description The output color */ - color: components['schemas']['ColorField']; + color: components["schemas"]["ColorField"]; /** * Type * @default color_output * @enum {string} */ - type: 'color_output'; + type: "color_output"; }; /** * Prompt @@ -1604,12 +1625,12 @@ export type components = { * @default compel * @enum {string} */ - type: 'compel'; + type: "compel"; /** * CLIP * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip?: components['schemas']['ClipField']; + clip?: components["schemas"]["ClipField"]; }; /** * Conditioning Collection Primitive @@ -1637,13 +1658,13 @@ export type components = { * Collection * @description The collection of conditioning tensors */ - collection?: components['schemas']['ConditioningField'][]; + collection?: components["schemas"]["ConditioningField"][]; /** * Type * @default conditioning_collection * @enum {string} */ - type: 'conditioning_collection'; + type: "conditioning_collection"; }; /** * ConditioningCollectionOutput @@ -1654,13 +1675,13 @@ export type components = { * Collection * @description The output conditioning tensors */ - collection: components['schemas']['ConditioningField'][]; + collection: components["schemas"]["ConditioningField"][]; /** * Type * @default conditioning_collection_output * @enum {string} */ - type: 'conditioning_collection_output'; + type: "conditioning_collection_output"; }; /** * ConditioningField @@ -1699,13 +1720,13 @@ export type components = { * Conditioning * @description Conditioning tensor */ - conditioning?: components['schemas']['ConditioningField']; + conditioning?: components["schemas"]["ConditioningField"]; /** * Type * @default conditioning * @enum {string} */ - type: 'conditioning'; + type: "conditioning"; }; /** * ConditioningOutput @@ -1716,19 +1737,29 @@ export type components = { * Conditioning * @description Conditioning tensor */ - conditioning: components['schemas']['ConditioningField']; + conditioning: components["schemas"]["ConditioningField"]; /** * Type * @default conditioning_output * @enum {string} */ - type: 'conditioning_output'; + type: "conditioning_output"; }; /** * Content Shuffle Processor * @description Applies content shuffle processing to image */ ContentShuffleImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -1750,13 +1781,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default content_shuffle_image_processor * @enum {string} */ - type: 'content_shuffle_image_processor'; + type: "content_shuffle_image_processor"; /** * Detect Resolution * @description Pixel resolution for detection @@ -1794,12 +1825,12 @@ export type components = { * Image * @description The control image */ - image: components['schemas']['ImageField']; + image: components["schemas"]["ImageField"]; /** * Control Model * @description The ControlNet model to use */ - control_model: components['schemas']['ControlNetModelField']; + control_model: components["schemas"]["ControlNetModelField"]; /** * Control Weight * @description The weight given to the ControlNet @@ -1824,18 +1855,14 @@ export type components = { * @default balanced * @enum {string} */ - control_mode?: 'balanced' | 'more_prompt' | 'more_control' | 'unbalanced'; + control_mode?: "balanced" | "more_prompt" | "more_control" | "unbalanced"; /** * Resize Mode * @description The resize mode to use * @default just_resize * @enum {string} */ - resize_mode?: - | 'just_resize' - | 'crop_resize' - | 'fill_resize' - | 'just_resize_simple'; + resize_mode?: "just_resize" | "crop_resize" | "fill_resize" | "just_resize_simple"; }; /** * ControlNet @@ -1863,12 +1890,12 @@ export type components = { * Image * @description The control image */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Control Model * @description ControlNet model to load */ - control_model: components['schemas']['ControlNetModelField']; + control_model: components["schemas"]["ControlNetModelField"]; /** * Control Weight * @description The weight given to the ControlNet @@ -1893,35 +1920,31 @@ export type components = { * @default balanced * @enum {string} */ - control_mode?: 'balanced' | 'more_prompt' | 'more_control' | 'unbalanced'; + control_mode?: "balanced" | "more_prompt" | "more_control" | "unbalanced"; /** * Resize Mode * @description The resize mode used * @default just_resize * @enum {string} */ - resize_mode?: - | 'just_resize' - | 'crop_resize' - | 'fill_resize' - | 'just_resize_simple'; + resize_mode?: "just_resize" | "crop_resize" | "fill_resize" | "just_resize_simple"; /** * Type * @default controlnet * @enum {string} */ - type: 'controlnet'; + type: "controlnet"; }; /** ControlNetModelCheckpointConfig */ ControlNetModelCheckpointConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'controlnet'; + model_type: "controlnet"; /** Path */ path: string; /** Description */ @@ -1930,8 +1953,8 @@ export type components = { * Model Format * @enum {string} */ - model_format: 'checkpoint'; - error?: components['schemas']['ModelError']; + model_format: "checkpoint"; + error?: components["schemas"]["ModelError"]; /** Config */ config: string; }; @@ -1939,12 +1962,12 @@ export type components = { ControlNetModelDiffusersConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'controlnet'; + model_type: "controlnet"; /** Path */ path: string; /** Description */ @@ -1953,8 +1976,8 @@ export type components = { * Model Format * @enum {string} */ - model_format: 'diffusers'; - error?: components['schemas']['ModelError']; + model_format: "diffusers"; + error?: components["schemas"]["ModelError"]; }; /** * ControlNetModelField @@ -1967,7 +1990,7 @@ export type components = { */ model_name: string; /** @description Base model */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; }; /** * ControlOutput @@ -1978,160 +2001,13 @@ export type components = { * Control * @description ControlNet(s) to apply */ - control: components['schemas']['ControlField']; + control: components["schemas"]["ControlField"]; /** * Type * @default control_output * @enum {string} */ - type: 'control_output'; - }; - /** - * CoreMetadata - * @description Core generation metadata for an image generated in InvokeAI. - */ - CoreMetadata: { - /** - * App Version - * @description The version of InvokeAI used to generate this image - * @default 3.1.1 - */ - app_version?: string; - /** - * Generation Mode - * @description The generation mode that output this image - */ - generation_mode: string; - /** - * Created By - * @description The name of the creator of the image - */ - created_by?: string; - /** - * Positive Prompt - * @description The positive prompt parameter - */ - positive_prompt: string; - /** - * Negative Prompt - * @description The negative prompt parameter - */ - negative_prompt: string; - /** - * Width - * @description The width parameter - */ - width: number; - /** - * Height - * @description The height parameter - */ - height: number; - /** - * Seed - * @description The seed used for noise generation - */ - seed: number; - /** - * Rand Device - * @description The device used for random number generation - */ - rand_device: string; - /** - * Cfg Scale - * @description The classifier-free guidance scale parameter - */ - cfg_scale: number; - /** - * Steps - * @description The number of steps used for inference - */ - steps: number; - /** - * Scheduler - * @description The scheduler used for inference - */ - scheduler: string; - /** - * Clip Skip - * @description The number of skipped CLIP layers - */ - clip_skip?: number; - /** - * Model - * @description The main model used for inference - */ - model: components['schemas']['MainModelField']; - /** - * Controlnets - * @description The ControlNets used for inference - */ - controlnets: components['schemas']['ControlField'][]; - /** - * Loras - * @description The LoRAs used for inference - */ - loras: components['schemas']['LoRAMetadataField'][]; - /** - * Vae - * @description The VAE used for decoding, if the main model's default was not used - */ - vae?: components['schemas']['VAEModelField']; - /** - * Strength - * @description The strength used for latents-to-latents - */ - strength?: number; - /** - * Init Image - * @description The name of the initial image - */ - init_image?: string; - /** - * Positive Style Prompt - * @description The positive style prompt parameter - */ - positive_style_prompt?: string; - /** - * Negative Style Prompt - * @description The negative style prompt parameter - */ - negative_style_prompt?: string; - /** - * Refiner Model - * @description The SDXL Refiner model used - */ - refiner_model?: components['schemas']['MainModelField']; - /** - * Refiner Cfg Scale - * @description The classifier-free guidance scale parameter used for the refiner - */ - refiner_cfg_scale?: number; - /** - * Refiner Steps - * @description The number of steps used for the refiner - */ - refiner_steps?: number; - /** - * Refiner Scheduler - * @description The scheduler used for the refiner - */ - refiner_scheduler?: string; - /** - * Refiner Positive Aesthetic Score - * @description The aesthetic score used for the refiner - */ - refiner_positive_aesthetic_score?: number; - /** - * Refiner Negative Aesthetic Score - * @description The aesthetic score used for the refiner - */ - refiner_negative_aesthetic_score?: number; - /** - * Refiner Start - * @description The start value used for refiner denoising - */ - refiner_start?: number; + type: "control_output"; }; /** * Create Denoise Mask @@ -2159,17 +2035,17 @@ export type components = { * Vae * @description VAE */ - vae?: components['schemas']['VaeField']; + vae?: components["schemas"]["VaeField"]; /** * Image * @description Image which will be masked */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Mask * @description The mask to use when pasting */ - mask?: components['schemas']['ImageField']; + mask?: components["schemas"]["ImageField"]; /** * Tiled * @description Processing using overlapping tiles (reduce memory consumption) @@ -2187,7 +2063,7 @@ export type components = { * @default create_denoise_mask * @enum {string} */ - type: 'create_denoise_mask'; + type: "create_denoise_mask"; }; /** * CursorPaginatedResults[SessionQueueItemDTO] @@ -2208,7 +2084,7 @@ export type components = { * Items * @description Items */ - items: components['schemas']['SessionQueueItemDTO'][]; + items: components["schemas"]["SessionQueueItemDTO"][]; }; /** * OpenCV Inpaint @@ -2236,18 +2112,18 @@ export type components = { * Image * @description The image to inpaint */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Mask * @description The mask to use when inpainting */ - mask?: components['schemas']['ImageField']; + mask?: components["schemas"]["ImageField"]; /** * Type * @default cv_inpaint * @enum {string} */ - type: 'cv_inpaint'; + type: "cv_inpaint"; }; /** DeleteBoardResult */ DeleteBoardResult: { @@ -2298,7 +2174,7 @@ export type components = { * Noise * @description Noise tensor */ - noise?: components['schemas']['LatentsField']; + noise?: components["schemas"]["LatentsField"]; /** * Steps * @description Number of steps to run @@ -2329,69 +2205,45 @@ export type components = { * @default euler * @enum {string} */ - scheduler?: - | 'ddim' - | 'ddpm' - | 'deis' - | 'lms' - | 'lms_k' - | 'pndm' - | 'heun' - | 'heun_k' - | 'euler' - | 'euler_k' - | 'euler_a' - | 'kdpm_2' - | 'kdpm_2_a' - | 'dpmpp_2s' - | 'dpmpp_2s_k' - | 'dpmpp_2m' - | 'dpmpp_2m_k' - | 'dpmpp_2m_sde' - | 'dpmpp_2m_sde_k' - | 'dpmpp_sde' - | 'dpmpp_sde_k' - | 'unipc'; + scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc"; /** Control */ - control?: - | components['schemas']['ControlField'] - | components['schemas']['ControlField'][]; + control?: components["schemas"]["ControlField"] | components["schemas"]["ControlField"][]; /** * IP-Adapter * @description IP-Adapter to apply */ - ip_adapter?: components['schemas']['IPAdapterField']; + ip_adapter?: components["schemas"]["IPAdapterField"]; /** * Latents * @description Latents tensor */ - latents?: components['schemas']['LatentsField']; + latents?: components["schemas"]["LatentsField"]; /** * Denoise Mask * @description The mask to use for the operation */ - denoise_mask?: components['schemas']['DenoiseMaskField']; + denoise_mask?: components["schemas"]["DenoiseMaskField"]; /** * Type * @default denoise_latents * @enum {string} */ - type: 'denoise_latents'; + type: "denoise_latents"; /** * Positive Conditioning * @description Positive conditioning tensor */ - positive_conditioning?: components['schemas']['ConditioningField']; + positive_conditioning?: components["schemas"]["ConditioningField"]; /** * Negative Conditioning * @description Negative conditioning tensor */ - negative_conditioning?: components['schemas']['ConditioningField']; + negative_conditioning?: components["schemas"]["ConditioningField"]; /** * UNet * @description UNet (scheduler, LoRAs) */ - unet?: components['schemas']['UNetField']; + unet?: components["schemas"]["UNetField"]; }; /** * DenoiseMaskField @@ -2418,13 +2270,13 @@ export type components = { * Denoise Mask * @description Mask for denoise model run */ - denoise_mask: components['schemas']['DenoiseMaskField']; + denoise_mask: components["schemas"]["DenoiseMaskField"]; /** * Type * @default denoise_mask_output * @enum {string} */ - type: 'denoise_mask_output'; + type: "denoise_mask_output"; }; /** * Divide Integers @@ -2465,7 +2317,7 @@ export type components = { * @default div * @enum {string} */ - type: 'div'; + type: "div"; }; /** * Dynamic Prompt @@ -2511,7 +2363,7 @@ export type components = { * @default dynamic_prompt * @enum {string} */ - type: 'dynamic_prompt'; + type: "dynamic_prompt"; }; /** DynamicPromptsResponse */ DynamicPromptsResponse: { @@ -2529,7 +2381,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -2556,24 +2408,20 @@ export type components = { * Image * @description The input image */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Model Name * @description The Real-ESRGAN model to use * @default RealESRGAN_x4plus.pth * @enum {string} */ - model_name?: - | 'RealESRGAN_x4plus.pth' - | 'RealESRGAN_x4plus_anime_6B.pth' - | 'ESRGAN_SRx4_DF2KOST_official-ff704c30.pth' - | 'RealESRGAN_x2plus.pth'; + model_name?: "RealESRGAN_x4plus.pth" | "RealESRGAN_x4plus_anime_6B.pth" | "ESRGAN_SRx4_DF2KOST_official-ff704c30.pth" | "RealESRGAN_x2plus.pth"; /** * Type * @default esrgan * @enum {string} */ - type: 'esrgan'; + type: "esrgan"; }; /** Edge */ Edge: { @@ -2581,12 +2429,12 @@ export type components = { * Source * @description The connection for the edge's from node and field */ - source: components['schemas']['EdgeConnection']; + source: components["schemas"]["EdgeConnection"]; /** * Destination * @description The connection for the edge's to node and field */ - destination: components['schemas']['EdgeConnection']; + destination: components["schemas"]["EdgeConnection"]; }; /** EdgeConnection */ EdgeConnection: { @@ -2622,7 +2470,7 @@ export type components = { * Batch * @description The batch that was enqueued */ - batch: components['schemas']['Batch']; + batch: components["schemas"]["Batch"]; /** * Priority * @description The priority of the enqueued batch @@ -2645,7 +2493,7 @@ export type components = { * Batch * @description The batch that was enqueued */ - batch: components['schemas']['Batch']; + batch: components["schemas"]["Batch"]; /** * Priority * @description The priority of the enqueued batch @@ -2655,7 +2503,7 @@ export type components = { * Queue Item * @description The queue item that was enqueued */ - queue_item: components['schemas']['SessionQueueItemDTO']; + queue_item: components["schemas"]["SessionQueueItemDTO"]; }; /** * Float Collection Primitive @@ -2689,7 +2537,7 @@ export type components = { * @default float_collection * @enum {string} */ - type: 'float_collection'; + type: "float_collection"; }; /** * FloatCollectionOutput @@ -2706,7 +2554,7 @@ export type components = { * @default float_collection_output * @enum {string} */ - type: 'float_collection_output'; + type: "float_collection_output"; }; /** * Float Primitive @@ -2741,7 +2589,7 @@ export type components = { * @default float * @enum {string} */ - type: 'float'; + type: "float"; }; /** * Float Range @@ -2788,7 +2636,7 @@ export type components = { * @default float_range * @enum {string} */ - type: 'float_range'; + type: "float_range"; }; /** * Float Math @@ -2818,16 +2666,7 @@ export type components = { * @default ADD * @enum {string} */ - operation?: - | 'ADD' - | 'SUB' - | 'MUL' - | 'DIV' - | 'EXP' - | 'ABS' - | 'SQRT' - | 'MIN' - | 'MAX'; + operation?: "ADD" | "SUB" | "MUL" | "DIV" | "EXP" | "ABS" | "SQRT" | "MIN" | "MAX"; /** * A * @description The first number @@ -2845,7 +2684,7 @@ export type components = { * @default float_math * @enum {string} */ - type: 'float_math'; + type: "float_math"; }; /** * FloatOutput @@ -2862,7 +2701,7 @@ export type components = { * @default float_output * @enum {string} */ - type: 'float_output'; + type: "float_output"; }; /** * Float To Integer @@ -2904,13 +2743,13 @@ export type components = { * @default Nearest * @enum {string} */ - method?: 'Nearest' | 'Floor' | 'Ceiling' | 'Truncate'; + method?: "Nearest" | "Floor" | "Ceiling" | "Truncate"; /** * Type * @default float_to_int * @enum {string} */ - type: 'float_to_int'; + type: "float_to_int"; }; /** Graph */ Graph: { @@ -2924,124 +2763,13 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: - | components['schemas']['BooleanInvocation'] - | components['schemas']['BooleanCollectionInvocation'] - | components['schemas']['IntegerInvocation'] - | components['schemas']['IntegerCollectionInvocation'] - | components['schemas']['FloatInvocation'] - | components['schemas']['FloatCollectionInvocation'] - | components['schemas']['StringInvocation'] - | components['schemas']['StringCollectionInvocation'] - | components['schemas']['ImageInvocation'] - | components['schemas']['ImageCollectionInvocation'] - | components['schemas']['LatentsInvocation'] - | components['schemas']['LatentsCollectionInvocation'] - | components['schemas']['ColorInvocation'] - | components['schemas']['ConditioningInvocation'] - | components['schemas']['ConditioningCollectionInvocation'] - | components['schemas']['ControlNetInvocation'] - | components['schemas']['ImageProcessorInvocation'] - | components['schemas']['MainModelLoaderInvocation'] - | components['schemas']['LoraLoaderInvocation'] - | components['schemas']['SDXLLoraLoaderInvocation'] - | components['schemas']['VaeLoaderInvocation'] - | components['schemas']['SeamlessModeInvocation'] - | components['schemas']['MetadataAccumulatorInvocation'] - | components['schemas']['SDXLModelLoaderInvocation'] - | components['schemas']['SDXLRefinerModelLoaderInvocation'] - | components['schemas']['IPAdapterInvocation'] - | components['schemas']['CompelInvocation'] - | components['schemas']['SDXLCompelPromptInvocation'] - | components['schemas']['SDXLRefinerCompelPromptInvocation'] - | components['schemas']['ClipSkipInvocation'] - | components['schemas']['SchedulerInvocation'] - | components['schemas']['CreateDenoiseMaskInvocation'] - | components['schemas']['DenoiseLatentsInvocation'] - | components['schemas']['LatentsToImageInvocation'] - | components['schemas']['ResizeLatentsInvocation'] - | components['schemas']['ScaleLatentsInvocation'] - | components['schemas']['ImageToLatentsInvocation'] - | components['schemas']['BlendLatentsInvocation'] - | components['schemas']['ONNXPromptInvocation'] - | components['schemas']['ONNXTextToLatentsInvocation'] - | components['schemas']['ONNXLatentsToImageInvocation'] - | components['schemas']['OnnxModelLoaderInvocation'] - | components['schemas']['ShowImageInvocation'] - | components['schemas']['BlankImageInvocation'] - | components['schemas']['ImageCropInvocation'] - | components['schemas']['ImagePasteInvocation'] - | components['schemas']['MaskFromAlphaInvocation'] - | components['schemas']['ImageMultiplyInvocation'] - | components['schemas']['ImageChannelInvocation'] - | components['schemas']['ImageConvertInvocation'] - | components['schemas']['ImageBlurInvocation'] - | components['schemas']['ImageResizeInvocation'] - | components['schemas']['ImageScaleInvocation'] - | components['schemas']['ImageLerpInvocation'] - | components['schemas']['ImageInverseLerpInvocation'] - | components['schemas']['ImageNSFWBlurInvocation'] - | components['schemas']['ImageWatermarkInvocation'] - | components['schemas']['MaskEdgeInvocation'] - | components['schemas']['MaskCombineInvocation'] - | components['schemas']['ColorCorrectInvocation'] - | components['schemas']['ImageHueAdjustmentInvocation'] - | components['schemas']['ImageChannelOffsetInvocation'] - | components['schemas']['ImageChannelMultiplyInvocation'] - | components['schemas']['SaveImageInvocation'] - | components['schemas']['DynamicPromptInvocation'] - | components['schemas']['PromptsFromFileInvocation'] - | components['schemas']['CvInpaintInvocation'] - | components['schemas']['FloatLinearRangeInvocation'] - | components['schemas']['StepParamEasingInvocation'] - | components['schemas']['AddInvocation'] - | components['schemas']['SubtractInvocation'] - | components['schemas']['MultiplyInvocation'] - | components['schemas']['DivideInvocation'] - | components['schemas']['RandomIntInvocation'] - | components['schemas']['FloatToIntegerInvocation'] - | components['schemas']['RoundInvocation'] - | components['schemas']['IntegerMathInvocation'] - | components['schemas']['FloatMathInvocation'] - | components['schemas']['NoiseInvocation'] - | components['schemas']['RangeInvocation'] - | components['schemas']['RangeOfSizeInvocation'] - | components['schemas']['RandomRangeInvocation'] - | components['schemas']['ESRGANInvocation'] - | components['schemas']['StringSplitNegInvocation'] - | components['schemas']['StringSplitInvocation'] - | components['schemas']['StringJoinInvocation'] - | components['schemas']['StringJoinThreeInvocation'] - | components['schemas']['StringReplaceInvocation'] - | components['schemas']['InfillColorInvocation'] - | components['schemas']['InfillTileInvocation'] - | components['schemas']['InfillPatchMatchInvocation'] - | components['schemas']['LaMaInfillInvocation'] - | components['schemas']['CV2InfillInvocation'] - | components['schemas']['GraphInvocation'] - | components['schemas']['IterateInvocation'] - | components['schemas']['CollectInvocation'] - | components['schemas']['CannyImageProcessorInvocation'] - | components['schemas']['HedImageProcessorInvocation'] - | components['schemas']['LineartImageProcessorInvocation'] - | components['schemas']['LineartAnimeImageProcessorInvocation'] - | components['schemas']['OpenposeImageProcessorInvocation'] - | components['schemas']['MidasDepthImageProcessorInvocation'] - | components['schemas']['NormalbaeImageProcessorInvocation'] - | components['schemas']['MlsdImageProcessorInvocation'] - | components['schemas']['PidiImageProcessorInvocation'] - | components['schemas']['ContentShuffleImageProcessorInvocation'] - | components['schemas']['ZoeDepthImageProcessorInvocation'] - | components['schemas']['MediapipeFaceProcessorInvocation'] - | components['schemas']['LeresImageProcessorInvocation'] - | components['schemas']['TileResamplerProcessorInvocation'] - | components['schemas']['SegmentAnythingProcessorInvocation']; + [key: string]: components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MergeMetadataDictInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["ColorMapImageProcessorInvocation"]; }; /** * Edges * @description The connections between nodes and their fields in this graph */ - edges?: components['schemas']['Edge'][]; + edges?: components["schemas"]["Edge"][]; }; /** * GraphExecutionState @@ -3057,12 +2785,12 @@ export type components = { * Graph * @description The graph being executed */ - graph: components['schemas']['Graph']; + graph: components["schemas"]["Graph"]; /** * Execution Graph * @description The expanded graph of activated and executed nodes */ - execution_graph: components['schemas']['Graph']; + execution_graph: components["schemas"]["Graph"]; /** * Executed * @description The set of node ids that have been executed @@ -3078,43 +2806,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: - | components['schemas']['BooleanOutput'] - | components['schemas']['BooleanCollectionOutput'] - | components['schemas']['IntegerOutput'] - | components['schemas']['IntegerCollectionOutput'] - | components['schemas']['FloatOutput'] - | components['schemas']['FloatCollectionOutput'] - | components['schemas']['StringOutput'] - | components['schemas']['StringCollectionOutput'] - | components['schemas']['ImageOutput'] - | components['schemas']['ImageCollectionOutput'] - | components['schemas']['DenoiseMaskOutput'] - | components['schemas']['LatentsOutput'] - | components['schemas']['LatentsCollectionOutput'] - | components['schemas']['ColorOutput'] - | components['schemas']['ColorCollectionOutput'] - | components['schemas']['ConditioningOutput'] - | components['schemas']['ConditioningCollectionOutput'] - | components['schemas']['ControlOutput'] - | components['schemas']['ModelLoaderOutput'] - | components['schemas']['LoraLoaderOutput'] - | components['schemas']['SDXLLoraLoaderOutput'] - | components['schemas']['VaeLoaderOutput'] - | components['schemas']['SeamlessModeOutput'] - | components['schemas']['MetadataAccumulatorOutput'] - | components['schemas']['SDXLModelLoaderOutput'] - | components['schemas']['SDXLRefinerModelLoaderOutput'] - | components['schemas']['IPAdapterOutput'] - | components['schemas']['ClipSkipInvocationOutput'] - | components['schemas']['SchedulerOutput'] - | components['schemas']['ONNXModelLoaderOutput'] - | components['schemas']['NoiseOutput'] - | components['schemas']['StringPosNegOutput'] - | components['schemas']['String2Output'] - | components['schemas']['GraphInvocationOutput'] - | components['schemas']['IterateInvocationOutput'] - | components['schemas']['CollectInvocationOutput']; + [key: string]: components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["SDXLLoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["SeamlessModeOutput"] | components["schemas"]["MetadataItemOutput"] | components["schemas"]["MetadataDictOutput"] | components["schemas"]["BooleanOutput"] | components["schemas"]["BooleanCollectionOutput"] | components["schemas"]["IntegerOutput"] | components["schemas"]["IntegerCollectionOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["StringCollectionOutput"] | components["schemas"]["ImageOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["DenoiseMaskOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["LatentsCollectionOutput"] | components["schemas"]["ColorOutput"] | components["schemas"]["ColorCollectionOutput"] | components["schemas"]["ConditioningOutput"] | components["schemas"]["ConditioningCollectionOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["IPAdapterOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["SchedulerOutput"] | components["schemas"]["ONNXModelLoaderOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["StringPosNegOutput"] | components["schemas"]["String2Output"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]; }; /** * Errors @@ -3164,13 +2856,13 @@ export type components = { * Graph * @description The graph to run */ - graph?: components['schemas']['Graph']; + graph?: components["schemas"]["Graph"]; /** * Type * @default graph * @enum {string} */ - type: 'graph'; + type: "graph"; }; /** * GraphInvocationOutput @@ -3184,18 +2876,28 @@ export type components = { * @default graph_output * @enum {string} */ - type: 'graph_output'; + type: "graph_output"; }; /** HTTPValidationError */ HTTPValidationError: { /** Detail */ - detail?: components['schemas']['ValidationError'][]; + detail?: components["schemas"]["ValidationError"][]; }; /** * HED (softedge) Processor * @description Applies HED edge detection to image */ HedImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -3217,13 +2919,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default hed_image_processor * @enum {string} */ - type: 'hed_image_processor'; + type: "hed_image_processor"; /** * Detect Resolution * @description Pixel resolution for detection @@ -3249,17 +2951,17 @@ export type components = { * Image * @description The IP-Adapter image prompt. */ - image: components['schemas']['ImageField']; + image: components["schemas"]["ImageField"]; /** * Ip Adapter Model * @description The IP-Adapter model to use. */ - ip_adapter_model: components['schemas']['IPAdapterModelField']; + ip_adapter_model: components["schemas"]["IPAdapterModelField"]; /** * Image Encoder Model * @description The name of the CLIP image encoder model. */ - image_encoder_model: components['schemas']['CLIPVisionModelField']; + image_encoder_model: components["schemas"]["CLIPVisionModelField"]; /** * Weight * @description The weight given to the ControlNet @@ -3305,12 +3007,12 @@ export type components = { * Image * @description The IP-Adapter image prompt. */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * IP-Adapter Model * @description The IP-Adapter model. */ - ip_adapter_model: components['schemas']['IPAdapterModelField']; + ip_adapter_model: components["schemas"]["IPAdapterModelField"]; /** * Weight * @description The weight given to the IP-Adapter @@ -3334,7 +3036,7 @@ export type components = { * @default ip_adapter * @enum {string} */ - type: 'ip_adapter'; + type: "ip_adapter"; }; /** IPAdapterModelField */ IPAdapterModelField: { @@ -3344,18 +3046,18 @@ export type components = { */ model_name: string; /** @description Base model */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; }; /** IPAdapterModelInvokeAIConfig */ IPAdapterModelInvokeAIConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'ip_adapter'; + model_type: "ip_adapter"; /** Path */ path: string; /** Description */ @@ -3364,8 +3066,8 @@ export type components = { * Model Format * @enum {string} */ - model_format: 'invokeai'; - error?: components['schemas']['ModelError']; + model_format: "invokeai"; + error?: components["schemas"]["ModelError"]; }; /** * IPAdapterOutput @@ -3378,13 +3080,13 @@ export type components = { * IP-Adapter * @description IP-Adapter to apply */ - ip_adapter: components['schemas']['IPAdapterField']; + ip_adapter: components["schemas"]["IPAdapterField"]; /** * Type * @default ip_adapter_output * @enum {string} */ - type: 'ip_adapter_output'; + type: "ip_adapter_output"; }; /** * Blur Image @@ -3395,7 +3097,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -3422,7 +3124,7 @@ export type components = { * Image * @description The image to blur */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Radius * @description The blur radius @@ -3435,13 +3137,13 @@ export type components = { * @default gaussian * @enum {string} */ - blur_type?: 'gaussian' | 'box'; + blur_type?: "gaussian" | "box"; /** * Type * @default img_blur * @enum {string} */ - type: 'img_blur'; + type: "img_blur"; }; /** * ImageCategory @@ -3454,7 +3156,7 @@ export type components = { * - OTHER: The image is some other type of image with a specialized purpose. To be used by external nodes. * @enum {string} */ - ImageCategory: 'general' | 'mask' | 'control' | 'user' | 'other'; + ImageCategory: "general" | "mask" | "control" | "user" | "other"; /** * Extract Image Channel * @description Gets a channel from an image. @@ -3464,7 +3166,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -3491,20 +3193,20 @@ export type components = { * Image * @description The image to get the channel from */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Channel * @description The channel to get * @default A * @enum {string} */ - channel?: 'A' | 'R' | 'G' | 'B'; + channel?: "A" | "R" | "G" | "B"; /** * Type * @default img_chan * @enum {string} */ - type: 'img_chan'; + type: "img_chan"; }; /** * Multiply Image Channel @@ -3515,7 +3217,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -3542,30 +3244,13 @@ export type components = { * Image * @description The image to adjust */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Channel * @description Which channel to adjust * @enum {string} */ - channel?: - | '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)'; + channel?: "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)"; /** * Scale * @description The amount to scale the channel by. @@ -3583,7 +3268,7 @@ export type components = { * @default img_channel_multiply * @enum {string} */ - type: 'img_channel_multiply'; + type: "img_channel_multiply"; }; /** * Offset Image Channel @@ -3594,7 +3279,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -3621,30 +3306,13 @@ export type components = { * Image * @description The image to adjust */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Channel * @description Which channel to adjust * @enum {string} */ - channel?: - | '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)'; + channel?: "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)"; /** * Offset * @description The amount to adjust the channel by @@ -3656,7 +3324,7 @@ export type components = { * @default img_channel_offset * @enum {string} */ - type: 'img_channel_offset'; + type: "img_channel_offset"; }; /** * Image Collection Primitive @@ -3684,13 +3352,13 @@ export type components = { * Collection * @description The collection of image values */ - collection?: components['schemas']['ImageField'][]; + collection?: components["schemas"]["ImageField"][]; /** * Type * @default image_collection * @enum {string} */ - type: 'image_collection'; + type: "image_collection"; }; /** * ImageCollectionOutput @@ -3701,13 +3369,13 @@ export type components = { * Collection * @description The output images */ - collection: components['schemas']['ImageField'][]; + collection: components["schemas"]["ImageField"][]; /** * Type * @default image_collection_output * @enum {string} */ - type: 'image_collection_output'; + type: "image_collection_output"; }; /** * Convert Image Mode @@ -3718,7 +3386,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -3745,29 +3413,20 @@ export type components = { * Image * @description The image to convert */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Mode * @description The mode to convert to * @default L * @enum {string} */ - mode?: - | 'L' - | 'RGB' - | 'RGBA' - | 'CMYK' - | 'YCbCr' - | 'LAB' - | 'HSV' - | 'I' - | 'F'; + mode?: "L" | "RGB" | "RGBA" | "CMYK" | "YCbCr" | "LAB" | "HSV" | "I" | "F"; /** * Type * @default img_conv * @enum {string} */ - type: 'img_conv'; + type: "img_conv"; }; /** * Crop Image @@ -3778,7 +3437,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -3805,7 +3464,7 @@ export type components = { * Image * @description The image to crop */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * X * @description The left x coordinate of the crop rectangle @@ -3835,7 +3494,7 @@ export type components = { * @default img_crop * @enum {string} */ - type: 'img_crop'; + type: "img_crop"; }; /** * ImageDTO @@ -3858,9 +3517,9 @@ export type components = { */ thumbnail_url: string; /** @description The type of the image. */ - image_origin: components['schemas']['ResourceOrigin']; + image_origin: components["schemas"]["ResourceOrigin"]; /** @description The category of the image. */ - image_category: components['schemas']['ImageCategory']; + image_category: components["schemas"]["ImageCategory"]; /** * Width * @description The width of the image in px. @@ -3932,7 +3591,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -3959,7 +3618,7 @@ export type components = { * Image * @description The image to adjust */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Hue * @description The degrees by which to rotate the hue, 0-360 @@ -3971,7 +3630,7 @@ export type components = { * @default img_hue_adjust * @enum {string} */ - type: 'img_hue_adjust'; + type: "img_hue_adjust"; }; /** * Inverse Lerp Image @@ -3982,7 +3641,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -4009,7 +3668,7 @@ export type components = { * Image * @description The image to lerp */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Min * @description The minimum input value @@ -4027,7 +3686,7 @@ export type components = { * @default img_ilerp * @enum {string} */ - type: 'img_ilerp'; + type: "img_ilerp"; }; /** * Image Primitive @@ -4055,13 +3714,13 @@ export type components = { * Image * @description The image to load */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default image * @enum {string} */ - type: 'image'; + type: "image"; }; /** * Lerp Image @@ -4072,7 +3731,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -4099,7 +3758,7 @@ export type components = { * Image * @description The image to lerp */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Min * @description The minimum output value @@ -4117,7 +3776,7 @@ export type components = { * @default img_lerp * @enum {string} */ - type: 'img_lerp'; + type: "img_lerp"; }; /** * ImageMetadata @@ -4144,7 +3803,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -4171,18 +3830,18 @@ export type components = { * Image1 * @description The first image to multiply */ - image1?: components['schemas']['ImageField']; + image1?: components["schemas"]["ImageField"]; /** * Image2 * @description The second image to multiply */ - image2?: components['schemas']['ImageField']; + image2?: components["schemas"]["ImageField"]; /** * Type * @default img_mul * @enum {string} */ - type: 'img_mul'; + type: "img_mul"; }; /** * Blur NSFW Image @@ -4198,7 +3857,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -4221,12 +3880,12 @@ export type components = { * @default img_nsfw * @enum {string} */ - type: 'img_nsfw'; + type: "img_nsfw"; /** * Image * @description The image to check */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; }; /** * ImageOutput @@ -4237,7 +3896,7 @@ export type components = { * Image * @description The output image */ - image: components['schemas']['ImageField']; + image: components["schemas"]["ImageField"]; /** * Width * @description The width of the image in pixels @@ -4253,7 +3912,7 @@ export type components = { * @default image_output * @enum {string} */ - type: 'image_output'; + type: "image_output"; }; /** * Paste Image @@ -4264,7 +3923,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -4291,17 +3950,17 @@ export type components = { * Base Image * @description The base image */ - base_image?: components['schemas']['ImageField']; + base_image?: components["schemas"]["ImageField"]; /** * Image * @description The image to paste */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Mask * @description The mask to use when pasting */ - mask?: components['schemas']['ImageField']; + mask?: components["schemas"]["ImageField"]; /** * X * @description The left x coordinate at which to paste the image @@ -4325,13 +3984,23 @@ export type components = { * @default img_paste * @enum {string} */ - type: 'img_paste'; + type: "img_paste"; }; /** * Base Image Processor * @description Base class for invocations that preprocess images for ControlNet */ ImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -4353,13 +4022,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default image_processor * @enum {string} */ - type: 'image_processor'; + type: "image_processor"; }; /** * ImageRecordChanges @@ -4373,7 +4042,7 @@ export type components = { */ ImageRecordChanges: { /** @description The image's new category. */ - image_category?: components['schemas']['ImageCategory']; + image_category?: components["schemas"]["ImageCategory"]; /** * Session Id * @description The image's new session ID. @@ -4404,7 +4073,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -4426,7 +4095,7 @@ export type components = { * Image * @description The image to resize */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Width * @description The width to resize to (px) @@ -4445,19 +4114,13 @@ export type components = { * @default bicubic * @enum {string} */ - resample_mode?: - | 'nearest' - | 'box' - | 'bilinear' - | 'hamming' - | 'bicubic' - | 'lanczos'; + resample_mode?: "nearest" | "box" | "bilinear" | "hamming" | "bicubic" | "lanczos"; /** * Type * @default img_resize * @enum {string} */ - type: 'img_resize'; + type: "img_resize"; }; /** * Scale Image @@ -4473,7 +4136,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -4495,7 +4158,7 @@ export type components = { * Image * @description The image to scale */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Scale Factor * @description The factor by which to scale the image @@ -4508,19 +4171,13 @@ export type components = { * @default bicubic * @enum {string} */ - resample_mode?: - | 'nearest' - | 'box' - | 'bilinear' - | 'hamming' - | 'bicubic' - | 'lanczos'; + resample_mode?: "nearest" | "box" | "bilinear" | "hamming" | "bicubic" | "lanczos"; /** * Type * @default img_scale * @enum {string} */ - type: 'img_scale'; + type: "img_scale"; }; /** * Image to Latents @@ -4548,12 +4205,12 @@ export type components = { * Image * @description The image to encode */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Vae * @description VAE */ - vae?: components['schemas']['VaeField']; + vae?: components["schemas"]["VaeField"]; /** * Tiled * @description Processing using overlapping tiles (reduce memory consumption) @@ -4571,7 +4228,7 @@ export type components = { * @default i2l * @enum {string} */ - type: 'i2l'; + type: "i2l"; }; /** * ImageUrlsDTO @@ -4608,7 +4265,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -4630,7 +4287,7 @@ export type components = { * Image * @description The image to check */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Text * @description Watermark text @@ -4642,7 +4299,7 @@ export type components = { * @default img_watermark * @enum {string} */ - type: 'img_watermark'; + type: "img_watermark"; }; /** ImagesUpdatedFromListResult */ ImagesUpdatedFromListResult: { @@ -4661,7 +4318,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -4688,7 +4345,7 @@ export type components = { * Image * @description The image to infill */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Color * @description The color to use to infill @@ -4699,13 +4356,13 @@ export type components = { * "a": 255 * } */ - color?: components['schemas']['ColorField']; + color?: components["schemas"]["ColorField"]; /** * Type * @default infill_rgba * @enum {string} */ - type: 'infill_rgba'; + type: "infill_rgba"; }; /** * PatchMatch Infill @@ -4716,7 +4373,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -4743,7 +4400,7 @@ export type components = { * Image * @description The image to infill */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Downscale * @description Run patchmatch on downscaled image to speedup infill @@ -4756,19 +4413,13 @@ export type components = { * @default bicubic * @enum {string} */ - resample_mode?: - | 'nearest' - | 'box' - | 'bilinear' - | 'hamming' - | 'bicubic' - | 'lanczos'; + resample_mode?: "nearest" | "box" | "bilinear" | "hamming" | "bicubic" | "lanczos"; /** * Type * @default infill_patchmatch * @enum {string} */ - type: 'infill_patchmatch'; + type: "infill_patchmatch"; }; /** * Tile Infill @@ -4779,7 +4430,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -4806,7 +4457,7 @@ export type components = { * Image * @description The image to infill */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Tile Size * @description The tile size (px) @@ -4823,7 +4474,7 @@ export type components = { * @default infill_tile * @enum {string} */ - type: 'infill_tile'; + type: "infill_tile"; }; /** * Integer Collection Primitive @@ -4857,7 +4508,7 @@ export type components = { * @default integer_collection * @enum {string} */ - type: 'integer_collection'; + type: "integer_collection"; }; /** * IntegerCollectionOutput @@ -4874,7 +4525,7 @@ export type components = { * @default integer_collection_output * @enum {string} */ - type: 'integer_collection_output'; + type: "integer_collection_output"; }; /** * Integer Primitive @@ -4909,7 +4560,7 @@ export type components = { * @default integer * @enum {string} */ - type: 'integer'; + type: "integer"; }; /** * Integer Math @@ -4939,16 +4590,7 @@ export type components = { * @default ADD * @enum {string} */ - operation?: - | 'ADD' - | 'SUB' - | 'MUL' - | 'DIV' - | 'EXP' - | 'MOD' - | 'ABS' - | 'MIN' - | 'MAX'; + operation?: "ADD" | "SUB" | "MUL" | "DIV" | "EXP" | "MOD" | "ABS" | "MIN" | "MAX"; /** * A * @description The first number @@ -4966,7 +4608,7 @@ export type components = { * @default integer_math * @enum {string} */ - type: 'integer_math'; + type: "integer_math"; }; /** * IntegerOutput @@ -4983,7 +4625,7 @@ export type components = { * @default integer_output * @enum {string} */ - type: 'integer_output'; + type: "integer_output"; }; /** InvocationCacheStatus */ InvocationCacheStatus: { @@ -5051,7 +4693,7 @@ export type components = { * @default iterate * @enum {string} */ - type: 'iterate'; + type: "iterate"; }; /** * IterateInvocationOutput @@ -5068,7 +4710,7 @@ export type components = { * @default iterate_output * @enum {string} */ - type: 'iterate_output'; + type: "iterate_output"; }; /** * LaMa Infill @@ -5079,7 +4721,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -5106,13 +4748,13 @@ export type components = { * Image * @description The image to infill */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default infill_lama * @enum {string} */ - type: 'infill_lama'; + type: "infill_lama"; }; /** * Latents Collection Primitive @@ -5140,13 +4782,13 @@ export type components = { * Collection * @description The collection of latents tensors */ - collection?: components['schemas']['LatentsField'][]; + collection?: components["schemas"]["LatentsField"][]; /** * Type * @default latents_collection * @enum {string} */ - type: 'latents_collection'; + type: "latents_collection"; }; /** * LatentsCollectionOutput @@ -5157,13 +4799,13 @@ export type components = { * Collection * @description Latents tensor */ - collection: components['schemas']['LatentsField'][]; + collection: components["schemas"]["LatentsField"][]; /** * Type * @default latents_collection_output * @enum {string} */ - type: 'latents_collection_output'; + type: "latents_collection_output"; }; /** * LatentsField @@ -5207,13 +4849,13 @@ export type components = { * Latents * @description The latents tensor */ - latents?: components['schemas']['LatentsField']; + latents?: components["schemas"]["LatentsField"]; /** * Type * @default latents * @enum {string} */ - type: 'latents'; + type: "latents"; }; /** * LatentsOutput @@ -5224,7 +4866,7 @@ export type components = { * Latents * @description Latents tensor */ - latents: components['schemas']['LatentsField']; + latents: components["schemas"]["LatentsField"]; /** * Width * @description Width of output (px) @@ -5240,7 +4882,7 @@ export type components = { * @default latents_output * @enum {string} */ - type: 'latents_output'; + type: "latents_output"; }; /** * Latents to Image @@ -5256,7 +4898,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -5291,23 +4933,33 @@ export type components = { * @default l2i * @enum {string} */ - type: 'l2i'; + type: "l2i"; /** * Latents * @description Latents tensor */ - latents?: components['schemas']['LatentsField']; + latents?: components["schemas"]["LatentsField"]; /** * Vae * @description VAE */ - vae?: components['schemas']['VaeField']; + vae?: components["schemas"]["VaeField"]; }; /** * Leres (Depth) Processor * @description Applies leres processing to image */ LeresImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -5329,13 +4981,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default leres_image_processor * @enum {string} */ - type: 'leres_image_processor'; + type: "leres_image_processor"; /** * Thr A * @description Leres parameter `thr_a` @@ -5372,6 +5024,16 @@ export type components = { * @description Applies line art anime processing to image */ LineartAnimeImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -5393,13 +5055,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default lineart_anime_image_processor * @enum {string} */ - type: 'lineart_anime_image_processor'; + type: "lineart_anime_image_processor"; /** * Detect Resolution * @description Pixel resolution for detection @@ -5418,6 +5080,16 @@ export type components = { * @description Applies line art processing to image */ LineartImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -5439,13 +5111,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default lineart_image_processor * @enum {string} */ - type: 'lineart_image_processor'; + type: "lineart_image_processor"; /** * Detect Resolution * @description Pixel resolution for detection @@ -5465,38 +5137,22 @@ export type components = { */ coarse?: boolean; }; - /** - * LoRAMetadataField - * @description LoRA metadata for an image generated in InvokeAI. - */ - LoRAMetadataField: { - /** - * Lora - * @description The LoRA model - */ - lora: components['schemas']['LoRAModelField']; - /** - * Weight - * @description The weight of the LoRA model - */ - weight: number; - }; /** LoRAModelConfig */ LoRAModelConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'lora'; + model_type: "lora"; /** Path */ path: string; /** Description */ description?: string; - model_format: components['schemas']['LoRAModelFormat']; - error?: components['schemas']['ModelError']; + model_format: components["schemas"]["LoRAModelFormat"]; + error?: components["schemas"]["ModelError"]; }; /** * LoRAModelField @@ -5509,14 +5165,14 @@ export type components = { */ model_name: string; /** @description Base model */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; }; /** * LoRAModelFormat * @description An enumeration. * @enum {string} */ - LoRAModelFormat: 'lycoris' | 'diffusers'; + LoRAModelFormat: "lycoris" | "diffusers"; /** * LogLevel * @description An enumeration. @@ -5531,11 +5187,11 @@ export type components = { */ model_name: string; /** @description Base model */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** @description Info to load submodel */ - model_type: components['schemas']['ModelType']; + model_type: components["schemas"]["ModelType"]; /** @description Info to load submodel */ - submodel?: components['schemas']['SubModelType']; + submodel?: components["schemas"]["SubModelType"]; /** * Weight * @description Lora's weight which to use when apply to model @@ -5568,7 +5224,7 @@ export type components = { * LoRA * @description LoRA model to load */ - lora: components['schemas']['LoRAModelField']; + lora: components["schemas"]["LoRAModelField"]; /** * Weight * @description The weight at which the LoRA is applied to each model @@ -5579,18 +5235,18 @@ export type components = { * UNet * @description UNet (scheduler, LoRAs) */ - unet?: components['schemas']['UNetField']; + unet?: components["schemas"]["UNetField"]; /** * CLIP * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip?: components['schemas']['ClipField']; + clip?: components["schemas"]["ClipField"]; /** * Type * @default lora_loader * @enum {string} */ - type: 'lora_loader'; + type: "lora_loader"; }; /** * LoraLoaderOutput @@ -5601,18 +5257,18 @@ export type components = { * UNet * @description UNet (scheduler, LoRAs) */ - unet?: components['schemas']['UNetField']; + unet?: components["schemas"]["UNetField"]; /** * CLIP * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip?: components['schemas']['ClipField']; + clip?: components["schemas"]["ClipField"]; /** * Type * @default lora_loader_output * @enum {string} */ - type: 'lora_loader_output'; + type: "lora_loader_output"; }; /** * MainModelField @@ -5625,9 +5281,9 @@ export type components = { */ model_name: string; /** @description Base model */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** @description Model Type */ - model_type: components['schemas']['ModelType']; + model_type: components["schemas"]["ModelType"]; }; /** * Main Model @@ -5655,13 +5311,13 @@ export type components = { * Model * @description Main model (UNet, VAE, CLIP) to load */ - model: components['schemas']['MainModelField']; + model: components["schemas"]["MainModelField"]; /** * Type * @default main_model_loader * @enum {string} */ - type: 'main_model_loader'; + type: "main_model_loader"; }; /** * Combine Masks @@ -5672,7 +5328,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -5699,18 +5355,18 @@ export type components = { * Mask1 * @description The first mask to combine */ - mask1?: components['schemas']['ImageField']; + mask1?: components["schemas"]["ImageField"]; /** * Mask2 * @description The second image to combine */ - mask2?: components['schemas']['ImageField']; + mask2?: components["schemas"]["ImageField"]; /** * Type * @default mask_combine * @enum {string} */ - type: 'mask_combine'; + type: "mask_combine"; }; /** * Mask Edge @@ -5721,7 +5377,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -5748,7 +5404,7 @@ export type components = { * Image * @description The image to apply the mask to */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Edge Size * @description The size of the edge @@ -5774,7 +5430,7 @@ export type components = { * @default mask_edge * @enum {string} */ - type: 'mask_edge'; + type: "mask_edge"; }; /** * Mask from Alpha @@ -5785,7 +5441,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -5812,7 +5468,7 @@ export type components = { * Image * @description The image to create the mask from */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Invert * @description Whether or not to invert the mask @@ -5824,13 +5480,23 @@ export type components = { * @default tomask * @enum {string} */ - type: 'tomask'; + type: "tomask"; }; /** * Mediapipe Face Processor * @description Applies mediapipe face processing to image */ MediapipeFaceProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -5852,13 +5518,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default mediapipe_face_processor * @enum {string} */ - type: 'mediapipe_face_processor'; + type: "mediapipe_face_processor"; /** * Max Faces * @description Maximum number of faces to detect @@ -5877,11 +5543,7 @@ export type components = { * @description An enumeration. * @enum {string} */ - MergeInterpolationMethod: - | 'weighted_sum' - | 'sigmoid' - | 'inv_sigmoid' - | 'add_difference'; + MergeInterpolationMethod: "weighted_sum" | "sigmoid" | "inv_sigmoid" | "add_difference"; /** * Metadata Merge * @description Takes a list of MetadataItems and outputs a MetadataDict. @@ -5908,19 +5570,49 @@ export type components = { * Collection * @description Collection of MetadataDicts */ - collection?: components['schemas']['MetadataDict'][]; + collection?: components["schemas"]["MetadataDict"][]; /** * Type * @default merge_metadata_dict * @enum {string} */ - type: 'merge_metadata_dict'; + type: "merge_metadata_dict"; }; /** - * Metadata Accumulator - * @description Outputs a Core Metadata Object + * MetadataDict + * @description Accepts a single MetadataItem or collection of MetadataItems (use a Collect node). */ - MetadataAccumulatorInvocation: { + MetadataDict: { + /** + * Data + * @description Metadata dict + */ + data: Record; + }; + /** + * MetadataDictOutput + * @description Base class for all invocation outputs. + * + * All invocation outputs must use the `@invocation_output` decorator to provide their unique type. + */ + MetadataDictOutput: { + /** + * Metadata Dict + * @description Metadata Dict + */ + metadata_dict: components["schemas"]["MetadataDict"]; + /** + * Type + * @default metadata_dict + * @enum {string} + */ + type: "metadata_dict"; + }; + /** + * Metadata + * @description Takes a list of MetadataItems and outputs a MetadataDict. + */ + MetadataInvocation: { /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -5939,164 +5631,101 @@ export type components = { */ use_cache?: boolean; /** - * Generation Mode - * @description The generation mode that output this image + * Items + * @description A single metadata item or collection of metadata items */ - generation_mode?: string; - /** - * Positive Prompt - * @description The positive prompt parameter - */ - positive_prompt?: string; - /** - * Negative Prompt - * @description The negative prompt parameter - */ - negative_prompt?: string; - /** - * Width - * @description The width parameter - */ - width?: number; - /** - * Height - * @description The height parameter - */ - height?: number; - /** - * Seed - * @description The seed used for noise generation - */ - seed?: number; - /** - * Rand Device - * @description The device used for random number generation - */ - rand_device?: string; - /** - * Cfg Scale - * @description The classifier-free guidance scale parameter - */ - cfg_scale?: number; - /** - * Steps - * @description The number of steps used for inference - */ - steps?: number; - /** - * Scheduler - * @description The scheduler used for inference - */ - scheduler?: string; - /** - * Clip Skip - * @description The number of skipped CLIP layers - */ - clip_skip?: number; - /** - * Model - * @description The main model used for inference - */ - model?: components['schemas']['MainModelField']; - /** - * Controlnets - * @description The ControlNets used for inference - */ - controlnets?: components['schemas']['ControlField'][]; - /** - * Loras - * @description The LoRAs used for inference - */ - loras?: components['schemas']['LoRAMetadataField'][]; - /** - * Strength - * @description The strength used for latents-to-latents - */ - strength?: number; - /** - * Init Image - * @description The name of the initial image - */ - init_image?: string; - /** - * Vae - * @description The VAE used for decoding, if the main model's default was not used - */ - vae?: components['schemas']['VAEModelField']; - /** - * Positive Style Prompt - * @description The positive style prompt parameter - */ - positive_style_prompt?: string; - /** - * Negative Style Prompt - * @description The negative style prompt parameter - */ - negative_style_prompt?: string; - /** - * Refiner Model - * @description The SDXL Refiner model used - */ - refiner_model?: components['schemas']['MainModelField']; - /** - * Refiner Cfg Scale - * @description The classifier-free guidance scale parameter used for the refiner - */ - refiner_cfg_scale?: number; - /** - * Refiner Steps - * @description The number of steps used for the refiner - */ - refiner_steps?: number; - /** - * Refiner Scheduler - * @description The scheduler used for the refiner - */ - refiner_scheduler?: string; - /** - * Refiner Positive Aesthetic Score - * @description The aesthetic score used for the refiner - */ - refiner_positive_aesthetic_score?: number; - /** - * Refiner Negative Aesthetic Score - * @description The aesthetic score used for the refiner - */ - refiner_negative_aesthetic_score?: number; - /** - * Refiner Start - * @description The start value used for refiner denoising - */ - refiner_start?: number; + items?: components["schemas"]["MetadataItem"][] | components["schemas"]["MetadataItem"]; /** * Type - * @default metadata_accumulator + * @default metadata * @enum {string} */ - type: 'metadata_accumulator'; + type: "metadata"; + }; + /** MetadataItem */ + MetadataItem: { + /** + * Label + * @description Label for this metadata item + */ + label: string; + /** + * Value + * @description The value for this metadata item (may be any type) + */ + value?: unknown; }; /** - * MetadataAccumulatorOutput - * @description The output of the MetadataAccumulator node + * Metadata Item + * @description Used to create an arbitrary metadata item. Provide "label" and make a connection to "value" to store that data as the value. */ - MetadataAccumulatorOutput: { + MetadataItemInvocation: { /** - * Metadata - * @description The core metadata for the image + * Id + * @description The id of this instance of an invocation. Must be unique among all instances of invocations. */ - metadata: components['schemas']['CoreMetadata']; + 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; + /** + * Label + * @description Label for this metadata item + */ + label?: string; + /** + * Value + * @description The value for this metadata item (may be any type) + */ + value?: unknown; /** * Type - * @default metadata_accumulator_output + * @default metadata_item * @enum {string} */ - type: 'metadata_accumulator_output'; + type: "metadata_item"; + }; + /** + * MetadataItemOutput + * @description Metadata Item Output + */ + MetadataItemOutput: { + /** + * Item + * @description Metadata Item + */ + item: components["schemas"]["MetadataItem"]; + /** + * Type + * @default metadata_item_output + * @enum {string} + */ + type: "metadata_item_output"; }; /** * Midas Depth Processor * @description Applies Midas depth processing to image */ MidasDepthImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -6118,13 +5747,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default midas_depth_image_processor * @enum {string} */ - type: 'midas_depth_image_processor'; + type: "midas_depth_image_processor"; /** * A Mult * @description Midas parameter `a_mult` (a = a_mult * PI) @@ -6143,6 +5772,16 @@ export type components = { * @description Applies MLSD processing to image */ MlsdImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -6164,13 +5803,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default mlsd_image_processor * @enum {string} */ - type: 'mlsd_image_processor'; + type: "mlsd_image_processor"; /** * Detect Resolution * @description Pixel resolution for detection @@ -6201,7 +5840,7 @@ export type components = { * @description An enumeration. * @enum {string} */ - ModelError: 'not_found'; + ModelError: "not_found"; /** ModelInfo */ ModelInfo: { /** @@ -6210,11 +5849,11 @@ export type components = { */ model_name: string; /** @description Base model */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** @description Info to load submodel */ - model_type: components['schemas']['ModelType']; + model_type: components["schemas"]["ModelType"]; /** @description Info to load submodel */ - submodel?: components['schemas']['SubModelType']; + submodel?: components["schemas"]["SubModelType"]; }; /** * ModelLoaderOutput @@ -6225,64 +5864,40 @@ export type components = { * UNet * @description UNet (scheduler, LoRAs) */ - unet: components['schemas']['UNetField']; + unet: components["schemas"]["UNetField"]; /** * CLIP * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip: components['schemas']['ClipField']; + clip: components["schemas"]["ClipField"]; /** * VAE * @description VAE */ - vae: components['schemas']['VaeField']; + vae: components["schemas"]["VaeField"]; /** * Type * @default model_loader_output * @enum {string} */ - type: 'model_loader_output'; + type: "model_loader_output"; }; /** * ModelType * @description An enumeration. * @enum {string} */ - ModelType: - | 'onnx' - | 'main' - | 'vae' - | 'lora' - | 'controlnet' - | 'embedding' - | 'ip_adapter' - | 'clip_vision'; + ModelType: "onnx" | "main" | "vae" | "lora" | "controlnet" | "embedding" | "ip_adapter" | "clip_vision"; /** * ModelVariantType * @description An enumeration. * @enum {string} */ - ModelVariantType: 'normal' | 'inpaint' | 'depth'; + ModelVariantType: "normal" | "inpaint" | "depth"; /** ModelsList */ ModelsList: { /** Models */ - models: ( - | components['schemas']['ONNXStableDiffusion1ModelConfig'] - | components['schemas']['StableDiffusion1ModelCheckpointConfig'] - | components['schemas']['StableDiffusion1ModelDiffusersConfig'] - | components['schemas']['VaeModelConfig'] - | components['schemas']['LoRAModelConfig'] - | components['schemas']['ControlNetModelCheckpointConfig'] - | components['schemas']['ControlNetModelDiffusersConfig'] - | components['schemas']['TextualInversionModelConfig'] - | components['schemas']['IPAdapterModelInvokeAIConfig'] - | components['schemas']['CLIPVisionModelDiffusersConfig'] - | components['schemas']['ONNXStableDiffusion2ModelConfig'] - | components['schemas']['StableDiffusion2ModelCheckpointConfig'] - | components['schemas']['StableDiffusion2ModelDiffusersConfig'] - | components['schemas']['StableDiffusionXLModelCheckpointConfig'] - | components['schemas']['StableDiffusionXLModelDiffusersConfig'] - )[]; + models: (components["schemas"]["ONNXStableDiffusion1ModelConfig"] | components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["IPAdapterModelInvokeAIConfig"] | components["schemas"]["CLIPVisionModelDiffusersConfig"] | components["schemas"]["ONNXStableDiffusion2ModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"])[]; }; /** * Multiply Integers @@ -6323,7 +5938,7 @@ export type components = { * @default mul * @enum {string} */ - type: 'mul'; + type: "mul"; }; /** NodeFieldValue */ NodeFieldValue: { @@ -6393,7 +6008,7 @@ export type components = { * @default noise * @enum {string} */ - type: 'noise'; + type: "noise"; }; /** * NoiseOutput @@ -6404,7 +6019,7 @@ export type components = { * Noise * @description Noise tensor */ - noise?: components['schemas']['LatentsField']; + noise?: components["schemas"]["LatentsField"]; /** * Width * @description Width of output (px) @@ -6420,13 +6035,23 @@ export type components = { * @default noise_output * @enum {string} */ - type: 'noise_output'; + type: "noise_output"; }; /** * Normal BAE Processor * @description Applies NormalBae processing to image */ NormalbaeImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -6448,13 +6073,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default normalbae_image_processor * @enum {string} */ - type: 'normalbae_image_processor'; + type: "normalbae_image_processor"; /** * Detect Resolution * @description Pixel resolution for detection @@ -6482,7 +6107,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -6504,18 +6129,18 @@ export type components = { * Latents * @description Denoised latents tensor */ - latents?: components['schemas']['LatentsField']; + latents?: components["schemas"]["LatentsField"]; /** * Vae * @description VAE */ - vae?: components['schemas']['VaeField']; + vae?: components["schemas"]["VaeField"]; /** * Type * @default l2i_onnx * @enum {string} */ - type: 'l2i_onnx'; + type: "l2i_onnx"; }; /** * ONNXModelLoaderOutput @@ -6526,28 +6151,28 @@ export type components = { * UNet * @description UNet (scheduler, LoRAs) */ - unet?: components['schemas']['UNetField']; + unet?: components["schemas"]["UNetField"]; /** * CLIP * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip?: components['schemas']['ClipField']; + clip?: components["schemas"]["ClipField"]; /** * VAE Decoder * @description VAE */ - vae_decoder?: components['schemas']['VaeField']; + vae_decoder?: components["schemas"]["VaeField"]; /** * VAE Encoder * @description VAE */ - vae_encoder?: components['schemas']['VaeField']; + vae_encoder?: components["schemas"]["VaeField"]; /** * Type * @default model_loader_output_onnx * @enum {string} */ - type: 'model_loader_output_onnx'; + type: "model_loader_output_onnx"; }; /** * ONNX Prompt (Raw) @@ -6584,24 +6209,24 @@ export type components = { * Clip * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip?: components['schemas']['ClipField']; + clip?: components["schemas"]["ClipField"]; /** * Type * @default prompt_onnx * @enum {string} */ - type: 'prompt_onnx'; + type: "prompt_onnx"; }; /** ONNXStableDiffusion1ModelConfig */ ONNXStableDiffusion1ModelConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'onnx'; + model_type: "onnx"; /** Path */ path: string; /** Description */ @@ -6610,20 +6235,20 @@ export type components = { * Model Format * @enum {string} */ - model_format: 'onnx'; - error?: components['schemas']['ModelError']; - variant: components['schemas']['ModelVariantType']; + model_format: "onnx"; + error?: components["schemas"]["ModelError"]; + variant: components["schemas"]["ModelVariantType"]; }; /** ONNXStableDiffusion2ModelConfig */ ONNXStableDiffusion2ModelConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'onnx'; + model_type: "onnx"; /** Path */ path: string; /** Description */ @@ -6632,10 +6257,10 @@ export type components = { * Model Format * @enum {string} */ - model_format: 'onnx'; - error?: components['schemas']['ModelError']; - variant: components['schemas']['ModelVariantType']; - prediction_type: components['schemas']['SchedulerPredictionType']; + model_format: "onnx"; + error?: components["schemas"]["ModelError"]; + variant: components["schemas"]["ModelVariantType"]; + prediction_type: components["schemas"]["SchedulerPredictionType"]; /** Upcast Attention */ upcast_attention: boolean; }; @@ -6665,17 +6290,17 @@ export type components = { * Positive Conditioning * @description Positive conditioning tensor */ - positive_conditioning?: components['schemas']['ConditioningField']; + positive_conditioning?: components["schemas"]["ConditioningField"]; /** * Negative Conditioning * @description Negative conditioning tensor */ - negative_conditioning?: components['schemas']['ConditioningField']; + negative_conditioning?: components["schemas"]["ConditioningField"]; /** * Noise * @description Noise tensor */ - noise?: components['schemas']['LatentsField']; + noise?: components["schemas"]["LatentsField"]; /** * Steps * @description Number of steps to run @@ -6694,66 +6319,30 @@ export type components = { * @default euler * @enum {string} */ - scheduler?: - | 'ddim' - | 'ddpm' - | 'deis' - | 'lms' - | 'lms_k' - | 'pndm' - | 'heun' - | 'heun_k' - | 'euler' - | 'euler_k' - | 'euler_a' - | 'kdpm_2' - | 'kdpm_2_a' - | 'dpmpp_2s' - | 'dpmpp_2s_k' - | 'dpmpp_2m' - | 'dpmpp_2m_k' - | 'dpmpp_2m_sde' - | 'dpmpp_2m_sde_k' - | 'dpmpp_sde' - | 'dpmpp_sde_k' - | 'unipc'; + scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc"; /** * Precision * @description Precision to use * @default tensor(float16) * @enum {string} */ - precision?: - | 'tensor(bool)' - | 'tensor(int8)' - | 'tensor(uint8)' - | 'tensor(int16)' - | 'tensor(uint16)' - | 'tensor(int32)' - | 'tensor(uint32)' - | 'tensor(int64)' - | 'tensor(uint64)' - | 'tensor(float16)' - | 'tensor(float)' - | 'tensor(double)'; + precision?: "tensor(bool)" | "tensor(int8)" | "tensor(uint8)" | "tensor(int16)" | "tensor(uint16)" | "tensor(int32)" | "tensor(uint32)" | "tensor(int64)" | "tensor(uint64)" | "tensor(float16)" | "tensor(float)" | "tensor(double)"; /** * Unet * @description UNet (scheduler, LoRAs) */ - unet?: components['schemas']['UNetField']; + unet?: components["schemas"]["UNetField"]; /** * Control * @description ControlNet(s) to apply */ - control?: - | components['schemas']['ControlField'] - | components['schemas']['ControlField'][]; + control?: components["schemas"]["ControlField"] | components["schemas"]["ControlField"][]; /** * Type * @default t2l_onnx * @enum {string} */ - type: 't2l_onnx'; + type: "t2l_onnx"; }; /** * OffsetPaginatedResults[BoardDTO] @@ -6764,7 +6353,7 @@ export type components = { * Items * @description Items */ - items: components['schemas']['BoardDTO'][]; + items: components["schemas"]["BoardDTO"][]; /** * Offset * @description Offset from which to retrieve items @@ -6790,7 +6379,7 @@ export type components = { * Items * @description Items */ - items: components['schemas']['ImageDTO'][]; + items: components["schemas"]["ImageDTO"][]; /** * Offset * @description Offset from which to retrieve items @@ -6818,9 +6407,9 @@ export type components = { */ model_name: string; /** @description Base model */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** @description Model Type */ - model_type: components['schemas']['ModelType']; + model_type: components["schemas"]["ModelType"]; }; /** * ONNX Main Model @@ -6848,19 +6437,29 @@ export type components = { * Model * @description ONNX Main model (UNet, VAE, CLIP) to load */ - model: components['schemas']['OnnxModelField']; + model: components["schemas"]["OnnxModelField"]; /** * Type * @default onnx_model_loader * @enum {string} */ - type: 'onnx_model_loader'; + type: "onnx_model_loader"; }; /** * Openpose Processor * @description Applies Openpose processing to image */ OpenposeImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -6882,13 +6481,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default openpose_image_processor * @enum {string} */ - type: 'openpose_image_processor'; + type: "openpose_image_processor"; /** * Hand And Face * @description Whether to use hands and face mode @@ -6917,7 +6516,7 @@ export type components = { * Items * @description Items */ - items: components['schemas']['GraphExecutionState'][]; + items: components["schemas"]["GraphExecutionState"][]; /** * Page * @description Current Page @@ -6944,6 +6543,16 @@ export type components = { * @description Applies PIDI processing to image */ PidiImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -6965,13 +6574,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default pidi_image_processor * @enum {string} */ - type: 'pidi_image_processor'; + type: "pidi_image_processor"; /** * Detect Resolution * @description Pixel resolution for detection @@ -7051,7 +6660,7 @@ export type components = { * @default prompt_from_file * @enum {string} */ - type: 'prompt_from_file'; + type: "prompt_from_file"; }; /** * PruneResult @@ -7103,7 +6712,7 @@ export type components = { * @default rand_int * @enum {string} */ - type: 'rand_int'; + type: "rand_int"; }; /** * Random Range @@ -7155,7 +6764,7 @@ export type components = { * @default random_range * @enum {string} */ - type: 'random_range'; + type: "random_range"; }; /** * Integer Range @@ -7202,7 +6811,7 @@ export type components = { * @default range * @enum {string} */ - type: 'range'; + type: "range"; }; /** * Integer Range of Size @@ -7249,7 +6858,7 @@ export type components = { * @default range_of_size * @enum {string} */ - type: 'range_of_size'; + type: "range_of_size"; }; /** RemoveImagesFromBoardResult */ RemoveImagesFromBoardResult: { @@ -7285,7 +6894,7 @@ export type components = { * Latents * @description Latents tensor */ - latents?: components['schemas']['LatentsField']; + latents?: components["schemas"]["LatentsField"]; /** * Width * @description Width of output (px) @@ -7302,14 +6911,7 @@ export type components = { * @default bilinear * @enum {string} */ - mode?: - | 'nearest' - | 'linear' - | 'bilinear' - | 'bicubic' - | 'trilinear' - | 'area' - | 'nearest-exact'; + mode?: "nearest" | "linear" | "bilinear" | "bicubic" | "trilinear" | "area" | "nearest-exact"; /** * Antialias * @description Whether or not to apply antialiasing (bilinear or bicubic only) @@ -7321,7 +6923,7 @@ export type components = { * @default lresize * @enum {string} */ - type: 'lresize'; + type: "lresize"; }; /** * ResourceOrigin @@ -7332,7 +6934,7 @@ export type components = { * This may be a user-initiated upload, or an internal application upload (eg Canvas init image). * @enum {string} */ - ResourceOrigin: 'internal' | 'external'; + ResourceOrigin: "internal" | "external"; /** * Round Float * @description Rounds a float to a specified number of decimal places. @@ -7372,7 +6974,7 @@ export type components = { * @default round_float * @enum {string} */ - type: 'round_float'; + type: "round_float"; }; /** * SDXL Prompt @@ -7442,18 +7044,18 @@ export type components = { * CLIP 1 * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip?: components['schemas']['ClipField']; + clip?: components["schemas"]["ClipField"]; /** * CLIP 2 * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip2?: components['schemas']['ClipField']; + clip2?: components["schemas"]["ClipField"]; /** * Type * @default sdxl_compel_prompt * @enum {string} */ - type: 'sdxl_compel_prompt'; + type: "sdxl_compel_prompt"; }; /** * SDXL LoRA @@ -7481,7 +7083,7 @@ export type components = { * LoRA * @description LoRA model to load */ - lora: components['schemas']['LoRAModelField']; + lora: components["schemas"]["LoRAModelField"]; /** * Weight * @description The weight at which the LoRA is applied to each model @@ -7492,23 +7094,23 @@ export type components = { * UNet * @description UNet (scheduler, LoRAs) */ - unet?: components['schemas']['UNetField']; + unet?: components["schemas"]["UNetField"]; /** * CLIP 1 * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip?: components['schemas']['ClipField']; + clip?: components["schemas"]["ClipField"]; /** * CLIP 2 * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip2?: components['schemas']['ClipField']; + clip2?: components["schemas"]["ClipField"]; /** * Type * @default sdxl_lora_loader * @enum {string} */ - type: 'sdxl_lora_loader'; + type: "sdxl_lora_loader"; }; /** * SDXLLoraLoaderOutput @@ -7519,23 +7121,23 @@ export type components = { * UNet * @description UNet (scheduler, LoRAs) */ - unet?: components['schemas']['UNetField']; + unet?: components["schemas"]["UNetField"]; /** * CLIP 1 * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip?: components['schemas']['ClipField']; + clip?: components["schemas"]["ClipField"]; /** * CLIP 2 * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip2?: components['schemas']['ClipField']; + clip2?: components["schemas"]["ClipField"]; /** * Type * @default sdxl_lora_loader_output * @enum {string} */ - type: 'sdxl_lora_loader_output'; + type: "sdxl_lora_loader_output"; }; /** * SDXL Main Model @@ -7563,13 +7165,13 @@ export type components = { * Model * @description SDXL Main model (UNet, VAE, CLIP1, CLIP2) to load */ - model: components['schemas']['MainModelField']; + model: components["schemas"]["MainModelField"]; /** * Type * @default sdxl_model_loader * @enum {string} */ - type: 'sdxl_model_loader'; + type: "sdxl_model_loader"; }; /** * SDXLModelLoaderOutput @@ -7580,28 +7182,28 @@ export type components = { * UNet * @description UNet (scheduler, LoRAs) */ - unet: components['schemas']['UNetField']; + unet: components["schemas"]["UNetField"]; /** * CLIP 1 * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip: components['schemas']['ClipField']; + clip: components["schemas"]["ClipField"]; /** * CLIP 2 * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip2: components['schemas']['ClipField']; + clip2: components["schemas"]["ClipField"]; /** * VAE * @description VAE */ - vae: components['schemas']['VaeField']; + vae: components["schemas"]["VaeField"]; /** * Type * @default sdxl_model_loader_output * @enum {string} */ - type: 'sdxl_model_loader_output'; + type: "sdxl_model_loader_output"; }; /** * SDXL Refiner Prompt @@ -7661,13 +7263,13 @@ export type components = { * Clip2 * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip2?: components['schemas']['ClipField']; + clip2?: components["schemas"]["ClipField"]; /** * Type * @default sdxl_refiner_compel_prompt * @enum {string} */ - type: 'sdxl_refiner_compel_prompt'; + type: "sdxl_refiner_compel_prompt"; }; /** * SDXL Refiner Model @@ -7695,13 +7297,13 @@ export type components = { * Model * @description SDXL Refiner Main Modde (UNet, VAE, CLIP2) to load */ - model: components['schemas']['MainModelField']; + model: components["schemas"]["MainModelField"]; /** * Type * @default sdxl_refiner_model_loader * @enum {string} */ - type: 'sdxl_refiner_model_loader'; + type: "sdxl_refiner_model_loader"; }; /** * SDXLRefinerModelLoaderOutput @@ -7712,23 +7314,23 @@ export type components = { * UNet * @description UNet (scheduler, LoRAs) */ - unet: components['schemas']['UNetField']; + unet: components["schemas"]["UNetField"]; /** * CLIP 2 * @description CLIP (tokenizer, text encoder, LoRAs) and skipped layer count */ - clip2: components['schemas']['ClipField']; + clip2: components["schemas"]["ClipField"]; /** * VAE * @description VAE */ - vae: components['schemas']['VaeField']; + vae: components["schemas"]["VaeField"]; /** * Type * @default sdxl_refiner_model_loader_output * @enum {string} */ - type: 'sdxl_refiner_model_loader_output'; + type: "sdxl_refiner_model_loader_output"; }; /** * Save Image @@ -7739,7 +7341,7 @@ export type components = { * Metadata * @description Optional metadata to be saved with the image */ - metadata?: components['schemas']['MetadataDict']; + metadata?: components["schemas"]["MetadataDict"]; /** * Workflow * @description Optional workflow to be saved with the image @@ -7764,20 +7366,20 @@ export type components = { use_cache?: boolean; /** * Image - * @description The image to load + * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** - * Metadata - * @description Optional core metadata to be written to image + * Board + * @description The board to save the image to */ - metadata?: components['schemas']['CoreMetadata']; + board?: components["schemas"]["BoardField"]; /** * Type * @default save_image * @enum {string} */ - type: 'save_image'; + type: "save_image"; }; /** * Scale Latents @@ -7805,7 +7407,7 @@ export type components = { * Latents * @description Latents tensor */ - latents?: components['schemas']['LatentsField']; + latents?: components["schemas"]["LatentsField"]; /** * Scale Factor * @description The factor by which to scale @@ -7817,14 +7419,7 @@ export type components = { * @default bilinear * @enum {string} */ - mode?: - | 'nearest' - | 'linear' - | 'bilinear' - | 'bicubic' - | 'trilinear' - | 'area' - | 'nearest-exact'; + mode?: "nearest" | "linear" | "bilinear" | "bicubic" | "trilinear" | "area" | "nearest-exact"; /** * Antialias * @description Whether or not to apply antialiasing (bilinear or bicubic only) @@ -7836,7 +7431,7 @@ export type components = { * @default lscale * @enum {string} */ - type: 'lscale'; + type: "lscale"; }; /** * Scheduler @@ -7866,35 +7461,13 @@ export type components = { * @default euler * @enum {string} */ - scheduler?: - | 'ddim' - | 'ddpm' - | 'deis' - | 'lms' - | 'lms_k' - | 'pndm' - | 'heun' - | 'heun_k' - | 'euler' - | 'euler_k' - | 'euler_a' - | 'kdpm_2' - | 'kdpm_2_a' - | 'dpmpp_2s' - | 'dpmpp_2s_k' - | 'dpmpp_2m' - | 'dpmpp_2m_k' - | 'dpmpp_2m_sde' - | 'dpmpp_2m_sde_k' - | 'dpmpp_sde' - | 'dpmpp_sde_k' - | 'unipc'; + scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc"; /** * Type * @default scheduler * @enum {string} */ - type: 'scheduler'; + type: "scheduler"; }; /** * SchedulerOutput @@ -7908,42 +7481,20 @@ export type components = { * @description Scheduler to use during inference * @enum {string} */ - scheduler: - | 'ddim' - | 'ddpm' - | 'deis' - | 'lms' - | 'lms_k' - | 'pndm' - | 'heun' - | 'heun_k' - | 'euler' - | 'euler_k' - | 'euler_a' - | 'kdpm_2' - | 'kdpm_2_a' - | 'dpmpp_2s' - | 'dpmpp_2s_k' - | 'dpmpp_2m' - | 'dpmpp_2m_k' - | 'dpmpp_2m_sde' - | 'dpmpp_2m_sde_k' - | 'dpmpp_sde' - | 'dpmpp_sde_k' - | 'unipc'; + scheduler: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc"; /** * Type * @default scheduler_output * @enum {string} */ - type: 'scheduler_output'; + type: "scheduler_output"; }; /** * SchedulerPredictionType * @description An enumeration. * @enum {string} */ - SchedulerPredictionType: 'epsilon' | 'v_prediction' | 'sample'; + SchedulerPredictionType: "epsilon" | "v_prediction" | "sample"; /** * Seamless * @description Applies the seamless transformation to the Model UNet and VAE. @@ -7970,12 +7521,12 @@ export type components = { * UNet * @description UNet (scheduler, LoRAs) */ - unet?: components['schemas']['UNetField']; + unet?: components["schemas"]["UNetField"]; /** * VAE * @description VAE model to load */ - vae?: components['schemas']['VaeField']; + vae?: components["schemas"]["VaeField"]; /** * Seamless Y * @description Specify whether Y axis is seamless @@ -7993,7 +7544,7 @@ export type components = { * @default seamless * @enum {string} */ - type: 'seamless'; + type: "seamless"; }; /** * SeamlessModeOutput @@ -8004,24 +7555,34 @@ export type components = { * UNet * @description UNet (scheduler, LoRAs) */ - unet?: components['schemas']['UNetField']; + unet?: components["schemas"]["UNetField"]; /** * VAE * @description VAE */ - vae?: components['schemas']['VaeField']; + vae?: components["schemas"]["VaeField"]; /** * Type * @default seamless_output * @enum {string} */ - type: 'seamless_output'; + type: "seamless_output"; }; /** * Segment Anything Processor * @description Applies segment anything processing to image */ SegmentAnythingProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -8043,13 +7604,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default segment_anything_processor * @enum {string} */ - type: 'segment_anything_processor'; + type: "segment_anything_processor"; }; /** SessionProcessorStatus */ SessionProcessorStatus: { @@ -8069,8 +7630,8 @@ export type components = { * @description The overall status of session queue and processor */ SessionQueueAndProcessorStatus: { - queue: components['schemas']['SessionQueueStatus']; - processor: components['schemas']['SessionProcessorStatus']; + queue: components["schemas"]["SessionQueueStatus"]; + processor: components["schemas"]["SessionProcessorStatus"]; }; /** * SessionQueueItem @@ -8088,7 +7649,7 @@ export type components = { * @default pending * @enum {string} */ - status: 'pending' | 'in_progress' | 'completed' | 'failed' | 'canceled'; + status: "pending" | "in_progress" | "completed" | "failed" | "canceled"; /** * Priority * @description The priority of this queue item @@ -8139,12 +7700,12 @@ export type components = { * Field Values * @description The field values that were used for this queue item */ - field_values?: components['schemas']['NodeFieldValue'][]; + field_values?: components["schemas"]["NodeFieldValue"][]; /** * Session * @description The fully-populated session to be executed */ - session: components['schemas']['GraphExecutionState']; + session: components["schemas"]["GraphExecutionState"]; }; /** * SessionQueueItemDTO @@ -8162,7 +7723,7 @@ export type components = { * @default pending * @enum {string} */ - status: 'pending' | 'in_progress' | 'completed' | 'failed' | 'canceled'; + status: "pending" | "in_progress" | "completed" | "failed" | "canceled"; /** * Priority * @description The priority of this queue item @@ -8213,7 +7774,7 @@ export type components = { * Field Values * @description The field values that were used for this queue item */ - field_values?: components['schemas']['NodeFieldValue'][]; + field_values?: components["schemas"]["NodeFieldValue"][]; }; /** SessionQueueStatus */ SessionQueueStatus: { @@ -8294,24 +7855,24 @@ export type components = { * Image * @description The image to show */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default show_image * @enum {string} */ - type: 'show_image'; + type: "show_image"; }; /** StableDiffusion1ModelCheckpointConfig */ StableDiffusion1ModelCheckpointConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'main'; + model_type: "main"; /** Path */ path: string; /** Description */ @@ -8320,24 +7881,24 @@ export type components = { * Model Format * @enum {string} */ - model_format: 'checkpoint'; - error?: components['schemas']['ModelError']; + model_format: "checkpoint"; + error?: components["schemas"]["ModelError"]; /** Vae */ vae?: string; /** Config */ config: string; - variant: components['schemas']['ModelVariantType']; + variant: components["schemas"]["ModelVariantType"]; }; /** StableDiffusion1ModelDiffusersConfig */ StableDiffusion1ModelDiffusersConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'main'; + model_type: "main"; /** Path */ path: string; /** Description */ @@ -8346,22 +7907,22 @@ export type components = { * Model Format * @enum {string} */ - model_format: 'diffusers'; - error?: components['schemas']['ModelError']; + model_format: "diffusers"; + error?: components["schemas"]["ModelError"]; /** Vae */ vae?: string; - variant: components['schemas']['ModelVariantType']; + variant: components["schemas"]["ModelVariantType"]; }; /** StableDiffusion2ModelCheckpointConfig */ StableDiffusion2ModelCheckpointConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'main'; + model_type: "main"; /** Path */ path: string; /** Description */ @@ -8370,24 +7931,24 @@ export type components = { * Model Format * @enum {string} */ - model_format: 'checkpoint'; - error?: components['schemas']['ModelError']; + model_format: "checkpoint"; + error?: components["schemas"]["ModelError"]; /** Vae */ vae?: string; /** Config */ config: string; - variant: components['schemas']['ModelVariantType']; + variant: components["schemas"]["ModelVariantType"]; }; /** StableDiffusion2ModelDiffusersConfig */ StableDiffusion2ModelDiffusersConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'main'; + model_type: "main"; /** Path */ path: string; /** Description */ @@ -8396,22 +7957,22 @@ export type components = { * Model Format * @enum {string} */ - model_format: 'diffusers'; - error?: components['schemas']['ModelError']; + model_format: "diffusers"; + error?: components["schemas"]["ModelError"]; /** Vae */ vae?: string; - variant: components['schemas']['ModelVariantType']; + variant: components["schemas"]["ModelVariantType"]; }; /** StableDiffusionXLModelCheckpointConfig */ StableDiffusionXLModelCheckpointConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'main'; + model_type: "main"; /** Path */ path: string; /** Description */ @@ -8420,24 +7981,24 @@ export type components = { * Model Format * @enum {string} */ - model_format: 'checkpoint'; - error?: components['schemas']['ModelError']; + model_format: "checkpoint"; + error?: components["schemas"]["ModelError"]; /** Vae */ vae?: string; /** Config */ config: string; - variant: components['schemas']['ModelVariantType']; + variant: components["schemas"]["ModelVariantType"]; }; /** StableDiffusionXLModelDiffusersConfig */ StableDiffusionXLModelDiffusersConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'main'; + model_type: "main"; /** Path */ path: string; /** Description */ @@ -8446,11 +8007,11 @@ export type components = { * Model Format * @enum {string} */ - model_format: 'diffusers'; - error?: components['schemas']['ModelError']; + model_format: "diffusers"; + error?: components["schemas"]["ModelError"]; /** Vae */ vae?: string; - variant: components['schemas']['ModelVariantType']; + variant: components["schemas"]["ModelVariantType"]; }; /** * Step Param Easing @@ -8480,38 +8041,7 @@ export type components = { * @default Linear * @enum {string} */ - easing?: - | 'Linear' - | 'QuadIn' - | 'QuadOut' - | 'QuadInOut' - | 'CubicIn' - | 'CubicOut' - | 'CubicInOut' - | 'QuarticIn' - | 'QuarticOut' - | 'QuarticInOut' - | 'QuinticIn' - | 'QuinticOut' - | 'QuinticInOut' - | 'SineIn' - | 'SineOut' - | 'SineInOut' - | 'CircularIn' - | 'CircularOut' - | 'CircularInOut' - | 'ExponentialIn' - | 'ExponentialOut' - | 'ExponentialInOut' - | 'ElasticIn' - | 'ElasticOut' - | 'ElasticInOut' - | 'BackIn' - | 'BackOut' - | 'BackInOut' - | 'BounceIn' - | 'BounceOut' - | 'BounceInOut'; + easing?: "Linear" | "QuadIn" | "QuadOut" | "QuadInOut" | "CubicIn" | "CubicOut" | "CubicInOut" | "QuarticIn" | "QuarticOut" | "QuarticInOut" | "QuinticIn" | "QuinticOut" | "QuinticInOut" | "SineIn" | "SineOut" | "SineInOut" | "CircularIn" | "CircularOut" | "CircularInOut" | "ExponentialIn" | "ExponentialOut" | "ExponentialInOut" | "ElasticIn" | "ElasticOut" | "ElasticInOut" | "BackIn" | "BackOut" | "BackInOut" | "BounceIn" | "BounceOut" | "BounceInOut"; /** * Num Steps * @description number of denoising steps @@ -8569,7 +8099,7 @@ export type components = { * @default step_param_easing * @enum {string} */ - type: 'step_param_easing'; + type: "step_param_easing"; }; /** * String2Output @@ -8591,7 +8121,7 @@ export type components = { * @default string_2_output * @enum {string} */ - type: 'string_2_output'; + type: "string_2_output"; }; /** * String Collection Primitive @@ -8625,7 +8155,7 @@ export type components = { * @default string_collection * @enum {string} */ - type: 'string_collection'; + type: "string_collection"; }; /** * StringCollectionOutput @@ -8642,7 +8172,7 @@ export type components = { * @default string_collection_output * @enum {string} */ - type: 'string_collection_output'; + type: "string_collection_output"; }; /** * String Primitive @@ -8677,7 +8207,7 @@ export type components = { * @default string * @enum {string} */ - type: 'string'; + type: "string"; }; /** * String Join @@ -8718,7 +8248,7 @@ export type components = { * @default string_join * @enum {string} */ - type: 'string_join'; + type: "string_join"; }; /** * String Join Three @@ -8765,7 +8295,7 @@ export type components = { * @default string_join_three * @enum {string} */ - type: 'string_join_three'; + type: "string_join_three"; }; /** * StringOutput @@ -8782,7 +8312,7 @@ export type components = { * @default string_output * @enum {string} */ - type: 'string_output'; + type: "string_output"; }; /** * StringPosNegOutput @@ -8804,7 +8334,7 @@ export type components = { * @default string_pos_neg_output * @enum {string} */ - type: 'string_pos_neg_output'; + type: "string_pos_neg_output"; }; /** * String Replace @@ -8857,7 +8387,7 @@ export type components = { * @default string_replace * @enum {string} */ - type: 'string_replace'; + type: "string_replace"; }; /** * String Split @@ -8898,7 +8428,7 @@ export type components = { * @default string_split * @enum {string} */ - type: 'string_split'; + type: "string_split"; }; /** * String Split Negative @@ -8933,24 +8463,14 @@ export type components = { * @default string_split_neg * @enum {string} */ - type: 'string_split_neg'; + type: "string_split_neg"; }; /** * SubModelType * @description An enumeration. * @enum {string} */ - SubModelType: - | 'unet' - | 'text_encoder' - | 'text_encoder_2' - | 'tokenizer' - | 'tokenizer_2' - | 'vae' - | 'vae_decoder' - | 'vae_encoder' - | 'scheduler' - | 'safety_checker'; + SubModelType: "unet" | "text_encoder" | "text_encoder_2" | "tokenizer" | "tokenizer_2" | "vae" | "vae_decoder" | "vae_encoder" | "scheduler" | "safety_checker"; /** * Subtract Integers * @description Subtracts two numbers @@ -8990,31 +8510,41 @@ export type components = { * @default sub * @enum {string} */ - type: 'sub'; + type: "sub"; }; /** TextualInversionModelConfig */ TextualInversionModelConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'embedding'; + model_type: "embedding"; /** Path */ path: string; /** Description */ description?: string; /** Model Format */ model_format: null; - error?: components['schemas']['ModelError']; + error?: components["schemas"]["ModelError"]; }; /** * Tile Resample Processor * @description Tile resampler processor */ TileResamplerProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -9036,13 +8566,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default tile_image_processor * @enum {string} */ - type: 'tile_image_processor'; + type: "tile_image_processor"; /** * Down Sampling Rate * @description Down sampling rate @@ -9056,17 +8586,17 @@ export type components = { * Unet * @description Info to load unet submodel */ - unet: components['schemas']['ModelInfo']; + unet: components["schemas"]["ModelInfo"]; /** * Scheduler * @description Info to load scheduler submodel */ - scheduler: components['schemas']['ModelInfo']; + scheduler: components["schemas"]["ModelInfo"]; /** * Loras * @description Loras to apply on model loading */ - loras: components['schemas']['LoraInfo'][]; + loras: components["schemas"]["LoraInfo"][]; /** * Seamless Axes * @description Axes("x" and "y") to which apply seamless @@ -9097,7 +8627,7 @@ export type components = { */ model_name: string; /** @description Base model */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; }; /** VaeField */ VaeField: { @@ -9105,7 +8635,7 @@ export type components = { * Vae * @description Info to load vae submodel */ - vae: components['schemas']['ModelInfo']; + vae: components["schemas"]["ModelInfo"]; /** * Seamless Axes * @description Axes("x" and "y") to which apply seamless @@ -9138,13 +8668,13 @@ export type components = { * VAE * @description VAE model to load */ - vae_model: components['schemas']['VAEModelField']; + vae_model: components["schemas"]["VAEModelField"]; /** * Type * @default vae_loader * @enum {string} */ - type: 'vae_loader'; + type: "vae_loader"; }; /** * VaeLoaderOutput @@ -9155,37 +8685,37 @@ export type components = { * VAE * @description VAE */ - vae: components['schemas']['VaeField']; + vae: components["schemas"]["VaeField"]; /** * Type * @default vae_loader_output * @enum {string} */ - type: 'vae_loader_output'; + type: "vae_loader_output"; }; /** VaeModelConfig */ VaeModelConfig: { /** Model Name */ model_name: string; - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** * Model Type * @enum {string} */ - model_type: 'vae'; + model_type: "vae"; /** Path */ path: string; /** Description */ description?: string; - model_format: components['schemas']['VaeModelFormat']; - error?: components['schemas']['ModelError']; + model_format: components["schemas"]["VaeModelFormat"]; + error?: components["schemas"]["ModelError"]; }; /** * VaeModelFormat * @description An enumeration. * @enum {string} */ - VaeModelFormat: 'checkpoint' | 'diffusers'; + VaeModelFormat: "checkpoint" | "diffusers"; /** ValidationError */ ValidationError: { /** Location */ @@ -9200,6 +8730,16 @@ export type components = { * @description Applies Zoe depth processing to image */ ZoeDepthImageProcessorInvocation: { + /** + * Workflow + * @description Optional workflow to be saved with the image + */ + workflow?: string; + /** + * Metadata + * @description Optional metadata to be saved with the image + */ + metadata?: components["schemas"]["MetadataDict"]; /** * Id * @description The id of this instance of an invocation. Must be unique among all instances of invocations. @@ -9221,13 +8761,13 @@ export type components = { * Image * @description The image to process */ - image?: components['schemas']['ImageField']; + image?: components["schemas"]["ImageField"]; /** * Type * @default zoe_depth_image_processor * @enum {string} */ - type: 'zoe_depth_image_processor'; + type: "zoe_depth_image_processor"; }; /** * UIConfigBase @@ -9264,70 +8804,20 @@ export type components = { * - `Input.Any`: The field may have its value provided either directly or by a connection. * @enum {string} */ - Input: 'connection' | 'direct' | 'any'; + Input: "connection" | "direct" | "any"; /** * UIType * @description Type hints for the UI. * If a field should be provided a data type that does not exactly match the python type of the field, use this to provide the type that should be used instead. See the node development docs for detail on adding a new field type, which involves client-side changes. * @enum {string} */ - UIType: - | 'boolean' - | 'ColorField' - | 'ConditioningField' - | 'ControlField' - | 'float' - | 'ImageField' - | 'integer' - | 'LatentsField' - | 'string' - | 'BooleanCollection' - | 'ColorCollection' - | 'ConditioningCollection' - | 'ControlCollection' - | 'FloatCollection' - | 'ImageCollection' - | 'IntegerCollection' - | 'LatentsCollection' - | 'StringCollection' - | 'BooleanPolymorphic' - | 'ColorPolymorphic' - | 'ConditioningPolymorphic' - | 'ControlPolymorphic' - | 'FloatPolymorphic' - | 'ImagePolymorphic' - | 'IntegerPolymorphic' - | 'LatentsPolymorphic' - | 'StringPolymorphic' - | 'MainModelField' - | 'SDXLMainModelField' - | 'SDXLRefinerModelField' - | 'ONNXModelField' - | 'VaeModelField' - | 'LoRAModelField' - | 'ControlNetModelField' - | 'IPAdapterModelField' - | 'UNetField' - | 'VaeField' - | 'ClipField' - | 'Collection' - | 'CollectionItem' - | 'enum' - | 'Scheduler' - | 'WorkflowField' - | 'IsIntermediate' - | 'BoardField' - | 'Any' - | 'MetadataItem' - | 'MetadataItemCollection' - | 'MetadataItemPolymorphic' - | 'MetadataDict'; + UIType: "boolean" | "ColorField" | "ConditioningField" | "ControlField" | "float" | "ImageField" | "integer" | "LatentsField" | "string" | "BooleanCollection" | "ColorCollection" | "ConditioningCollection" | "ControlCollection" | "FloatCollection" | "ImageCollection" | "IntegerCollection" | "LatentsCollection" | "StringCollection" | "BooleanPolymorphic" | "ColorPolymorphic" | "ConditioningPolymorphic" | "ControlPolymorphic" | "FloatPolymorphic" | "ImagePolymorphic" | "IntegerPolymorphic" | "LatentsPolymorphic" | "StringPolymorphic" | "MainModelField" | "SDXLMainModelField" | "SDXLRefinerModelField" | "ONNXModelField" | "VaeModelField" | "LoRAModelField" | "ControlNetModelField" | "IPAdapterModelField" | "UNetField" | "VaeField" | "ClipField" | "Collection" | "CollectionItem" | "enum" | "Scheduler" | "WorkflowField" | "IsIntermediate" | "BoardField" | "Any" | "MetadataItem" | "MetadataItemCollection" | "MetadataItemPolymorphic" | "MetadataDict"; /** * UIComponent * @description The type of UI component to use for a field, used to override the default components, which are inferred from the field type. * @enum {string} */ - UIComponent: 'none' | 'textarea' | 'slider'; + UIComponent: "none" | "textarea" | "slider"; /** * _InputField * @description *DO NOT USE* @@ -9336,11 +8826,11 @@ export type components = { * purpose in the backend. */ _InputField: { - input: components['schemas']['Input']; + input: components["schemas"]["Input"]; /** Ui Hidden */ ui_hidden: boolean; - ui_type?: components['schemas']['UIType']; - ui_component?: components['schemas']['UIComponent']; + ui_type?: components["schemas"]["UIType"]; + ui_component?: components["schemas"]["UIComponent"]; /** Ui Order */ ui_order?: number; /** Ui Choice Labels */ @@ -9360,58 +8850,52 @@ export type components = { _OutputField: { /** Ui Hidden */ ui_hidden: boolean; - ui_type?: components['schemas']['UIType']; + ui_type?: components["schemas"]["UIType"]; /** Ui Order */ ui_order?: number; }; - /** - * ControlNetModelFormat - * @description An enumeration. - * @enum {string} - */ - ControlNetModelFormat: 'checkpoint' | 'diffusers'; - /** - * StableDiffusion2ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion2ModelFormat: 'checkpoint' | 'diffusers'; - /** - * StableDiffusionOnnxModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusionOnnxModelFormat: 'olive' | 'onnx'; - /** - * StableDiffusionOnnxModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion2ModelFormat: 'checkpoint' | 'diffusers'; - /** - * StableDiffusion1ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion1ModelFormat: 'checkpoint' | 'diffusers'; - /** - * CLIPVisionModelFormat - * @description An enumeration. - * @enum {string} - */ - CLIPVisionModelFormat: 'diffusers'; - /** - * StableDiffusionXLModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusionXLModelFormat: 'checkpoint' | 'diffusers'; /** * IPAdapterModelFormat * @description An enumeration. * @enum {string} */ - IPAdapterModelFormat: 'invokeai'; + IPAdapterModelFormat: "invokeai"; + /** + * ControlNetModelFormat + * @description An enumeration. + * @enum {string} + */ + ControlNetModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusionXLModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusionOnnxModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusionOnnxModelFormat: "olive" | "onnx"; + /** + * StableDiffusion2ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusion1ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; + /** + * CLIPVisionModelFormat + * @description An enumeration. + * @enum {string} + */ + CLIPVisionModelFormat: "diffusers"; }; responses: never; parameters: never; @@ -9425,6 +8909,7 @@ export type $defs = Record; export type external = Record; export type operations = { + /** * List Sessions * @deprecated @@ -9445,13 +8930,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['PaginatedResults_GraphExecutionState_']; + "application/json": components["schemas"]["PaginatedResults_GraphExecutionState_"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -9470,14 +8955,14 @@ export type operations = { }; requestBody?: { content: { - 'application/json': components['schemas']['Graph']; + "application/json": components["schemas"]["Graph"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['GraphExecutionState']; + "application/json": components["schemas"]["GraphExecutionState"]; }; }; /** @description Invalid json */ @@ -9487,7 +8972,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -9508,7 +8993,7 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['GraphExecutionState']; + "application/json": components["schemas"]["GraphExecutionState"]; }; }; /** @description Session not found */ @@ -9518,7 +9003,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -9537,125 +9022,14 @@ export type operations = { }; requestBody: { content: { - 'application/json': - | components['schemas']['BooleanInvocation'] - | components['schemas']['BooleanCollectionInvocation'] - | components['schemas']['IntegerInvocation'] - | components['schemas']['IntegerCollectionInvocation'] - | components['schemas']['FloatInvocation'] - | components['schemas']['FloatCollectionInvocation'] - | components['schemas']['StringInvocation'] - | components['schemas']['StringCollectionInvocation'] - | components['schemas']['ImageInvocation'] - | components['schemas']['ImageCollectionInvocation'] - | components['schemas']['LatentsInvocation'] - | components['schemas']['LatentsCollectionInvocation'] - | components['schemas']['ColorInvocation'] - | components['schemas']['ConditioningInvocation'] - | components['schemas']['ConditioningCollectionInvocation'] - | components['schemas']['ControlNetInvocation'] - | components['schemas']['ImageProcessorInvocation'] - | components['schemas']['MainModelLoaderInvocation'] - | components['schemas']['LoraLoaderInvocation'] - | components['schemas']['SDXLLoraLoaderInvocation'] - | components['schemas']['VaeLoaderInvocation'] - | components['schemas']['SeamlessModeInvocation'] - | components['schemas']['MetadataAccumulatorInvocation'] - | components['schemas']['SDXLModelLoaderInvocation'] - | components['schemas']['SDXLRefinerModelLoaderInvocation'] - | components['schemas']['IPAdapterInvocation'] - | components['schemas']['CompelInvocation'] - | components['schemas']['SDXLCompelPromptInvocation'] - | components['schemas']['SDXLRefinerCompelPromptInvocation'] - | components['schemas']['ClipSkipInvocation'] - | components['schemas']['SchedulerInvocation'] - | components['schemas']['CreateDenoiseMaskInvocation'] - | components['schemas']['DenoiseLatentsInvocation'] - | components['schemas']['LatentsToImageInvocation'] - | components['schemas']['ResizeLatentsInvocation'] - | components['schemas']['ScaleLatentsInvocation'] - | components['schemas']['ImageToLatentsInvocation'] - | components['schemas']['BlendLatentsInvocation'] - | components['schemas']['ONNXPromptInvocation'] - | components['schemas']['ONNXTextToLatentsInvocation'] - | components['schemas']['ONNXLatentsToImageInvocation'] - | components['schemas']['OnnxModelLoaderInvocation'] - | components['schemas']['ShowImageInvocation'] - | components['schemas']['BlankImageInvocation'] - | components['schemas']['ImageCropInvocation'] - | components['schemas']['ImagePasteInvocation'] - | components['schemas']['MaskFromAlphaInvocation'] - | components['schemas']['ImageMultiplyInvocation'] - | components['schemas']['ImageChannelInvocation'] - | components['schemas']['ImageConvertInvocation'] - | components['schemas']['ImageBlurInvocation'] - | components['schemas']['ImageResizeInvocation'] - | components['schemas']['ImageScaleInvocation'] - | components['schemas']['ImageLerpInvocation'] - | components['schemas']['ImageInverseLerpInvocation'] - | components['schemas']['ImageNSFWBlurInvocation'] - | components['schemas']['ImageWatermarkInvocation'] - | components['schemas']['MaskEdgeInvocation'] - | components['schemas']['MaskCombineInvocation'] - | components['schemas']['ColorCorrectInvocation'] - | components['schemas']['ImageHueAdjustmentInvocation'] - | components['schemas']['ImageChannelOffsetInvocation'] - | components['schemas']['ImageChannelMultiplyInvocation'] - | components['schemas']['SaveImageInvocation'] - | components['schemas']['DynamicPromptInvocation'] - | components['schemas']['PromptsFromFileInvocation'] - | components['schemas']['CvInpaintInvocation'] - | components['schemas']['FloatLinearRangeInvocation'] - | components['schemas']['StepParamEasingInvocation'] - | components['schemas']['AddInvocation'] - | components['schemas']['SubtractInvocation'] - | components['schemas']['MultiplyInvocation'] - | components['schemas']['DivideInvocation'] - | components['schemas']['RandomIntInvocation'] - | components['schemas']['FloatToIntegerInvocation'] - | components['schemas']['RoundInvocation'] - | components['schemas']['IntegerMathInvocation'] - | components['schemas']['FloatMathInvocation'] - | components['schemas']['NoiseInvocation'] - | components['schemas']['RangeInvocation'] - | components['schemas']['RangeOfSizeInvocation'] - | components['schemas']['RandomRangeInvocation'] - | components['schemas']['ESRGANInvocation'] - | components['schemas']['StringSplitNegInvocation'] - | components['schemas']['StringSplitInvocation'] - | components['schemas']['StringJoinInvocation'] - | components['schemas']['StringJoinThreeInvocation'] - | components['schemas']['StringReplaceInvocation'] - | components['schemas']['InfillColorInvocation'] - | components['schemas']['InfillTileInvocation'] - | components['schemas']['InfillPatchMatchInvocation'] - | components['schemas']['LaMaInfillInvocation'] - | components['schemas']['CV2InfillInvocation'] - | components['schemas']['GraphInvocation'] - | components['schemas']['IterateInvocation'] - | components['schemas']['CollectInvocation'] - | components['schemas']['CannyImageProcessorInvocation'] - | components['schemas']['HedImageProcessorInvocation'] - | components['schemas']['LineartImageProcessorInvocation'] - | components['schemas']['LineartAnimeImageProcessorInvocation'] - | components['schemas']['OpenposeImageProcessorInvocation'] - | components['schemas']['MidasDepthImageProcessorInvocation'] - | components['schemas']['NormalbaeImageProcessorInvocation'] - | components['schemas']['MlsdImageProcessorInvocation'] - | components['schemas']['PidiImageProcessorInvocation'] - | components['schemas']['ContentShuffleImageProcessorInvocation'] - | components['schemas']['ZoeDepthImageProcessorInvocation'] - | components['schemas']['MediapipeFaceProcessorInvocation'] - | components['schemas']['LeresImageProcessorInvocation'] - | components['schemas']['TileResamplerProcessorInvocation'] - | components['schemas']['SegmentAnythingProcessorInvocation']; + "application/json": components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MergeMetadataDictInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["ColorMapImageProcessorInvocation"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': string; + "application/json": string; }; }; /** @description Invalid node or link */ @@ -9669,7 +9043,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -9690,125 +9064,14 @@ export type operations = { }; requestBody: { content: { - 'application/json': - | components['schemas']['BooleanInvocation'] - | components['schemas']['BooleanCollectionInvocation'] - | components['schemas']['IntegerInvocation'] - | components['schemas']['IntegerCollectionInvocation'] - | components['schemas']['FloatInvocation'] - | components['schemas']['FloatCollectionInvocation'] - | components['schemas']['StringInvocation'] - | components['schemas']['StringCollectionInvocation'] - | components['schemas']['ImageInvocation'] - | components['schemas']['ImageCollectionInvocation'] - | components['schemas']['LatentsInvocation'] - | components['schemas']['LatentsCollectionInvocation'] - | components['schemas']['ColorInvocation'] - | components['schemas']['ConditioningInvocation'] - | components['schemas']['ConditioningCollectionInvocation'] - | components['schemas']['ControlNetInvocation'] - | components['schemas']['ImageProcessorInvocation'] - | components['schemas']['MainModelLoaderInvocation'] - | components['schemas']['LoraLoaderInvocation'] - | components['schemas']['SDXLLoraLoaderInvocation'] - | components['schemas']['VaeLoaderInvocation'] - | components['schemas']['SeamlessModeInvocation'] - | components['schemas']['MetadataAccumulatorInvocation'] - | components['schemas']['SDXLModelLoaderInvocation'] - | components['schemas']['SDXLRefinerModelLoaderInvocation'] - | components['schemas']['IPAdapterInvocation'] - | components['schemas']['CompelInvocation'] - | components['schemas']['SDXLCompelPromptInvocation'] - | components['schemas']['SDXLRefinerCompelPromptInvocation'] - | components['schemas']['ClipSkipInvocation'] - | components['schemas']['SchedulerInvocation'] - | components['schemas']['CreateDenoiseMaskInvocation'] - | components['schemas']['DenoiseLatentsInvocation'] - | components['schemas']['LatentsToImageInvocation'] - | components['schemas']['ResizeLatentsInvocation'] - | components['schemas']['ScaleLatentsInvocation'] - | components['schemas']['ImageToLatentsInvocation'] - | components['schemas']['BlendLatentsInvocation'] - | components['schemas']['ONNXPromptInvocation'] - | components['schemas']['ONNXTextToLatentsInvocation'] - | components['schemas']['ONNXLatentsToImageInvocation'] - | components['schemas']['OnnxModelLoaderInvocation'] - | components['schemas']['ShowImageInvocation'] - | components['schemas']['BlankImageInvocation'] - | components['schemas']['ImageCropInvocation'] - | components['schemas']['ImagePasteInvocation'] - | components['schemas']['MaskFromAlphaInvocation'] - | components['schemas']['ImageMultiplyInvocation'] - | components['schemas']['ImageChannelInvocation'] - | components['schemas']['ImageConvertInvocation'] - | components['schemas']['ImageBlurInvocation'] - | components['schemas']['ImageResizeInvocation'] - | components['schemas']['ImageScaleInvocation'] - | components['schemas']['ImageLerpInvocation'] - | components['schemas']['ImageInverseLerpInvocation'] - | components['schemas']['ImageNSFWBlurInvocation'] - | components['schemas']['ImageWatermarkInvocation'] - | components['schemas']['MaskEdgeInvocation'] - | components['schemas']['MaskCombineInvocation'] - | components['schemas']['ColorCorrectInvocation'] - | components['schemas']['ImageHueAdjustmentInvocation'] - | components['schemas']['ImageChannelOffsetInvocation'] - | components['schemas']['ImageChannelMultiplyInvocation'] - | components['schemas']['SaveImageInvocation'] - | components['schemas']['DynamicPromptInvocation'] - | components['schemas']['PromptsFromFileInvocation'] - | components['schemas']['CvInpaintInvocation'] - | components['schemas']['FloatLinearRangeInvocation'] - | components['schemas']['StepParamEasingInvocation'] - | components['schemas']['AddInvocation'] - | components['schemas']['SubtractInvocation'] - | components['schemas']['MultiplyInvocation'] - | components['schemas']['DivideInvocation'] - | components['schemas']['RandomIntInvocation'] - | components['schemas']['FloatToIntegerInvocation'] - | components['schemas']['RoundInvocation'] - | components['schemas']['IntegerMathInvocation'] - | components['schemas']['FloatMathInvocation'] - | components['schemas']['NoiseInvocation'] - | components['schemas']['RangeInvocation'] - | components['schemas']['RangeOfSizeInvocation'] - | components['schemas']['RandomRangeInvocation'] - | components['schemas']['ESRGANInvocation'] - | components['schemas']['StringSplitNegInvocation'] - | components['schemas']['StringSplitInvocation'] - | components['schemas']['StringJoinInvocation'] - | components['schemas']['StringJoinThreeInvocation'] - | components['schemas']['StringReplaceInvocation'] - | components['schemas']['InfillColorInvocation'] - | components['schemas']['InfillTileInvocation'] - | components['schemas']['InfillPatchMatchInvocation'] - | components['schemas']['LaMaInfillInvocation'] - | components['schemas']['CV2InfillInvocation'] - | components['schemas']['GraphInvocation'] - | components['schemas']['IterateInvocation'] - | components['schemas']['CollectInvocation'] - | components['schemas']['CannyImageProcessorInvocation'] - | components['schemas']['HedImageProcessorInvocation'] - | components['schemas']['LineartImageProcessorInvocation'] - | components['schemas']['LineartAnimeImageProcessorInvocation'] - | components['schemas']['OpenposeImageProcessorInvocation'] - | components['schemas']['MidasDepthImageProcessorInvocation'] - | components['schemas']['NormalbaeImageProcessorInvocation'] - | components['schemas']['MlsdImageProcessorInvocation'] - | components['schemas']['PidiImageProcessorInvocation'] - | components['schemas']['ContentShuffleImageProcessorInvocation'] - | components['schemas']['ZoeDepthImageProcessorInvocation'] - | components['schemas']['MediapipeFaceProcessorInvocation'] - | components['schemas']['LeresImageProcessorInvocation'] - | components['schemas']['TileResamplerProcessorInvocation'] - | components['schemas']['SegmentAnythingProcessorInvocation']; + "application/json": components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["MetadataItemInvocation"] | components["schemas"]["MetadataInvocation"] | components["schemas"]["MergeMetadataDictInvocation"] | components["schemas"]["BooleanInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["ColorMapImageProcessorInvocation"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['GraphExecutionState']; + "application/json": components["schemas"]["GraphExecutionState"]; }; }; /** @description Invalid node or link */ @@ -9822,7 +9085,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -9845,7 +9108,7 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['GraphExecutionState']; + "application/json": components["schemas"]["GraphExecutionState"]; }; }; /** @description Invalid node or link */ @@ -9859,7 +9122,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -9878,14 +9141,14 @@ export type operations = { }; requestBody: { content: { - 'application/json': components['schemas']['Edge']; + "application/json": components["schemas"]["Edge"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['GraphExecutionState']; + "application/json": components["schemas"]["GraphExecutionState"]; }; }; /** @description Invalid node or link */ @@ -9899,7 +9162,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -9928,7 +9191,7 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['GraphExecutionState']; + "application/json": components["schemas"]["GraphExecutionState"]; }; }; /** @description Invalid node or link */ @@ -9942,7 +9205,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -9969,7 +9232,7 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': unknown; + "application/json": unknown; }; }; /** @description The invocation is queued */ @@ -9987,7 +9250,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10008,7 +9271,7 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': unknown; + "application/json": unknown; }; }; /** @description The invocation is canceled */ @@ -10018,7 +9281,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10030,20 +9293,20 @@ export type operations = { parse_dynamicprompts: { requestBody: { content: { - 'application/json': components['schemas']['Body_parse_dynamicprompts']; + "application/json": components["schemas"]["Body_parse_dynamicprompts"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['DynamicPromptsResponse']; + "application/json": components["schemas"]["DynamicPromptsResponse"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10056,22 +9319,22 @@ export type operations = { parameters: { query?: { /** @description Base models to include */ - base_models?: components['schemas']['BaseModelType'][]; + base_models?: components["schemas"]["BaseModelType"][]; /** @description The type of model to get */ - model_type?: components['schemas']['ModelType']; + model_type?: components["schemas"]["ModelType"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['ModelsList']; + "application/json": components["schemas"]["ModelsList"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10084,9 +9347,9 @@ export type operations = { parameters: { path: { /** @description Base model */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** @description The type of model */ - model_type: components['schemas']['ModelType']; + model_type: components["schemas"]["ModelType"]; /** @description model name */ model_name: string; }; @@ -10103,7 +9366,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10116,53 +9379,23 @@ export type operations = { parameters: { path: { /** @description Base model */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** @description The type of model */ - model_type: components['schemas']['ModelType']; + model_type: components["schemas"]["ModelType"]; /** @description model name */ model_name: string; }; }; requestBody: { content: { - 'application/json': - | components['schemas']['ONNXStableDiffusion1ModelConfig'] - | components['schemas']['StableDiffusion1ModelCheckpointConfig'] - | components['schemas']['StableDiffusion1ModelDiffusersConfig'] - | components['schemas']['VaeModelConfig'] - | components['schemas']['LoRAModelConfig'] - | components['schemas']['ControlNetModelCheckpointConfig'] - | components['schemas']['ControlNetModelDiffusersConfig'] - | components['schemas']['TextualInversionModelConfig'] - | components['schemas']['IPAdapterModelInvokeAIConfig'] - | components['schemas']['CLIPVisionModelDiffusersConfig'] - | components['schemas']['ONNXStableDiffusion2ModelConfig'] - | components['schemas']['StableDiffusion2ModelCheckpointConfig'] - | components['schemas']['StableDiffusion2ModelDiffusersConfig'] - | components['schemas']['StableDiffusionXLModelCheckpointConfig'] - | components['schemas']['StableDiffusionXLModelDiffusersConfig']; + "application/json": components["schemas"]["ONNXStableDiffusion1ModelConfig"] | components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["IPAdapterModelInvokeAIConfig"] | components["schemas"]["CLIPVisionModelDiffusersConfig"] | components["schemas"]["ONNXStableDiffusion2ModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; responses: { /** @description The model was updated successfully */ 200: { content: { - 'application/json': - | components['schemas']['ONNXStableDiffusion1ModelConfig'] - | components['schemas']['StableDiffusion1ModelCheckpointConfig'] - | components['schemas']['StableDiffusion1ModelDiffusersConfig'] - | components['schemas']['VaeModelConfig'] - | components['schemas']['LoRAModelConfig'] - | components['schemas']['ControlNetModelCheckpointConfig'] - | components['schemas']['ControlNetModelDiffusersConfig'] - | components['schemas']['TextualInversionModelConfig'] - | components['schemas']['IPAdapterModelInvokeAIConfig'] - | components['schemas']['CLIPVisionModelDiffusersConfig'] - | components['schemas']['ONNXStableDiffusion2ModelConfig'] - | components['schemas']['StableDiffusion2ModelCheckpointConfig'] - | components['schemas']['StableDiffusion2ModelDiffusersConfig'] - | components['schemas']['StableDiffusionXLModelCheckpointConfig'] - | components['schemas']['StableDiffusionXLModelDiffusersConfig']; + "application/json": components["schemas"]["ONNXStableDiffusion1ModelConfig"] | components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["IPAdapterModelInvokeAIConfig"] | components["schemas"]["CLIPVisionModelDiffusersConfig"] | components["schemas"]["ONNXStableDiffusion2ModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description Bad request */ @@ -10180,7 +9413,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10192,29 +9425,14 @@ export type operations = { import_model: { requestBody: { content: { - 'application/json': components['schemas']['Body_import_model']; + "application/json": components["schemas"]["Body_import_model"]; }; }; responses: { /** @description The model imported successfully */ 201: { content: { - 'application/json': - | components['schemas']['ONNXStableDiffusion1ModelConfig'] - | components['schemas']['StableDiffusion1ModelCheckpointConfig'] - | components['schemas']['StableDiffusion1ModelDiffusersConfig'] - | components['schemas']['VaeModelConfig'] - | components['schemas']['LoRAModelConfig'] - | components['schemas']['ControlNetModelCheckpointConfig'] - | components['schemas']['ControlNetModelDiffusersConfig'] - | components['schemas']['TextualInversionModelConfig'] - | components['schemas']['IPAdapterModelInvokeAIConfig'] - | components['schemas']['CLIPVisionModelDiffusersConfig'] - | components['schemas']['ONNXStableDiffusion2ModelConfig'] - | components['schemas']['StableDiffusion2ModelCheckpointConfig'] - | components['schemas']['StableDiffusion2ModelDiffusersConfig'] - | components['schemas']['StableDiffusionXLModelCheckpointConfig'] - | components['schemas']['StableDiffusionXLModelDiffusersConfig']; + "application/json": components["schemas"]["ONNXStableDiffusion1ModelConfig"] | components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["IPAdapterModelInvokeAIConfig"] | components["schemas"]["CLIPVisionModelDiffusersConfig"] | components["schemas"]["ONNXStableDiffusion2ModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description The model could not be found */ @@ -10232,7 +9450,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; /** @description The model appeared to import successfully, but could not be found in the model manager */ @@ -10248,44 +9466,14 @@ export type operations = { add_model: { requestBody: { content: { - 'application/json': - | components['schemas']['ONNXStableDiffusion1ModelConfig'] - | components['schemas']['StableDiffusion1ModelCheckpointConfig'] - | components['schemas']['StableDiffusion1ModelDiffusersConfig'] - | components['schemas']['VaeModelConfig'] - | components['schemas']['LoRAModelConfig'] - | components['schemas']['ControlNetModelCheckpointConfig'] - | components['schemas']['ControlNetModelDiffusersConfig'] - | components['schemas']['TextualInversionModelConfig'] - | components['schemas']['IPAdapterModelInvokeAIConfig'] - | components['schemas']['CLIPVisionModelDiffusersConfig'] - | components['schemas']['ONNXStableDiffusion2ModelConfig'] - | components['schemas']['StableDiffusion2ModelCheckpointConfig'] - | components['schemas']['StableDiffusion2ModelDiffusersConfig'] - | components['schemas']['StableDiffusionXLModelCheckpointConfig'] - | components['schemas']['StableDiffusionXLModelDiffusersConfig']; + "application/json": components["schemas"]["ONNXStableDiffusion1ModelConfig"] | components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["IPAdapterModelInvokeAIConfig"] | components["schemas"]["CLIPVisionModelDiffusersConfig"] | components["schemas"]["ONNXStableDiffusion2ModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; responses: { /** @description The model added successfully */ 201: { content: { - 'application/json': - | components['schemas']['ONNXStableDiffusion1ModelConfig'] - | components['schemas']['StableDiffusion1ModelCheckpointConfig'] - | components['schemas']['StableDiffusion1ModelDiffusersConfig'] - | components['schemas']['VaeModelConfig'] - | components['schemas']['LoRAModelConfig'] - | components['schemas']['ControlNetModelCheckpointConfig'] - | components['schemas']['ControlNetModelDiffusersConfig'] - | components['schemas']['TextualInversionModelConfig'] - | components['schemas']['IPAdapterModelInvokeAIConfig'] - | components['schemas']['CLIPVisionModelDiffusersConfig'] - | components['schemas']['ONNXStableDiffusion2ModelConfig'] - | components['schemas']['StableDiffusion2ModelCheckpointConfig'] - | components['schemas']['StableDiffusion2ModelDiffusersConfig'] - | components['schemas']['StableDiffusionXLModelCheckpointConfig'] - | components['schemas']['StableDiffusionXLModelDiffusersConfig']; + "application/json": components["schemas"]["ONNXStableDiffusion1ModelConfig"] | components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["IPAdapterModelInvokeAIConfig"] | components["schemas"]["CLIPVisionModelDiffusersConfig"] | components["schemas"]["ONNXStableDiffusion2ModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description The model could not be found */ @@ -10299,7 +9487,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; /** @description The model appeared to add successfully, but could not be found in the model manager */ @@ -10320,9 +9508,9 @@ export type operations = { }; path: { /** @description Base model */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; /** @description The type of model */ - model_type: components['schemas']['ModelType']; + model_type: components["schemas"]["ModelType"]; /** @description model name */ model_name: string; }; @@ -10331,22 +9519,7 @@ export type operations = { /** @description Model converted successfully */ 200: { content: { - 'application/json': - | components['schemas']['ONNXStableDiffusion1ModelConfig'] - | components['schemas']['StableDiffusion1ModelCheckpointConfig'] - | components['schemas']['StableDiffusion1ModelDiffusersConfig'] - | components['schemas']['VaeModelConfig'] - | components['schemas']['LoRAModelConfig'] - | components['schemas']['ControlNetModelCheckpointConfig'] - | components['schemas']['ControlNetModelDiffusersConfig'] - | components['schemas']['TextualInversionModelConfig'] - | components['schemas']['IPAdapterModelInvokeAIConfig'] - | components['schemas']['CLIPVisionModelDiffusersConfig'] - | components['schemas']['ONNXStableDiffusion2ModelConfig'] - | components['schemas']['StableDiffusion2ModelCheckpointConfig'] - | components['schemas']['StableDiffusion2ModelDiffusersConfig'] - | components['schemas']['StableDiffusionXLModelCheckpointConfig'] - | components['schemas']['StableDiffusionXLModelDiffusersConfig']; + "application/json": components["schemas"]["ONNXStableDiffusion1ModelConfig"] | components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["IPAdapterModelInvokeAIConfig"] | components["schemas"]["CLIPVisionModelDiffusersConfig"] | components["schemas"]["ONNXStableDiffusion2ModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description Bad request */ @@ -10360,7 +9533,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10377,7 +9550,7 @@ export type operations = { /** @description Directory searched successfully */ 200: { content: { - 'application/json': string[]; + "application/json": string[]; }; }; /** @description Invalid directory path */ @@ -10387,7 +9560,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10401,7 +9574,7 @@ export type operations = { /** @description paths retrieved successfully */ 200: { content: { - 'application/json': string[]; + "application/json": string[]; }; }; }; @@ -10416,7 +9589,7 @@ export type operations = { /** @description synchronization successful */ 201: { content: { - 'application/json': boolean; + "application/json": boolean; }; }; }; @@ -10429,34 +9602,19 @@ export type operations = { parameters: { path: { /** @description Base model */ - base_model: components['schemas']['BaseModelType']; + base_model: components["schemas"]["BaseModelType"]; }; }; requestBody: { content: { - 'application/json': components['schemas']['Body_merge_models']; + "application/json": components["schemas"]["Body_merge_models"]; }; }; responses: { /** @description Model converted successfully */ 200: { content: { - 'application/json': - | components['schemas']['ONNXStableDiffusion1ModelConfig'] - | components['schemas']['StableDiffusion1ModelCheckpointConfig'] - | components['schemas']['StableDiffusion1ModelDiffusersConfig'] - | components['schemas']['VaeModelConfig'] - | components['schemas']['LoRAModelConfig'] - | components['schemas']['ControlNetModelCheckpointConfig'] - | components['schemas']['ControlNetModelDiffusersConfig'] - | components['schemas']['TextualInversionModelConfig'] - | components['schemas']['IPAdapterModelInvokeAIConfig'] - | components['schemas']['CLIPVisionModelDiffusersConfig'] - | components['schemas']['ONNXStableDiffusion2ModelConfig'] - | components['schemas']['StableDiffusion2ModelCheckpointConfig'] - | components['schemas']['StableDiffusion2ModelDiffusersConfig'] - | components['schemas']['StableDiffusionXLModelCheckpointConfig'] - | components['schemas']['StableDiffusionXLModelDiffusersConfig']; + "application/json": components["schemas"]["ONNXStableDiffusion1ModelConfig"] | components["schemas"]["StableDiffusion1ModelCheckpointConfig"] | components["schemas"]["StableDiffusion1ModelDiffusersConfig"] | components["schemas"]["VaeModelConfig"] | components["schemas"]["LoRAModelConfig"] | components["schemas"]["ControlNetModelCheckpointConfig"] | components["schemas"]["ControlNetModelDiffusersConfig"] | components["schemas"]["TextualInversionModelConfig"] | components["schemas"]["IPAdapterModelInvokeAIConfig"] | components["schemas"]["CLIPVisionModelDiffusersConfig"] | components["schemas"]["ONNXStableDiffusion2ModelConfig"] | components["schemas"]["StableDiffusion2ModelCheckpointConfig"] | components["schemas"]["StableDiffusion2ModelDiffusersConfig"] | components["schemas"]["StableDiffusionXLModelCheckpointConfig"] | components["schemas"]["StableDiffusionXLModelDiffusersConfig"]; }; }; /** @description Incompatible models */ @@ -10470,7 +9628,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10483,7 +9641,7 @@ export type operations = { parameters: { query: { /** @description The category of the image */ - image_category: components['schemas']['ImageCategory']; + image_category: components["schemas"]["ImageCategory"]; /** @description Whether this is an intermediate image */ is_intermediate: boolean; /** @description The board to add this image to, if any */ @@ -10496,14 +9654,14 @@ export type operations = { }; requestBody: { content: { - 'multipart/form-data': components['schemas']['Body_upload_image']; + "multipart/form-data": components["schemas"]["Body_upload_image"]; }; }; responses: { /** @description The image was uploaded successfully */ 201: { content: { - 'application/json': components['schemas']['ImageDTO']; + "application/json": components["schemas"]["ImageDTO"]; }; }; /** @description Image upload failed */ @@ -10513,7 +9671,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10533,13 +9691,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['ImageDTO']; + "application/json": components["schemas"]["ImageDTO"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10559,13 +9717,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': unknown; + "application/json": unknown; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10583,20 +9741,20 @@ export type operations = { }; requestBody: { content: { - 'application/json': components['schemas']['ImageRecordChanges']; + "application/json": components["schemas"]["ImageRecordChanges"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['ImageDTO']; + "application/json": components["schemas"]["ImageDTO"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10610,7 +9768,7 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': unknown; + "application/json": unknown; }; }; }; @@ -10630,13 +9788,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['ImageMetadata']; + "application/json": components["schemas"]["ImageMetadata"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10656,7 +9814,7 @@ export type operations = { /** @description Return the full-resolution image */ 200: { content: { - 'image/png': unknown; + "image/png": unknown; }; }; /** @description Image not found */ @@ -10666,7 +9824,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10686,7 +9844,7 @@ export type operations = { /** @description Return the image thumbnail */ 200: { content: { - 'image/webp': unknown; + "image/webp": unknown; }; }; /** @description Image not found */ @@ -10696,7 +9854,7 @@ export type operations = { /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10716,13 +9874,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['ImageUrlsDTO']; + "application/json": components["schemas"]["ImageUrlsDTO"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10735,9 +9893,9 @@ export type operations = { parameters: { query?: { /** @description The origin of images to list. */ - image_origin?: components['schemas']['ResourceOrigin']; + image_origin?: components["schemas"]["ResourceOrigin"]; /** @description The categories of image to include. */ - categories?: components['schemas']['ImageCategory'][]; + categories?: components["schemas"]["ImageCategory"][]; /** @description Whether to list intermediate images. */ is_intermediate?: boolean; /** @description The board id to filter by. Use 'none' to find images without a board. */ @@ -10752,13 +9910,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['OffsetPaginatedResults_ImageDTO_']; + "application/json": components["schemas"]["OffsetPaginatedResults_ImageDTO_"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10767,20 +9925,20 @@ export type operations = { delete_images_from_list: { requestBody: { content: { - 'application/json': components['schemas']['Body_delete_images_from_list']; + "application/json": components["schemas"]["Body_delete_images_from_list"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['DeleteImagesFromListResult']; + "application/json": components["schemas"]["DeleteImagesFromListResult"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10789,20 +9947,20 @@ export type operations = { star_images_in_list: { requestBody: { content: { - 'application/json': components['schemas']['Body_star_images_in_list']; + "application/json": components["schemas"]["Body_star_images_in_list"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['ImagesUpdatedFromListResult']; + "application/json": components["schemas"]["ImagesUpdatedFromListResult"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10811,20 +9969,20 @@ export type operations = { unstar_images_in_list: { requestBody: { content: { - 'application/json': components['schemas']['Body_unstar_images_in_list']; + "application/json": components["schemas"]["Body_unstar_images_in_list"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['ImagesUpdatedFromListResult']; + "application/json": components["schemas"]["ImagesUpdatedFromListResult"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10848,15 +10006,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': - | components['schemas']['OffsetPaginatedResults_BoardDTO_'] - | components['schemas']['BoardDTO'][]; + "application/json": components["schemas"]["OffsetPaginatedResults_BoardDTO_"] | components["schemas"]["BoardDTO"][]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10876,13 +10032,13 @@ export type operations = { /** @description The board was created successfully */ 201: { content: { - 'application/json': components['schemas']['BoardDTO']; + "application/json": components["schemas"]["BoardDTO"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10902,13 +10058,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['BoardDTO']; + "application/json": components["schemas"]["BoardDTO"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10932,13 +10088,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['DeleteBoardResult']; + "application/json": components["schemas"]["DeleteBoardResult"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10956,20 +10112,20 @@ export type operations = { }; requestBody: { content: { - 'application/json': components['schemas']['BoardChanges']; + "application/json": components["schemas"]["BoardChanges"]; }; }; responses: { /** @description The board was updated successfully */ 201: { content: { - 'application/json': components['schemas']['BoardDTO']; + "application/json": components["schemas"]["BoardDTO"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -10989,13 +10145,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': string[]; + "application/json": string[]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11007,20 +10163,20 @@ export type operations = { add_image_to_board: { requestBody: { content: { - 'application/json': components['schemas']['Body_add_image_to_board']; + "application/json": components["schemas"]["Body_add_image_to_board"]; }; }; responses: { /** @description The image was added to a board successfully */ 201: { content: { - 'application/json': unknown; + "application/json": unknown; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11032,20 +10188,20 @@ export type operations = { remove_image_from_board: { requestBody: { content: { - 'application/json': components['schemas']['Body_remove_image_from_board']; + "application/json": components["schemas"]["Body_remove_image_from_board"]; }; }; responses: { /** @description The image was removed from the board successfully */ 201: { content: { - 'application/json': unknown; + "application/json": unknown; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11057,20 +10213,20 @@ export type operations = { add_images_to_board: { requestBody: { content: { - 'application/json': components['schemas']['Body_add_images_to_board']; + "application/json": components["schemas"]["Body_add_images_to_board"]; }; }; responses: { /** @description Images were added to board successfully */ 201: { content: { - 'application/json': components['schemas']['AddImagesToBoardResult']; + "application/json": components["schemas"]["AddImagesToBoardResult"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11082,20 +10238,20 @@ export type operations = { remove_images_from_board: { requestBody: { content: { - 'application/json': components['schemas']['Body_remove_images_from_board']; + "application/json": components["schemas"]["Body_remove_images_from_board"]; }; }; responses: { /** @description Images were removed from board successfully */ 201: { content: { - 'application/json': components['schemas']['RemoveImagesFromBoardResult']; + "application/json": components["schemas"]["RemoveImagesFromBoardResult"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11106,7 +10262,7 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['AppVersion']; + "application/json": components["schemas"]["AppVersion"]; }; }; }; @@ -11117,7 +10273,7 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['AppConfig']; + "application/json": components["schemas"]["AppConfig"]; }; }; }; @@ -11131,7 +10287,7 @@ export type operations = { /** @description The operation was successful */ 200: { content: { - 'application/json': components['schemas']['LogLevel']; + "application/json": components["schemas"]["LogLevel"]; }; }; }; @@ -11143,20 +10299,20 @@ export type operations = { set_log_level: { requestBody: { content: { - 'application/json': components['schemas']['LogLevel']; + "application/json": components["schemas"]["LogLevel"]; }; }; responses: { /** @description The operation was successful */ 200: { content: { - 'application/json': components['schemas']['LogLevel']; + "application/json": components["schemas"]["LogLevel"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11170,7 +10326,7 @@ export type operations = { /** @description The operation was successful */ 200: { content: { - 'application/json': unknown; + "application/json": unknown; }; }; }; @@ -11184,7 +10340,7 @@ export type operations = { /** @description The operation was successful */ 200: { content: { - 'application/json': unknown; + "application/json": unknown; }; }; }; @@ -11198,7 +10354,7 @@ export type operations = { /** @description The operation was successful */ 200: { content: { - 'application/json': unknown; + "application/json": unknown; }; }; }; @@ -11212,7 +10368,7 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['InvocationCacheStatus']; + "application/json": components["schemas"]["InvocationCacheStatus"]; }; }; }; @@ -11230,26 +10386,26 @@ export type operations = { }; requestBody: { content: { - 'application/json': components['schemas']['Body_enqueue_graph']; + "application/json": components["schemas"]["Body_enqueue_graph"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': unknown; + "application/json": unknown; }; }; /** @description Created */ 201: { content: { - 'application/json': components['schemas']['EnqueueGraphResult']; + "application/json": components["schemas"]["EnqueueGraphResult"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11267,26 +10423,26 @@ export type operations = { }; requestBody: { content: { - 'application/json': components['schemas']['Body_enqueue_batch']; + "application/json": components["schemas"]["Body_enqueue_batch"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': unknown; + "application/json": unknown; }; }; /** @description Created */ 201: { content: { - 'application/json': components['schemas']['EnqueueBatchResult']; + "application/json": components["schemas"]["EnqueueBatchResult"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11301,12 +10457,7 @@ export type operations = { /** @description The number of items to fetch */ limit?: number; /** @description The status of items to fetch */ - status?: - | 'pending' - | 'in_progress' - | 'completed' - | 'failed' - | 'canceled'; + status?: "pending" | "in_progress" | "completed" | "failed" | "canceled"; /** @description The pagination cursor */ cursor?: number; /** @description The pagination cursor priority */ @@ -11321,13 +10472,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['CursorPaginatedResults_SessionQueueItemDTO_']; + "application/json": components["schemas"]["CursorPaginatedResults_SessionQueueItemDTO_"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11347,13 +10498,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['SessionProcessorStatus']; + "application/json": components["schemas"]["SessionProcessorStatus"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11373,13 +10524,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['SessionProcessorStatus']; + "application/json": components["schemas"]["SessionProcessorStatus"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11397,20 +10548,20 @@ export type operations = { }; requestBody: { content: { - 'application/json': components['schemas']['Body_cancel_by_batch_ids']; + "application/json": components["schemas"]["Body_cancel_by_batch_ids"]; }; }; responses: { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['CancelByBatchIDsResult']; + "application/json": components["schemas"]["CancelByBatchIDsResult"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11430,13 +10581,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['ClearResult']; + "application/json": components["schemas"]["ClearResult"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11456,13 +10607,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['PruneResult']; + "application/json": components["schemas"]["PruneResult"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11482,13 +10633,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['SessionQueueItem']; + "application/json": components["schemas"]["SessionQueueItem"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11508,13 +10659,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['SessionQueueItem']; + "application/json": components["schemas"]["SessionQueueItem"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11534,13 +10685,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['SessionQueueAndProcessorStatus']; + "application/json": components["schemas"]["SessionQueueAndProcessorStatus"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11562,13 +10713,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['BatchStatus']; + "application/json": components["schemas"]["BatchStatus"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11590,13 +10741,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['SessionQueueItem']; + "application/json": components["schemas"]["SessionQueueItem"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -11618,13 +10769,13 @@ export type operations = { /** @description Successful Response */ 200: { content: { - 'application/json': components['schemas']['SessionQueueItem']; + "application/json": components["schemas"]["SessionQueueItem"]; }; }; /** @description Validation Error */ 422: { content: { - 'application/json': components['schemas']['HTTPValidationError']; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; diff --git a/invokeai/frontend/web/src/services/api/types.ts b/invokeai/frontend/web/src/services/api/types.ts index afa2cd7bd7..a6adcbd3b2 100644 --- a/invokeai/frontend/web/src/services/api/types.ts +++ b/invokeai/frontend/web/src/services/api/types.ts @@ -147,6 +147,15 @@ export type ImageNSFWBlurInvocation = s['ImageNSFWBlurInvocation']; export type ImageWatermarkInvocation = s['ImageWatermarkInvocation']; export type SeamlessModeInvocation = s['SeamlessModeInvocation']; export type SaveImageInvocation = s['SaveImageInvocation']; +export type MetadataInvocation = s['MetadataInvocation']; +export type MetadataInvocationAsCollection = Omit< + s['MetadataInvocation'], + 'items' +> & { + items: s['MetadataItem'][]; +}; +export type MetadataItemInvocation = s['MetadataItemInvocation']; +export type MergeMetadataDictInvocation = s['MergeMetadataDictInvocation']; // ControlNet Nodes export type ControlNetInvocation = s['ControlNetInvocation'];