diff --git a/docs/src/content/docs/Users Guide/03.Models/03.model-format-support.mdx b/docs/src/content/docs/Users Guide/03.Models/03.model-format-support.mdx index f80f88c5c96..9179c253359 100644 --- a/docs/src/content/docs/Users Guide/03.Models/03.model-format-support.mdx +++ b/docs/src/content/docs/Users Guide/03.Models/03.model-format-support.mdx @@ -1,7 +1,7 @@ --- title: Model Format Support description: Which file formats and quantizations InvokeAI loads for every model family, text encoder, VAE and adapter. -lastUpdated: 2026-10-10 +lastUpdated: 2026-10-11 sidebar: order: 3 --- @@ -55,7 +55,7 @@ Ministral 3B encoder. Others are recognized by their layer names and fail, or mi | Encoder | Used by | Folder | Single file (bf16) | fp8 scaled | int8 | nvfp4 | GGUF | SDNQ | |---|---|---|---|---|---|---|---|---| | T5-XXL | FLUX.1, SD 3 | ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ (and bitsandbytes int8) | -| CLIP-L / CLIP-G | SD, SDXL, FLUX.1, SD 3 | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | CLIP-L inside a FLUX.1 SDNQ pipeline | +| CLIP-L / CLIP-G | SD, SDXL, FLUX.1, SD 3 | ✓ | ✓ | R | R | – | ✗ | CLIP-L inside a FLUX.1 SDNQ pipeline | | Qwen3 0.6B / 4B / 8B | Z-Image, FLUX.2 Klein, Anima | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | Qwen3-VL 4B / 8B | Krea-2, Ideogram 4 | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✗ | | Qwen3-VL 32B (truncated) | MiniMax H3 | in the Diffusers folder | ✓ | L | ✓ | L | ✗ | ✗ | @@ -67,6 +67,11 @@ Ministral 3B encoder. Others are recognized by their layer names and fail, or mi | Gemma-4 12B | LTX-2 | ✓ (bf16 or int8) | ✗ | L | in the folder | L | ✗ | ✗ | | UMT5 | Wan 2.2 | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | +The single-file CLIP builds are ComfyUI's `clip_l` and `clip_g`, as used by FLUX.1 and SD 3. SD and SDXL take their +CLIP encoders from the main model only, so a separate CLIP file does not change them. A CLIP-G file needs its +`text_projection` for SD 3 and is refused without it, as are extended-context CLIP-L variants such as Long-CLIP. +FLUX.1 takes CLIP-L only. + The Qwen3-VL GGUF encoder is the language model only; a separate `mmproj` vision file is refused, and split multi-part GGUFs have to be joined before installing. The Gemma-4 encoder installs only as a folder: its `config.json` and tokenizer files next to exactly one weight file, bf16 or int8. A standalone `.safetensors` file is diff --git a/docs/src/content/docs/Users Guide/03.Models/Local Models/sd-3.mdx b/docs/src/content/docs/Users Guide/03.Models/Local Models/sd-3.mdx index 0cdf4949972..84473f513f3 100644 --- a/docs/src/content/docs/Users Guide/03.Models/Local Models/sd-3.mdx +++ b/docs/src/content/docs/Users Guide/03.Models/Local Models/sd-3.mdx @@ -58,6 +58,9 @@ you can replace any of them with a model you have installed separately: - **CLIP G** - **VAE**: only SD3 VAEs are offered +The CLIP encoders can also be the single files ComfyUI uses, `clip_l` and `clip_g`; SD 3 then still tokenizes +with the main model's tokenizers. + ## Generation settings When you select an SD3 model, InvokeAI applies these defaults, which come from the SD3.5 Medium diff --git a/invokeai/app/invocations/flux/flux_model_loader.py b/invokeai/app/invocations/flux/flux_model_loader.py index 5133c972a79..76332d99677 100644 --- a/invokeai/app/invocations/flux/flux_model_loader.py +++ b/invokeai/app/invocations/flux/flux_model_loader.py @@ -24,7 +24,7 @@ from invokeai.backend.flux.util import get_flux_max_seq_length from invokeai.backend.model_manager.configs.base import Checkpoint_Config_Base from invokeai.backend.model_manager.configs.main import Main_SDNQ_Diffusers_FLUX_Config -from invokeai.backend.model_manager.taxonomy import BaseModelType, ModelType, SubModelType +from invokeai.backend.model_manager.taxonomy import BaseModelType, ClipVariantType, ModelType, SubModelType @invocation_output("flux_model_loader_output") @@ -73,6 +73,7 @@ class FluxModelLoaderInvocation(BaseInvocation): description=FieldDescriptions.clip_embed_model, title="CLIP Embed", ui_model_type=ModelType.CLIPEmbed, + ui_model_variant=ClipVariantType.L, ) vae_model: ModelIdentifierField | None = InputField( diff --git a/invokeai/app/invocations/sd3/sd3_model_loader.py b/invokeai/app/invocations/sd3/sd3_model_loader.py index cb5bc1c18cc..cc677e621a0 100644 --- a/invokeai/app/invocations/sd3/sd3_model_loader.py +++ b/invokeai/app/invocations/sd3/sd3_model_loader.py @@ -93,8 +93,10 @@ def invoke(self, context: InvocationContext) -> Sd3ModelLoaderOutput: else self.model.model_copy(update={"submodel_type": SubModelType.TextEncoder}) ) tokenizer_g = self.model.model_copy(update={"submodel_type": SubModelType.Tokenizer2}) + # A separately selected CLIP-G is a model of its own, whose encoder is its `TextEncoder`; `TextEncoder2` + # names CLIP-G only inside the SD 3 pipeline. clip_encoder_g = ( - self.clip_g_model.model_copy(update={"submodel_type": SubModelType.TextEncoder2}) + self.clip_g_model.model_copy(update={"submodel_type": SubModelType.TextEncoder}) if self.clip_g_model else self.model.model_copy(update={"submodel_type": SubModelType.TextEncoder2}) ) diff --git a/invokeai/app/invocations/text_encoder/flux_text_encoder.py b/invokeai/app/invocations/text_encoder/flux_text_encoder.py index fab327fe710..5c91a58c722 100644 --- a/invokeai/app/invocations/text_encoder/flux_text_encoder.py +++ b/invokeai/app/invocations/text_encoder/flux_text_encoder.py @@ -149,12 +149,17 @@ def _clip_encode(self, context: InvocationContext) -> torch.Tensor: context.models.load(self.clip.tokenizer) as clip_tokenizer, ExitStack() as exit_stack, ): - assert isinstance(clip_text_encoder, CLIPTextModel) + if not isinstance(clip_text_encoder, CLIPTextModel): + # A CLIP-G loads with its projection; FLUX.1 conditions on CLIP-L alone. + raise ValueError( + f"FLUX.1 needs a CLIP-L text encoder; '{clip_text_encoder_config.name}' is not one. " + "Select a CLIP-L encoder such as clip_l or clip-vit-large-patch14." + ) assert isinstance(clip_tokenizer, CLIPTokenizer) # Apply LoRA models to the CLIP encoder. # Note: We apply the LoRA after the transformer has been moved to its target device for faster patching. - if clip_text_encoder_config.format in [ModelFormat.Diffusers]: + if clip_text_encoder_config.format in [ModelFormat.Diffusers, ModelFormat.Checkpoint]: # The model is non-quantized, so we can apply the LoRA weights directly into the model. exit_stack.enter_context( LayerPatcher.apply_smart_model_patches( diff --git a/invokeai/app/invocations/text_encoder/sd3_text_encoder.py b/invokeai/app/invocations/text_encoder/sd3_text_encoder.py index 5cd7aaee653..d5adf1d4cc0 100644 --- a/invokeai/app/invocations/text_encoder/sd3_text_encoder.py +++ b/invokeai/app/invocations/text_encoder/sd3_text_encoder.py @@ -164,7 +164,7 @@ def _clip_encode( # Apply LoRA models to the CLIP encoder. # Note: We apply the LoRA after the transformer has been moved to its target device for faster patching. - if clip_text_encoder_config.format in [ModelFormat.Diffusers]: + if clip_text_encoder_config.format in [ModelFormat.Diffusers, ModelFormat.Checkpoint]: # The model is non-quantized, so we can apply the LoRA weights directly into the model. exit_stack.enter_context( LayerPatcher.apply_smart_model_patches( @@ -202,7 +202,12 @@ def _clip_encode( f" {tokenizer_max_length} tokens: {removed_text}" ) prompt_embeds = clip_text_encoder(input_ids=text_input_ids.to(clip_device), output_hidden_states=True) - pooled_prompt_embeds = prompt_embeds[0] + # SD 3 conditions on the projected pooled output. A separately installed CLIP-L is a plain CLIPTextModel, + # whose unprojected pooled output is the same value: SD 3's CLIP-L projection is the identity. + if isinstance(clip_text_encoder, CLIPTextModelWithProjection): + pooled_prompt_embeds = prompt_embeds.text_embeds + else: + pooled_prompt_embeds = prompt_embeds.pooler_output prompt_embeds = prompt_embeds.hidden_states[-2] return prompt_embeds, pooled_prompt_embeds diff --git a/invokeai/backend/clip/__init__.py b/invokeai/backend/clip/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/invokeai/backend/clip/clip_g_text_config.json b/invokeai/backend/clip/clip_g_text_config.json new file mode 100644 index 00000000000..ba1aa349d14 --- /dev/null +++ b/invokeai/backend/clip/clip_g_text_config.json @@ -0,0 +1,19 @@ +{ + "attention_dropout": 0.0, + "bos_token_id": 0, + "dropout": 0.0, + "eos_token_id": 2, + "hidden_act": "gelu", + "hidden_size": 1280, + "initializer_factor": 1.0, + "initializer_range": 0.02, + "intermediate_size": 5120, + "layer_norm_eps": 1e-05, + "max_position_embeddings": 77, + "model_type": "clip_text_model", + "num_attention_heads": 20, + "num_hidden_layers": 32, + "pad_token_id": 1, + "projection_dim": 1280, + "vocab_size": 49408 +} diff --git a/invokeai/backend/clip/clip_l_text_config.json b/invokeai/backend/clip/clip_l_text_config.json new file mode 100644 index 00000000000..5ed01b701f2 --- /dev/null +++ b/invokeai/backend/clip/clip_l_text_config.json @@ -0,0 +1,19 @@ +{ + "attention_dropout": 0.0, + "bos_token_id": 0, + "dropout": 0.0, + "eos_token_id": 2, + "hidden_act": "quick_gelu", + "hidden_size": 768, + "initializer_factor": 1.0, + "initializer_range": 0.02, + "intermediate_size": 3072, + "layer_norm_eps": 1e-05, + "max_position_embeddings": 77, + "model_type": "clip_text_model", + "num_attention_heads": 12, + "num_hidden_layers": 12, + "pad_token_id": 1, + "projection_dim": 768, + "vocab_size": 49408 +} diff --git a/invokeai/backend/clip/clip_text_encoder.py b/invokeai/backend/clip/clip_text_encoder.py new file mode 100644 index 00000000000..b407f592f83 --- /dev/null +++ b/invokeai/backend/clip/clip_text_encoder.py @@ -0,0 +1,40 @@ +"""Bundled tokenizer and architectures for CLIP-L and CLIP-G text encoders installed as single files. + +ComfyUI distributes the text towers SD 3 and FLUX.1 use as bare state dicts (``clip_l``, ``clip_g``) with no +config and no tokenizer. Both are fixed architectures, so their configs are vendored here rather than inferred: +CLIP-L as ``openai/clip-vit-large-patch14`` ships it, CLIP-G as SD 3's ``text_encoder_2``. The tokenizer is +``openai/clip-vit-large-patch14``'s (MIT); CLIP-G shares its vocabulary and merges byte for byte. Vocabulary and +merges are stored gzip-compressed (see ``invokeai.backend.util.bundled_tokenizer``). +""" + +import json +from functools import lru_cache +from pathlib import Path + +from transformers import CLIPTextConfig, CLIPTokenizer + +from invokeai.backend.model_manager.taxonomy import ClipVariantType +from invokeai.backend.util.bundled_tokenizer import load_gzipped_tokenizer_dir + +_PACKAGE_DIR = Path(__file__).parent + +_TEXT_CONFIG_FILES = { + ClipVariantType.L: "clip_l_text_config.json", + ClipVariantType.G: "clip_g_text_config.json", +} + + +@lru_cache(maxsize=1) +def load_bundled_clip_tokenizer() -> CLIPTokenizer: + """Load the vendored CLIP tokenizer. Result is cached for the process.""" + tokenizer = load_gzipped_tokenizer_dir(_PACKAGE_DIR / "tokenizer") + assert isinstance(tokenizer, CLIPTokenizer) + return tokenizer + + +@lru_cache(maxsize=None) +def clip_text_config(variant: ClipVariantType) -> CLIPTextConfig: + """The text tower architecture of a CLIP variant.""" + return CLIPTextConfig.from_dict( + json.loads((_PACKAGE_DIR / _TEXT_CONFIG_FILES[variant]).read_text(encoding="utf-8")) + ) diff --git a/invokeai/backend/clip/tokenizer/merges.txt.gz b/invokeai/backend/clip/tokenizer/merges.txt.gz new file mode 100644 index 00000000000..36427a1e8aa Binary files /dev/null and b/invokeai/backend/clip/tokenizer/merges.txt.gz differ diff --git a/invokeai/backend/clip/tokenizer/special_tokens_map.json b/invokeai/backend/clip/tokenizer/special_tokens_map.json new file mode 100644 index 00000000000..cf0682d6de7 --- /dev/null +++ b/invokeai/backend/clip/tokenizer/special_tokens_map.json @@ -0,0 +1,30 @@ +{ + "bos_token": { + "content": "<|startoftext|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "unk_token": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } +} diff --git a/invokeai/backend/clip/tokenizer/tokenizer_config.json b/invokeai/backend/clip/tokenizer/tokenizer_config.json new file mode 100644 index 00000000000..180a4e1be2a --- /dev/null +++ b/invokeai/backend/clip/tokenizer/tokenizer_config.json @@ -0,0 +1,30 @@ +{ + "add_prefix_space": false, + "added_tokens_decoder": { + "49406": { + "content": "<|startoftext|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": true + }, + "49407": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "bos_token": "<|startoftext|>", + "clean_up_tokenization_spaces": true, + "do_lower_case": true, + "eos_token": "<|endoftext|>", + "errors": "replace", + "model_max_length": 77, + "pad_token": "<|endoftext|>", + "tokenizer_class": "CLIPTokenizer", + "unk_token": "<|endoftext|>" +} diff --git a/invokeai/backend/clip/tokenizer/vocab.json.gz b/invokeai/backend/clip/tokenizer/vocab.json.gz new file mode 100644 index 00000000000..4c5d5260281 Binary files /dev/null and b/invokeai/backend/clip/tokenizer/vocab.json.gz differ diff --git a/invokeai/backend/model_manager/configs/base.py b/invokeai/backend/model_manager/configs/base.py index 4c70e61a7e2..72b56bb8841 100644 --- a/invokeai/backend/model_manager/configs/base.py +++ b/invokeai/backend/model_manager/configs/base.py @@ -191,7 +191,7 @@ def get_model_discriminator_value(v: Any) -> str: # Special case: CLIP Embed models also need the variant to distinguish them. if ( type_ == ModelType.CLIPEmbed.value - and format_ == ModelFormat.Diffusers.value + and format_ in (ModelFormat.Diffusers.value, ModelFormat.Checkpoint.value) and base_ == BaseModelType.Any.value ): if variant_ := v.get("variant"): diff --git a/invokeai/backend/model_manager/configs/clip_embed.py b/invokeai/backend/model_manager/configs/clip_embed.py index 0a07505612a..2c993deec82 100644 --- a/invokeai/backend/model_manager/configs/clip_embed.py +++ b/invokeai/backend/model_manager/configs/clip_embed.py @@ -1,18 +1,24 @@ +import re from typing import ( Literal, Self, ) +import torch from pydantic import Field from typing_extensions import Any -from invokeai.backend.model_manager.configs.base import Config_Base, Diffusers_Config_Base +from invokeai.backend.clip.clip_text_encoder import clip_text_config +from invokeai.backend.model_manager.configs.base import Checkpoint_Config_Base, Config_Base, Diffusers_Config_Base from invokeai.backend.model_manager.configs.identification_utils import ( + InvalidMatchError, NotAMatchError, get_config_dict_or_raise, raise_for_class_name, raise_for_override_fields, raise_if_not_dir, + raise_if_not_file, + state_dict_has_any_keys_starting_with, ) from invokeai.backend.model_manager.model_on_disk import ModelOnDisk from invokeai.backend.model_manager.taxonomy import ( @@ -90,3 +96,103 @@ class CLIPEmbed_Diffusers_G_Config(CLIPEmbed_Diffusers_Config_Base, Config_Base) class CLIPEmbed_Diffusers_L_Config(CLIPEmbed_Diffusers_Config_Base, Config_Base): variant: Literal[ClipVariantType.L] = Field(default=ClipVariantType.L) + + +_CLIP_LAYER_INDEX = re.compile(r"^text_model\.encoder\.layers\.(\d+)\.") +_FLOAT_WEIGHT_DTYPES = (torch.float16, torch.bfloat16, torch.float32) + + +class CLIPEmbed_Checkpoint_Config_Base(Checkpoint_Config_Base): + """A CLIP text encoder in a single safetensors file with transformers key names. + + This is how ComfyUI distributes the CLIP-L and CLIP-G text towers (``clip_l``, ``clip_g``): the text model's + state dict under ``text_model.``, with CLIP-G's ``text_projection`` beside it, and no config or tokenizer. + """ + + base: Literal[BaseModelType.Any] = Field(default=BaseModelType.Any) + type: Literal[ModelType.CLIPEmbed] = Field(default=ModelType.CLIPEmbed) + format: Literal[ModelFormat.Checkpoint] = Field(default=ModelFormat.Checkpoint) + cpu_only: bool | None = Field(default=None, description="Whether this model should run on CPU only") + + @classmethod + def from_model_on_disk(cls, mod: ModelOnDisk, override_fields: dict[str, Any]) -> Self: + raise_if_not_file(mod) + + raise_for_override_fields(cls, override_fields) + + if mod.path.suffix != ".safetensors": + raise NotAMatchError("not a safetensors file") + + state_dict = mod.load_state_dict() + if ( + "text_model.encoder.layers.0.self_attn.q_proj.weight" not in state_dict + or "text_model.embeddings.token_embedding.weight" not in state_dict + ): + raise NotAMatchError("state dict does not look like a transformers CLIP text encoder") + if state_dict_has_any_keys_starting_with(state_dict, "vision_model."): + raise NotAMatchError("state dict carries a vision tower; only text encoders are supported") + + expected_variant = cls.model_fields["variant"].default + recognized_variant = cls._variant_from_shapes(state_dict) + if recognized_variant is not expected_variant: + raise NotAMatchError(f"variant is {recognized_variant}, not {expected_variant}") + + # Long-CLIP has CLIP-L's width and depth but a longer position table, which the vendored architecture + # cannot take: recognised and refused, rather than registered to fail at the first generation. + config = clip_text_config(expected_variant) + positions = state_dict.get("text_model.embeddings.position_embedding.weight") + found = ( + int(positions.shape[0]) if positions is not None else 0, + int(state_dict["text_model.embeddings.token_embedding.weight"].shape[0]), + ) + if found != (config.max_position_embeddings, config.vocab_size): + raise InvalidMatchError( + f"this CLIP text encoder has {found[0]} positions and a {found[1]}-token vocabulary, where " + f"CLIP-{expected_variant.name} has {config.max_position_embeddings} and {config.vocab_size}. " + "Extended-context variants such as Long-CLIP are not supported." + ) + + # SD 3 conditions on CLIP-G's projected pooled output, which a file without the projection cannot give. + if expected_variant is ClipVariantType.G and "text_projection.weight" not in state_dict: + raise InvalidMatchError( + "this CLIP-G text encoder has no text_projection, which SD 3 needs. Install a CLIP-G that includes it, " + "such as the clip_g.safetensors Stability AI and Comfy-Org distribute." + ) + + quantized = sorted( + key + for key, value in state_dict.items() + if isinstance(key, str) + and key.endswith(".weight") + and getattr(value, "dtype", None) not in _FLOAT_WEIGHT_DTYPES + ) + if quantized: + raise InvalidMatchError( + f"this CLIP text encoder carries {len(quantized)} quantized weight(s) (e.g. '{quantized[0]}'), " + "which are not supported. Install the fp16 build." + ) + + return cls(**override_fields) + + @staticmethod + def _variant_from_shapes(state_dict: dict[str | int, Any]) -> ClipVariantType | None: + """The variant whose width and depth the file has, or None for any other CLIP text tower.""" + width = int(state_dict["text_model.embeddings.token_embedding.weight"].shape[1]) + depth = 1 + max( + int(match.group(1)) + for key in state_dict + if isinstance(key, str) and (match := _CLIP_LAYER_INDEX.match(key)) + ) + for variant in (ClipVariantType.L, ClipVariantType.G): + config = clip_text_config(variant) + if (width, depth) == (config.hidden_size, config.num_hidden_layers): + return variant + return None + + +class CLIPEmbed_Checkpoint_G_Config(CLIPEmbed_Checkpoint_Config_Base, Config_Base): + variant: Literal[ClipVariantType.G] = Field(default=ClipVariantType.G) + + +class CLIPEmbed_Checkpoint_L_Config(CLIPEmbed_Checkpoint_Config_Base, Config_Base): + variant: Literal[ClipVariantType.L] = Field(default=ClipVariantType.L) diff --git a/invokeai/backend/model_manager/configs/factory.py b/invokeai/backend/model_manager/configs/factory.py index 9805cd34ef5..ee0acb001fe 100644 --- a/invokeai/backend/model_manager/configs/factory.py +++ b/invokeai/backend/model_manager/configs/factory.py @@ -15,7 +15,12 @@ from invokeai.backend.architectures import resolve_default_settings from invokeai.backend.model_hash.model_hash import HASHING_ALGORITHMS from invokeai.backend.model_manager.configs.base import Config_Base -from invokeai.backend.model_manager.configs.clip_embed import CLIPEmbed_Diffusers_G_Config, CLIPEmbed_Diffusers_L_Config +from invokeai.backend.model_manager.configs.clip_embed import ( + CLIPEmbed_Checkpoint_G_Config, + CLIPEmbed_Checkpoint_L_Config, + CLIPEmbed_Diffusers_G_Config, + CLIPEmbed_Diffusers_L_Config, +) from invokeai.backend.model_manager.configs.clip_vision import CLIPVision_Diffusers_Config from invokeai.backend.model_manager.configs.controlnet import ( ControlAdapterDefaultSettings, @@ -587,6 +592,8 @@ def has_model_export(module: Any, name: Any, expected_bases: tuple[type, ...]) - Annotated[Spandrel_Checkpoint_Config, Spandrel_Checkpoint_Config.get_tag()], Annotated[CLIPEmbed_Diffusers_G_Config, CLIPEmbed_Diffusers_G_Config.get_tag()], Annotated[CLIPEmbed_Diffusers_L_Config, CLIPEmbed_Diffusers_L_Config.get_tag()], + Annotated[CLIPEmbed_Checkpoint_G_Config, CLIPEmbed_Checkpoint_G_Config.get_tag()], + Annotated[CLIPEmbed_Checkpoint_L_Config, CLIPEmbed_Checkpoint_L_Config.get_tag()], Annotated[CLIPVision_Diffusers_Config, CLIPVision_Diffusers_Config.get_tag()], Annotated[SigLIP_Diffusers_Config, SigLIP_Diffusers_Config.get_tag()], Annotated[FLUXRedux_Checkpoint_Config, FLUXRedux_Checkpoint_Config.get_tag()], diff --git a/invokeai/backend/model_manager/load/model_loaders/flux.py b/invokeai/backend/model_manager/load/model_loaders/flux.py index efd233e425a..b26e4e12a4d 100644 --- a/invokeai/backend/model_manager/load/model_loaders/flux.py +++ b/invokeai/backend/model_manager/load/model_loaders/flux.py @@ -11,12 +11,14 @@ AutoConfig, AutoModelForTextEncoding, CLIPTextModel, + CLIPTextModelWithProjection, CLIPTokenizer, T5EncoderModel, T5Tokenizer, ) from invokeai.app.services.config.config_default import get_config +from invokeai.backend.clip.clip_text_encoder import clip_text_config, load_bundled_clip_tokenizer from invokeai.backend.flux.controlnet.instantx_controlnet_flux import InstantXControlNetFlux from invokeai.backend.flux.controlnet.state_dict_utils import ( convert_diffusers_instantx_state_dict_to_bfl_format, @@ -35,7 +37,10 @@ from invokeai.backend.flux.util import get_flux_transformers_params, get_flux_vae_diffusers_config from invokeai.backend.model_manager.checkpoint_prefix import CheckpointPrefix from invokeai.backend.model_manager.configs.base import Checkpoint_Config_Base, Diffusers_Config_Base -from invokeai.backend.model_manager.configs.clip_embed import CLIPEmbed_Diffusers_Config_Base +from invokeai.backend.model_manager.configs.clip_embed import ( + CLIPEmbed_Checkpoint_Config_Base, + CLIPEmbed_Diffusers_Config_Base, +) from invokeai.backend.model_manager.configs.controlnet import ( ControlNet_Checkpoint_Config_Base, ControlNet_Diffusers_Config_Base, @@ -76,6 +81,7 @@ from invokeai.backend.model_manager.taxonomy import ( AnyModel, BaseModelType, + ClipVariantType, FluxVariantType, ModelFormat, ModelType, @@ -336,12 +342,86 @@ def _load_model( case SubModelType.Tokenizer: return CLIPTokenizer.from_pretrained(Path(config.path) / "tokenizer", local_files_only=True) case SubModelType.TextEncoder: - return CLIPTextModel.from_pretrained(Path(config.path) / "text_encoder", local_files_only=True) + encoder_path = Path(config.path) / "text_encoder" + if config.variant is not ClipVariantType.G: + return CLIPTextModel.from_pretrained(encoder_path, local_files_only=True) + # SD 3 conditions on CLIP-G's projected pooled output, so the projection is loaded too, and a folder + # without one is refused: transformers would initialize it at random and only warn. + model, loading_info = CLIPTextModelWithProjection.from_pretrained( + encoder_path, local_files_only=True, output_loading_info=True + ) + if "text_projection.weight" in loading_info["missing_keys"]: + raise ValueError( + f"The CLIP-G text encoder '{config.name}' has no text_projection, which SD 3 needs." + ) + return model + + raise ValueError( + f"Only Tokenizer and TextEncoder submodels are currently supported. Received: {submodel_type.value if submodel_type else 'None'}" + ) + + +@ModelLoaderRegistry.register(base=BaseModelType.Any, type=ModelType.CLIPEmbed, format=ModelFormat.Checkpoint) +class CLIPSingleFileLoader(ModelLoader): + """Load a CLIP-L or CLIP-G text encoder from one safetensors file with transformers key names. + + CLIP-L is built as a ``CLIPTextModel``, which FLUX.1 requires; SD 3 reads its unprojected pooled output, the same + value as SD 3's identity projection gives. CLIP-G is built with its projection, which SD 3 conditions on. + """ + + def get_size_fs( + self, config: AnyModelConfig, model_path: Path, submodel_type: Optional[SubModelType] = None + ) -> int: + # The tokenizer is bundled, not read from the file. + if submodel_type is SubModelType.Tokenizer: + return 0 + return super().get_size_fs(config, model_path, submodel_type) + + def _load_model( + self, + config: AnyModelConfig, + submodel_type: Optional[SubModelType] = None, + ) -> AnyModel: + if not isinstance(config, CLIPEmbed_Checkpoint_Config_Base): + raise ValueError("Only CLIPEmbed_Checkpoint configs are supported here.") + + match submodel_type: + case SubModelType.Tokenizer: + return load_bundled_clip_tokenizer() + case SubModelType.TextEncoder: + return self._load_text_encoder(config) raise ValueError( f"Only Tokenizer and TextEncoder submodels are currently supported. Received: {submodel_type.value if submodel_type else 'None'}" ) + def _load_text_encoder(self, config: CLIPEmbed_Checkpoint_Config_Base) -> AnyModel: + sd = load_file(Path(config.path)) + text_config = clip_text_config(config.variant) + model: CLIPTextModel | CLIPTextModelWithProjection + with accelerate.init_empty_weights(): + if config.variant is ClipVariantType.G: + model = CLIPTextModelWithProjection(text_config) + else: + model = CLIPTextModel(text_config) + # transformers >=5.6 flattened CLIPTextModel, dropping the `text_model.` prefix the file carries. + sd = {key.removeprefix("text_model."): value for key, value in sd.items()} + + reserve_for_load( + self._ram_cache.make_room, + sd, + self._torch_dtype, + keep_fp8=False, + model=model, + fp8_layers={}, + nvfp4_payloads={}, + ) + cast_state_dict(sd, self._torch_dtype, keep_fp8=False) + # Ignored: `logit_scale` and a CLIP-L projection, which belong to the full CLIP model, and the persistent + # `position_ids` older exports carry. + load_state_dict_ignoring_extras(model, sd, source=f"single-file CLIP-{config.variant.name}", assign=True) + return model + @ModelLoaderRegistry.register(base=BaseModelType.Any, type=ModelType.T5Encoder, format=ModelFormat.BnbQuantizedLlmInt8b) class BnbQuantizedLlmInt8bCheckpointModel(ModelLoader): diff --git a/invokeai/frontend/api/openapi.json b/invokeai/frontend/api/openapi.json index 0d589f02b49..96228879a18 100644 --- a/invokeai/frontend/api/openapi.json +++ b/invokeai/frontend/api/openapi.json @@ -1781,6 +1781,12 @@ { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_L_Config" + }, { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, @@ -2257,6 +2263,12 @@ { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_L_Config" + }, { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, @@ -2733,6 +2745,12 @@ { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_L_Config" + }, { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, @@ -3254,6 +3272,12 @@ { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_L_Config" + }, { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, @@ -3802,6 +3826,12 @@ { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_L_Config" + }, { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, @@ -5222,6 +5252,12 @@ { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_L_Config" + }, { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, @@ -19785,6 +19821,12 @@ { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_L_Config" + }, { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, @@ -22596,6 +22638,316 @@ "title": "BulkReidentifyModelsResponse", "description": "Response body for bulk model reidentification." }, + "CLIPEmbed_Checkpoint_G_Config": { + "properties": { + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, + "source_api_response": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "source_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Url", + "description": "Optional URL for the model (e.g. download page or model page)." + }, + "cover_image": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "config_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "base": { + "type": "string", + "const": "any", + "title": "Base", + "default": "any" + }, + "type": { + "type": "string", + "const": "clip_embed", + "title": "Type", + "default": "clip_embed" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "cpu_only": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Cpu Only", + "description": "Whether this model should run on CPU only" + }, + "variant": { + "type": "string", + "const": "gigantic", + "title": "Variant", + "default": "gigantic" + } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "source_url", + "cover_image", + "config_path", + "base", + "type", + "format", + "cpu_only", + "variant" + ], + "title": "CLIPEmbed_Checkpoint_G_Config" + }, + "CLIPEmbed_Checkpoint_L_Config": { + "properties": { + "key": { + "type": "string", + "title": "Key", + "description": "A unique key for this model." + }, + "hash": { + "type": "string", + "title": "Hash", + "description": "The hash of the model file(s)." + }, + "path": { + "type": "string", + "title": "Path", + "description": "Path to the model on the filesystem. Relative paths are relative to the Invoke root directory." + }, + "file_size": { + "type": "integer", + "title": "File Size", + "description": "The size of the model in bytes." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Name of the model." + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description", + "description": "Model description" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The original source of the model (path, URL or repo_id)." + }, + "source_type": { + "$ref": "#/components/schemas/ModelSourceType", + "description": "The type of source" + }, + "source_api_response": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Api Response", + "description": "The original API response from the source, as stringified JSON." + }, + "source_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Url", + "description": "Optional URL for the model (e.g. download page or model page)." + }, + "cover_image": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Cover Image", + "description": "Url for image to preview model" + }, + "config_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Config Path", + "description": "Path to the config for this model, if any." + }, + "base": { + "type": "string", + "const": "any", + "title": "Base", + "default": "any" + }, + "type": { + "type": "string", + "const": "clip_embed", + "title": "Type", + "default": "clip_embed" + }, + "format": { + "type": "string", + "const": "checkpoint", + "title": "Format", + "default": "checkpoint" + }, + "cpu_only": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Cpu Only", + "description": "Whether this model should run on CPU only" + }, + "variant": { + "type": "string", + "const": "large", + "title": "Variant", + "default": "large" + } + }, + "type": "object", + "required": [ + "key", + "hash", + "path", + "file_size", + "name", + "description", + "source", + "source_type", + "source_api_response", + "source_url", + "cover_image", + "config_path", + "base", + "type", + "format", + "cpu_only", + "variant" + ], + "title": "CLIPEmbed_Checkpoint_L_Config" + }, "CLIPEmbed_Diffusers_G_Config": { "properties": { "key": { @@ -39295,7 +39647,8 @@ "orig_default": null, "orig_required": false, "title": "CLIP Embed", - "ui_model_type": ["clip_embed"] + "ui_model_type": ["clip_embed"], + "ui_model_variant": ["large"] }, "vae_model": { "anyOf": [ @@ -85354,6 +85707,12 @@ { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_L_Config" + }, { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, @@ -86076,6 +86435,12 @@ { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_L_Config" + }, { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, @@ -86683,6 +87048,12 @@ { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_L_Config" + }, { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, @@ -87146,6 +87517,12 @@ { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_L_Config" + }, { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, @@ -88099,6 +88476,12 @@ { "$ref": "#/components/schemas/CLIPEmbed_Diffusers_L_Config" }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_G_Config" + }, + { + "$ref": "#/components/schemas/CLIPEmbed_Checkpoint_L_Config" + }, { "$ref": "#/components/schemas/CLIPVision_Diffusers_Config" }, diff --git a/invokeai/frontend/api/schema.ts b/invokeai/frontend/api/schema.ts index 03d8f34e719..0763c3b4667 100644 --- a/invokeai/frontend/api/schema.ts +++ b/invokeai/frontend/api/schema.ts @@ -5508,7 +5508,7 @@ export type components = { * @enum {string} */ AnimaVariantType: "anima_qwen3" | "anima_qwen35"; - AnyModelConfig: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; + AnyModelConfig: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_G_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; /** * AppVersion * @description App Version Response @@ -7068,6 +7068,184 @@ export type components = { [key: string]: unknown; }[]; }; + /** CLIPEmbed_Checkpoint_G_Config */ + CLIPEmbed_Checkpoint_G_Config: { + /** + * Key + * @description A unique key for this model. + */ + key: string; + /** + * Hash + * @description The hash of the model file(s). + */ + hash: string; + /** + * Path + * @description Path to the model on the filesystem. Relative paths are relative to the Invoke root directory. + */ + path: string; + /** + * File Size + * @description The size of the model in bytes. + */ + file_size: number; + /** + * Name + * @description Name of the model. + */ + name: string; + /** + * Description + * @description Model description + */ + description: string | null; + /** + * Source + * @description The original source of the model (path, URL or repo_id). + */ + source: string; + /** @description The type of source */ + source_type: components["schemas"]["ModelSourceType"]; + /** + * Source Api Response + * @description The original API response from the source, as stringified JSON. + */ + source_api_response: string | null; + /** + * Source Url + * @description Optional URL for the model (e.g. download page or model page). + */ + source_url: string | null; + /** + * Cover Image + * @description Url for image to preview model + */ + cover_image: string | null; + /** + * Config Path + * @description Path to the config for this model, if any. + */ + config_path: string | null; + /** + * Base + * @default any + * @constant + */ + base: "any"; + /** + * Type + * @default clip_embed + * @constant + */ + type: "clip_embed"; + /** + * Format + * @default checkpoint + * @constant + */ + format: "checkpoint"; + /** + * Cpu Only + * @description Whether this model should run on CPU only + */ + cpu_only: boolean | null; + /** + * Variant + * @default gigantic + * @constant + */ + variant: "gigantic"; + }; + /** CLIPEmbed_Checkpoint_L_Config */ + CLIPEmbed_Checkpoint_L_Config: { + /** + * Key + * @description A unique key for this model. + */ + key: string; + /** + * Hash + * @description The hash of the model file(s). + */ + hash: string; + /** + * Path + * @description Path to the model on the filesystem. Relative paths are relative to the Invoke root directory. + */ + path: string; + /** + * File Size + * @description The size of the model in bytes. + */ + file_size: number; + /** + * Name + * @description Name of the model. + */ + name: string; + /** + * Description + * @description Model description + */ + description: string | null; + /** + * Source + * @description The original source of the model (path, URL or repo_id). + */ + source: string; + /** @description The type of source */ + source_type: components["schemas"]["ModelSourceType"]; + /** + * Source Api Response + * @description The original API response from the source, as stringified JSON. + */ + source_api_response: string | null; + /** + * Source Url + * @description Optional URL for the model (e.g. download page or model page). + */ + source_url: string | null; + /** + * Cover Image + * @description Url for image to preview model + */ + cover_image: string | null; + /** + * Config Path + * @description Path to the config for this model, if any. + */ + config_path: string | null; + /** + * Base + * @default any + * @constant + */ + base: "any"; + /** + * Type + * @default clip_embed + * @constant + */ + type: "clip_embed"; + /** + * Format + * @default checkpoint + * @constant + */ + format: "checkpoint"; + /** + * Cpu Only + * @description Whether this model should run on CPU only + */ + cpu_only: boolean | null; + /** + * Variant + * @default large + * @constant + */ + variant: "large"; + }; /** CLIPEmbed_Diffusers_G_Config */ CLIPEmbed_Diffusers_G_Config: { /** @@ -36753,7 +36931,7 @@ export type components = { * Config * @description The installed model's config */ - config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; + config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_G_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; }; /** * ModelInstallDownloadProgressEvent @@ -36919,7 +37097,7 @@ export type components = { * Config Out * @description After successful installation, this will hold the configuration object. */ - config_out?: (components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]) | null; + config_out?: (components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_G_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]) | null; /** * Inplace * @description Leave model in its current location; otherwise install under models directory @@ -37005,7 +37183,7 @@ export type components = { * Config * @description The model's config */ - config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; + config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_G_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; /** * @description The submodel type, if any * @default null @@ -37032,7 +37210,7 @@ export type components = { * Config * @description The model's config */ - config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; + config: components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_G_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; /** * @description The submodel type, if any * @default null @@ -37259,7 +37437,7 @@ export type components = { */ ModelsList: { /** Models */ - models: (components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"])[]; + models: (components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_G_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"])[]; }; /** * Multiply Integers @@ -53153,7 +53331,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_G_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Validation Error */ @@ -53185,7 +53363,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_G_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Validation Error */ @@ -53237,7 +53415,7 @@ export interface operations { * "upcast_attention": false * } */ - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_G_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Bad request */ @@ -53351,7 +53529,7 @@ export interface operations { * "upcast_attention": false * } */ - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_G_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Bad request */ @@ -53424,7 +53602,7 @@ export interface operations { * "upcast_attention": false * } */ - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_G_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Bad request */ @@ -54225,7 +54403,7 @@ export interface operations { * "upcast_attention": false * } */ - "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; + "application/json": components["schemas"]["Main_Diffusers_SD1_Config"] | components["schemas"]["Main_Diffusers_SD2_Config"] | components["schemas"]["Main_Diffusers_SDXL_Config"] | components["schemas"]["Main_Diffusers_SDXLRefiner_Config"] | components["schemas"]["Main_Diffusers_SD3_Config"] | components["schemas"]["Main_Diffusers_FLUX_Config"] | components["schemas"]["Main_Diffusers_Flux2_Config"] | components["schemas"]["Main_Diffusers_CogView4_Config"] | components["schemas"]["Main_Diffusers_QwenImage_Config"] | components["schemas"]["Main_Diffusers_Wan_Config"] | components["schemas"]["Main_Diffusers_ZImage_Config"] | components["schemas"]["Main_Diffusers_ErnieImage_Config"] | components["schemas"]["Main_Diffusers_Ideogram4_Config"] | components["schemas"]["Main_Diffusers_Krea2_Config"] | components["schemas"]["Main_Diffusers_MiniMaxH3_Config"] | components["schemas"]["Main_Diffusers_LTX2_Config"] | components["schemas"]["Main_Checkpoint_SD1_Config"] | components["schemas"]["Main_Checkpoint_SD2_Config"] | components["schemas"]["Main_Checkpoint_SDXL_Config"] | components["schemas"]["Main_Checkpoint_SDXLRefiner_Config"] | components["schemas"]["Main_Checkpoint_Flux2_Config"] | components["schemas"]["Main_Checkpoint_FLUX_Config"] | components["schemas"]["Main_Checkpoint_QwenImage_Config"] | components["schemas"]["Main_Checkpoint_Wan_Config"] | components["schemas"]["Main_Checkpoint_ZImage_Config"] | components["schemas"]["Main_Checkpoint_ErnieImage_Config"] | components["schemas"]["Main_Checkpoint_Ideogram4_Config"] | components["schemas"]["Main_Checkpoint_Krea2_Config"] | components["schemas"]["Main_Checkpoint_Anima_Config"] | components["schemas"]["Main_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Main_Checkpoint_LTX2_Config"] | components["schemas"]["Main_BnBNF4_FLUX_Config"] | components["schemas"]["Main_GGUF_Flux2_Config"] | components["schemas"]["Main_GGUF_FLUX_Config"] | components["schemas"]["Main_GGUF_QwenImage_Config"] | components["schemas"]["Main_GGUF_Wan_Config"] | components["schemas"]["Main_GGUF_ZImage_Config"] | components["schemas"]["Main_GGUF_Krea2_Config"] | components["schemas"]["Main_GGUF_Ideogram4_Config"] | components["schemas"]["Main_GGUF_ErnieImage_Config"] | components["schemas"]["Main_SDNQ_Diffusers_Flux2_Config"] | components["schemas"]["Main_SDNQ_Diffusers_FLUX_Config"] | components["schemas"]["Main_SDNQ_Diffusers_ZImage_Config"] | components["schemas"]["VAE_Checkpoint_SD1_Config"] | components["schemas"]["VAE_Checkpoint_SD2_Config"] | components["schemas"]["VAE_Checkpoint_SDXL_Config"] | components["schemas"]["VAE_Checkpoint_FLUX_Config"] | components["schemas"]["VAE_Checkpoint_SD3_Config"] | components["schemas"]["VAE_Checkpoint_Flux2_Config"] | components["schemas"]["VAE_Checkpoint_Wan_Config"] | components["schemas"]["VAE_Checkpoint_QwenImage_Config"] | components["schemas"]["VAE_Checkpoint_Anima_Config"] | components["schemas"]["VAE_Diffusers_SD1_Config"] | components["schemas"]["VAE_Diffusers_SDXL_Config"] | components["schemas"]["VAE_Diffusers_FLUX_Config"] | components["schemas"]["VAE_Diffusers_SD3_Config"] | components["schemas"]["VAE_Diffusers_Flux2_Config"] | components["schemas"]["VAE_Diffusers_Wan_Config"] | components["schemas"]["PiDDecoder_Checkpoint_FLUX_Config"] | components["schemas"]["PiDDecoder_Checkpoint_Flux2_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SD3_Config"] | components["schemas"]["PiDDecoder_Checkpoint_SDXL_Config"] | components["schemas"]["PiDDecoder_Checkpoint_QwenImage_Config"] | components["schemas"]["ControlNet_Checkpoint_SD1_Config"] | components["schemas"]["ControlNet_Checkpoint_SD2_Config"] | components["schemas"]["ControlNet_Checkpoint_SDXL_Config"] | components["schemas"]["ControlNet_Checkpoint_FLUX_Config"] | components["schemas"]["ControlNet_Checkpoint_ZImage_Config"] | components["schemas"]["ControlNet_Checkpoint_Anima_Config"] | components["schemas"]["ControlNet_Diffusers_SD1_Config"] | components["schemas"]["ControlNet_Diffusers_SD2_Config"] | components["schemas"]["ControlNet_Diffusers_SDXL_Config"] | components["schemas"]["ControlNet_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_SD1_Config"] | components["schemas"]["LoRA_LyCORIS_SD2_Config"] | components["schemas"]["LoRA_LyCORIS_SDXL_Config"] | components["schemas"]["LoRA_LyCORIS_Flux2_Config"] | components["schemas"]["LoRA_LyCORIS_FLUX_Config"] | components["schemas"]["LoRA_LyCORIS_ZImage_Config"] | components["schemas"]["LoRA_LyCORIS_Krea2_Config"] | components["schemas"]["LoRA_LyCORIS_QwenImage_Config"] | components["schemas"]["LoRA_LyCORIS_LTX2_Config"] | components["schemas"]["LoRA_LyCORIS_MiniMaxH3_Config"] | components["schemas"]["LoRA_LyCORIS_Wan_Config"] | components["schemas"]["LoRA_LyCORIS_Anima_Config"] | components["schemas"]["LoRA_OMI_SDXL_Config"] | components["schemas"]["LoRA_OMI_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_SD1_Config"] | components["schemas"]["LoRA_Diffusers_SD2_Config"] | components["schemas"]["LoRA_Diffusers_SDXL_Config"] | components["schemas"]["LoRA_Diffusers_Flux2_Config"] | components["schemas"]["LoRA_Diffusers_FLUX_Config"] | components["schemas"]["LoRA_Diffusers_ZImage_Config"] | components["schemas"]["ControlLoRA_LyCORIS_FLUX_Config"] | components["schemas"]["T5Encoder_T5Encoder_Config"] | components["schemas"]["T5Encoder_BnBLLMint8_Config"] | components["schemas"]["T5Encoder_SDNQ_Config"] | components["schemas"]["T5Encoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_MiniMaxH3_Config"] | components["schemas"]["Qwen3VLEncoder_Checkpoint_Config"] | components["schemas"]["Qwen3VLEncoder_GGUF_Config"] | components["schemas"]["Qwen3VLEncoder_Qwen3VLEncoder_Config"] | components["schemas"]["Qwen35Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_Qwen3Encoder_Config"] | components["schemas"]["Qwen3Encoder_Checkpoint_Config"] | components["schemas"]["Qwen3Encoder_GGUF_Config"] | components["schemas"]["Qwen3Encoder_SDNQ_Folder_Config"] | components["schemas"]["MistralEncoder_Diffusers_Config"] | components["schemas"]["MistralEncoder_Checkpoint_Config"] | components["schemas"]["MistralEncoder_GGUF_Config"] | components["schemas"]["Gemma2Encoder_Gemma2Encoder_Config"] | components["schemas"]["Gemma4Encoder_Gemma4Encoder_LTX2_Config"] | components["schemas"]["Gemma2Encoder_GGUF_Config"] | components["schemas"]["QwenVLEncoder_Diffusers_Config"] | components["schemas"]["QwenVLEncoder_Checkpoint_Config"] | components["schemas"]["WanT5Encoder_WanT5Encoder_Config"] | components["schemas"]["TI_File_SD1_Config"] | components["schemas"]["TI_File_SD2_Config"] | components["schemas"]["TI_File_SDXL_Config"] | components["schemas"]["TI_Folder_SD1_Config"] | components["schemas"]["TI_Folder_SD2_Config"] | components["schemas"]["TI_Folder_SDXL_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD1_Config"] | components["schemas"]["IPAdapter_InvokeAI_SD2_Config"] | components["schemas"]["IPAdapter_InvokeAI_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD1_Config"] | components["schemas"]["IPAdapter_Checkpoint_SD2_Config"] | components["schemas"]["IPAdapter_Checkpoint_SDXL_Config"] | components["schemas"]["IPAdapter_Checkpoint_FLUX_Config"] | components["schemas"]["T2IAdapter_Diffusers_SD1_Config"] | components["schemas"]["T2IAdapter_Diffusers_SDXL_Config"] | components["schemas"]["Spandrel_Checkpoint_Config"] | components["schemas"]["CLIPEmbed_Diffusers_G_Config"] | components["schemas"]["CLIPEmbed_Diffusers_L_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_G_Config"] | components["schemas"]["CLIPEmbed_Checkpoint_L_Config"] | components["schemas"]["CLIPVision_Diffusers_Config"] | components["schemas"]["SigLIP_Diffusers_Config"] | components["schemas"]["FLUXRedux_Checkpoint_Config"] | components["schemas"]["LTX2DurationHead_Checkpoint_Config"] | components["schemas"]["LlavaOnevision_Diffusers_Config"] | components["schemas"]["TextLLM_Diffusers_Config"] | components["schemas"]["ExternalApiModelConfig"] | components["schemas"]["Unknown_Config"]; }; }; /** @description Bad request */ diff --git a/invokeai/frontend/webv2/src/features/generation/core/baseGenerationPolicies.test.ts b/invokeai/frontend/webv2/src/features/generation/core/baseGenerationPolicies.test.ts index 68d069e8e72..b02cfcf43d9 100644 --- a/invokeai/frontend/webv2/src/features/generation/core/baseGenerationPolicies.test.ts +++ b/invokeai/frontend/webv2/src/features/generation/core/baseGenerationPolicies.test.ts @@ -53,7 +53,13 @@ const createSettings = (model: GenerateModelConfig, overrides: Partial { ).toEqual([]); }); + it('offers FLUX.1 only CLIP-L encoders, the one its text encoder runs', () => { + const model = createModel('flux'); + const settings = createSettings(model); + const clipFilter = getComponentSectionPolicy(model, settings).slots.find( + (slot) => slot.key === 'clipEmbedModel' + )?.filter; + const ctx = { model, selectedComponents: { ...settings }, settings }; + const clipG = { ...clipEmbed, key: 'clip-g', variant: 'gigantic' }; + + expect(clipFilter?.(clipEmbed as GenerateModelConfig, ctx)).toBe(true); + expect(clipFilter?.(clipG as GenerateModelConfig, ctx)).toBe(false); + }); + it('offers complete SDNQ Z-Image pipelines as component sources but rejects partial folders', () => { const model = createModel('z-image', { format: 'checkpoint' }); const settings = createSettings(model); diff --git a/invokeai/frontend/webv2/src/features/generation/core/baseGenerationPolicies.ts b/invokeai/frontend/webv2/src/features/generation/core/baseGenerationPolicies.ts index e3e849062f2..1119d78feab 100644 --- a/invokeai/frontend/webv2/src/features/generation/core/baseGenerationPolicies.ts +++ b/invokeai/frontend/webv2/src/features/generation/core/baseGenerationPolicies.ts @@ -615,7 +615,8 @@ const clipEmbedSlot = (helpText: string): ComponentSlotPolicy => modelTypes: TYPE_CLIP_EMBED, valueKind: 'component', helpText, - filter: (candidate) => candidate.type === 'clip_embed', + // FLUX.1 encodes with CLIP-L; a CLIP-G fails its text encoder. + filter: wrapFilter(isClipVariant('large')), }); const qwenVlEncoderSlot = (helpText: string): ComponentSlotPolicy => diff --git a/invokeai/frontend/webv2/src/features/generation/core/canvas/compileCanvasGraph.test.ts b/invokeai/frontend/webv2/src/features/generation/core/canvas/compileCanvasGraph.test.ts index f0c5d3d695a..173df0c1d99 100644 --- a/invokeai/frontend/webv2/src/features/generation/core/canvas/compileCanvasGraph.test.ts +++ b/invokeai/frontend/webv2/src/features/generation/core/canvas/compileCanvasGraph.test.ts @@ -71,7 +71,13 @@ const externalModel: GenerateModelConfig = { const fluxVae: VaeModelConfig = { base: 'flux', key: 'flux-vae', name: 'FLUX VAE', type: 'vae' }; const qwenImageVae: VaeModelConfig = { base: 'qwen-image', key: 'qwen-vae', name: 'Qwen VAE', type: 'vae' }; const t5Encoder: ComponentModelConfig = { base: 'any', key: 't5', name: 'T5 Encoder', type: 't5_encoder' }; -const clipEmbed: ComponentModelConfig = { base: 'any', key: 'clip', name: 'CLIP Embed', type: 'clip_embed' }; +const clipEmbed: ComponentModelConfig = { + base: 'any', + key: 'clip', + name: 'CLIP Embed', + type: 'clip_embed', + variant: 'large', +}; const qwen3Encoder: ComponentModelConfig = { base: 'any', key: 'qwen3', diff --git a/invokeai/frontend/webv2/src/features/generation/core/graph.test.ts b/invokeai/frontend/webv2/src/features/generation/core/graph.test.ts index 789d05819c4..4ba5c25d044 100644 --- a/invokeai/frontend/webv2/src/features/generation/core/graph.test.ts +++ b/invokeai/frontend/webv2/src/features/generation/core/graph.test.ts @@ -120,7 +120,13 @@ const fluxVae: VaeModelConfig = { base: 'flux', key: 'flux-vae', name: 'FLUX VAE const flux2Vae: VaeModelConfig = { base: 'flux2', key: 'flux2-vae', name: 'FLUX.2 VAE', type: 'vae' }; const qwenImageVae: VaeModelConfig = { base: 'qwen-image', key: 'qwen-vae', name: 'Qwen VAE', type: 'vae' }; const t5Encoder: ComponentModelConfig = { base: 'any', key: 't5', name: 'T5 Encoder', type: 't5_encoder' }; -const clipEmbed: ComponentModelConfig = { base: 'any', key: 'clip', name: 'CLIP Embed', type: 'clip_embed' }; +const clipEmbed: ComponentModelConfig = { + base: 'any', + key: 'clip', + name: 'CLIP Embed', + type: 'clip_embed', + variant: 'large', +}; const mistralEncoder: ComponentModelConfig = { base: 'any', key: 'mistral', diff --git a/invokeai/frontend/webv2/src/features/generation/core/settings.test.ts b/invokeai/frontend/webv2/src/features/generation/core/settings.test.ts index bd621bc83ae..a2f1701dec9 100644 --- a/invokeai/frontend/webv2/src/features/generation/core/settings.test.ts +++ b/invokeai/frontend/webv2/src/features/generation/core/settings.test.ts @@ -327,7 +327,7 @@ describe('Generate widget value snapshots', () => { const lora: LoraModelConfig = { base: 'flux2', key: 'lora', name: 'Old LoRA', type: 'lora' }; const values: GenerateWidgetValues = { ...(normalizeGenerateSettings(legacyStoredValues) as NonNullable>), - clipEmbedModel: { base: 'any', key: 'clip', name: 'CLIP', type: 'clip_embed' }, + clipEmbedModel: { base: 'any', key: 'clip', name: 'CLIP', type: 'clip_embed', variant: 'large' }, componentSourceModel: model, loras: [{ isEnabled: true, model: lora, weight: 0.5 }], mistralEncoderModel: mistral, diff --git a/invokeai/frontend/webv2/src/features/upscale/core/graph.test.ts b/invokeai/frontend/webv2/src/features/upscale/core/graph.test.ts index 76258d1e8e2..c6c09f655bf 100644 --- a/invokeai/frontend/webv2/src/features/upscale/core/graph.test.ts +++ b/invokeai/frontend/webv2/src/features/upscale/core/graph.test.ts @@ -18,6 +18,8 @@ const model = (key: string, type: string, base: string, name = key): ModelConfig source: key, source_type: 'path', type, + // Every installed CLIP Embed carries its variant; FLUX.1 takes only CLIP-L. + ...(type === 'clip_embed' ? { variant: 'large' } : {}), }); const createValues = (base: 'sd-1' | 'sdxl') => { diff --git a/invokeai/frontend/webv2/src/features/upscale/core/settings.test.ts b/invokeai/frontend/webv2/src/features/upscale/core/settings.test.ts index db863226b68..85e46b9dd27 100644 --- a/invokeai/frontend/webv2/src/features/upscale/core/settings.test.ts +++ b/invokeai/frontend/webv2/src/features/upscale/core/settings.test.ts @@ -30,6 +30,8 @@ const model = (key: string, type: string, base: string, name = key): ModelConfig source: key, source_type: 'path', type, + // Every installed CLIP Embed carries its variant; FLUX.1 takes only CLIP-L. + ...(type === 'clip_embed' ? { variant: 'large' } : {}), }); const MODELS = [ @@ -143,6 +145,25 @@ describe('architecture-driven validation', () => { expect(values.tileControlnetModel).toBeNull(); }); + it('gives FLUX.1 a CLIP-L and never a CLIP-G, which its text encoder cannot run', () => { + // A ComfyUI text_encoders folder installs both; whichever sorts first must not decide. + const clipG = { ...model('clip-g', 'clip_embed', 'any'), variant: 'gigantic' } as ModelConfig; + const installed = [ + clipG, + model('main', 'main', 'flux'), + model('spandrel', 'spandrel_image_to_image', 'any'), + model('t5', 't5_encoder', 'any'), + model('clip', 'clip_embed', 'any'), + model('fluxvae', 'vae', 'flux'), + ]; + + const values = upscaleReady(installed); + const restored = syncUpscaleWidgetValuesWithModels({ ...values, clipEmbedModel: clipG }, installed); + + expect(values.clipEmbedModel?.key).toBe('clip'); + expect(restored.clipEmbedModel?.key).toBe('clip'); + }); + it('still demands one where the architecture uses it', () => { const values = upscaleReady([model('main', 'main', 'sdxl'), model('spandrel', 'spandrel_image_to_image', 'any')]); diff --git a/invokeai/frontend/webv2/src/features/upscale/core/settings.ts b/invokeai/frontend/webv2/src/features/upscale/core/settings.ts index 3fec6fd6cc2..cf44fb243f5 100644 --- a/invokeai/frontend/webv2/src/features/upscale/core/settings.ts +++ b/invokeai/frontend/webv2/src/features/upscale/core/settings.ts @@ -155,21 +155,25 @@ export const isSupportedUpscaleMainModel = (value: unknown): value is MainModelC const isComponentModelOfType = (value: unknown, type: string): value is ComponentModelConfig => isRecord(value) && value.type === type && isModelIdentifierConfig(value); +const isT5EncoderModel = (value: unknown): value is ComponentModelConfig => isComponentModelOfType(value, 't5_encoder'); + +/** FLUX.1 encodes with CLIP-L; a CLIP-G fails its text encoder. */ +export const isFluxClipEmbedModel = (value: unknown): value is ComponentModelConfig => + isComponentModelOfType(value, 'clip_embed') && value.variant === 'large'; + const pickComponent = ( stored: unknown, models: readonly ModelConfig[], - type: string, + isCandidate: (value: unknown) => value is ComponentModelConfig, required: boolean ): ComponentModelConfig | null => { - if (isComponentModelOfType(stored, type)) { + if (isCandidate(stored)) { return stored; } // Only auto-pick where the architecture cannot run without one; elsewhere a stale selection is // simply dropped rather than replaced with an arbitrary encoder. - return required - ? ((models.find((model) => isComponentModelOfType(model, type)) as ComponentModelConfig) ?? null) - : null; + return required ? ((models.find(isCandidate) as ComponentModelConfig | undefined) ?? null) : null; }; const pickCompatibleVae = ( @@ -236,7 +240,7 @@ export const createDefaultUpscaleWidgetValues = (models: readonly ModelConfig[] return { batchCount: 1, cfgScale: 2, - clipEmbedModel: pickComponent(null, models, 'clip_embed', needsComponents), + clipEmbedModel: pickComponent(null, models, isFluxClipEmbedModel, needsComponents), clipSkip: 0, creativity: 0, inputImage: null, @@ -253,7 +257,7 @@ export const createDefaultUpscaleWidgetValues = (models: readonly ModelConfig[] seedMode: 'random', steps: 30, structure: 0, - t5EncoderModel: pickComponent(null, models, 't5_encoder', needsComponents), + t5EncoderModel: pickComponent(null, models, isT5EncoderModel, needsComponents), tileControlnetModel: models.find((candidate) => isTileControlNetCandidate(candidate, model)) ?? null, tileOverlap: 128, tileSize: 1024, @@ -277,7 +281,7 @@ export const normalizeUpscaleWidgetValues = (value: unknown): UpscaleWidgetValue return { batchCount: sanitizeBatchCount(value.batchCount), cfgScale: isFiniteNumber(value.cfgScale) ? value.cfgScale : defaults.cfgScale, - clipEmbedModel: isComponentModelOfType(value.clipEmbedModel, 'clip_embed') ? value.clipEmbedModel : null, + clipEmbedModel: isFluxClipEmbedModel(value.clipEmbedModel) ? value.clipEmbedModel : null, clipSkip: isFiniteNumber(value.clipSkip) ? value.clipSkip : defaults.clipSkip, creativity: isFiniteNumber(value.creativity) ? value.creativity : defaults.creativity, inputImage: @@ -348,13 +352,13 @@ export const syncUpscaleWidgetValuesWithModels = ( const t5EncoderModel = pickComponent( values.t5EncoderModel ? modelsByKey.get(values.t5EncoderModel.key) : undefined, models, - 't5_encoder', + isT5EncoderModel, needsComponents ); const clipEmbedModel = pickComponent( values.clipEmbedModel ? modelsByKey.get(values.clipEmbedModel.key) : undefined, models, - 'clip_embed', + isFluxClipEmbedModel, needsComponents ); const storedVae = values.vae ? modelsByKey.get(values.vae.key) : undefined; diff --git a/invokeai/frontend/webv2/src/features/upscale/ui/UpscaleWidgetView.tsx b/invokeai/frontend/webv2/src/features/upscale/ui/UpscaleWidgetView.tsx index 824be0be235..055d0683762 100644 --- a/invokeai/frontend/webv2/src/features/upscale/ui/UpscaleWidgetView.tsx +++ b/invokeai/frontend/webv2/src/features/upscale/ui/UpscaleWidgetView.tsx @@ -43,6 +43,7 @@ import { createDefaultUpscaleWidgetValues, needsExplicitComponents, getUpscaleOutputDimensions, + isFluxClipEmbedModel, isSpandrelModelConfig, isSupportedUpscaleMainModel, isTileControlNetCandidate, @@ -697,6 +698,7 @@ export const UpscaleWidgetView = () => { label={t('widgets.upscale.clipEmbed')} > ModelIdentifierField: + return ModelIdentifierField(key=name, hash=f"blake3:{name}", name=name, base=base, type=model_type) + + +def _invoke(**components: ModelIdentifierField): + main = _identifier("sd3.5-medium", BaseModelType.StableDiffusion3, ModelType.Main) + invocation = Sd3ModelLoaderInvocation(id="loader", model=main, **components) + return invocation.invoke(SimpleNamespace()) # type: ignore[arg-type] + + +def test_the_pipelines_own_clip_g_is_its_second_text_encoder() -> None: + output = _invoke() + + assert output.clip_g.text_encoder.submodel_type is SubModelType.TextEncoder2 + assert output.clip_g.tokenizer.submodel_type is SubModelType.Tokenizer2 + + +def test_a_separately_selected_clip_g_is_asked_for_its_own_text_encoder() -> None: + clip_g = _identifier("clip_g", BaseModelType.Any, ModelType.CLIPEmbed) + + output = _invoke(clip_g_model=clip_g) + + assert output.clip_g.text_encoder.key == "clip_g" + assert output.clip_g.text_encoder.submodel_type is SubModelType.TextEncoder + # SD 3 tokenizes with the pipeline's own CLIP-G tokenizer either way. + assert output.clip_g.tokenizer.key == "sd3.5-medium" diff --git a/tests/app/invocations/test_sd3_text_encoder.py b/tests/app/invocations/test_sd3_text_encoder.py index 8cbcf102755..a6cbb472f1f 100644 --- a/tests/app/invocations/test_sd3_text_encoder.py +++ b/tests/app/invocations/test_sd3_text_encoder.py @@ -2,7 +2,9 @@ from types import SimpleNamespace from unittest.mock import MagicMock +import pytest import torch +from transformers import CLIPTextConfig, CLIPTextModel, CLIPTextModelWithProjection from invokeai.app.invocations.text_encoder.sd3_text_encoder import Sd3TextEncoderInvocation from invokeai.backend.model_manager.taxonomy import ModelFormat @@ -28,8 +30,12 @@ def forward(self, input_ids: torch.Tensor, output_hidden_states: bool = False): class FakeClipOutput(SimpleNamespace): - def __getitem__(self, idx): - del idx + @property + def text_embeds(self): + return self.hidden_states[-1] + + @property + def pooler_output(self): return self.hidden_states[-1] @@ -168,3 +174,47 @@ def test_sd3_t5_encode_uses_compute_device(monkeypatch): invocation._t5_encode(mock_context, max_seq_len=16) assert text_encoder.forward_input_device == compute_device + + +@pytest.mark.parametrize( + ("model_class", "pooled_field"), + [(CLIPTextModel, "pooler_output"), (CLIPTextModelWithProjection, "text_embeds")], + ids=["clip_l_without_projection", "clip_g_with_projection"], +) +def test_sd3_clip_pooled_output_is_projected_where_the_encoder_has_a_projection( + monkeypatch, model_class: type, pooled_field: str +): + # SD 3 conditions on the projected pooled output. A separately installed CLIP-L is a plain CLIPTextModel, + # whose first output is the hidden-state sequence, not a pooled vector; its pooled output is what SD 3's + # identity CLIP-L projection would give. A CLIP-G must be projected. + module_path = "invokeai.app.invocations.text_encoder.sd3_text_encoder" + torch.manual_seed(0) + config = CLIPTextConfig( + vocab_size=64, + hidden_size=16, + intermediate_size=32, + num_hidden_layers=2, + num_attention_heads=2, + max_position_embeddings=8, + projection_dim=16, + ) + text_encoder = model_class(config).eval() + + mock_context = MagicMock() + mock_context.models.load.side_effect = [ + FakeLoadedModel(text_encoder, config=SimpleNamespace(format=ModelFormat.Checkpoint, name="clip")), + FakeLoadedModel(FakeClipTokenizer()), + ] + monkeypatch.setattr(f"{module_path}.CLIPTokenizer", FakeClipTokenizer) + monkeypatch.setattr(f"{module_path}.LayerPatcher.apply_smart_model_patches", lambda **kwargs: nullcontext()) + clip_model = SimpleNamespace(text_encoder=SimpleNamespace(), tokenizer=SimpleNamespace(), loras=[]) + invocation = Sd3TextEncoderInvocation.model_construct( + clip_l=clip_model, clip_g=clip_model, t5_encoder=None, prompt="test prompt" + ) + + _, pooled = invocation._clip_encode(context=mock_context, clip_model=clip_model, tokenizer_max_length=3) + + with torch.no_grad(): + expected = getattr(text_encoder(input_ids=torch.tensor([[1, 2, 3]])), pooled_field) + assert pooled.shape == (1, 16) + torch.testing.assert_close(pooled, expected) diff --git a/tests/backend/model_manager/configs/test_clip_embed_checkpoint_config.py b/tests/backend/model_manager/configs/test_clip_embed_checkpoint_config.py new file mode 100644 index 00000000000..3c85fdb316d --- /dev/null +++ b/tests/backend/model_manager/configs/test_clip_embed_checkpoint_config.py @@ -0,0 +1,138 @@ +"""Identifying ComfyUI's single-file CLIP-L and CLIP-G text encoders, through the whole config factory. + +Each case is a captured header written back without its data (`write_header_only_safetensors`): identification +reads nothing else, so every config class sees the real key names, shapes and dtypes, and the test proves that no +other config claims the file and that the CLIP configs claim nothing they must not. +""" + +from pathlib import Path +from typing import Any + +import pytest +from pydantic import TypeAdapter + +from invokeai.backend.model_manager.configs.clip_embed import ( + CLIPEmbed_Checkpoint_G_Config, + CLIPEmbed_Checkpoint_L_Config, +) +from invokeai.backend.model_manager.configs.factory import AnyModelConfig, ModelConfigFactory +from invokeai.backend.model_manager.taxonomy import ClipVariantType, ModelFormat +from tests.backend.model_manager.load.state_dicts import clip_g_comfy_keys, clip_l_comfy_keys +from tests.backend.model_manager.load.state_dicts.utils import write_header_only_safetensors + +_OVERRIDE_FIELDS: dict[str, object] = { + "hash": "blake3:fakehash", + "path": "/fake/models/clip", + "file_size": 1000, + "name": "clip", + "description": "test", + "source": "test", + "source_type": "path", + "key": "test-key", +} + +Keys = dict[str, tuple[list[int], str]] + + +def _identify(tmp_path: Path, keys: Keys) -> Any: + path = write_header_only_safetensors(tmp_path / "clip.safetensors", keys) + return ModelConfigFactory.from_model_on_disk(path, dict(_OVERRIDE_FIELDS), allow_unknown=False) + + +def _clip_l() -> Keys: + return dict(clip_l_comfy_keys.state_dict_keys) + + +def _clip_g() -> Keys: + return dict(clip_g_comfy_keys.state_dict_keys) + + +@pytest.mark.parametrize( + ("keys", "config_class"), + [(_clip_l(), CLIPEmbed_Checkpoint_L_Config), (_clip_g(), CLIPEmbed_Checkpoint_G_Config)], + ids=["clip_l", "clip_g"], +) +def test_comfys_clip_files_are_single_file_clip_encoders_of_their_variant( + tmp_path: Path, keys: Keys, config_class: type +) -> None: + result = _identify(tmp_path, keys) + + assert type(result.config) is config_class + assert result.config.format is ModelFormat.Checkpoint + assert result.match_count == 1 + + +@pytest.mark.parametrize("variant", [ClipVariantType.L, ClipVariantType.G]) +def test_a_stored_record_reads_back_as_the_variant_it_was_saved_as(tmp_path: Path, variant: ClipVariantType) -> None: + # The record goes through the database as a plain dict; its discriminator must include the variant, + # or L and G records cannot be told apart and fail to load. + keys = _clip_l() if variant is ClipVariantType.L else _clip_g() + stored = _identify(tmp_path, keys).config.model_dump(mode="json") + + restored = TypeAdapter(AnyModelConfig).validate_python(stored) + + assert restored.variant is variant + assert restored.format is ModelFormat.Checkpoint + + +def test_a_clip_l_with_the_full_models_projection_and_logit_scale_is_still_clip_l(tmp_path: Path) -> None: + # Text-only exports of fine-tuned CLIP-L (e.g. zer0int's) keep these two from the full CLIP model. + keys = {**_clip_l(), "logit_scale": ([], "F32"), "text_projection": ([768, 768], "F16")} + + assert isinstance(_identify(tmp_path, keys).config, CLIPEmbed_Checkpoint_L_Config) + + +def test_a_full_clip_model_with_its_vision_tower_is_not_a_text_encoder(tmp_path: Path) -> None: + keys = {**_clip_l(), "vision_model.embeddings.patch_embedding.weight": ([1024, 3, 14, 14], "F16")} + + assert _identify(tmp_path, keys).config is None + + +def test_a_clip_text_tower_of_another_size_is_not_claimed(tmp_path: Path) -> None: + # SD 2's OpenCLIP-H text tower in transformers names: width 1024, 24 layers. + keys = { + key.replace("768", "1024"): ([1024 if d == 768 else d for d in shape], dtype) + for key, (shape, dtype) in _clip_l().items() + } + keys.update({f"text_model.encoder.layers.{i}.self_attn.q_proj.weight": ([1024, 1024], "F16") for i in range(24)}) + + result = _identify(tmp_path, keys) + + assert result.config is None + assert not result.invalid_matches + + +def test_a_long_clip_l_is_refused_with_the_reason(tmp_path: Path) -> None: + # Long-CLIP-L (e.g. zer0int's text-only exports, a common FLUX CLIP swap) stretches the position table to 248. + keys = {**_clip_l(), "text_model.embeddings.position_embedding.weight": ([248, 768], "F16")} + + result = _identify(tmp_path, keys) + + assert result.config is None + assert len(result.invalid_matches) == 1 + assert "248 positions" in str(result.invalid_matches[0]) + + +def test_a_clip_g_without_its_projection_is_refused_with_the_reason(tmp_path: Path) -> None: + keys = _clip_g() + del keys["text_projection.weight"] + + result = _identify(tmp_path, keys) + + assert result.config is None + assert len(result.invalid_matches) == 1 + assert "no text_projection, which SD 3 needs" in str(result.invalid_matches[0]) + + +@pytest.mark.parametrize("dtype", ["F8_E4M3", "I8"]) +def test_a_quantized_clip_is_refused_at_install(tmp_path: Path, dtype: str) -> None: + keys = { + key: (shape, dtype if key.endswith("self_attn.q_proj.weight") else stored) + for key, (shape, stored) in _clip_l().items() + } + + result = _identify(tmp_path, keys) + + assert result.config is None + assert len(result.invalid_matches) == 1 + assert "quantized weight(s)" in str(result.invalid_matches[0]) diff --git a/tests/backend/model_manager/load/state_dicts/clip_g_comfy_keys.py b/tests/backend/model_manager/load/state_dicts/clip_g_comfy_keys.py new file mode 100644 index 00000000000..6c0d7b7f670 --- /dev/null +++ b/tests/backend/model_manager/load/state_dicts/clip_g_comfy_keys.py @@ -0,0 +1,532 @@ +"""Key layout of ComfyUI's CLIP-G text encoder (`clip_g`), SD 3's CLIP-G. + +Captured on 2026-10-11 with `scripts/capture_state_dict_fixture.py`, +which reads the header only, from +`Comfy-Org/stable-diffusion-3.5-fp8/text_encoders/clip_g.safetensors`. + +Subsetting rule: none -- every key in the file. Values are `(shape, dtype)`. + +`CLIPTextModelWithProjection`'s state dict key for key, `text_model.` prefix and `text_projection.weight` +included -- SD 3 conditions on the projected pooled output, so the projection is required. Width 1280 +and 32 layers make it G. +""" + +state_dict_keys: dict[str, tuple[list[int], str]] = { + "text_model.embeddings.position_embedding.weight": ([77, 1280], "F16"), + "text_model.embeddings.token_embedding.weight": ([49408, 1280], "F16"), + "text_model.encoder.layers.0.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.0.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.0.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.0.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.0.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.0.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.0.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.0.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.0.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.0.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.0.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.0.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.0.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.0.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.0.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.0.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.1.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.1.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.1.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.1.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.1.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.1.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.1.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.1.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.1.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.1.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.1.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.1.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.1.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.1.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.1.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.1.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.10.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.10.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.10.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.10.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.10.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.10.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.10.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.10.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.10.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.10.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.10.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.10.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.10.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.10.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.10.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.10.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.11.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.11.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.11.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.11.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.11.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.11.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.11.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.11.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.11.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.11.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.11.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.11.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.11.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.11.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.11.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.11.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.12.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.12.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.12.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.12.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.12.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.12.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.12.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.12.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.12.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.12.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.12.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.12.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.12.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.12.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.12.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.12.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.13.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.13.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.13.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.13.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.13.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.13.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.13.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.13.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.13.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.13.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.13.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.13.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.13.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.13.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.13.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.13.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.14.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.14.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.14.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.14.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.14.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.14.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.14.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.14.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.14.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.14.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.14.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.14.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.14.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.14.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.14.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.14.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.15.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.15.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.15.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.15.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.15.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.15.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.15.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.15.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.15.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.15.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.15.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.15.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.15.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.15.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.15.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.15.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.16.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.16.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.16.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.16.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.16.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.16.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.16.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.16.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.16.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.16.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.16.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.16.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.16.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.16.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.16.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.16.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.17.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.17.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.17.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.17.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.17.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.17.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.17.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.17.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.17.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.17.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.17.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.17.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.17.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.17.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.17.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.17.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.18.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.18.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.18.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.18.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.18.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.18.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.18.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.18.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.18.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.18.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.18.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.18.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.18.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.18.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.18.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.18.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.19.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.19.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.19.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.19.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.19.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.19.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.19.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.19.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.19.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.19.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.19.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.19.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.19.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.19.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.19.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.19.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.2.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.2.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.2.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.2.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.2.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.2.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.2.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.2.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.2.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.2.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.2.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.2.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.2.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.2.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.2.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.2.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.20.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.20.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.20.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.20.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.20.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.20.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.20.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.20.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.20.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.20.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.20.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.20.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.20.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.20.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.20.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.20.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.21.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.21.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.21.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.21.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.21.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.21.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.21.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.21.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.21.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.21.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.21.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.21.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.21.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.21.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.21.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.21.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.22.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.22.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.22.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.22.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.22.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.22.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.22.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.22.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.22.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.22.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.22.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.22.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.22.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.22.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.22.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.22.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.23.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.23.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.23.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.23.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.23.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.23.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.23.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.23.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.23.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.23.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.23.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.23.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.23.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.23.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.23.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.23.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.24.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.24.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.24.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.24.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.24.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.24.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.24.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.24.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.24.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.24.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.24.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.24.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.24.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.24.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.24.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.24.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.25.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.25.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.25.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.25.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.25.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.25.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.25.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.25.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.25.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.25.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.25.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.25.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.25.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.25.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.25.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.25.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.26.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.26.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.26.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.26.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.26.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.26.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.26.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.26.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.26.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.26.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.26.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.26.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.26.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.26.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.26.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.26.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.27.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.27.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.27.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.27.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.27.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.27.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.27.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.27.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.27.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.27.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.27.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.27.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.27.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.27.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.27.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.27.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.28.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.28.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.28.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.28.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.28.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.28.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.28.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.28.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.28.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.28.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.28.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.28.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.28.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.28.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.28.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.28.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.29.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.29.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.29.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.29.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.29.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.29.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.29.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.29.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.29.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.29.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.29.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.29.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.29.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.29.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.29.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.29.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.3.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.3.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.3.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.3.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.3.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.3.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.3.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.3.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.3.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.3.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.3.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.3.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.3.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.3.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.3.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.3.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.30.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.30.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.30.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.30.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.30.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.30.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.30.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.30.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.30.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.30.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.30.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.30.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.30.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.30.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.30.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.30.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.31.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.31.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.31.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.31.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.31.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.31.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.31.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.31.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.31.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.31.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.31.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.31.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.31.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.31.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.31.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.31.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.4.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.4.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.4.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.4.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.4.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.4.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.4.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.4.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.4.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.4.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.4.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.4.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.4.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.4.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.4.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.4.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.5.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.5.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.5.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.5.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.5.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.5.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.5.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.5.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.5.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.5.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.5.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.5.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.5.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.5.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.5.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.5.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.6.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.6.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.6.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.6.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.6.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.6.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.6.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.6.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.6.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.6.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.6.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.6.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.6.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.6.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.6.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.6.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.7.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.7.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.7.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.7.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.7.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.7.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.7.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.7.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.7.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.7.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.7.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.7.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.7.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.7.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.7.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.7.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.8.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.8.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.8.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.8.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.8.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.8.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.8.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.8.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.8.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.8.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.8.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.8.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.8.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.8.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.8.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.8.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.9.layer_norm1.bias": ([1280], "F16"), + "text_model.encoder.layers.9.layer_norm1.weight": ([1280], "F16"), + "text_model.encoder.layers.9.layer_norm2.bias": ([1280], "F16"), + "text_model.encoder.layers.9.layer_norm2.weight": ([1280], "F16"), + "text_model.encoder.layers.9.mlp.fc1.bias": ([5120], "F16"), + "text_model.encoder.layers.9.mlp.fc1.weight": ([5120, 1280], "F16"), + "text_model.encoder.layers.9.mlp.fc2.bias": ([1280], "F16"), + "text_model.encoder.layers.9.mlp.fc2.weight": ([1280, 5120], "F16"), + "text_model.encoder.layers.9.self_attn.k_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.9.self_attn.k_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.9.self_attn.out_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.9.self_attn.out_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.9.self_attn.q_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.9.self_attn.q_proj.weight": ([1280, 1280], "F16"), + "text_model.encoder.layers.9.self_attn.v_proj.bias": ([1280], "F16"), + "text_model.encoder.layers.9.self_attn.v_proj.weight": ([1280, 1280], "F16"), + "text_model.final_layer_norm.bias": ([1280], "F16"), + "text_model.final_layer_norm.weight": ([1280], "F16"), + "text_projection.weight": ([1280, 1280], "F16"), +} diff --git a/tests/backend/model_manager/load/state_dicts/clip_l_comfy_keys.py b/tests/backend/model_manager/load/state_dicts/clip_l_comfy_keys.py new file mode 100644 index 00000000000..abdc7b5868c --- /dev/null +++ b/tests/backend/model_manager/load/state_dicts/clip_l_comfy_keys.py @@ -0,0 +1,211 @@ +"""Key layout of ComfyUI's CLIP-L text encoder (`clip_l`), FLUX.1's and SD 3's CLIP-L. + +Captured on 2026-10-11 with `scripts/capture_state_dict_fixture.py`, +which reads the header only, from +`comfyanonymous/flux_text_encoders/clip_l.safetensors`. + +Subsetting rule: none -- every key in the file. Values are `(shape, dtype)`. + +`CLIPTextModel`'s state dict under the `text_model.` prefix that transformers >=5.6 no longer has on +that class, so the loader strips it. There is no `text_projection`: FLUX.1 reads the unprojected pooled +output, and SD 3's projection for CLIP-L is the identity. Width 768 and 12 layers make it L. +""" + +state_dict_keys: dict[str, tuple[list[int], str]] = { + "text_model.embeddings.position_embedding.weight": ([77, 768], "F16"), + "text_model.embeddings.token_embedding.weight": ([49408, 768], "F16"), + "text_model.encoder.layers.0.layer_norm1.bias": ([768], "F16"), + "text_model.encoder.layers.0.layer_norm1.weight": ([768], "F16"), + "text_model.encoder.layers.0.layer_norm2.bias": ([768], "F16"), + "text_model.encoder.layers.0.layer_norm2.weight": ([768], "F16"), + "text_model.encoder.layers.0.mlp.fc1.bias": ([3072], "F16"), + "text_model.encoder.layers.0.mlp.fc1.weight": ([3072, 768], "F16"), + "text_model.encoder.layers.0.mlp.fc2.bias": ([768], "F16"), + "text_model.encoder.layers.0.mlp.fc2.weight": ([768, 3072], "F16"), + "text_model.encoder.layers.0.self_attn.k_proj.bias": ([768], "F16"), + "text_model.encoder.layers.0.self_attn.k_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.0.self_attn.out_proj.bias": ([768], "F16"), + "text_model.encoder.layers.0.self_attn.out_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.0.self_attn.q_proj.bias": ([768], "F16"), + "text_model.encoder.layers.0.self_attn.q_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.0.self_attn.v_proj.bias": ([768], "F16"), + "text_model.encoder.layers.0.self_attn.v_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.1.layer_norm1.bias": ([768], "F16"), + "text_model.encoder.layers.1.layer_norm1.weight": ([768], "F16"), + "text_model.encoder.layers.1.layer_norm2.bias": ([768], "F16"), + "text_model.encoder.layers.1.layer_norm2.weight": ([768], "F16"), + "text_model.encoder.layers.1.mlp.fc1.bias": ([3072], "F16"), + "text_model.encoder.layers.1.mlp.fc1.weight": ([3072, 768], "F16"), + "text_model.encoder.layers.1.mlp.fc2.bias": ([768], "F16"), + "text_model.encoder.layers.1.mlp.fc2.weight": ([768, 3072], "F16"), + "text_model.encoder.layers.1.self_attn.k_proj.bias": ([768], "F16"), + "text_model.encoder.layers.1.self_attn.k_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.1.self_attn.out_proj.bias": ([768], "F16"), + "text_model.encoder.layers.1.self_attn.out_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.1.self_attn.q_proj.bias": ([768], "F16"), + "text_model.encoder.layers.1.self_attn.q_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.1.self_attn.v_proj.bias": ([768], "F16"), + "text_model.encoder.layers.1.self_attn.v_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.10.layer_norm1.bias": ([768], "F16"), + "text_model.encoder.layers.10.layer_norm1.weight": ([768], "F16"), + "text_model.encoder.layers.10.layer_norm2.bias": ([768], "F16"), + "text_model.encoder.layers.10.layer_norm2.weight": ([768], "F16"), + "text_model.encoder.layers.10.mlp.fc1.bias": ([3072], "F16"), + "text_model.encoder.layers.10.mlp.fc1.weight": ([3072, 768], "F16"), + "text_model.encoder.layers.10.mlp.fc2.bias": ([768], "F16"), + "text_model.encoder.layers.10.mlp.fc2.weight": ([768, 3072], "F16"), + "text_model.encoder.layers.10.self_attn.k_proj.bias": ([768], "F16"), + "text_model.encoder.layers.10.self_attn.k_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.10.self_attn.out_proj.bias": ([768], "F16"), + "text_model.encoder.layers.10.self_attn.out_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.10.self_attn.q_proj.bias": ([768], "F16"), + "text_model.encoder.layers.10.self_attn.q_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.10.self_attn.v_proj.bias": ([768], "F16"), + "text_model.encoder.layers.10.self_attn.v_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.11.layer_norm1.bias": ([768], "F16"), + "text_model.encoder.layers.11.layer_norm1.weight": ([768], "F16"), + "text_model.encoder.layers.11.layer_norm2.bias": ([768], "F16"), + "text_model.encoder.layers.11.layer_norm2.weight": ([768], "F16"), + "text_model.encoder.layers.11.mlp.fc1.bias": ([3072], "F16"), + "text_model.encoder.layers.11.mlp.fc1.weight": ([3072, 768], "F16"), + "text_model.encoder.layers.11.mlp.fc2.bias": ([768], "F16"), + "text_model.encoder.layers.11.mlp.fc2.weight": ([768, 3072], "F16"), + "text_model.encoder.layers.11.self_attn.k_proj.bias": ([768], "F16"), + "text_model.encoder.layers.11.self_attn.k_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.11.self_attn.out_proj.bias": ([768], "F16"), + "text_model.encoder.layers.11.self_attn.out_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.11.self_attn.q_proj.bias": ([768], "F16"), + "text_model.encoder.layers.11.self_attn.q_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.11.self_attn.v_proj.bias": ([768], "F16"), + "text_model.encoder.layers.11.self_attn.v_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.2.layer_norm1.bias": ([768], "F16"), + "text_model.encoder.layers.2.layer_norm1.weight": ([768], "F16"), + "text_model.encoder.layers.2.layer_norm2.bias": ([768], "F16"), + "text_model.encoder.layers.2.layer_norm2.weight": ([768], "F16"), + "text_model.encoder.layers.2.mlp.fc1.bias": ([3072], "F16"), + "text_model.encoder.layers.2.mlp.fc1.weight": ([3072, 768], "F16"), + "text_model.encoder.layers.2.mlp.fc2.bias": ([768], "F16"), + "text_model.encoder.layers.2.mlp.fc2.weight": ([768, 3072], "F16"), + "text_model.encoder.layers.2.self_attn.k_proj.bias": ([768], "F16"), + "text_model.encoder.layers.2.self_attn.k_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.2.self_attn.out_proj.bias": ([768], "F16"), + "text_model.encoder.layers.2.self_attn.out_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.2.self_attn.q_proj.bias": ([768], "F16"), + "text_model.encoder.layers.2.self_attn.q_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.2.self_attn.v_proj.bias": ([768], "F16"), + "text_model.encoder.layers.2.self_attn.v_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.3.layer_norm1.bias": ([768], "F16"), + "text_model.encoder.layers.3.layer_norm1.weight": ([768], "F16"), + "text_model.encoder.layers.3.layer_norm2.bias": ([768], "F16"), + "text_model.encoder.layers.3.layer_norm2.weight": ([768], "F16"), + "text_model.encoder.layers.3.mlp.fc1.bias": ([3072], "F16"), + "text_model.encoder.layers.3.mlp.fc1.weight": ([3072, 768], "F16"), + "text_model.encoder.layers.3.mlp.fc2.bias": ([768], "F16"), + "text_model.encoder.layers.3.mlp.fc2.weight": ([768, 3072], "F16"), + "text_model.encoder.layers.3.self_attn.k_proj.bias": ([768], "F16"), + "text_model.encoder.layers.3.self_attn.k_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.3.self_attn.out_proj.bias": ([768], "F16"), + "text_model.encoder.layers.3.self_attn.out_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.3.self_attn.q_proj.bias": ([768], "F16"), + "text_model.encoder.layers.3.self_attn.q_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.3.self_attn.v_proj.bias": ([768], "F16"), + "text_model.encoder.layers.3.self_attn.v_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.4.layer_norm1.bias": ([768], "F16"), + "text_model.encoder.layers.4.layer_norm1.weight": ([768], "F16"), + "text_model.encoder.layers.4.layer_norm2.bias": ([768], "F16"), + "text_model.encoder.layers.4.layer_norm2.weight": ([768], "F16"), + "text_model.encoder.layers.4.mlp.fc1.bias": ([3072], "F16"), + "text_model.encoder.layers.4.mlp.fc1.weight": ([3072, 768], "F16"), + "text_model.encoder.layers.4.mlp.fc2.bias": ([768], "F16"), + "text_model.encoder.layers.4.mlp.fc2.weight": ([768, 3072], "F16"), + "text_model.encoder.layers.4.self_attn.k_proj.bias": ([768], "F16"), + "text_model.encoder.layers.4.self_attn.k_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.4.self_attn.out_proj.bias": ([768], "F16"), + "text_model.encoder.layers.4.self_attn.out_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.4.self_attn.q_proj.bias": ([768], "F16"), + "text_model.encoder.layers.4.self_attn.q_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.4.self_attn.v_proj.bias": ([768], "F16"), + "text_model.encoder.layers.4.self_attn.v_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.5.layer_norm1.bias": ([768], "F16"), + "text_model.encoder.layers.5.layer_norm1.weight": ([768], "F16"), + "text_model.encoder.layers.5.layer_norm2.bias": ([768], "F16"), + "text_model.encoder.layers.5.layer_norm2.weight": ([768], "F16"), + "text_model.encoder.layers.5.mlp.fc1.bias": ([3072], "F16"), + "text_model.encoder.layers.5.mlp.fc1.weight": ([3072, 768], "F16"), + "text_model.encoder.layers.5.mlp.fc2.bias": ([768], "F16"), + "text_model.encoder.layers.5.mlp.fc2.weight": ([768, 3072], "F16"), + "text_model.encoder.layers.5.self_attn.k_proj.bias": ([768], "F16"), + "text_model.encoder.layers.5.self_attn.k_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.5.self_attn.out_proj.bias": ([768], "F16"), + "text_model.encoder.layers.5.self_attn.out_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.5.self_attn.q_proj.bias": ([768], "F16"), + "text_model.encoder.layers.5.self_attn.q_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.5.self_attn.v_proj.bias": ([768], "F16"), + "text_model.encoder.layers.5.self_attn.v_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.6.layer_norm1.bias": ([768], "F16"), + "text_model.encoder.layers.6.layer_norm1.weight": ([768], "F16"), + "text_model.encoder.layers.6.layer_norm2.bias": ([768], "F16"), + "text_model.encoder.layers.6.layer_norm2.weight": ([768], "F16"), + "text_model.encoder.layers.6.mlp.fc1.bias": ([3072], "F16"), + "text_model.encoder.layers.6.mlp.fc1.weight": ([3072, 768], "F16"), + "text_model.encoder.layers.6.mlp.fc2.bias": ([768], "F16"), + "text_model.encoder.layers.6.mlp.fc2.weight": ([768, 3072], "F16"), + "text_model.encoder.layers.6.self_attn.k_proj.bias": ([768], "F16"), + "text_model.encoder.layers.6.self_attn.k_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.6.self_attn.out_proj.bias": ([768], "F16"), + "text_model.encoder.layers.6.self_attn.out_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.6.self_attn.q_proj.bias": ([768], "F16"), + "text_model.encoder.layers.6.self_attn.q_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.6.self_attn.v_proj.bias": ([768], "F16"), + "text_model.encoder.layers.6.self_attn.v_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.7.layer_norm1.bias": ([768], "F16"), + "text_model.encoder.layers.7.layer_norm1.weight": ([768], "F16"), + "text_model.encoder.layers.7.layer_norm2.bias": ([768], "F16"), + "text_model.encoder.layers.7.layer_norm2.weight": ([768], "F16"), + "text_model.encoder.layers.7.mlp.fc1.bias": ([3072], "F16"), + "text_model.encoder.layers.7.mlp.fc1.weight": ([3072, 768], "F16"), + "text_model.encoder.layers.7.mlp.fc2.bias": ([768], "F16"), + "text_model.encoder.layers.7.mlp.fc2.weight": ([768, 3072], "F16"), + "text_model.encoder.layers.7.self_attn.k_proj.bias": ([768], "F16"), + "text_model.encoder.layers.7.self_attn.k_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.7.self_attn.out_proj.bias": ([768], "F16"), + "text_model.encoder.layers.7.self_attn.out_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.7.self_attn.q_proj.bias": ([768], "F16"), + "text_model.encoder.layers.7.self_attn.q_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.7.self_attn.v_proj.bias": ([768], "F16"), + "text_model.encoder.layers.7.self_attn.v_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.8.layer_norm1.bias": ([768], "F16"), + "text_model.encoder.layers.8.layer_norm1.weight": ([768], "F16"), + "text_model.encoder.layers.8.layer_norm2.bias": ([768], "F16"), + "text_model.encoder.layers.8.layer_norm2.weight": ([768], "F16"), + "text_model.encoder.layers.8.mlp.fc1.bias": ([3072], "F16"), + "text_model.encoder.layers.8.mlp.fc1.weight": ([3072, 768], "F16"), + "text_model.encoder.layers.8.mlp.fc2.bias": ([768], "F16"), + "text_model.encoder.layers.8.mlp.fc2.weight": ([768, 3072], "F16"), + "text_model.encoder.layers.8.self_attn.k_proj.bias": ([768], "F16"), + "text_model.encoder.layers.8.self_attn.k_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.8.self_attn.out_proj.bias": ([768], "F16"), + "text_model.encoder.layers.8.self_attn.out_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.8.self_attn.q_proj.bias": ([768], "F16"), + "text_model.encoder.layers.8.self_attn.q_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.8.self_attn.v_proj.bias": ([768], "F16"), + "text_model.encoder.layers.8.self_attn.v_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.9.layer_norm1.bias": ([768], "F16"), + "text_model.encoder.layers.9.layer_norm1.weight": ([768], "F16"), + "text_model.encoder.layers.9.layer_norm2.bias": ([768], "F16"), + "text_model.encoder.layers.9.layer_norm2.weight": ([768], "F16"), + "text_model.encoder.layers.9.mlp.fc1.bias": ([3072], "F16"), + "text_model.encoder.layers.9.mlp.fc1.weight": ([3072, 768], "F16"), + "text_model.encoder.layers.9.mlp.fc2.bias": ([768], "F16"), + "text_model.encoder.layers.9.mlp.fc2.weight": ([768, 3072], "F16"), + "text_model.encoder.layers.9.self_attn.k_proj.bias": ([768], "F16"), + "text_model.encoder.layers.9.self_attn.k_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.9.self_attn.out_proj.bias": ([768], "F16"), + "text_model.encoder.layers.9.self_attn.out_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.9.self_attn.q_proj.bias": ([768], "F16"), + "text_model.encoder.layers.9.self_attn.q_proj.weight": ([768, 768], "F16"), + "text_model.encoder.layers.9.self_attn.v_proj.bias": ([768], "F16"), + "text_model.encoder.layers.9.self_attn.v_proj.weight": ([768, 768], "F16"), + "text_model.final_layer_norm.bias": ([768], "F16"), + "text_model.final_layer_norm.weight": ([768], "F16"), +} diff --git a/tests/backend/model_manager/load/state_dicts/utils.py b/tests/backend/model_manager/load/state_dicts/utils.py index 575570e2eaf..7e320fb7f50 100644 --- a/tests/backend/model_manager/load/state_dicts/utils.py +++ b/tests/backend/model_manager/load/state_dicts/utils.py @@ -1,10 +1,17 @@ """Shared helpers for model-loader state-dict fixtures. Mirrors `tests/backend/patches/lora_conversions/lora_state_dicts/utils.py`: a fixture module -exports `state_dict_keys: dict[str, list[int]]` (key name -> shape, captured from a real -checkpoint) and tests expand it to a mock state dict with `keys_to_mock_state_dict()`. +exports `state_dict_keys`, key name -> shape (or `(shape, dtype)` for the layouts +`scripts/capture_state_dict_fixture.py` captures from a real checkpoint's header). Tests expand it to a +mock state dict with `keys_to_mock_state_dict()`, or write it back as a header with +`write_header_only_safetensors()`. """ +import json +import math +import struct +from pathlib import Path + import torch @@ -24,3 +31,25 @@ def token_extents(shape: list[int]) -> list[int]: instead. """ return [min(extent, 4) for extent in shape] + + +_SAFETENSORS_DTYPE_BYTES = {"F32": 4, "F16": 2, "BF16": 2, "F8_E4M3": 1, "F8_E5M2": 1, "I8": 1, "U8": 1} + + +def write_header_only_safetensors(path: Path, keys: dict[str, tuple[list[int], str]]) -> Path: + """Write a safetensors file that has a fixture's real header and none of its data. + + Identification reads a safetensors file's header and nothing else, so a captured layout can be probed at its + real shapes -- a T5-XXL is told from a smaller T5 by its width -- without writing gigabytes. Anything that + reads tensor data from such a file fails, which is the point: identification must not. + """ + header: dict[str, dict] = {} + offset = 0 + for key, (shape, dtype) in keys.items(): + nbytes = _SAFETENSORS_DTYPE_BYTES[dtype] * math.prod(shape) + header[key] = {"dtype": dtype, "shape": shape, "data_offsets": [offset, offset + nbytes]} + offset += nbytes + encoded = json.dumps(header).encode("utf-8") + encoded += b" " * (-len(encoded) % 8) + path.write_bytes(struct.pack(" Path: + model_class(TINY).save_pretrained(tmp_path / "text_encoder") + return tmp_path + + +def _load(config) -> object: + return object.__new__(CLIPDiffusersLoader)._load_model(config, SubModelType.TextEncoder) + + +def test_a_clip_l_folder_loads_as_the_plain_text_model_flux_needs(tmp_path: Path) -> None: + path = _folder(tmp_path, CLIPTextModel) + config = CLIPEmbed_Diffusers_L_Config.model_construct(path=str(path), name="clip-l") + + assert type(_load(config)) is CLIPTextModel + + +def test_a_clip_g_folder_loads_with_its_projection(tmp_path: Path) -> None: + path = _folder(tmp_path, CLIPTextModelWithProjection) + config = CLIPEmbed_Diffusers_G_Config.model_construct(path=str(path), name="clip-g") + + model = _load(config) + + assert type(model) is CLIPTextModelWithProjection + saved = CLIPTextModelWithProjection.from_pretrained(path / "text_encoder") + assert model.text_projection.weight.equal(saved.text_projection.weight) + + +def test_a_clip_g_folder_without_a_projection_is_refused(tmp_path: Path) -> None: + path = _folder(tmp_path, CLIPTextModel) + config = CLIPEmbed_Diffusers_G_Config.model_construct(path=str(path), name="clip-g") + + with pytest.raises(ValueError, match="has no text_projection, which SD 3 needs"): + _load(config) diff --git a/tests/backend/model_manager/load/test_clip_single_file_loader.py b/tests/backend/model_manager/load/test_clip_single_file_loader.py new file mode 100644 index 00000000000..8848818c185 --- /dev/null +++ b/tests/backend/model_manager/load/test_clip_single_file_loader.py @@ -0,0 +1,113 @@ +"""Loading a CLIP-L or CLIP-G text encoder from one safetensors file in ComfyUI's layout. + +The loader builds the variant's vendored architecture; a tiny stand-in replaces it here, so the files are written +at that size. CLIP-L's file carries the `text_model.` prefix that transformers' flattened `CLIPTextModel` no longer +has, plus the `logit_scale` and projection fine-tuned exports keep; CLIP-G's is `CLIPTextModelWithProjection`'s own +state dict. Forwards run in float32: CPU bf16 matmuls fault on part of the hosted Windows fleet. +""" + +from pathlib import Path +from unittest.mock import MagicMock + +import pytest +import torch +from safetensors.torch import save_file +from transformers import CLIPTextConfig, CLIPTextModel, CLIPTextModelWithProjection, CLIPTokenizer + +import invokeai.backend.model_manager.load.model_loaders.flux as loader_module +from invokeai.backend.clip.clip_text_encoder import load_bundled_clip_tokenizer +from invokeai.backend.model_manager.configs.clip_embed import ( + CLIPEmbed_Checkpoint_G_Config, + CLIPEmbed_Checkpoint_L_Config, +) +from invokeai.backend.model_manager.load.load_default import put_in_eval_mode +from invokeai.backend.model_manager.load.model_loaders.flux import CLIPSingleFileLoader +from invokeai.backend.model_manager.taxonomy import SubModelType + +TINY = CLIPTextConfig( + vocab_size=49408, + hidden_size=32, + intermediate_size=64, + num_hidden_layers=2, + num_attention_heads=4, + max_position_embeddings=77, + projection_dim=32, + hidden_act="quick_gelu", +) + + +@pytest.fixture +def loader(monkeypatch: pytest.MonkeyPatch) -> CLIPSingleFileLoader: + monkeypatch.setattr(loader_module, "clip_text_config", lambda _variant: TINY) + loader = object.__new__(CLIPSingleFileLoader) + loader._ram_cache = MagicMock() + loader._torch_dtype = torch.float32 + return loader + + +def _reference(model_class: type) -> torch.nn.Module: + torch.manual_seed(0) + model = model_class(TINY).eval() + with torch.no_grad(): + for param in model.parameters(): + param.copy_(torch.randn_like(param) * 0.2) + return model + + +def _input_ids() -> torch.Tensor: + return load_bundled_clip_tokenizer()( + ["a cat on a sofa"], padding="max_length", max_length=77, return_tensors="pt" + ).input_ids + + +def test_clip_l_loads_from_the_prefixed_file_into_a_plain_text_model( + loader: CLIPSingleFileLoader, tmp_path: Path +) -> None: + reference = _reference(CLIPTextModel) + file_sd = {f"text_model.{key}": value.half() for key, value in reference.state_dict().items()} + file_sd["logit_scale"] = torch.tensor(4.6) + file_sd["text_projection"] = torch.randn(32, 32).half() + path = tmp_path / "clip_l.safetensors" + save_file(file_sd, str(path)) + config = CLIPEmbed_Checkpoint_L_Config.model_construct(path=str(path), name="clip_l", cpu_only=None) + + model = put_in_eval_mode(loader._load_model(config, SubModelType.TextEncoder)) + + # FLUX.1 asserts a plain CLIPTextModel and reads its pooled output. + assert type(model) is CLIPTextModel + expected = CLIPTextModel(TINY).eval() + expected.load_state_dict({key: value.half().float() for key, value in reference.state_dict().items()}) + with torch.no_grad(): + torch.testing.assert_close( + model(input_ids=_input_ids()).pooler_output, expected(input_ids=_input_ids()).pooler_output + ) + loader._ram_cache.make_room.assert_called_once() + + +def test_clip_g_loads_with_its_projection(loader: CLIPSingleFileLoader, tmp_path: Path) -> None: + reference = _reference(CLIPTextModelWithProjection) + path = tmp_path / "clip_g.safetensors" + save_file({key: value.half() for key, value in reference.state_dict().items()}, str(path)) + config = CLIPEmbed_Checkpoint_G_Config.model_construct(path=str(path), name="clip_g", cpu_only=None) + + model = put_in_eval_mode(loader._load_model(config, SubModelType.TextEncoder)) + + # SD 3 conditions on the projected pooled output. + assert type(model) is CLIPTextModelWithProjection + expected = CLIPTextModelWithProjection(TINY).eval() + expected.load_state_dict({key: value.half().float() for key, value in reference.state_dict().items()}) + with torch.no_grad(): + torch.testing.assert_close( + model(input_ids=_input_ids()).text_embeds, expected(input_ids=_input_ids()).text_embeds + ) + + +def test_the_tokenizer_is_the_bundled_one_and_reserves_nothing(loader: CLIPSingleFileLoader, tmp_path: Path) -> None: + path = tmp_path / "clip_l.safetensors" + config = CLIPEmbed_Checkpoint_L_Config.model_construct(path=str(path), name="clip_l", cpu_only=None) + + tokenizer = loader._load_model(config, SubModelType.Tokenizer) + + assert isinstance(tokenizer, CLIPTokenizer) + assert tokenizer.model_max_length == 77 + assert loader.get_size_fs(config, path, SubModelType.Tokenizer) == 0