Защита проекта через гамму: промт-формула для стабильного цвета от генерации к генерации

Защита проекта через гамму: промт-формула для стабильного цвета

Визуальный дрифт убивает сериальность. Промт в гамму — это не про «красиво», а про контракт с моделью: зафиксировать цветопередачу, контраст и настроение так, чтобы 100-я генерация выглядела так же, как первая.

Midjourney / Stable DiffusionСериальность и брендБез обучения LoRA

Вы генерируете персонажа для комикса, фреймы для рекламы или шоты для брендбука. Промт идентичный, сид разный. Результат: кожа то розовая, то сероватая, то оранжевая. Небо то cyan, то насыщенный blue. Тени то холодные, то тёплые. Модель «гадает», потому что в латентном пространстве цвет — это распределение вероятностей, а не жесткое правило.

Привычные решения — сиды, —cref, —sref, ControlNet — решают геометрию и композицию. Но цветовая гамма скользит. Промт в гамму (Gamma Prompt) — это явное программирование цветопередачи через термины, понятные диафрагме и цветокорректору: кривые, LUT-описания, координаты в цветовых пространствах, запрет на нежелательные оттенки.

Материал ниже — пошаговая инструкция, как собрать такой промт, чтобы цвет стал стабильным активом проекта, а не случайностью.

Что такое «промт в гамму» на уровне модели

Диффузионные модели (SD, MJ, Flux) оперируют в латентном пространстве, где RGB-каналы смешаны с семантикой. Слово «киношный» тянет за собой teal & orange, lifted blacks, низкую насыщенность в светах. Слово «неон» — чистые спектральные оттенки, clipping в светах, резкие переходы.

Промт в гамму — это блок инструкций, который:

  • Фиксирует точку белого и чёрного (white point / black point) — устраняет «серую» пелену или забитые тени.
  • Задаёт кривую тонов (Tone Curve) — contrast, S-curve, filmic rolloff, log-profile.
  • Ограничивает гамут (Gamut) — разрешенные оттенки кожи, неба, листвы, акцентов.
  • Назначает цветовую температуру ключевого света и заполнения — кельвины, цветовые фильтры (CTB, CTO, plus/minus green).
  • Вводит негативную гамму — что категорически исключено (magenta cast, green shadows, oversaturation).
Схема: как гамма-промт перехватывает дрифт

пространствоРаспределение вероятностей цветаГамма-промтCurve + Gamut + White/Black PointСтабильный
выход
ΔE < 2 между генерациями

Четыре столпа гамма-промта

1. Референсная точка (Anchor)

Жёсткая привязка к измеримой величине. Не «тёплые тона», а «key light 4200K, fill 5600K, skin tone reference: Pantone 489 C / L*a*b* 65, 18, 22». Для MJ — параметр --cref с изображением этилона цвета. Для SD — IP-Adapter Color Only / Reference Only в ControlNet.

2. Кривая тона (Tone Curve)

Явное описание контраста. «S-curve filmic: lift shadows +0.15, gamma 1.05, gain highlights -0.1, shoulder roll-off». «Log-C Arri style: preserve 14 stops DR, mid-gray at 0.38». «High key: crush blacks to 0, clip whites at 245, midtones +0.3». Модель переводит это в распределение шума на этапе денойзинга.

3. Разрешённый гамут (Gamut Map)

Список допустимых hue-диапазонов для ключевых объектов. «Skin hue range: 25±5° (HSV), saturation 35-55%. Foliage hue: 110±15°, sat 40-60%. Sky hue: 200±10°, sat 30-50%». Блокирует «галлюцинации» фиолетовой кожи или красного неба. В SD — через Regional Prompter / Attention Coupling. В MJ — текстово.

4. Негативная гамма (Negative Gamut)

Что запрещено. «No magenta cast in shadows, no green-magenta shift in midtones, no orange oversaturation > 85%, no cyan contamination in highlights, no crushed blacks < 5 IRE». Работает как hard constraint в attention. Критично для кожи и нейтралов.

Сборка промта: 5 шагов от хаоса к стандарту

1

Соберите этитон

