Анатомия рабочего промта для генерации
Хороший промт — это не «сделай красиво». Это набор управляющих параметров: субъект, окружение, свет, камера, стиль, технические флаги. DeepSeek собирает их по формуле.
Субъект + сохранение
Чёткое описание объекта, который остаётся. Обязательно: «keep exact likeness», «preserve facial features», «same pose, same angle».
Окружение (новый фон)
Конкретика: «modern minimalist studio», «golden hour forest», «cyberpunk neon alley». Избегайте абстракций — генератору нужны текстуры и референсы.
Свет и цвет
Направление: «key light from left», «rim light», «soft diffused». Цветовая схема: «teal and orange», «pastel palette», «monochrome blue».
Технические флаги
Aspect ratio (—ar 16:9), quality (—q 2), style raw (—style raw), seed, negative prompt. Для ControlNet: «canny», «depth», «openpose».
Готовые шаблоны: скопируй, подставь, запусти
Каждый блок ниже — промт для DeepSeek. Вы отправляете его в чат, получаете готовый промт для генератора. В фигурных скобках — ваши переменные.
Путь Б: код для пакетной обработки
Если фон нужно сменить на 500 фото товаров — промты в генераторе не вариант. DeepSeek напишет скрипт. Ниже — минимальный рабочий пример с rembg (U2-Net) и подстановкой сплошного цвета или изображения.
# Установка: pip install rembg pillow numpy
# Запуск: python replace_bg.py input_folder output_folder
import os
import sys
from rembg import remove
from PIL import Image
import numpy as np
def replace_background(input_path, output_path, bg_color=(255, 255, 255, 255), bg_image_path=None):
with open(input_path, 'rb') as i:
input_data = i.read()
output_data = remove(input_data) # Удаляет фон, возвращает RGBA с прозрачностью
foreground = Image.open(io.BytesIO(output_data)).convert('RGBA')
if bg_image_path:
background = Image.open(bg_image_path).convert('RGBA')
background = background.resize(foreground.size, Image.LANCZOS)
else:
background = Image.new('RGBA', foreground.size, bg_color)
result = Image.alpha_composite(background, foreground)
result.save(output_path)
if __name__ == '__main__':
input_dir, output_dir = sys.argv[1], sys.argv[2]
os.makedirs(output_dir, exist_ok=True)
for fname in os.listdir(input_dir):
if fname.lower().endswith(('.jpg', '.jpeg', '.png', '.webp')):
replace_background(
os.path.join(input_dir, fname),
os.path.join(output_dir, fname),
bg_color=(255, 240, 241, 255) # мягкий розовый #FFF0F1
)
print('Готово')
Совет: попросите DeepSeek добавить поддержку белого/прозрачного фона на выбор, ресайз до единого размера, логирование ошибок и многопоточность через concurrent.futures.
Типовые ошибки и как их исправить
«Сделай белый фон» — генератор меняет освещение на объекте, добавляет тени, меняет цветобаланс.
«Pure white background #FFFFFF, shadowless, product photography lighting, preserve original object lighting and color temperature»
Портрет: лицо искажается, глаза асимметричны, волосы слипаются с фоном.
ControlNet: OpenPose (вес 1.0) + Canny (вес 0.8) + IP-Adapter FaceID. Деноузинг 0.3–0.5. Негатив: «asymmetric eyes, melted hair».
Код rembg оставляет артефакты по краям (светлый ореол) на тёмных объектах.
После remove(): морфологическое эрозия маски (cv2.erode, kernel 3×3, 1 итерация) + Gaussian blur альфа-канала (radius 1–2px).
Новый фон не подходит по перспективе — объект «плавит» в пространстве.
В промт добавить: «match perspective of reference», «camera height 1.6m, 50mm lens», или использовать ControlNet Depth для генерации фона под геометрию сцены.
Чек-лист перед отправкой в генерацию
1 Объект описан так, что его узнает твоя бабушка
- Материалы, текстуры, цвет (HEX/RGB)
- Логотипы, гравировки, уникальные детали
- Поза, ракурс, обрезка кадра
2 Фон задан через физические свойства, а не эмоции
- Материал пола/стен (бетон, дерево, стекло)
- Источники света: количество, направление, температура
- Глубина резкости: боке или всё в фокусе
3 Технические флаги соответствуют модели
- Midjourney: —ar, —v, —style, —stylize, —q
- SDXL: steps, CFG, sampler, denoising, ControlNet units
- DALL·E 3: aspect ratio в тексте промта
4 Негативный промт закрывает слабости модели
- Анатомия: extra fingers, mutated hands
- Качество: blur, noise, jpeg artifacts
- Артефакты: watermark, text, signature, frame