# Depth Processor Block This is a custom block designed to extract depth maps from input images using the [Depth Anything Model]("https://huggingface.co/depth-anything/Depth-Anything-V2-Large") model. The model can be used as a processor to generate conditioning images for ControlNets. # How to use ```python import torch from diffusers import ModularPipeline, ComponentsManager, ModularPipelineBlocks from diffusers.utils import load_image # Use ComponentsManager to enable auto CPU offloading for memory efficiency manager = ComponentsManager() manager.enable_auto_cpu_offload(device="cuda:0") # Initialize pipeline pipe = ModularPipeline.from_pretrained("Qwen/Qwen-Image", components_manager=manager) # Insert a depth processing block blocks = pipe.blocks.get_workflow("controlnet_text2image") depth_block = ModularPipelineBlocks.from_pretrained( "diffusers/depth-processor-custom-block", trust_remote_code=True, ) blocks.sub_blocks.insert("depth", depth_block, 0) # Reinitialize the pipeline for ControlNet pipe = blocks.init_pipeline("Qwen/Qwen-Image", components_manager=manager) pipe.load_components(torch_dtype=torch.bfloat16) # Load the ControlNet model controlnet_spec = pipeline.get_component_spec("controlnet") controlnet_spec.pretrained_model_name_or_path = "InstantX/Qwen-Image-ControlNet-Union" controlnet = controlnet_spec.load(torch_dtype=torch.bfloat16) pipe.update_components(controlnet=controlnet) # Infer prompt = "cat wizard with red hat, gandalf, lord of the rings, detailed, fantasy, cute, adorable, Pixar, Disney" image = load_image("https://github.com/Trgtuan10/Image_storage/blob/main/cute_cat.png?raw=true") output = pipe( prompt=prompt, image=image, ).images[0] output ```