Сделайте 3-5 референсных генераций с идеальным цветом (подберите сид, inpainting, ручную коррекцию). Это ваш «эталон». Сохраните их как референс-сет.

2

Измерьте числа

Откройте эталоны в пипетке (Photoshop, DaVinci, онлайн-инструмент). Запишите: L*a*b* кожи, RGB светий/теней, Hue/Sat ключевых объектов, среднюю яркость (EV), контраст (RMS).

3

Сформулируйте блок гаммы

Переведите числа в язык промта (см. шаблон ниже). Добавьте термины: «graded with Kodak 2383 LUT», «ACES 1.3 ODTT», «shadow tint: 10% blue», «highlight rolloff: soft knee».

4

Протестируйте на 20 сидах

Сгенерируйте серию с разными сидами, тем же промтом. Проверьте ΔE (Delta E) кожи и неба относительно эталона. Цель: ΔE < 2.5 (невидимо глазу), max ΔE < 5.

5

Закрепите как пресет проекта

Сохраните блок гаммы в библиотеку промтов проекта (Notion, Obsidian, txt-файл). Обязательно включайте в каждый новый промт серии. Версионируйте: v1.0, v1.1 (исправили зелёную тень).

Готовый шаблон: копируйте и адаптируйте

Universal Gamma Block v1.0 — вставьте в конец промта
--gamma-block [
  color_space: "ACEScc",
  white_point: "D60 (6000K)",
  black_point: "0.005 density, tint 2% blue",
  tone_curve: "filmic S-curve, shoulder 0.85, toe 0.12, mid_contrast 1.15",
  lut_reference: "Kodak 2383 / Fuji 3513 blend 60/40",
  gamut_map: {
    skin: "hue 25±5, sat 35-55%, lum 55-75%",
    foliage: "hue 110±15, sat 40-60%",
    sky: "hue 200±10, sat 30-50%"
  },
  negative_gamut: [
    "no magenta in shadows < 30 IRE",
    "no green-magenta shift in midtones",
    "no saturation > 85% in any channel",
    "no crushed blacks < 3 IRE",
    "no cyan highlight contamination"
  ]
]

С гамма-промтом и без: разница в производстве

Без гамма-промта

  • Каждый 3-4 кадр требует ручной цветокоррекции в DaVinci/PS.
  • Персонаж «бродит» по цветовому кругу от кадра к кадру.
  • Невозможно собрать таймлапс или моушн без мерцания цвета.
  • Бренд-гайдлайн не соблюдается: фирменный красный то #D80621, то #E53348.
  • Время на пост-продакшн растёт линейно с количеством кадров.

С гамма-промтом

  • 90%+ кадров уходят в финал без цветокоррекции (только экспозиция).
  • ΔE кожи между первым и 50-м кадром < 2.0.
  • Стабильный лук для видео-интерполяции (FILM, RIFE) без мерцания.
  • Фирменные цвета бренда попадают в допуск Pantone / L*a*b* автоматически.
  • Пост-продакшн сокращается до контроля качества (QC), а не коррекции.

Важно: сид ≠ гамма

Фиксированный сид фиксирует композицию и шум, но не гарантирует цвет при изменении промта, разрешения, аспект-рейто или версии модели. Гамма-промт работает ортогонально: он задаёт цветовые инварианты, которые удерживаются при любых сидах и модератных изменениях промта.

Лучшая стратегия: Гамма-промт (постоянный) + Сид (для композиции) + ControlNet/IP-Adapter (для структуры). Это даёт полный контроль: геометрия от сида/контрольнет, цвет — от гамма-блока.

Гамма — это договорённость, а не магия

Нейросеть не «понимает» цвет как художник. Она предсказывает распределение пикселей, согласованное с текстом. Промт в гамму переводит вашу художественную волю в язык ограничений латентного пространства: координаты, кривые, запреты.

Как только этот блок становится частью пайплайна проекта, цвет перестаёт быть риском. Он становится активом. Вы тратите время на поиск этой гаммы один раз — на этапе R&D. Потом вы просто эксплуатируете её, масштабируя серию от 10 до 10 000 кадров без потери качества.

Стабильный цвет — это не удача. Это инженерия промта.