# ZImageTransformer2DModel

A Transformer model for image-like data from [Z-Image](https://huggingface.co/Tongyi-MAI/Z-Image-Turbo).

## ZImageTransformer2DModel[[diffusers.ZImageTransformer2DModel]]

#### diffusers.ZImageTransformer2DModel[[diffusers.ZImageTransformer2DModel]]

[Source](https://github.com/huggingface/diffusers/blob/v0.38.0/src/diffusers/models/transformers/transformer_z_image.py#L359)

forwarddiffusers.ZImageTransformer2DModel.forwardhttps://github.com/huggingface/diffusers/blob/v0.38.0/src/diffusers/models/transformers/transformer_z_image.py#L894[{"name": "x", "val": ": list"}, {"name": "t", "val": ""}, {"name": "cap_feats", "val": ": list"}, {"name": "return_dict", "val": ": bool = True"}, {"name": "controlnet_block_samples", "val": ": dict[int, torch.Tensor] | None = None"}, {"name": "siglip_feats", "val": ": list[list[torch.Tensor]] | None = None"}, {"name": "image_noise_mask", "val": ": list[list[int]] | None = None"}, {"name": "patch_size", "val": ": int = 2"}, {"name": "f_patch_size", "val": ": int = 1"}]

Flow: patchify -> t_embed -> x_embed -> x_refine -> cap_embed -> cap_refine
-> [siglip_embed -> siglip_refine] -> build_unified -> main_layers -> final_layer -> unpatchify
#### patchify_and_embed[[diffusers.ZImageTransformer2DModel.patchify_and_embed]]

[Source](https://github.com/huggingface/diffusers/blob/v0.38.0/src/diffusers/models/transformers/transformer_z_image.py#L588)

Patchify for basic mode: single image per batch item.
#### patchify_and_embed_omni[[diffusers.ZImageTransformer2DModel.patchify_and_embed_omni]]

[Source](https://github.com/huggingface/diffusers/blob/v0.38.0/src/diffusers/models/transformers/transformer_z_image.py#L625)

Patchify for omni mode: multiple images per batch item with noise masks.

