FLUX.1 Fill [dev] în ComfyUI: inpainting și outpainting în ComfyUI & Stable Diffusion / Flux

FLUX.1 Fill [dev] este modelul Black Forest Labs pentru umplerea zonelor mascate dintr-o imagine; în ComfyUI se rulează cu InpaintModelConditioning, FluxGuidance 30 și KSampler cu cfg 1.

Intrări & ieșiri nod
Load Diffusion Model (flux1-fill-dev.safetensors) + Load CLIP (Dual) (flux) + Load VAE (ae.safetensors)
Load Image (cu mască) -> InpaintModelConditioning (noise_mask = true)
CLIP Text Encode -> FluxGuidance (30) -> KSampler (steps 20, cfg 1, euler, normal)

Cardul modelului îl descrie ca pe un rectified flow transformer de 12 miliarde de parametri care umple zone din imagini existente pe baza unei descrieri text, antrenat prin guidance distillation, cu rezultate „second only” după FLUX.1 Fill [pro]. Greutățile sunt sub licența FLUX.1 [dev] Non-Commercial; rezultatele generate pot fi folosite și comercial, după aceeași licență. Descărcarea cere acceptarea licenței pe pagina black-forest-labs/FLUX.1-Fill-dev. Același model face inpainting (umple zona mascată) și outpainting (extinde imaginea).

Fișierele din tutorialul oficial: flux1-fill-dev.safetensors în models/diffusion_models, clip_l.safetensors și t5xxl_fp16.safetensors în models/text_encoders, ae.safetensors în models/vae. Masca vine din canalul alfa al imaginii încărcate cu Load Image sau se desenează în Mask Editor. Pentru outpainting, „Pad Image for Outpainting” adaugă margini și creează masca lor.

InpaintModelConditioning primește positive, negative, vae, pixels și mask și scoate positive, negative și latent: adaugă în condiționare imaginea cu zona mascată înlocuită cu gri și masca, scoate ca latent imaginea originală codată, iar cu noise_mask activ (implicit) limitează eșantionarea la zona mascată. Șablonul oficial mai folosește DifferentialDiffusion pe model și ConditioningZeroOut pentru negativ. VAEEncodeForInpaint („VAE Encode (for Inpainting)”) este nodul din tutorialul de bază pentru modele de inpainting SD; nu apare în șablonul Flux Fill.

Concepte cheie și caracteristici

Concept / Parametru Descriere practică
flux1-fill-dev.safetensors Modelul, în models/diffusion_models, încărcat cu Load Diffusion Model.
ae.safetensors VAE-ul FLUX.1.
InpaintModelConditioning positive, negative, vae, pixels, mask, noise_mask (implicit true) → positive, negative, latent.
FluxGuidance guidance 30 în șablonul oficial.
KSampler steps 20, cfg 1, sampler euler, scheduler normal, denoise 1 în șablon.
DifferentialDiffusion Aplicat pe model în șablonul oficial.
Pad Image for Outpainting Adaugă margini în jurul imaginii și masca lor, pentru outpainting.

Exemple practice și scenarii reale

Exemplul 1: Graful din șablonul flux_fill_inpaint_example

Load Diffusion Model (flux1-fill-dev.safetensors) -> DifferentialDiffusion -> KSampler.model
Load CLIP (Dual) (clip_l + t5xxl_fp16, flux) -> CLIP Text Encode
CLIP Text Encode -> FluxGuidance (30) -> InpaintModelConditioning.positive
CLIP Text Encode -> ConditioningZeroOut -> InpaintModelConditioning.negative
Load Image (IMAGE, MASK) + Load VAE (ae) -> InpaintModelConditioning (noise_mask true)
InpaintModelConditioning.positive/.negative/.latent -> KSampler
    steps 20, cfg 1, euler / normal, denoise 1
KSampler -> VAE Decode -> Save Image

Exemplul 2: Outpainting

Load Image -> Pad Image for Outpainting -> InpaintModelConditioning (pixels, mask)

Greșeli frecvente și capcane

  • Folosești FLUX.1 [dev] sau [schnell] obișnuit în locul fișierului flux1-fill-dev.safetensors. Fill este un model separat, antrenat pentru umplerea zonelor mascate.
  • Pui FluxGuidance pe valoarea de la text-to-image (3.5). Șablonul oficial pentru Fill folosește 30.
  • Nu primești masca. Load Image scoate MASK doar dacă imaginea are canal alfa; altfel desenează masca în Mask Editor.

Noțiuni și module înrudite