|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from diffusers.utils import logging |
|
|
from diffusers.modular_pipelines import SequentialPipelineBlocks |
|
|
from diffusers.modular_pipelines.modular_pipeline_utils import InsertableDict |
|
|
|
|
|
from .before_denoise import WanRTStreamingBeforeDenoiseStep |
|
|
from .decoders import WanRTDecodeStep |
|
|
from .encoders import WanRTStreamingTextEncoderStep |
|
|
from .denoise import WanRTStreamingDenoiseStep |
|
|
|
|
|
logger = logging.get_logger(__name__) |
|
|
|
|
|
TEXT2VIDEO_BLOCKS = InsertableDict( |
|
|
[ |
|
|
("text_encoder", WanRTStreamingTextEncoderStep), |
|
|
("before_denoise", WanRTStreamingBeforeDenoiseStep), |
|
|
("denoise", WanRTStreamingDenoiseStep), |
|
|
("decode", WanRTDecodeStep), |
|
|
] |
|
|
) |
|
|
|
|
|
ALL_BLOCKS = { |
|
|
"text2video": TEXT2VIDEO_BLOCKS, |
|
|
} |
|
|
|
|
|
|
|
|
class WanStreamingRTBlocks(SequentialPipelineBlocks): |
|
|
block_classes = list(TEXT2VIDEO_BLOCKS.copy().values()) |
|
|
block_names = list(TEXT2VIDEO_BLOCKS.copy().keys()) |
|
|
|