FLUX.1-Kontext-dev: ИИ для преобразования изображений
Модель ИИ для дополнения изображений текстовыми инструкциями
Black Forest Labs выпустила FLUX.1-Kontext-dev, продвинутую модель искусственного интеллекта для преобразования изображений, которая дополняет существующие изображения с помощью текстовых инструкций.
В отличие от FLUX.1-dev, которая генерирует изображения только по тексту, FLUX.1-Kontext-dev использует как входное изображение, так и текстовый запрос для создания изменённых версий, сохраняя при этом ключевые элементы.
Это изображение демонстрирует способность FLUX.1-Kontext-dev дополнять изображения.
Оригинальное изображение маскота Go:

было преобразовано с помощью инструкции this gopher rides on the bicycle on the hilly road. Неплохой результат, не так ли?
Что такое FLUX.1-Kontext-dev?
FLUX.1-Kontext-dev предназначена для генерации и редактирования изображений в контексте. Ключевые особенности включают:
- Сохранение характеристик: Сохраняет уникальные элементы (например, персонажей или объекты) в нескольких сценах
- Локальное редактирование: Изменяет конкретные части изображения, не затрагивая остальные
- Стилевое сходство: Генерирует новые сцены, сохраняя стиль из образцовых изображений
- Дополнение изображений: Преобразует изображения на основе текстовых инструкций
Установка
Предварительные требования
Вам понадобятся:
- 16ГБ+ VRAM на вашей видеокарте (рекомендуется NVIDIA RTX)
- Python 3.8+ с pip
- Доступ к Hugging Face (аккаунт и токен)
Шаги настройки
-
Создайте аккаунт Hugging Face на huggingface.co, если у вас его нет
-
Посетите страницу модели: https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev
-
Примите лицензионное соглашение (некоммерческое использование)
-
Создайте токен для записи на https://huggingface.co/settings/tokens
-
Скачайте модель:
git clone https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev
Или используйте путь к модели непосредственно в вашем коде.
Установка
Установите необходимые пакеты Python:
pip install -U diffusers torch transformers pillow accelerate sentencepiece
Или используя uv:
cd tools/fkon
uv sync
Использование
Базовый скрипт на Python
Вот полный пример использования FLUX.1-Kontext-dev:
import torch
from diffusers import FluxKontextPipeline
from PIL import Image
# Загрузка модели
model_path = "/path/to/FLUX.1-Kontext-dev"
pipe = FluxKontextPipeline.from_pretrained(
model_path,
torch_dtype=torch.bfloat16
)
# Включение выгрузки модели в CPU для экономии VRAM
pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()
# Загрузка входного изображения
input_image = Image.open("path/to/your/image.png").convert("RGB")
# Определение текста для дополнения
prompt = "this gopher rides on the bicycle on the hilly road"
# Генерация дополненного изображения
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)
)
# Сохранение результата
output_image = result.images[0]
output_image.save("augmented_image.jpg")
Обработка размеров
FLUX.1-Kontext-dev имеет специфические требования к размерам:
- Кратные 16: Размеры должны быть кратны 16
- Автоматическая корректировка: Модель может корректировать размеры для соответствия своим требованиям
- Изменение размера выходного изображения: Инструмент автоматически изменяет размер выходного изображения до запрошенных размеров
Инструмент обрабатывает это следующим образом:
- Округляет запрошенные размеры до кратных 16
- Изменяет размер входного изображения до округленных размеров
- Генерирует изображение (модель может изменить размеры ещё больше)
- Изменяет размер выходного изображения обратно до ваших запрошенных размеров
Примеры использования
- Преобразование персонажа
Преобразуйте персонажа, сохраняя его уникальность:
prompt = "this gopher rides on the bicycle on the hilly road"
- Удаление объектов
Удалите ненужные элементы:
prompt = "please remove the human dressed as minnie mouse from this photo"
Советы и лучшие практики
- Управление VRAM: Используйте
enable_model_cpu_offload(), если у вас ограничен VRAM - Планирование размеров: Запрашивайте размеры, кратные 16, чтобы минимизировать корректировки
- Чёткость инструкций: Будьте конкретны в текстовых инструкциях для лучших результатов
Ограничения
- Некоммерческая лицензия: Требуется коммерческая лицензия для использования в бизнесе
- Высокие требования к оборудованию: Нужна мощная видеокарта с значительным объемом VRAM
- Ограничения по размерам: Может автоматически корректировать размеры
- Время обработки: Может занимать 10-15 минут на изображение в зависимости от оборудования