"""VBVR-Pro-FLUX2-dev inference example. Usage: python example.py --model_path ./VBVR-Pro-FLUX2-dev """ import argparse import torch from PIL import Image from diffusers import Flux2Pipeline parser = argparse.ArgumentParser() parser.add_argument("--model_path", type=str, default="VBVR-Pro-FLUX2-dev") parser.add_argument("--image", type=str, required=True, help="Path to input image") parser.add_argument("--prompt", type=str, required=True, help="Editing instruction") parser.add_argument("--output", type=str, default="output.png") parser.add_argument("--steps", type=int, default=50) parser.add_argument("--seed", type=int, default=42) args = parser.parse_args() print(f"Loading model from: {args.model_path}") pipe = Flux2Pipeline.from_pretrained( args.model_path, torch_dtype=torch.bfloat16 ) pipe.enable_model_cpu_offload() image = Image.open(args.image).convert("RGB") print(f"Input image: {args.image} ({image.size[0]}x{image.size[1]})") output = pipe( image=image, prompt=args.prompt, num_inference_steps=args.steps, guidance_scale=2.5, generator=torch.manual_seed(args.seed), ).images[0] output.save(args.output) print(f"Saved to: {args.output}")