Skip to content

Commit c1f00a2

Browse files
committed
[Feat] support JoyAIImagePipeline
Signed-off-by: Lancer <maruixiang6688@gmail.com>
1 parent e365d74 commit c1f00a2

7 files changed

Lines changed: 967 additions & 0 deletions

File tree

src/diffusers/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,7 @@
545545
"HunyuanDiTControlNetPipeline",
546546
"HunyuanDiTPAGPipeline",
547547
"HunyuanDiTPipeline",
548+
"JoyAIImagePipeline",
548549
"HunyuanImagePipeline",
549550
"HunyuanImageRefinerPipeline",
550551
"HunyuanSkyreelsImageToVideoPipeline",

src/diffusers/models/transformers/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
from .transformer_hunyuan_video15 import HunyuanVideo15Transformer3DModel
3535
from .transformer_hunyuan_video_framepack import HunyuanVideoFramepackTransformer3DModel
3636
from .transformer_hunyuanimage import HunyuanImageTransformer2DModel
37+
from .transformer_joyai_image import JoyAIImageTransformer3DModel
3738
from .transformer_kandinsky import Kandinsky5Transformer3DModel
3839
from .transformer_longcat_image import LongCatImageTransformer2DModel
3940
from .transformer_ltx import LTXVideoTransformer3DModel
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright 2025 The HuggingFace Team. All rights reserved.
2+
3+
from ..joyai_image.transformer import Transformer3DModel as JoyAIImageTransformer3DModel
4+
5+
__all__ = ["JoyAIImageTransformer3DModel"]

src/diffusers/pipelines/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,7 @@
263263
_import_structure["helios"] = ["HeliosPipeline", "HeliosPyramidPipeline"]
264264
_import_structure["hidream_image"] = ["HiDreamImagePipeline"]
265265
_import_structure["hunyuandit"] = ["HunyuanDiTPipeline"]
266+
_import_structure["joyai_image"] = ["JoyAIImagePipeline"]
266267
_import_structure["hunyuan_video"] = [
267268
"HunyuanVideoPipeline",
268269
"HunyuanSkyreelsImageToVideoPipeline",
@@ -706,6 +707,7 @@
706707
)
707708
from .hunyuan_video1_5 import HunyuanVideo15ImageToVideoPipeline, HunyuanVideo15Pipeline
708709
from .hunyuandit import HunyuanDiTPipeline
710+
from .joyai_image import JoyAIImagePipeline
709711
from .kandinsky import (
710712
KandinskyCombinedPipeline,
711713
KandinskyImg2ImgCombinedPipeline,
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
from typing import TYPE_CHECKING
2+
3+
from diffusers.utils import (
4+
DIFFUSERS_SLOW_IMPORT,
5+
OptionalDependencyNotAvailable,
6+
_LazyModule,
7+
get_objects_from_module,
8+
is_torch_available,
9+
is_transformers_available,
10+
)
11+
12+
13+
_dummy_objects = {}
14+
_import_structure = {}
15+
16+
try:
17+
if not (is_transformers_available() and is_torch_available()):
18+
raise OptionalDependencyNotAvailable()
19+
except OptionalDependencyNotAvailable:
20+
from diffusers.utils import dummy_torch_and_transformers_objects
21+
22+
_dummy_objects.update(get_objects_from_module(dummy_torch_and_transformers_objects))
23+
else:
24+
_import_structure["pipeline_joyai_image"] = ["JoyAIImagePipeline"]
25+
_import_structure["pipeline_output"] = ["JoyAIImagePipelineOutput"]
26+
27+
if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
28+
try:
29+
if not (is_transformers_available() and is_torch_available()):
30+
raise OptionalDependencyNotAvailable()
31+
except OptionalDependencyNotAvailable:
32+
from diffusers.utils.dummy_torch_and_transformers_objects import *
33+
else:
34+
from .pipeline_joyai_image import JoyAIImagePipeline
35+
from .pipeline_output import JoyAIImagePipelineOutput
36+
else:
37+
import sys
38+
39+
sys.modules[__name__] = _LazyModule(
40+
__name__,
41+
globals()["__file__"],
42+
_import_structure,
43+
module_spec=__spec__,
44+
)
45+
46+
for name, value in _dummy_objects.items():
47+
setattr(sys.modules[__name__], name, value)

0 commit comments

Comments
 (0)