FLUX.1-Kontext-dev: Modelo de IA para Aumento de Imagens

Modelo de IA para aumentar imagens com instruções de texto

Conteúdo da página

Black Forest Labs lançou FLUX.1-Kontext-dev, um avançado modelo de IA de imagem para imagem que aumenta imagens existentes usando instruções de texto.

Ao contrário do FLUX.1-dev, que gera imagens a partir de texto sozinho, o FLUX.1-Kontext-dev usa tanto uma imagem de entrada quanto um prompt de texto para criar versões modificadas, preservando elementos-chave.

gopher em uma bicicleta Esta imagem demonstra a capacidade do FLUX.1-Kontext-dev de aumentar imagens.

A imagem original do mascote do Go:

Gopher go logo

foi transformada com a instrução este gopher pedala na bicicleta na estrada acidentada. Um resultado decente, não é?

O que é o FLUX.1-Kontext-dev?

O FLUX.1-Kontext-dev foi projetado para geração e edição de imagens em contexto. Recursos-chave incluem:

  • Consistência de Personagens: Preserva elementos únicos (como personagens ou objetos) em múltiplas cenas
  • Edição Local: Modifica partes específicas de uma imagem sem afetar o resto
  • Referência de Estilo: Gera novas cenas mantendo estilos de imagens de referência
  • Aumento de Imagem: Transforma imagens com base em instruções de texto

Instalação

Pré-requisitos

Você precisará de:

  • 16GB+ de VRAM na sua GPU (NVIDIA RTX recomendada)
  • Python 3.8+ com pip
  • Acesso ao Hugging Face (conta e token)

Passos de Configuração

  1. Crie uma conta no Hugging Face em huggingface.co se ainda não tiver uma

  2. Acesse a página do modelo: https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev

  3. Aceite o acordo de licença (uso não comercial)

  4. Crie um token de acesso com permissão de escrita em https://huggingface.co/settings/tokens

  5. Baixe o modelo:

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

Ou use o caminho do modelo diretamente no seu código.

Instalação

Instale os pacotes Python necessários:

pip install -U diffusers torch transformers pillow accelerate sentencepiece

Ou usando uv:

cd tools/fkon
uv sync

Uso

Script Básico em Python

Aqui está um exemplo completo usando o FLUX.1-Kontext-dev:

import torch
from diffusers import FluxKontextPipeline
from PIL import Image

# Carregue o modelo
model_path = "/caminho/para/FLUX.1-Kontext-dev"
pipe = FluxKontextPipeline.from_pretrained(
    model_path, 
    torch_dtype=torch.bfloat16
)

# Ative o desempenho da CPU para economizar VRAM
pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()

# Carregue sua imagem de entrada
input_image = Image.open("caminho/para/sua/imagem.png").convert("RGB")

# Defina seu prompt de aumento
prompt = "este gopher pedala na bicicleta na estrada acidentada"

# Gere a imagem aumentada
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)
)

# Salve o resultado
output_image = result.images[0]
output_image.save("imagem_aumentada.jpg")

Tratamento de Dimensões

O FLUX.1-Kontext-dev tem requisitos específicos de dimensões:

  • Múltiplos de 16: As dimensões devem ser múltiplos de 16
  • Ajuste automático: O modelo pode ajustar as dimensões para atender aos seus requisitos
  • Redimensionamento de saída: Nossa ferramenta redimensiona automaticamente a saída para as dimensões solicitadas

A ferramenta faz isso da seguinte forma:

  1. Arredonda as dimensões solicitadas para múltiplos de 16
  2. Redimensiona a imagem de entrada para as dimensões arredondadas
  3. Gera a imagem (o modelo pode ajustar ainda mais)
  4. Redimensiona a saída de volta para as dimensões solicitadas

Casos de Uso Exemplo

  1. Transformação de Personagens

Transforme um personagem mantendo a consistência:

prompt = "este gopher pedala na bicicleta na estrada acidentada"
  1. Remoção de Objetos

Remova elementos indesejados:

prompt = "por favor, remova a pessoa vestida como Minnie Mouse desta foto"

Dicas e Boas Práticas

  1. Gerenciamento de VRAM: Use enable_model_cpu_offload() se tiver VRAM limitada
  2. Planejamento de Dimensões: Solicite dimensões que sejam múltiplos de 16 para minimizar ajustes
  3. Clareza do Prompt: Seja específico nas instruções de texto para melhores resultados
  4. Geração em Lote: Gere várias variações (--n 4) para obter o melhor resultado
  5. Controle de Semente: Use sementes manuais para resultados reprodutíveis

Limitações

  • Licença não comercial: Requer licença comercial para uso empresarial
  • Intensivo em hardware: Requer GPU poderosa com VRAM significativa
  • Restrições de dimensão: Pode ajustar dimensões automaticamente
  • Tempo de processamento: Pode levar de 10 a 15 minutos por imagem, dependendo do hardware