| import importlib |
| import torch |
| from PIL import Image |
| from diffsynth.pipelines.flux_image_new import FluxImagePipeline, ModelConfig |
| from modelscope import dataset_snapshot_download |
|
|
|
|
| if importlib.util.find_spec("transformers") is None: |
| raise ImportError("You are using Nexus-GenV2. It depends on transformers, which is not installed. Please install it with `pip install transformers==4.49.0`.") |
| else: |
| import transformers |
| assert transformers.__version__ == "4.49.0", "Nexus-GenV2 requires transformers==4.49.0, please install it with `pip install transformers==4.49.0`." |
|
|
|
|
| pipe = FluxImagePipeline.from_pretrained( |
| torch_dtype=torch.bfloat16, |
| device="cuda", |
| model_configs=[ |
| ModelConfig(model_id="DiffSynth-Studio/Nexus-GenV2", origin_file_pattern="model*.safetensors", offload_device="cpu"), |
| ModelConfig(model_id="DiffSynth-Studio/Nexus-GenV2", origin_file_pattern="edit_decoder.bin", offload_device="cpu"), |
| ModelConfig(model_id="black-forest-labs/FLUX.1-dev", origin_file_pattern="text_encoder/model.safetensors", offload_device="cpu"), |
| ModelConfig(model_id="black-forest-labs/FLUX.1-dev", origin_file_pattern="text_encoder_2/", offload_device="cpu"), |
| ModelConfig(model_id="black-forest-labs/FLUX.1-dev", origin_file_pattern="ae.safetensors", offload_device="cpu"), |
| ], |
| nexus_gen_processor_config=ModelConfig(model_id="DiffSynth-Studio/Nexus-GenV2", origin_file_pattern="processor/"), |
| ) |
| pipe.enable_vram_management() |
|
|
| dataset_snapshot_download(dataset_id="DiffSynth-Studio/examples_in_diffsynth", local_dir="./", allow_file_pattern=f"data/examples/nexusgen/cat.jpg") |
| ref_image = Image.open("data/examples/nexusgen/cat.jpg").convert("RGB") |
| prompt = "Add a crown." |
| image = pipe( |
| prompt=prompt, negative_prompt="", |
| seed=42, cfg_scale=2.0, num_inference_steps=50, |
| nexus_gen_reference_image=ref_image, |
| height=512, width=512, |
| ) |
| image.save("cat_crown.jpg") |
|
|