Instructions to use diffusers/matrix-game-2-modular with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use diffusers/matrix-game-2-modular with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("diffusers/matrix-game-2-modular", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
| # Copyright 2025 The HuggingFace Team. All rights reserved. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| from diffusers.utils import logging | |
| from diffusers.modular_pipelines import SequentialPipelineBlocks | |
| from diffusers.modular_pipelines.modular_pipeline_utils import InsertableDict | |
| from .before_denoise import ( | |
| MatrixGameWanActionInputStep, | |
| MatrixGameWanPrepareImageMaskLatentsStep, | |
| MatrixGameWanPrepareLatentsStep, | |
| MatrixGameWanSetTimestepsStep, | |
| ) | |
| from .decoders import MatrixGameWanDecodeStep | |
| from .encoders import MatrixGameWanImageEncoderStep | |
| from .denoise import MatrixGameWanDenoiseStep | |
| logger = logging.get_logger(__name__) # pylint: disable=invalid-name | |
| class MatrixGameWanBeforeDenoiseStep(SequentialPipelineBlocks): | |
| block_classes = [ | |
| MatrixGameWanActionInputStep, | |
| MatrixGameWanSetTimestepsStep, | |
| MatrixGameWanPrepareLatentsStep, | |
| MatrixGameWanPrepareImageMaskLatentsStep, | |
| ] | |
| block_names = ["action_input", "set_timesteps", "prepare_latents", "prepare_mask_latents"] | |
| def description(self): | |
| return ( | |
| "Before denoise step that prepare the inputs for the denoise step.\n" | |
| + "This is a sequential pipeline blocks:\n" | |
| + " - `MatrixGameWanInputStep` is used to adjust the batch size of the model inputs\n" | |
| + " - `MatrixGameWanSetTimestepsStep` is used to set the timesteps\n" | |
| + " - `MatrixGameWanPrepareLatentsStep` is used to prepare the latents\n" | |
| ) | |
| ACTION2VIDEO_BLOCKS = InsertableDict( | |
| [ | |
| ("action_input", MatrixGameWanActionInputStep), | |
| ("image_encoder", MatrixGameWanImageEncoderStep), | |
| ("set_timesteps", MatrixGameWanSetTimestepsStep), | |
| ("prepare_latents", MatrixGameWanPrepareLatentsStep), | |
| ("prepare_masked_latents", MatrixGameWanPrepareImageMaskLatentsStep), | |
| ("denoise", MatrixGameWanDenoiseStep), | |
| ("decode", MatrixGameWanDecodeStep), | |
| ] | |
| ) | |
| ALL_BLOCKS = { | |
| "action2video": ACTION2VIDEO_BLOCKS, | |
| } | |