github huggingface/diffusers v0.43.0
Diffusers 0.43.0: MiniMax-H3-Image, Pika H3 Flex, P-H3-Image, Kandinsky S2V, and PAN 2

one hour ago

Tip

This release adds five modular model integrations for image generation, editing, video with audio, speech-driven animation, and world simulation. It also improves attention backends, tensor parallelism, LoRA handling, and checkpoint saving.

MiniMax-H3-Image

MiniMax-H3-Image supports text-to-image generation and editing with one or more reference images. The integration includes a dedicated image transformer and autoencoder, with a fixed six-step sampling schedule and distilled guidance. A separate prompt-enhancement workflow expands short requests and suggests an aspect ratio.

Load it through ModularPipeline.from_pretrained(...), then call load_components(...). The MiniMax-H3-Image documentation covers reference-image prompts, output sizes, prompt enhancement, and component offloading.

Pika H3 Flex

Pika H3 Flex builds on MiniMax-H3 to generate video and synchronized stereo audio in six steps. It supports text prompts, first and/or last frames, and multimodal references through separate modular workflows. The integration includes LoRA adapter loading and a guide to sharing already-loaded MiniMax-H3 components between the two pipelines.

See the Pika H3 Flex documentation for workflow selection, adapter loading, and component reuse.

P-H3-Image

P-H3-Image from Pruna AI brings text-to-image generation and instruction-based editing with up to eight input images. Its modular pipeline includes a prompt upsampler that turns requests into detailed generation or editing prompts, an image autoencoder, and a text connector. The checkpoint uses eight sampling steps with distilled guidance.

See the P-H3-Image documentation for image sizing, reference-image editing, prompt upsampling, and offloading. Thanks to @nifleisch for the integration in #15171.

Kandinsky S2V 1.0

Kandinsky S2V 1.0 animates a person from a reference image and a speech recording, including full-body movement aligned with the speech. It generates video in five-second chunks, carrying FramePack memory between chunks. The supplied speech provides the soundtrack; the model generates the video.

The modular integration supports Lite and Pro checkpoints, including distilled variants that use PiflowScheduler with a default of 16 steps. See the Kandinsky S2V documentation for audio preparation, checkpoint settings, and memory requirements. Thanks to @nvsm for the integration in #15164.

PAN 2

PAN 2 simulates scenes from prompts describing actions and camera movements over time. This release integrates its 29B generative simulator through text-to-video and image-to-video modular workflows. Context parallelism and FirstBlockCache, MagCache, and TaylorSeer caching are supported. Prompt and video safety checks are enabled by default and require the separate pan2-guardrail package.

See the PAN 2 documentation for loading, guardrails, and distributed inference. The integration covers the simulator; the separate reasoning model that writes its prompts is linked from the model documentation. Thanks to @wu-qing-157 for the integration in #15202.

Other highlights

  • MiniMax-H3 tensor parallelism: shard the transformer across devices, including its large modulation projections. Replicated parameters also retain their intended dtype during tensor-parallel loading. See: #14609, #15147.
  • AMD attention support: the new aiter_sage_hub backend brings a Hub-hosted SageAttention kernel to RDNA4 gfx1201 GPUs, with native SDPA fallback for unsupported input shapes. See #15060.
  • Attention backend fixes: choosing a backend on one model no longer changes the backend of unrelated models. Individual attention modules now check requirements and download Hub kernels when selecting a backend, and the FlashAttention-2 integration works with newer Hub kernel versions. See #14335, #15000.
  • LoRA fixes: component-weight dictionaries now broadcast correctly across multiple adapters, and Kohya text-encoder LoRAs retain their per-module alpha values. Adapter-weight documentation and type hints also clarify supported formats. See: #15128, #15157.
  • Checkpoint saving: save_pretrained() preserves other variants' shards and removes obsolete indexes when replacing a sharded checkpoint with a single-file checkpoint. See #14844.
  • Modular caching: stateful cache hooks reset after each pipeline call, including calls that raise an exception, so subsequent generations start with fresh cache state. See #15212.
  • Training examples: fix gradient clipping in the text-to-image LoRA and SDXL LCM LoRA scripts, update FLUX quantized embedding preparation for current Transformers, and remove expired deprecation blocks that crashed training with --revision. See: #15184, #15144, #15118.
  • Documentation: reorganized distributed-inference guides, updated AWS Trainium examples for native TorchNeuron, and corrected Cosmos3 FP8 checkpoint locations. See: #15172, #15138, #15236.

Deprecations and compatibility

  • Dependency checks: availability checks now enforce supported dependency versions. An installed package below the supported minimum is treated as unavailable, with an upgrade message. For example, the existing minimums of torch>=2.6 and transformers>=4.41.2 are now enforced by these checks. (#15148)
  • Relocated model components: latent upscalers and condition embedders move under diffusers.models. Existing checkpoints remain loadable, while old pipeline-module imports are deprecated for removal in 1.0.0. Use public imports such as from diffusers import LTX2TextConnectors. See: #15111.
  • Modular input defaults: explicitly passing None preserves that value. Omitted inputs receive the default of the first block that reads them. An InputParam declared both required and with a non-None default is treated as optional and emits a warning. See: #15135, #14521.
  • Training behavior: --max_grad_norm now takes effect in the affected LoRA examples. Runs with gradients above the clipping threshold can therefore behave differently from earlier versions. See: #15184.
  • Component loading: repository configuration no longer causes arbitrary component-library imports. Custom component modules outside the supported library set must already be imported by the caller, and modular custom-block loading checks remote-code trust before processing requirements. See: 3076605.

Thanks to everyone who contributed code, documentation, reviews, and issue reports!

All commits

Significant community contributions

Thanks to our issue reporters

These authors opened issues resolved by PRs merged into this release. Thank you for helping improve Diffusers!

Full changelog: v0.42.0 to the v0.43.0 release commit

Don't miss a new diffusers release

NewReleases is sending notifications on new releases.