FLUX.1-Kontext-dev: AI-model voor beeldversterking

AI-model voor het aanvullen van afbeeldingen met tekstinstructies

Inhoud

Black Forest Labs heeft FLUX.1-Kontext-dev, een geavanceerd beeld-naar-beeld AI-model dat bestaande beelden verrijkt met behulp van tekstinstructies, vrijgegeven.

In tegenstelling tot FLUX.1-dev, dat beelden genereert op basis van tekst alleen, gebruikt FLUX.1-Kontext-dev zowel een invoerbeeld als een tekstprompt om aangepaste versies te maken, terwijl belangrijke elementen behouden blijven.

gopher op een fiets Dit beeld toont de mogelijkheid van FLUX.1-Kontext-dev om beelden te verrijken.

Het originele Go-embleem:

Gopher Go logo

is veranderd met de instructie deze gopher rijdt op de fiets op de heuvelachtige weg. Een behoorlijk resultaat, niet?

Wat is FLUX.1-Kontext-dev?

FLUX.1-Kontext-dev is ontworpen voor in-context beeldgeneratie en bewerking. Belangrijke functies zijn:

  • Karakterconsistentie: Behoudt unieke elementen (zoals karakters of objecten) over meerdere scènes
  • Lokale bewerking: Bewerkt specifieke delen van een beeld zonder de rest te beïnvloeden
  • Stijlverwijzing: Genereert nieuwe scènes terwijl stijlen uit verwijzingsbeelden behouden blijven
  • Beeldverrijking: Verandert beelden op basis van tekstinstructies

Installatie

Voorwaarden

Je hebt het volgende nodig:

  • 16GB+ VRAM op je GPU (NVIDIA RTX wordt aangeraden)
  • Python 3.8+ met pip
  • Toegang tot Hugging Face (account en token)

Installatiestappen

  1. Maak een Hugging Face account aan op huggingface.co als je er nog geen hebt

  2. Bezoek de modelpagina: https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev

  3. Accepteer het licentieovereenkomst (niet-commerciële gebruik)

  4. Maak een schrijftoegangstoken aan op https://huggingface.co/settings/tokens

  5. Download het model:

git clone https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev

Of gebruik de modelpad direct in je code.

Installatie

Installeer de benodigde Python-pakketten:

pip install -U diffusers torch transformers pillow accelerate sentencepiece

Of gebruik uv:

cd tools/fkon
uv sync

Gebruik

Basis Python-script

Hier is een volledig voorbeeld met FLUX.1-Kontext-dev:

import torch
from diffusers import FluxKontextPipeline
from PIL import Image

# Laad het model
model_path = "/pad/naar/FLUX.1-Kontext-dev"
pipe = FluxKontextPipeline.from_pretrained(
    model_path, 
    torch_dtype=torch.bfloat16
)

# Schakel CPU-offloading in om VRAM te besparen
pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()

# Laad je invoerbeeld
input_image = Image.open("pad/naar/je/beeld.png").convert("RGB")

# Definieer je verrijkingsprompt
prompt = "deze gopher rijdt op de fiets op de heuvelachtige weg"

# Genereer het verrijkte beeld
result = pipe(
    prompt=prompt,
    image=input_image,
    height=496,
    width=680,
    guidance_scale=3.5,
    num_inference_steps=60,
    max_sequence_length=512,
    generator=torch.Generator("cpu").manual_seed(42)
)

# Sla het resultaat op
output_image = result.images[0]
output_image.save("verrijkt_beeld.jpg")

Afmetingbeheer

FLUX.1-Kontext-dev heeft specifieke afmetingsvereisten:

  • Vervolg van 16: Afmetingen moeten veelvouden van 16 zijn
  • Automatische aanpassing: Het model kan afmetingen aanpassen om aan zijn vereisten te voldoen
  • Uitvoerherformatering: Ons hulpmiddel verkleint automatisch de uitvoer terug naar de aangevraagde afmetingen

Het hulpmiddel doet dit als volgt:

  1. Rond de aangevraagde afmetingen af tot veelvouden van 16
  2. Verkleint het invoerbeeld naar de afgeronde afmetingen
  3. Genereert het beeld (het model kan het verder aanpassen)
  4. Verkleint de uitvoer terug naar je aangevraagde afmetingen

Voorbeeldgebruik

  1. Karaktertransformatie

Verander een karakter terwijl consistentie behouden blijft:

prompt = "deze gopher rijdt op de fiets op de heuvelachtige weg"
  1. Objectverwijdering

Verwijder ongewenste elementen:

prompt = "verwijder alsjeblieft de mens in de kleding van Minnie Mouse uit deze foto"

Tips en beste praktijken

  1. VRAM-beheer: Gebruik enable_model_cpu_offload() als je beperkte VRAM hebt
  2. Afmetingsplanning: Vraag afmetingen die veelvouden van 16 zijn om aanpassingen te minimaliseren
  3. Promptduidelijkheid: Wees specifiek in je tekstinstructies voor betere resultaten
  4. Batchgeneratie: Genereer meerdere variaties (--n 4) om het beste resultaat te krijgen
  5. Zaadcontrole: Gebruik handmatige zaden voor herhaalbare resultaten

Beperkingen

  • Niet-commerciële licentie: Vereist commerciële licentie voor zakelijk gebruik
  • Hardware-intensief: Vereist krachtige GPU met aanzienlijke VRAM
  • Afmetingsbeperkingen: Kan afmetingen automatisch aanpassen
  • Verwerkingstijd: Kan 10-15 minuten per beeld duren afhankelijk van de hardware