From 7479f9cc02d51857cee652c4a576a9c4915f87eb Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Fri, 11 Aug 2023 22:22:01 +1200 Subject: [PATCH] feat: Update LinearUI to use new backend (except Inpaint) --- invokeai/frontend/web/scripts/typegen.js | 2 +- .../graphBuilders/addSDXLRefinerToGraph.ts | 18 +- .../buildCanvasImageToImageGraph.ts | 27 +- .../buildCanvasTextToImageGraph.ts | 36 +- .../buildLinearImageToImageGraph.ts | 27 +- .../buildLinearSDXLImageToImageGraph.ts | 26 +- .../buildLinearSDXLTextToImageGraph.ts | 23 +- .../buildLinearTextToImageGraph.ts | 36 +- .../nodes/util/graphBuilders/constants.ts | 2 +- .../src/features/system/store/configSlice.ts | 2 +- .../frontend/web/src/services/api/schema.d.ts | 816 +++++------------- .../frontend/web/src/services/api/types.ts | 10 +- 12 files changed, 317 insertions(+), 708 deletions(-) diff --git a/invokeai/frontend/web/scripts/typegen.js b/invokeai/frontend/web/scripts/typegen.js index 015ae918ab..ec67c48f2d 100644 --- a/invokeai/frontend/web/scripts/typegen.js +++ b/invokeai/frontend/web/scripts/typegen.js @@ -1,7 +1,7 @@ import fs from 'node:fs'; import openapiTS from 'openapi-typescript'; -const OPENAPI_URL = 'http://localhost:9090/openapi.json'; +const OPENAPI_URL = 'http://127.0.0.1:9090/openapi.json'; const OUTPUT_FILE = 'src/services/api/schema.d.ts'; async function main() { 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 c47c7be8b4..3faf72fb2e 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts @@ -2,12 +2,12 @@ import { RootState } from 'app/store/store'; import { MetadataAccumulatorInvocation } from 'services/api/types'; import { NonNullableGraph } from '../../types/types'; import { + DENOISE_LATENTS, IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, SDXL_LATENTS_TO_LATENTS, SDXL_MODEL_LOADER, - SDXL_REFINER_LATENTS_TO_LATENTS, SDXL_REFINER_MODEL_LOADER, SDXL_REFINER_NEGATIVE_CONDITIONING, SDXL_REFINER_POSITIVE_CONDITIONING, @@ -91,9 +91,9 @@ export const addSDXLRefinerToGraph = ( style: `${negativePrompt} ${negativeStylePrompt}`, aesthetic_score: refinerAestheticScore, }; - graph.nodes[SDXL_REFINER_LATENTS_TO_LATENTS] = { - type: 'l2l_sdxl', - id: SDXL_REFINER_LATENTS_TO_LATENTS, + graph.nodes[DENOISE_LATENTS] = { + type: 'denoise_latents', + id: DENOISE_LATENTS, cfg_scale: refinerCFGScale, steps: refinerSteps / (1 - Math.min(refinerStart, 0.99)), scheduler: refinerScheduler, @@ -108,7 +108,7 @@ export const addSDXLRefinerToGraph = ( field: 'unet', }, destination: { - node_id: SDXL_REFINER_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -148,7 +148,7 @@ export const addSDXLRefinerToGraph = ( field: 'conditioning', }, destination: { - node_id: SDXL_REFINER_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -158,7 +158,7 @@ export const addSDXLRefinerToGraph = ( field: 'conditioning', }, destination: { - node_id: SDXL_REFINER_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -168,13 +168,13 @@ export const addSDXLRefinerToGraph = ( field: 'latents', }, destination: { - node_id: SDXL_REFINER_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, }, { source: { - node_id: SDXL_REFINER_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { 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 42f768c107..181a0d9294 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -15,10 +15,10 @@ import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, + DENOISE_LATENTS, IMAGE_TO_IMAGE_GRAPH, IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, - LATENTS_TO_LATENTS, MAIN_MODEL_LOADER, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, @@ -105,14 +105,15 @@ export const buildCanvasImageToImageGraph = ( is_intermediate: true, skipped_layers: clipSkip, }, - [LATENTS_TO_LATENTS]: { - type: 'l2l', - id: LATENTS_TO_LATENTS, + [DENOISE_LATENTS]: { + type: 'denoise_latents', + id: DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, steps, - strength, + denoising_start: 1 - strength, + denoising_end: 1, }, [IMAGE_TO_LATENTS]: { type: 'i2l', @@ -162,7 +163,7 @@ export const buildCanvasImageToImageGraph = ( }, { source: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -176,7 +177,7 @@ export const buildCanvasImageToImageGraph = ( field: 'latents', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, }, @@ -186,7 +187,7 @@ export const buildCanvasImageToImageGraph = ( field: 'noise', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'noise', }, }, @@ -196,7 +197,7 @@ export const buildCanvasImageToImageGraph = ( field: 'unet', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -206,7 +207,7 @@ export const buildCanvasImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -216,7 +217,7 @@ export const buildCanvasImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -324,7 +325,7 @@ export const buildCanvasImageToImageGraph = ( }); // add LoRA support - addLoRAsToGraph(state, graph, LATENTS_TO_LATENTS); + addLoRAsToGraph(state, graph, DENOISE_LATENTS); // optionally add custom VAE addVAEToGraph(state, graph); @@ -333,7 +334,7 @@ export const buildCanvasImageToImageGraph = ( addDynamicPromptsToGraph(state, graph); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, LATENTS_TO_LATENTS); + addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { 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 5b636b482a..9e25f97586 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -2,6 +2,10 @@ import { logger } from 'app/logging/logger'; import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { initialGenerationState } from 'features/parameters/store/generationSlice'; +import { + DenoiseLatentsInvocation, + ONNXTextToLatentsInvocation, +} from 'services/api/types'; import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addLoRAsToGraph } from './addLoRAsToGraph'; @@ -10,20 +14,16 @@ import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, + DENOISE_LATENTS, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, - ONNX_MODEL_LOADER, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, + ONNX_MODEL_LOADER, POSITIVE_CONDITIONING, TEXT_TO_IMAGE_GRAPH, - TEXT_TO_LATENTS, } from './constants'; -import { - ONNXTextToLatentsInvocation, - TextToLatentsInvocation, -} from 'services/api/types'; /** * Builds the Canvas tab's Text to Image graph. @@ -64,23 +64,25 @@ export const buildCanvasTextToImageGraph = ( const modelLoaderNodeType = isUsingOnnxModel ? 'onnx_model_loader' : 'main_model_loader'; - const t2lNode: TextToLatentsInvocation | ONNXTextToLatentsInvocation = + const t2lNode: DenoiseLatentsInvocation | ONNXTextToLatentsInvocation = isUsingOnnxModel ? { type: 't2l_onnx', - id: TEXT_TO_LATENTS, + id: DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, steps, } : { - type: 't2l', - id: TEXT_TO_LATENTS, + type: 'denoise_latents', + id: DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, steps, + denoising_start: 0, + denoising_end: 1, }; /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the @@ -142,7 +144,7 @@ export const buildCanvasTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -152,7 +154,7 @@ export const buildCanvasTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -192,13 +194,13 @@ export const buildCanvasTextToImageGraph = ( field: 'unet', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, { source: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -212,7 +214,7 @@ export const buildCanvasTextToImageGraph = ( field: 'noise', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'noise', }, }, @@ -252,7 +254,7 @@ export const buildCanvasTextToImageGraph = ( }); // add LoRA support - addLoRAsToGraph(state, graph, TEXT_TO_LATENTS, modelLoaderNodeId); + addLoRAsToGraph(state, graph, DENOISE_LATENTS, modelLoaderNodeId); // optionally add custom VAE addVAEToGraph(state, graph, modelLoaderNodeId); @@ -261,7 +263,7 @@ export const buildCanvasTextToImageGraph = ( addDynamicPromptsToGraph(state, graph); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, TEXT_TO_LATENTS); + addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { 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 f264edc6be..69d5227ea2 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts @@ -14,10 +14,10 @@ import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, + DENOISE_LATENTS, IMAGE_TO_IMAGE_GRAPH, IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, - LATENTS_TO_LATENTS, MAIN_MODEL_LOADER, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, @@ -118,13 +118,14 @@ export const buildLinearImageToImageGraph = ( id: LATENTS_TO_IMAGE, fp32: vaePrecision === 'fp32' ? true : false, }, - [LATENTS_TO_LATENTS]: { - type: 'l2l', - id: LATENTS_TO_LATENTS, + [DENOISE_LATENTS]: { + type: 'denoise_latents', + id: DENOISE_LATENTS, cfg_scale, scheduler, steps, - strength, + denoising_start: 1 - strength, + denoising_end: 1, }, [IMAGE_TO_LATENTS]: { type: 'i2l', @@ -143,7 +144,7 @@ export const buildLinearImageToImageGraph = ( field: 'unet', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -179,7 +180,7 @@ export const buildLinearImageToImageGraph = ( }, { source: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -193,7 +194,7 @@ export const buildLinearImageToImageGraph = ( field: 'latents', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, }, @@ -203,7 +204,7 @@ export const buildLinearImageToImageGraph = ( field: 'noise', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'noise', }, }, @@ -213,7 +214,7 @@ export const buildLinearImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -223,7 +224,7 @@ export const buildLinearImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -334,7 +335,7 @@ export const buildLinearImageToImageGraph = ( }); // add LoRA support - addLoRAsToGraph(state, graph, LATENTS_TO_LATENTS); + addLoRAsToGraph(state, graph, DENOISE_LATENTS); // optionally add custom VAE addVAEToGraph(state, graph); @@ -343,7 +344,7 @@ export const buildLinearImageToImageGraph = ( addDynamicPromptsToGraph(state, graph); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, LATENTS_TO_LATENTS); + addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { 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 0ec4e096d9..98f9458ae0 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -8,9 +8,11 @@ import { } from 'services/api/types'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; +import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + DENOISE_LATENTS, IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, @@ -19,10 +21,8 @@ import { POSITIVE_CONDITIONING, RESIZE, SDXL_IMAGE_TO_IMAGE_GRAPH, - SDXL_LATENTS_TO_LATENTS, SDXL_MODEL_LOADER, } from './constants'; -import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; /** * Builds the Image to Image tab graph. @@ -115,9 +115,9 @@ export const buildLinearSDXLImageToImageGraph = ( id: LATENTS_TO_IMAGE, fp32: vaePrecision === 'fp32' ? true : false, }, - [SDXL_LATENTS_TO_LATENTS]: { - type: 'l2l_sdxl', - id: SDXL_LATENTS_TO_LATENTS, + [DENOISE_LATENTS]: { + type: 'denoise_latents', + id: DENOISE_LATENTS, cfg_scale, scheduler, steps, @@ -143,7 +143,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'unet', }, destination: { - node_id: SDXL_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -209,7 +209,7 @@ export const buildLinearSDXLImageToImageGraph = ( }, { source: { - node_id: SDXL_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -223,7 +223,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'latents', }, destination: { - node_id: SDXL_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, }, @@ -233,7 +233,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'noise', }, destination: { - node_id: SDXL_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'noise', }, }, @@ -243,7 +243,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: SDXL_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -253,7 +253,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: SDXL_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -365,11 +365,11 @@ export const buildLinearSDXLImageToImageGraph = ( }, }); - addSDXLLoRAsToGraph(state, graph, SDXL_LATENTS_TO_LATENTS, SDXL_MODEL_LOADER); + addSDXLLoRAsToGraph(state, graph, DENOISE_LATENTS, SDXL_MODEL_LOADER); // Add Refiner if enabled if (shouldUseSDXLRefiner) { - addSDXLRefinerToGraph(state, graph, SDXL_LATENTS_TO_LATENTS); + addSDXLRefinerToGraph(state, graph, DENOISE_LATENTS); } // add dynamic prompts - also sets up core iteration and seed 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 21b7c1e0ac..566eb6536e 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -8,6 +8,7 @@ import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + DENOISE_LATENTS, LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, @@ -15,7 +16,6 @@ import { POSITIVE_CONDITIONING, SDXL_MODEL_LOADER, SDXL_TEXT_TO_IMAGE_GRAPH, - SDXL_TEXT_TO_LATENTS, } from './constants'; export const buildLinearSDXLTextToImageGraph = ( @@ -95,12 +95,13 @@ export const buildLinearSDXLTextToImageGraph = ( height, use_cpu, }, - [SDXL_TEXT_TO_LATENTS]: { - type: 't2l_sdxl', - id: SDXL_TEXT_TO_LATENTS, + [DENOISE_LATENTS]: { + type: 'denoise_latents', + id: DENOISE_LATENTS, cfg_scale, scheduler, steps, + denoising_start: 0, denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, }, [LATENTS_TO_IMAGE]: { @@ -116,7 +117,7 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'unet', }, destination: { - node_id: SDXL_TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -176,7 +177,7 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: SDXL_TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -186,7 +187,7 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: SDXL_TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -196,13 +197,13 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'noise', }, destination: { - node_id: SDXL_TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'noise', }, }, { source: { - node_id: SDXL_TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -247,11 +248,11 @@ export const buildLinearSDXLTextToImageGraph = ( }, }); - addSDXLLoRAsToGraph(state, graph, SDXL_TEXT_TO_LATENTS, SDXL_MODEL_LOADER); + addSDXLLoRAsToGraph(state, graph, DENOISE_LATENTS, SDXL_MODEL_LOADER); // Add Refiner if enabled if (shouldUseSDXLRefiner) { - addSDXLRefinerToGraph(state, graph, SDXL_TEXT_TO_LATENTS); + addSDXLRefinerToGraph(state, graph, DENOISE_LATENTS); } // add dynamic prompts - also sets up core iteration and seed 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 9dcc502d14..dcbbe69290 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -2,6 +2,10 @@ import { logger } from 'app/logging/logger'; import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { initialGenerationState } from 'features/parameters/store/generationSlice'; +import { + DenoiseLatentsInvocation, + ONNXTextToLatentsInvocation, +} from 'services/api/types'; import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addLoRAsToGraph } from './addLoRAsToGraph'; @@ -10,20 +14,16 @@ import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, + DENOISE_LATENTS, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, - ONNX_MODEL_LOADER, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, + ONNX_MODEL_LOADER, POSITIVE_CONDITIONING, TEXT_TO_IMAGE_GRAPH, - TEXT_TO_LATENTS, } from './constants'; -import { - ONNXTextToLatentsInvocation, - TextToLatentsInvocation, -} from 'services/api/types'; export const buildLinearTextToImageGraph = ( state: RootState @@ -60,23 +60,25 @@ export const buildLinearTextToImageGraph = ( const modelLoaderNodeType = isUsingOnnxModel ? 'onnx_model_loader' : 'main_model_loader'; - const t2lNode: TextToLatentsInvocation | ONNXTextToLatentsInvocation = + const t2lNode: DenoiseLatentsInvocation | ONNXTextToLatentsInvocation = isUsingOnnxModel ? { type: 't2l_onnx', - id: TEXT_TO_LATENTS, + id: DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, steps, } : { - type: 't2l', - id: TEXT_TO_LATENTS, + type: 'denoise_latents', + id: DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, steps, + denoising_start: 0, + denoising_end: 1, }; /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the @@ -149,7 +151,7 @@ export const buildLinearTextToImageGraph = ( field: 'unet', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -179,7 +181,7 @@ export const buildLinearTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -189,13 +191,13 @@ export const buildLinearTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, { source: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -209,7 +211,7 @@ export const buildLinearTextToImageGraph = ( field: 'noise', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'noise', }, }, @@ -249,7 +251,7 @@ export const buildLinearTextToImageGraph = ( }); // add LoRA support - addLoRAsToGraph(state, graph, TEXT_TO_LATENTS, modelLoaderNodeId); + addLoRAsToGraph(state, graph, DENOISE_LATENTS, modelLoaderNodeId); // optionally add custom VAE addVAEToGraph(state, graph, modelLoaderNodeId); @@ -258,7 +260,7 @@ export const buildLinearTextToImageGraph = ( addDynamicPromptsToGraph(state, graph); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, TEXT_TO_LATENTS); + addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { 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 7fa87c7f20..2282184521 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -1,7 +1,7 @@ // friendly node ids export const POSITIVE_CONDITIONING = 'positive_conditioning'; export const NEGATIVE_CONDITIONING = 'negative_conditioning'; -export const TEXT_TO_LATENTS = 'text_to_latents'; +export const DENOISE_LATENTS = 'denoise_latents'; export const LATENTS_TO_IMAGE = 'latents_to_image'; export const NSFW_CHECKER = 'nsfw_checker'; export const WATERMARKER = 'invisible_watermark'; diff --git a/invokeai/frontend/web/src/features/system/store/configSlice.ts b/invokeai/frontend/web/src/features/system/store/configSlice.ts index 6cff92a136..ff7a0c0700 100644 --- a/invokeai/frontend/web/src/features/system/store/configSlice.ts +++ b/invokeai/frontend/web/src/features/system/store/configSlice.ts @@ -61,7 +61,7 @@ export const initialConfigState: AppConfig = { }, img2imgStrength: { initial: 0.7, - min: 0, + min: 0.01, sliderMax: 1, inputMax: 1, fineStep: 0.01, diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index fc3397820e..9755af9e32 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -179,6 +179,11 @@ export type paths = { * @description Gets a full-resolution image file */ get: operations["get_image_full"]; + /** + * Get Image Full + * @description Gets a full-resolution image file + */ + head: operations["get_image_full"]; }; "/api/v1/images/i/{image_name}/thumbnail": { /** @@ -707,6 +712,51 @@ export type components = { */ collection: (unknown)[]; }; + /** + * ColorCorrectInvocation + * @description Shifts the colors of a target image to match the reference image, optionally + * using a mask to only color-correct certain regions of the target image. + */ + ColorCorrectInvocation: { + /** + * 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 color_correct + * @enum {string} + */ + type?: "color_correct"; + /** + * Image + * @description The image to color-correct + */ + image?: components["schemas"]["ImageField"]; + /** + * Reference + * @description Reference image for color-correction + */ + reference?: components["schemas"]["ImageField"]; + /** + * Mask + * @description Mask to use when applying color-correction + */ + mask?: components["schemas"]["ImageField"]; + /** + * Mask Blur Radius + * @description Mask blur radius + * @default 8 + */ + mask_blur_radius?: number; + }; /** ColorField */ ColorField: { /** @@ -1037,6 +1087,12 @@ export type components = { * @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.0.2 + */ + app_version?: string; /** * Generation Mode * @description The generation mode that output this image @@ -1219,6 +1275,93 @@ export type components = { /** Deleted Images */ deleted_images: (string)[]; }; + /** + * DenoiseLatentsInvocation + * @description Denoises noisy latents to decodable images + */ + DenoiseLatentsInvocation: { + /** + * 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 denoise_latents + * @enum {string} + */ + type?: "denoise_latents"; + /** + * Positive Conditioning + * @description Positive conditioning for generation + */ + positive_conditioning?: components["schemas"]["ConditioningField"]; + /** + * Negative Conditioning + * @description Negative conditioning for generation + */ + negative_conditioning?: components["schemas"]["ConditioningField"]; + /** + * Noise + * @description The noise to use + */ + noise?: components["schemas"]["LatentsField"]; + /** + * Steps + * @description The number of steps to use to generate the image + * @default 10 + */ + steps?: number; + /** + * Cfg Scale + * @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt + * @default 7.5 + */ + cfg_scale?: number | (number)[]; + /** + * Denoising Start + * @default 0 + */ + denoising_start?: number; + /** + * Denoising End + * @default 1 + */ + denoising_end?: number; + /** + * Scheduler + * @description The scheduler to use + * @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"; + /** + * Unet + * @description UNet submodel + */ + unet?: components["schemas"]["UNetField"]; + /** + * Control + * @description The control to use + */ + control?: components["schemas"]["ControlField"] | (components["schemas"]["ControlField"])[]; + /** + * Latents + * @description The latents to use as a base image + */ + latents?: components["schemas"]["LatentsField"]; + /** + * Mask + * @description Mask + */ + mask?: components["schemas"]["ImageField"]; + }; /** * DivideInvocation * @description Divides two numbers @@ -1443,7 +1586,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | 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"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | 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"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | 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"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | 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 @@ -1486,7 +1629,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["SDXLLoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["ONNXModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; + [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["SDXLLoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["ONNXModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; }; /** * Errors @@ -2593,171 +2736,6 @@ export type components = { */ seed?: number; }; - /** - * InpaintInvocation - * @description Generates an image using inpaint. - */ - InpaintInvocation: { - /** - * 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 inpaint - * @enum {string} - */ - type?: "inpaint"; - /** - * Positive Conditioning - * @description Positive conditioning for generation - */ - positive_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Negative Conditioning - * @description Negative conditioning for generation - */ - negative_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Seed - * @description The seed to use (omit for random) - */ - seed?: number; - /** - * Steps - * @description The number of steps to use to generate the image - * @default 30 - */ - steps?: number; - /** - * Width - * @description The width of the resulting image - * @default 512 - */ - width?: number; - /** - * Height - * @description The height of the resulting image - * @default 512 - */ - height?: number; - /** - * Cfg Scale - * @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt - * @default 7.5 - */ - cfg_scale?: number; - /** - * Scheduler - * @description The scheduler to use - * @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"; - /** - * Unet - * @description UNet model - */ - unet?: components["schemas"]["UNetField"]; - /** - * Vae - * @description Vae model - */ - vae?: components["schemas"]["VaeField"]; - /** - * Image - * @description The input image - */ - image?: components["schemas"]["ImageField"]; - /** - * Strength - * @description The strength of the original image - * @default 0.75 - */ - strength?: number; - /** - * Fit - * @description Whether or not the result should be fit to the aspect ratio of the input image - * @default true - */ - fit?: boolean; - /** - * Mask - * @description The mask - */ - mask?: components["schemas"]["ImageField"]; - /** - * Seam Size - * @description The seam inpaint size (px) - * @default 96 - */ - seam_size?: number; - /** - * Seam Blur - * @description The seam inpaint blur radius (px) - * @default 16 - */ - seam_blur?: number; - /** - * Seam Strength - * @description The seam inpaint strength - * @default 0.75 - */ - seam_strength?: number; - /** - * Seam Steps - * @description The number of steps to use for seam inpaint - * @default 30 - */ - seam_steps?: number; - /** - * Tile Size - * @description The tile infill method size (px) - * @default 32 - */ - tile_size?: number; - /** - * Infill Method - * @description The method used to infill empty regions (px) - * @default patchmatch - * @enum {string} - */ - infill_method?: "patchmatch" | "tile" | "solid"; - /** - * Inpaint Width - * @description The width of the inpaint region (px) - */ - inpaint_width?: number; - /** - * Inpaint Height - * @description The height of the inpaint region (px) - */ - inpaint_height?: number; - /** - * Inpaint Fill - * @description The solid infill method color - * @default { - * "r": 127, - * "g": 127, - * "b": 127, - * "a": 255 - * } - */ - inpaint_fill?: components["schemas"]["ColorField"]; - /** - * Inpaint Replace - * @description The amount by which to replace masked areas with latent noise - * @default 0 - */ - inpaint_replace?: number; - }; /** * IntCollectionOutput * @description A collection of integers @@ -2854,6 +2832,11 @@ export type components = { * @description The name of the latents */ latents_name: string; + /** + * Seed + * @description Seed used to generate this latents + */ + seed?: number; }; /** * LatentsOutput @@ -2932,84 +2915,6 @@ export type components = { */ metadata?: components["schemas"]["CoreMetadata"]; }; - /** - * LatentsToLatentsInvocation - * @description Generates latents using latents as base image. - */ - LatentsToLatentsInvocation: { - /** - * 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 l2l - * @enum {string} - */ - type?: "l2l"; - /** - * Positive Conditioning - * @description Positive conditioning for generation - */ - positive_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Negative Conditioning - * @description Negative conditioning for generation - */ - negative_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Noise - * @description The noise to use - */ - noise?: components["schemas"]["LatentsField"]; - /** - * Steps - * @description The number of steps to use to generate the image - * @default 10 - */ - steps?: number; - /** - * Cfg Scale - * @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt - * @default 7.5 - */ - cfg_scale?: number | (number)[]; - /** - * Scheduler - * @description The scheduler to use - * @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"; - /** - * Unet - * @description UNet submodel - */ - unet?: components["schemas"]["UNetField"]; - /** - * Control - * @description The control to use - */ - control?: components["schemas"]["ControlField"] | (components["schemas"]["ControlField"])[]; - /** - * Latents - * @description The latents to use as a base image - */ - latents?: components["schemas"]["LatentsField"]; - /** - * Strength - * @description The strength of the latents to use - * @default 0.7 - */ - strength?: number; - }; /** * LeresImageProcessorInvocation * @description Applies leres processing to image @@ -3368,6 +3273,54 @@ export type components = { */ model: components["schemas"]["MainModelField"]; }; + /** + * MaskEdgeInvocation + * @description Applies an edge mask to an image + */ + MaskEdgeInvocation: { + /** + * 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 mask_edge + * @enum {string} + */ + type?: "mask_edge"; + /** + * Image + * @description The image to apply the mask to + */ + image?: components["schemas"]["ImageField"]; + /** + * Edge Size + * @description The size of the edge + */ + edge_size: number; + /** + * Edge Blur + * @description The amount of blur on the edge + */ + edge_blur: number; + /** + * Low Threshold + * @description First threshold for the hysteresis procedure in Canny edge detection + */ + low_threshold: number; + /** + * High Threshold + * @description Second threshold for the hysteresis procedure in Canny edge detection + */ + high_threshold: number; + }; /** * MaskFromAlphaInvocation * @description Extracts the alpha channel of an image as a mask. @@ -4937,83 +4890,6 @@ export type components = { */ clip2?: components["schemas"]["ClipField"]; }; - /** - * SDXLLatentsToLatentsInvocation - * @description Generates latents from conditionings. - */ - SDXLLatentsToLatentsInvocation: { - /** - * 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 l2l_sdxl - * @enum {string} - */ - type?: "l2l_sdxl"; - /** - * Positive Conditioning - * @description Positive conditioning for generation - */ - positive_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Negative Conditioning - * @description Negative conditioning for generation - */ - negative_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Noise - * @description The noise to use - */ - noise?: components["schemas"]["LatentsField"]; - /** - * Steps - * @description The number of steps to use to generate the image - * @default 10 - */ - steps?: number; - /** - * Cfg Scale - * @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt - * @default 7.5 - */ - cfg_scale?: number | (number)[]; - /** - * Scheduler - * @description The scheduler to use - * @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"; - /** - * Unet - * @description UNet submodel - */ - unet?: components["schemas"]["UNetField"]; - /** - * Latents - * @description Initial latents - */ - latents?: components["schemas"]["LatentsField"]; - /** - * Denoising Start - * @default 0 - */ - denoising_start?: number; - /** - * Denoising End - * @default 1 - */ - denoising_end?: number; - }; /** * SDXLLoraLoaderInvocation * @description Apply selected lora to unet and text_encoder. @@ -5150,81 +5026,6 @@ export type components = { */ vae?: components["schemas"]["VaeField"]; }; - /** - * SDXLRawPromptInvocation - * @description Pass unmodified prompt to conditioning without compel processing. - */ - SDXLRawPromptInvocation: { - /** - * 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 sdxl_raw_prompt - * @enum {string} - */ - type?: "sdxl_raw_prompt"; - /** - * Prompt - * @description Prompt - * @default - */ - prompt?: string; - /** - * Style - * @description Style prompt - * @default - */ - style?: string; - /** - * Original Width - * @default 1024 - */ - original_width?: number; - /** - * Original Height - * @default 1024 - */ - original_height?: number; - /** - * Crop Top - * @default 0 - */ - crop_top?: number; - /** - * Crop Left - * @default 0 - */ - crop_left?: number; - /** - * Target Width - * @default 1024 - */ - target_width?: number; - /** - * Target Height - * @default 1024 - */ - target_height?: number; - /** - * Clip - * @description Clip to use - */ - clip?: components["schemas"]["ClipField"]; - /** - * Clip2 - * @description Clip2 to use - */ - clip2?: components["schemas"]["ClipField"]; - }; /** * SDXLRefinerCompelPromptInvocation * @description Parse prompt using compel package to conditioning. @@ -5339,132 +5140,6 @@ export type components = { */ vae?: components["schemas"]["VaeField"]; }; - /** - * SDXLRefinerRawPromptInvocation - * @description Parse prompt using compel package to conditioning. - */ - SDXLRefinerRawPromptInvocation: { - /** - * 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 sdxl_refiner_raw_prompt - * @enum {string} - */ - type?: "sdxl_refiner_raw_prompt"; - /** - * Style - * @description Style prompt - * @default - */ - style?: string; - /** - * Original Width - * @default 1024 - */ - original_width?: number; - /** - * Original Height - * @default 1024 - */ - original_height?: number; - /** - * Crop Top - * @default 0 - */ - crop_top?: number; - /** - * Crop Left - * @default 0 - */ - crop_left?: number; - /** - * Aesthetic Score - * @default 6 - */ - aesthetic_score?: number; - /** - * Clip2 - * @description Clip to use - */ - clip2?: components["schemas"]["ClipField"]; - }; - /** - * SDXLTextToLatentsInvocation - * @description Generates latents from conditionings. - */ - SDXLTextToLatentsInvocation: { - /** - * 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 t2l_sdxl - * @enum {string} - */ - type?: "t2l_sdxl"; - /** - * Positive Conditioning - * @description Positive conditioning for generation - */ - positive_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Negative Conditioning - * @description Negative conditioning for generation - */ - negative_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Noise - * @description The noise to use - */ - noise?: components["schemas"]["LatentsField"]; - /** - * Steps - * @description The number of steps to use to generate the image - * @default 10 - */ - steps?: number; - /** - * Cfg Scale - * @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt - * @default 7.5 - */ - cfg_scale?: number | (number)[]; - /** - * Scheduler - * @description The scheduler to use - * @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"; - /** - * Unet - * @description UNet submodel - */ - unet?: components["schemas"]["UNetField"]; - /** - * Denoising End - * @default 1 - */ - denoising_end?: number; - }; /** * ScaleLatentsInvocation * @description Scales latents by a given factor. @@ -5863,73 +5538,6 @@ export type components = { */ b?: number; }; - /** - * TextToLatentsInvocation - * @description Generates latents from conditionings. - */ - TextToLatentsInvocation: { - /** - * 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 t2l - * @enum {string} - */ - type?: "t2l"; - /** - * Positive Conditioning - * @description Positive conditioning for generation - */ - positive_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Negative Conditioning - * @description Negative conditioning for generation - */ - negative_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Noise - * @description The noise to use - */ - noise?: components["schemas"]["LatentsField"]; - /** - * Steps - * @description The number of steps to use to generate the image - * @default 10 - */ - steps?: number; - /** - * Cfg Scale - * @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt - * @default 7.5 - */ - cfg_scale?: number | (number)[]; - /** - * Scheduler - * @description The scheduler to use - * @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"; - /** - * Unet - * @description UNet submodel - */ - unet?: components["schemas"]["UNetField"]; - /** - * Control - * @description The control to use - */ - control?: components["schemas"]["ControlField"] | (components["schemas"]["ControlField"])[]; - }; /** TextualInversionModelConfig */ TextualInversionModelConfig: { /** Model Name */ @@ -6139,36 +5747,36 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; - /** - * ControlNetModelFormat - * @description An enumeration. - * @enum {string} - */ - ControlNetModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionXLModelFormat * @description An enumeration. * @enum {string} */ StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusion1ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionOnnxModelFormat * @description An enumeration. * @enum {string} */ StableDiffusionOnnxModelFormat: "olive" | "onnx"; + /** + * ControlNetModelFormat + * @description An enumeration. + * @enum {string} + */ + ControlNetModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusion2ModelFormat * @description An enumeration. * @enum {string} */ StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusion1ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -6279,7 +5887,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | 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"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | 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"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | 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"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | 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: { @@ -6316,7 +5924,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | 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"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | 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"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | 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"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | 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: { diff --git a/invokeai/frontend/web/src/services/api/types.ts b/invokeai/frontend/web/src/services/api/types.ts index e7e3accdad..7c8f0908b0 100644 --- a/invokeai/frontend/web/src/services/api/types.ts +++ b/invokeai/frontend/web/src/services/api/types.ts @@ -120,9 +120,6 @@ export type RandomRangeInvocation = TypeReq< export type RangeOfSizeInvocation = TypeReq< components['schemas']['RangeOfSizeInvocation'] >; -export type InpaintInvocation = TypeReq< - components['schemas']['InpaintInvocation'] ->; export type ImageResizeInvocation = TypeReq< components['schemas']['ImageResizeInvocation'] >; @@ -139,14 +136,11 @@ export type DynamicPromptInvocation = TypeReq< components['schemas']['DynamicPromptInvocation'] >; export type NoiseInvocation = TypeReq; -export type TextToLatentsInvocation = TypeReq< - components['schemas']['TextToLatentsInvocation'] ->; export type ONNXTextToLatentsInvocation = TypeReq< components['schemas']['ONNXTextToLatentsInvocation'] >; -export type LatentsToLatentsInvocation = TypeReq< - components['schemas']['LatentsToLatentsInvocation'] +export type DenoiseLatentsInvocation = TypeReq< + components['schemas']['DenoiseLatentsInvocation'] >; export type ImageToLatentsInvocation = TypeReq< components['schemas']['ImageToLatentsInvocation']