File size: 1,339 Bytes
4684d79
 
dad256a
 
 
 
 
 
 
 
4684d79
 
dad256a
 
 
 
 
 
4684d79
dad256a
4684d79
 
 
dad256a
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
"""Entry point for the Krea 2 reference-image edit modular blocks (loaded via `trust_remote_code`).

Importing this module registers the Krea 2 classes into the `diffusers` namespace / modular mapping so that,
on a stock `diffusers` install (which does not ship Krea 2), component loading and `init_pipeline` resolve:

- `Krea2Transformer2DModel` — referenced as `["diffusers", "Krea2Transformer2DModel"]` in the base repo's
  `model_index.json`;
- `Krea2ModularPipeline` — the model-specific pipeline class (`init_pipeline` maps `model_name="krea2"` to it;
  without this it would fall back to the generic `ModularPipeline`, which lacks the Krea 2 properties such as
  `requires_unconditional_embeds`, `vae_scale_factor`, `num_channels_latents`).
"""

import diffusers
from diffusers.modular_pipelines.modular_pipeline import (
    MODULAR_PIPELINE_MAPPING,
    _create_default_map_fn,
)

from .transformer_krea2 import Krea2Transformer2DModel  # noqa: F401  (registers into diffusers namespace)
from .modular_pipeline import Krea2ModularPipeline
from .modular_blocks_krea2_edit import Krea2EditBlocks


diffusers.Krea2ModularPipeline = Krea2ModularPipeline
MODULAR_PIPELINE_MAPPING.setdefault("krea2", _create_default_map_fn("Krea2ModularPipeline"))


__all__ = ["Krea2EditBlocks", "Krea2Transformer2DModel", "Krea2ModularPipeline"]