From 2b7dd3e23698660f097b673545c4fdbbc76d0b1c Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue, 15 Aug 2023 22:18:37 +1000 Subject: [PATCH] feat: add missing primitive collections - add missing primitive collections - remove `Seed` and `LoRAField` (they don't exist) --- invokeai/app/invocations/collections.py | 16 -- invokeai/app/invocations/primitives.py | 143 +++++++++-- .../components/fields/InputFieldRenderer.tsx | 3 +- .../fields/fieldTypes/NumberInputField.tsx | 8 +- .../web/src/features/nodes/types/constants.ts | 30 ++- .../web/src/features/nodes/types/types.ts | 44 ++-- .../nodes/util/fieldTemplateBuilders.ts | 42 +--- .../frontend/web/src/services/api/schema.d.ts | 228 +++++++++++++++--- 8 files changed, 377 insertions(+), 137 deletions(-) diff --git a/invokeai/app/invocations/collections.py b/invokeai/app/invocations/collections.py index 7e7f173b44..fc7aec3e01 100644 --- a/invokeai/app/invocations/collections.py +++ b/invokeai/app/invocations/collections.py @@ -70,19 +70,3 @@ class RandomRangeInvocation(BaseInvocation): def invoke(self, context: InvocationContext) -> IntegerCollectionOutput: rng = np.random.default_rng(self.seed) return IntegerCollectionOutput(collection=list(rng.integers(low=self.low, high=self.high, size=self.size))) - - -@title("Image Collection") -@tags("image", "collection") -class ImageCollectionInvocation(BaseInvocation): - """Load a collection of images and provide it as output.""" - - type: Literal["image_collection"] = "image_collection" - - # Inputs - images: list[ImageField] = InputField( - default=[], description="The image collection to load", ui_type=UIType.ImageCollection - ) - - def invoke(self, context: InvocationContext) -> ImageCollectionOutput: - return ImageCollectionOutput(collection=self.images) diff --git a/invokeai/app/invocations/primitives.py b/invokeai/app/invocations/primitives.py index c484040057..398be04738 100644 --- a/invokeai/app/invocations/primitives.py +++ b/invokeai/app/invocations/primitives.py @@ -1,6 +1,7 @@ # Copyright (c) 2023 Kyle Schouviller (https://github.com/kyle0654) -from typing import Literal, Optional, Tuple +from typing import Literal, Optional, Tuple, Union +from anyio import Condition from pydantic import BaseModel, Field import torch @@ -47,8 +48,8 @@ class BooleanCollectionOutput(BaseInvocationOutput): ) -@title("Boolean Primitive") -@tags("boolean") +@title("Boolean") +@tags("primitives", "boolean") class BooleanInvocation(BaseInvocation): """A boolean primitive value""" @@ -61,6 +62,22 @@ class BooleanInvocation(BaseInvocation): return BooleanOutput(a=self.a) +@title("Boolean Collection") +@tags("primitives", "boolean", "collection") +class BooleanCollectionInvocation(BaseInvocation): + """A collection of boolean primitive values""" + + type: Literal["boolean_collection"] = "boolean_collection" + + # Inputs + collection: list[bool] = InputField( + default=False, description="The collection of boolean values", ui_type=UIType.BooleanCollection + ) + + def invoke(self, context: InvocationContext) -> BooleanCollectionOutput: + return BooleanCollectionOutput(collection=self.collection) + + # endregion # region Integer @@ -84,8 +101,8 @@ class IntegerCollectionOutput(BaseInvocationOutput): ) -@title("Integer Primitive") -@tags("integer") +@title("Integer") +@tags("primitives", "integer") class IntegerInvocation(BaseInvocation): """An integer primitive value""" @@ -98,6 +115,22 @@ class IntegerInvocation(BaseInvocation): return IntegerOutput(a=self.a) +@title("Integer Collection") +@tags("primitives", "integer", "collection") +class IntegerCollectionInvocation(BaseInvocation): + """A collection of integer primitive values""" + + type: Literal["integer_collection"] = "integer_collection" + + # Inputs + collection: list[int] = InputField( + default=0, description="The collection of integer values", ui_type=UIType.IntegerCollection + ) + + def invoke(self, context: InvocationContext) -> IntegerCollectionOutput: + return IntegerCollectionOutput(collection=self.collection) + + # endregion # region Float @@ -121,8 +154,8 @@ class FloatCollectionOutput(BaseInvocationOutput): ) -@title("Float Primitive") -@tags("float") +@title("Float") +@tags("primitives", "float") class FloatInvocation(BaseInvocation): """A float primitive value""" @@ -135,6 +168,22 @@ class FloatInvocation(BaseInvocation): return FloatOutput(a=self.param) +@title("Float Collection") +@tags("primitives", "float", "collection") +class FloatCollectionInvocation(BaseInvocation): + """A collection of float primitive values""" + + type: Literal["float_collection"] = "float_collection" + + # Inputs + collection: list[float] = InputField( + default=0, description="The collection of float values", ui_type=UIType.FloatCollection + ) + + def invoke(self, context: InvocationContext) -> FloatCollectionOutput: + return FloatCollectionOutput(collection=self.collection) + + # endregion # region String @@ -158,8 +207,8 @@ class StringCollectionOutput(BaseInvocationOutput): ) -@title("String Primitive") -@tags("string") +@title("String") +@tags("primitives", "string") class StringInvocation(BaseInvocation): """A string primitive value""" @@ -172,6 +221,22 @@ class StringInvocation(BaseInvocation): return StringOutput(text=self.text) +@title("String Collection") +@tags("primitives", "string", "collection") +class StringCollectionInvocation(BaseInvocation): + """A collection of string primitive values""" + + type: Literal["string_collection"] = "string_collection" + + # Inputs + collection: list[str] = InputField( + default=0, description="The collection of string values", ui_type=UIType.StringCollection + ) + + def invoke(self, context: InvocationContext) -> StringCollectionOutput: + return StringCollectionOutput(collection=self.collection) + + # endregion # region Image @@ -204,7 +269,7 @@ class ImageCollectionOutput(BaseInvocationOutput): @title("Image Primitive") -@tags("image") +@tags("primitives", "image") class ImageInvocation(BaseInvocation): """An image primitive value""" @@ -224,6 +289,22 @@ class ImageInvocation(BaseInvocation): ) +@title("Image Collection") +@tags("primitives", "image", "collection") +class ImageCollectionInvocation(BaseInvocation): + """A collection of image primitive values""" + + type: Literal["image_collection"] = "image_collection" + + # Inputs + collection: list[ImageField] = InputField( + default=0, description="The collection of image values", ui_type=UIType.ImageCollection + ) + + def invoke(self, context: InvocationContext) -> ImageCollectionOutput: + return ImageCollectionOutput(collection=self.collection) + + # endregion # region Latents @@ -253,7 +334,7 @@ class LatentsCollectionOutput(BaseInvocationOutput): type: Literal["latents_collection_output"] = "latents_collection_output" - latents: list[LatentsField] = OutputField( + collection: list[LatentsField] = OutputField( default_factory=list, description=FieldDescriptions.latents, ui_type=UIType.LatentsCollection, @@ -261,7 +342,7 @@ class LatentsCollectionOutput(BaseInvocationOutput): @title("Latents Primitive") -@tags("latents") +@tags("primitives", "latents") class LatentsInvocation(BaseInvocation): """A latents tensor primitive value""" @@ -276,6 +357,22 @@ class LatentsInvocation(BaseInvocation): return build_latents_output(self.latents.latents_name, latents) +@title("Latents Collection") +@tags("primitives", "latents", "collection") +class LatentsCollectionInvocation(BaseInvocation): + """A collection of latents tensor primitive values""" + + type: Literal["latents_collection"] = "latents_collection" + + # Inputs + collection: list[LatentsField] = InputField( + default=0, description="The collection of latents tensors", ui_type=UIType.LatentsCollection + ) + + def invoke(self, context: InvocationContext) -> LatentsCollectionOutput: + return LatentsCollectionOutput(collection=self.collection) + + def build_latents_output(latents_name: str, latents: torch.Tensor, seed: Optional[int] = None): return LatentsOutput( latents=LatentsField(latents_name=latents_name, seed=seed), @@ -320,7 +417,7 @@ class ColorCollectionOutput(BaseInvocationOutput): @title("Color Primitive") -@tags("color") +@tags("primitives", "color") class ColorInvocation(BaseInvocation): """A color primitive value""" @@ -339,7 +436,7 @@ class ColorInvocation(BaseInvocation): class ConditioningField(BaseModel): - """A conditioning tensor primitive field""" + """A conditioning tensor primitive value""" conditioning_name: str = Field(description="The name of conditioning tensor") @@ -366,7 +463,7 @@ class ConditioningCollectionOutput(BaseInvocationOutput): @title("Conditioning Primitive") -@tags("conditioning") +@tags("primitives", "conditioning") class ConditioningInvocation(BaseInvocation): """A conditioning tensor primitive value""" @@ -378,4 +475,20 @@ class ConditioningInvocation(BaseInvocation): return ConditioningOutput(conditioning=self.conditioning) +@title("Conditioning Collection") +@tags("primitives", "conditioning", "collection") +class ConditioningCollectionInvocation(BaseInvocation): + """A collection of conditioning tensor primitive values""" + + type: Literal["conditioning_collection"] = "conditioning_collection" + + # Inputs + collection: list[ConditioningField] = InputField( + default=0, description="The collection of conditioning tensors", ui_type=UIType.ConditioningCollection + ) + + def invoke(self, context: InvocationContext) -> ConditioningCollectionOutput: + return ConditioningCollectionOutput(collection=self.collection) + + # endregion diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/InputFieldRenderer.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/InputFieldRenderer.tsx index ce9d88af0a..0eae336a1e 100644 --- a/invokeai/frontend/web/src/features/nodes/components/fields/InputFieldRenderer.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/fields/InputFieldRenderer.tsx @@ -64,8 +64,7 @@ const InputFieldRenderer = (props: InputFieldProps) => { if ( (type === 'integer' && fieldTemplate.type === 'integer') || - (type === 'float' && fieldTemplate.type === 'float') || - (type === 'Seed' && fieldTemplate.type === 'Seed') + (type === 'float' && fieldTemplate.type === 'float') ) { return ( ) => { const { nodeData, field, fieldTemplate } = props; @@ -32,7 +30,7 @@ const NumberInputFieldComponent = ( String(field.value) ); const isIntegerField = useMemo( - () => fieldTemplate.type === 'integer' || fieldTemplate.type === 'Seed', + () => fieldTemplate.type === 'integer', [fieldTemplate.type] ); diff --git a/invokeai/frontend/web/src/features/nodes/types/constants.ts b/invokeai/frontend/web/src/features/nodes/types/constants.ts index f6389d47dd..0efd529275 100644 --- a/invokeai/frontend/web/src/features/nodes/types/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/types/constants.ts @@ -44,6 +44,11 @@ export const FIELDS: Record = { description: 'Enums are values that may be one of a number of options.', color: 'blue.500', }, + array: { + title: 'Array', + description: 'Enums are values that may be one of a number of options.', + color: 'base.500', + }, ImageField: { title: 'Image', description: 'Images may be passed between nodes.', @@ -54,11 +59,21 @@ export const FIELDS: Record = { description: 'Latents may be passed between nodes.', color: 'pink.500', }, + LatentsCollection: { + title: 'Latents Collection', + description: 'Latents may be passed between nodes.', + color: 'pink.500', + }, ConditioningField: { color: 'cyan.500', title: 'Conditioning', description: 'Conditioning may be passed between nodes.', }, + ConditioningCollection: { + color: 'cyan.500', + title: 'Conditioning Collection', + description: 'Conditioning may be passed between nodes.', + }, ImageCollection: { title: 'Image Collection', description: 'A collection of images.', @@ -139,16 +154,16 @@ export const FIELDS: Record = { title: 'Float Collection', description: 'A collection of floats.', }, + ColorCollection: { + color: 'base.500', + title: 'Color Collection', + description: 'A collection of colors.', + }, FilePath: { color: 'base.500', title: 'File Path', description: 'A path to a file.', }, - LoRAField: { - color: 'base.500', - title: 'LoRA', - description: 'LoRA field.', - }, ONNXModelField: { color: 'base.500', title: 'ONNX Model', @@ -159,11 +174,6 @@ export const FIELDS: Record = { title: 'SDXL Model', description: 'SDXL model field.', }, - Seed: { - color: 'green.500', - title: 'Seed', - description: 'A seed for random number generation.', - }, StringCollection: { color: 'yellow.500', title: 'String Collection', diff --git a/invokeai/frontend/web/src/features/nodes/types/types.ts b/invokeai/frontend/web/src/features/nodes/types/types.ts index 927153e744..3846d2425c 100644 --- a/invokeai/frontend/web/src/features/nodes/types/types.ts +++ b/invokeai/frontend/web/src/features/nodes/types/types.ts @@ -56,15 +56,28 @@ export type FieldUIConfig = { // TODO: Get this from the OpenAPI schema? may be tricky... export const zFieldType = z.enum([ + // region Primitives 'integer', 'float', 'boolean', 'string', - 'enum', + 'array', 'ImageField', 'LatentsField', 'ConditioningField', 'ControlField', + 'ColorField', + 'ImageCollection', + 'ConditioningCollection', + 'ColorCollection', + 'LatentsCollection', + 'IntegerCollection', + 'FloatCollection', + 'StringCollection', + 'BooleanCollection', + // endregion + + // region Models 'MainModelField', 'SDXLMainModelField', 'SDXLRefinerModelField', @@ -74,18 +87,18 @@ export const zFieldType = z.enum([ 'ControlNetModelField', 'UNetField', 'VaeField', - 'LoRAField', 'ClipField', - 'ColorField', - 'ImageCollection', - 'IntegerCollection', - 'FloatCollection', - 'StringCollection', - 'BooleanCollection', - 'Seed', - 'FilePath', + // endregion + + // region Iterate/Collect 'Collection', 'CollectionItem', + // endregion + + // region Misc + 'FilePath', + 'enum', + // endregion ]); export type FieldType = z.infer; @@ -134,7 +147,6 @@ export type InputFieldValue = */ export type InputFieldTemplate = | IntegerInputFieldTemplate - | SeedInputFieldTemplate | FloatInputFieldTemplate | StringInputFieldTemplate | BooleanInputFieldTemplate @@ -329,16 +341,6 @@ export type IntegerInputFieldTemplate = InputFieldTemplateBase & { exclusiveMinimum?: boolean; }; -export type SeedInputFieldTemplate = InputFieldTemplateBase & { - type: 'Seed'; - default: number; - multipleOf?: number; - maximum?: number; - exclusiveMaximum?: boolean; - minimum?: number; - exclusiveMinimum?: boolean; -}; - export type FloatInputFieldTemplate = InputFieldTemplateBase & { type: 'float'; default: number; diff --git a/invokeai/frontend/web/src/features/nodes/util/fieldTemplateBuilders.ts b/invokeai/frontend/web/src/features/nodes/util/fieldTemplateBuilders.ts index 190dd81c7b..37aaab59b6 100644 --- a/invokeai/frontend/web/src/features/nodes/util/fieldTemplateBuilders.ts +++ b/invokeai/frontend/web/src/features/nodes/util/fieldTemplateBuilders.ts @@ -25,9 +25,8 @@ import { LoRAModelInputFieldTemplate, MainModelInputFieldTemplate, OutputFieldTemplate, - SDXLRefinerModelInputFieldTemplate, SDXLMainModelInputFieldTemplate, - SeedInputFieldTemplate, + SDXLRefinerModelInputFieldTemplate, StringInputFieldTemplate, UNetInputFieldTemplate, VaeInputFieldTemplate, @@ -94,39 +93,6 @@ const buildIntegerInputFieldTemplate = ({ return template; }; -const buildSeedInputFieldTemplate = ({ - schemaObject, - baseField, -}: BuildInputFieldArg): SeedInputFieldTemplate => { - const template: SeedInputFieldTemplate = { - ...baseField, - type: 'Seed', - default: schemaObject.default ?? 0, - }; - - if (schemaObject.multipleOf !== undefined) { - template.multipleOf = schemaObject.multipleOf; - } - - if (schemaObject.maximum !== undefined) { - template.maximum = schemaObject.maximum; - } - - if (schemaObject.exclusiveMaximum !== undefined) { - template.exclusiveMaximum = schemaObject.exclusiveMaximum; - } - - if (schemaObject.minimum !== undefined) { - template.minimum = schemaObject.minimum; - } - - if (schemaObject.exclusiveMinimum !== undefined) { - template.exclusiveMinimum = schemaObject.exclusiveMinimum; - } - - return template; -}; - const buildFloatInputFieldTemplate = ({ schemaObject, baseField, @@ -622,12 +588,6 @@ export const buildInputFieldTemplate = ( baseField, }); } - if (fieldType === 'Seed') { - return buildSeedInputFieldTemplate({ - schemaObject: fieldSchema, - baseField, - }); - } if (fieldType === 'Collection') { return buildCollectionInputFieldTemplate({ schemaObject: fieldSchema, diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index a15232af4e..03fe79d708 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -548,6 +548,35 @@ export type components = { */ file: Blob; }; + /** + * Boolean Collection + * @description A collection of boolean primitive values + */ + BooleanCollectionInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default boolean_collection + * @enum {string} + */ + type: "boolean_collection"; + /** + * Collection + * @description The collection of boolean values + * @default false + */ + collection?: (boolean)[]; + }; /** * BooleanCollectionOutput * @description Base class for nodes that output a collection of booleans @@ -566,7 +595,7 @@ export type components = { collection?: (boolean)[]; }; /** - * Boolean Primitive + * Boolean * @description A boolean primitive value */ BooleanInvocation: { @@ -948,6 +977,35 @@ export type components = { */ clip?: components["schemas"]["ClipField"]; }; + /** + * Conditioning Collection + * @description A collection of conditioning tensor primitive values + */ + ConditioningCollectionInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default conditioning_collection + * @enum {string} + */ + type: "conditioning_collection"; + /** + * Collection + * @description The collection of conditioning tensors + * @default 0 + */ + collection?: (components["schemas"]["ConditioningField"])[]; + }; /** * ConditioningCollectionOutput * @description Base class for nodes that output a collection of conditioning tensors @@ -967,7 +1025,7 @@ export type components = { }; /** * ConditioningField - * @description A conditioning tensor primitive field + * @description A conditioning tensor primitive value */ ConditioningField: { /** @@ -1687,6 +1745,35 @@ export type components = { */ field: string; }; + /** + * Float Collection + * @description A collection of float primitive values + */ + FloatCollectionInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default float_collection + * @enum {string} + */ + type: "float_collection"; + /** + * Collection + * @description The collection of float values + * @default 0 + */ + collection?: (number)[]; + }; /** * FloatCollectionOutput * @description Base class for nodes that output a collection of floats @@ -1705,7 +1792,7 @@ export type components = { collection?: (number)[]; }; /** - * Float Primitive + * Float * @description A float primitive value */ FloatInvocation: { @@ -1803,7 +1890,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["BooleanInvocation"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["FloatInvocation"] | components["schemas"]["StringInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ShowImageInvocation"] | 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"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | 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"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | 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"]) | undefined; + [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"]["MetadataAccumulatorInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ShowImageInvocation"] | 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"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | 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"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | 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"]) | undefined; }; /** * Edges @@ -2051,7 +2138,7 @@ export type components = { }; /** * Image Collection - * @description Load a collection of images and provide it as output. + * @description A collection of image primitive values */ ImageCollectionInvocation: { /** @@ -2072,11 +2159,11 @@ export type components = { */ type: "image_collection"; /** - * Images - * @description The image collection to load - * @default [] + * Collection + * @description The collection of image values + * @default 0 */ - images?: (components["schemas"]["ImageField"])[]; + collection?: (components["schemas"]["ImageField"])[]; }; /** * ImageCollectionOutput @@ -2982,6 +3069,35 @@ export type components = { */ seed?: number; }; + /** + * Integer Collection + * @description A collection of integer primitive values + */ + IntegerCollectionInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default integer_collection + * @enum {string} + */ + type: "integer_collection"; + /** + * Collection + * @description The collection of integer values + * @default 0 + */ + collection?: (number)[]; + }; /** * IntegerCollectionOutput * @description Base class for nodes that output a collection of integers @@ -3000,7 +3116,7 @@ export type components = { collection?: (number)[]; }; /** - * Integer Primitive + * Integer * @description An integer primitive value */ IntegerInvocation: { @@ -3096,6 +3212,35 @@ export type components = { */ item?: unknown; }; + /** + * Latents Collection + * @description A collection of latents tensor primitive values + */ + LatentsCollectionInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default latents_collection + * @enum {string} + */ + type: "latents_collection"; + /** + * Collection + * @description The collection of latents tensors + * @default 0 + */ + collection?: (components["schemas"]["LatentsField"])[]; + }; /** * LatentsCollectionOutput * @description Base class for nodes that output a collection of latents tensors @@ -3108,10 +3253,10 @@ export type components = { */ type?: "latents_collection_output"; /** - * Latents + * Collection * @description Latents tensor */ - latents?: (components["schemas"]["LatentsField"])[]; + collection?: (components["schemas"]["LatentsField"])[]; }; /** * LatentsField @@ -5597,6 +5742,35 @@ export type components = { */ show_easing_plot?: boolean; }; + /** + * String Collection + * @description A collection of string primitive values + */ + StringCollectionInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default string_collection + * @enum {string} + */ + type: "string_collection"; + /** + * Collection + * @description The collection of string values + * @default 0 + */ + collection?: (string)[]; + }; /** * StringCollectionOutput * @description Base class for nodes that output a collection of strings @@ -5615,7 +5789,7 @@ export type components = { collection?: (string)[]; }; /** - * String Primitive + * String * @description A string primitive value */ StringInvocation: { @@ -5976,18 +6150,6 @@ export type components = { ui_hidden: boolean; ui_type?: components["schemas"]["UIType"]; }; - /** - * StableDiffusion2ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusionOnnxModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusionOnnxModelFormat: "olive" | "onnx"; /** * StableDiffusionXLModelFormat * @description An enumeration. @@ -6006,6 +6168,18 @@ export type components = { * @enum {string} */ ControlNetModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusion2ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusionOnnxModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusionOnnxModelFormat: "olive" | "onnx"; }; responses: never; parameters: never; @@ -6116,7 +6290,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["BooleanInvocation"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["FloatInvocation"] | components["schemas"]["StringInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ShowImageInvocation"] | 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"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | 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"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | 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"]["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"]["MetadataAccumulatorInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ShowImageInvocation"] | 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"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | 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"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | 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"]; }; }; responses: { @@ -6153,7 +6327,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["BooleanInvocation"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["FloatInvocation"] | components["schemas"]["StringInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ShowImageInvocation"] | 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"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | 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"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | 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"]["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"]["MetadataAccumulatorInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ShowImageInvocation"] | 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"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | 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"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | 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"]; }; }; responses: {