diff --git a/extensions_built_in/diffusion_models/flux3/flux3.py b/extensions_built_in/diffusion_models/flux3/flux3.py index 4bddee0..28dba59 100644 --- a/extensions_built_in/diffusion_models/flux3/flux3.py +++ b/extensions_built_in/diffusion_models/flux3/flux3.py @@ -111,6 +111,8 @@ class Flux3Model(BaseModel): self.target_lora_modules = ["Flux3Transformer"] self.supports_model_paths = True self.use_old_lokr_format = False + # references keep their own framing; _fit_reference sizes them by area + self.use_raw_control_images = True self.processor = None # Qwen3-VL AutoProcessor self.max_text_length = int( @@ -515,7 +517,11 @@ class Flux3Model(BaseModel): if batch.control_tensor_list is not None: control_list = batch.control_tensor_list elif batch.control_tensor is not None: - control_list = [[batch.control_tensor[b]] for b in range(batch_size)] + # (B, C, H, W) single reference or the dataloader's + # (B, N, C, H, W) stack of N references per sample + control_list = [ + list(ct) if ct.ndim == 4 else [ct] for ct in batch.control_tensor + ] if control_list is not None: target_pixels = h_lat * w_lat * 16 * 16 ref_latents = [] diff --git a/version.py b/version.py index 1d45490..cbca31d 100644 --- a/version.py +++ b/version.py @@ -1 +1 @@ -VERSION = "0.13.31" +VERSION = "0.13.32"