krea2-edit / block.py
linoyts's picture
linoyts HF Staff
Register Krea2ModularPipeline + krea2 mapping for stock-diffusers init_pipeline
dad256a verified
Raw
History Blame Contribute Delete
1.34 kB
"""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"]