FLUX.1-Kontext-dev: Model AI Peningkatan Gambar

Model AI untuk meningkatkan gambar dengan instruksi teks

Konten Halaman

Black Forest Labs telah merilis FLUX.1-Kontext-dev, sebuah model AI canggih untuk mengubah gambar berdasarkan instruksi teks.

Berbeda dengan FLUX.1-dev yang menghasilkan gambar hanya dari teks, FLUX.1-Kontext-dev mengambil gambar masukan dan instruksi teks untuk menciptakan versi yang dimodifikasi sambil mempertahankan elemen-elemen penting.

gopher on a bycicle Gambar ini menunjukkan kemampuan FLUX.1-Kontext-dev dalam memperbaiki gambar.

Gambar asli dari mascot Go:

Gopher go logo

telah diubah dengan instruksi this gopher rides on the bicycle on the hilly road. Hasilnya cukup bagus, bukan?

Apa itu FLUX.1-Kontext-dev?

FLUX.1-Kontext-dev dirancang untuk pembuatan dan pengeditan gambar dalam konteks. Fitur utamanya meliputi:

  • Konsistensi Karakter: Mempertahankan elemen unik (seperti karakter atau objek) di berbagai adegan
  • Pengeditan Lokal: Memodifikasi bagian tertentu dari gambar tanpa memengaruhi bagian lainnya
  • Referensi Gaya: Menghasilkan adegan baru sambil mempertahankan gaya dari gambar referensi
  • Peningkatan Gambar: Mengubah gambar berdasarkan instruksi teks

Instalasi

Prasyarat

Anda membutuhkan:

  • VRAM 16GB+ pada GPU Anda (NVIDIA RTX disarankan)
  • Python 3.8+ dengan pip
  • Akses ke Hugging Face (akun dan token)

Langkah Pengaturan

  1. Buat akun Hugging Face di huggingface.co jika Anda belum memiliki akun

  2. Kunjungi halaman model: https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev

  3. Terima perjanjian lisensi (penggunaan non-komersial)

  4. Buat token akses tulis di https://huggingface.co/settings/tokens

  5. Unduh model:

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

Atau gunakan jalur model langsung dalam kode Anda.

Instalasi

Pasang paket Python yang diperlukan:

pip install -U diffusers torch transformers pillow accelerate sentencepiece

Atau menggunakan uv:

cd tools/fkon
uv sync

Penggunaan

Skrip Python Dasar

Berikut adalah contoh lengkap penggunaan FLUX.1-Kontext-dev:

import torch
from diffusers import FluxKontextPipeline
from PIL import Image

# Muat model
model_path = "/path/to/FLUX.1-Kontext-dev"
pipe = FluxKontextPipeline.from_pretrained(
    model_path, 
    torch_dtype=torch.bfloat16
)

# Aktifkan offloading ke CPU untuk menghemat VRAM
pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()

# Muat gambar masukan
input_image = Image.open("path/to/your/image.png").convert("RGB")

# Definisikan instruksi peningkatan
prompt = "this gopher rides on the bicycle on the hilly road"

# Hasilkan gambar yang ditingkatkan
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)
)

# Simpan hasil
output_image = result.images[0]
output_image.save("augmented_image.jpg")

Pengelolaan Dimensi

FLUX.1-Kontext-dev memiliki persyaratan dimensi khusus:

  • Kelipatan 16: Dimensi harus merupakan kelipatan dari 16
  • Penyesuaian otomatis: Model mungkin menyesuaikan dimensi untuk memenuhi kebutuhan
  • Pemotongan output: Alat kami secara otomatis menyesuaikan ukuran output kembali ke dimensi yang diminta

Alat ini menangani hal ini dengan cara berikut:

  1. Melingkarkan dimensi yang diminta ke kelipatan 16
  2. Mengubah ukuran gambar masukan ke dimensi yang telah dibulatkan
  3. Menghasilkan gambar (model mungkin menyesuaikan lebih lanjut)
  4. Mengubah ukuran output kembali ke dimensi yang diminta

Contoh Penggunaan

  1. Transformasi Karakter

Ubah karakter sambil mempertahankan konsistensi:

prompt = "this gopher rides on the bicycle on the hilly road"
  1. Penghapusan Objek

Hapus elemen yang tidak diinginkan:

prompt = "please remove the human dressed as minnie mouse from this photo"

Tips dan Praktik Terbaik

  1. Manajemen VRAM: Gunakan enable_model_cpu_offload() jika Anda memiliki VRAM terbatas
  2. Perencanaan Dimensi: Permintaan dimensi yang merupakan kelipatan 16 untuk meminimalkan penyesuaian
  3. Klarifikasi Prompt: Jelas dalam instruksi teks Anda untuk hasil yang lebih baik
  4. Penghasilan Batch: Hasilkan beberapa variasi (--n 4) untuk mendapatkan hasil terbaik
  5. Kontrol Seed: Gunakan seed manual untuk hasil yang dapat diulang

Keterbatasan

  • Lisensi Non-komersial: Membutuhkan lisensi komersial untuk penggunaan bisnis
  • Intensif Perangkat Keras: Membutuhkan GPU yang kuat dengan VRAM yang signifikan
  • Keterbatasan Dimensi: Mungkin menyesuaikan dimensi secara otomatis
  • Waktu Pemrosesan: Dapat memakan waktu 10-15 menit per gambar tergantung pada perangkat keras

Tautan yang Berguna