От скриншота к точному промпту: как разобрать картинку и заставить нейросеть повторить её

От скриншота к точному промпту: как разобрать картинку и заставить нейросеть повторить её

Нейросеть не видит «красивый интерфейс». Она видит слои: композицию, палитру, материал, свет, параметры рендера. Материал показывает, как разложить скриншот на эти слои и собрать промпт, который даёт предсказуемый результат.

Обратный промптингControlNet & IP-AdapterАнатомия промптаРазбор UI-скриншота

Почему «описание» не работает

Загрузка скриншота в функцию «опиши картинку» даёт набор тегов: «современный», «минимализм», «синий», «кнопки». Нейросеть-загенератор заполнит пропуски случайностью: изменит сетку, добавит лишние элементы, сменит пропорции. Результат — похоже, но не «то».

Чтобы контролировать рендер, нужно говорить на языке весов и токенов: отделять субъект от стиля, свет от материала, геометрию от декора. Это и есть реверс-инжиниринг изображения: перевод пикселей в структурированную инструкцию.

Главное правило: Промпт — это не пожелание, а техническое задание для рендера. Чем точнее слой описан, тем меньше свобода у модели его интерпретировать.

Инструменты авто-разбора: быстрый старт

Midjourney /describe

Родной инструмент. Кидаешь изображение — получаешь 4 варианта промпта с весами. Лучше всего понимает свой же стиль и параметры --ar, --stylize.

Идеально для MJ-воркфлоу

CLIP Interrogator (ViT-L/14)

Золотой стандарт для Stable Diffusion. Разбивает на: medium, artist, movement, trending, flavor. Даёт не теги, а готовый промпт-строку. Работает на Replicate или локально.

Максимальная детализация тегов

img2prompt / Replicate

Быстрый API-эндпоинт на базе BLIP + CLIP. Хорош для пакетной обработки скриншотов через скрипт. Возвращает чистый текст, готовый к вставке в SD WebUI.

Для автоматизации и батчей

PromptPerfect / Optimizers

Не интеррогатор, а улучшатель. Берёт сырой промпт от инструментов выше и чистит: убирает мусор, расставляет веса, добавляет негатив. Платный, но экономит часы ручной правки.

Полировка до продакшн-уровня

Анатомия ручного промпта: 5 слоёв точности

1

Субъект и композиция

Что на фото и где находится. «Dashboard UI, sidebar left, header top, 3 metric cards center, table bottom». Без этого модель гадает по компоновке.

2

Стиль и художественный язык

Flat design, glassmorphism, neumorphism, brutalism, Swiss style, isometric 3D, clay render. Указывай движок: Figma render, Unreal Engine 5, Octane, Blender Eevee.

3

Материалы и текстуры

Frosted glass, matte plastic, brushed metal, soft fabric, paper, glossy ceramic. Текстура задаёт тактильность и поведение света. Для UI — corner radius, border weight, shadow depth.

4

Свет, цвет, атмосфера

Global illumination, studio lighting, rim light, volumetric fog, dark mode palette #0A0A0F + accent #00FFAA. Цветовая схема — не «синий», а HEX или референс на Pantone.

5

Технические параметры

Aspect ratio (—ar 16:9), quality (—q 2), stylize (—s 250), model version (—v 6.0), sampler (DPM++ 2M Karras), steps (30), CFG (7). Без них — дефолт и сюрпризы.

Схема: от пикселей к токенам

Авто-инструменты делают этот путь неявно. Ручной разбор — это осознанное прохождение каждого этапа. Ты видишь скриншот → выделяешь зоны → называешь каждую зону токенами → собираешь в строку с весами.

  • Детекция: контуры, границы блоков, иерархия элементов.
  • Классификация: присвоение меток классам (button, card, typo, icon).
  • Атрибуция: цвет, тень, радиус, шрифт, иконка — в токены.
  • Сборка: линейная строка с весами (glassmorphism:1.3) и негативом.

Когда текста мало: ControlNet, IP-Adapter, Img2Img

Чистый текстовый промпт

  • Свобода композиции: модель перестраивает сетку.
  • Стиль передаётся средне: «glassmorphism» у всех разный.
  • Детали (иконки, текст, данные таблиц) — галлюцинации.
  • Подходит для: вдохновения, мудбордов, концептов.

Контроль через изображение

  • ControlNet Canny/Depth/Lineart: жёсткая геометрия. UI, архитектура, позы.
  • IP-Adapter / Style Reference (—sref): передача стиля без копирования контента.
  • Img2Img (Denoising 0.3-0.5): лёгкая доработка, сохранение структуры.
  • Подходит для: пиксель-в-пиксель рендер, редизайн с сохранением UX.

Вердикт: Для точного рендера UI/архитектуры по скриншоту — только ControlNet (Depth или Canny) + точный текстовый промпт. Для переноса «вайба» — IP-Adapter / —sref. Текст один — контроль нулевой.

Подводные камни: где промпт ломается

Игнорирование негативного промпта

Без --no text, watermark, blur, low quality, ugly, deformed, noise, grain, messy layout получишь артефакты, «водяные знаки» от обучающей выборки и нечитаемый текст в UI.

Смешивание стилей без весов

«Flat design, glassmorphism, neumorphism» вместе дадут грязный визуал. Используй веса: (glassmorphism:1.4), (flat design:1.1), (neumorphism:-0.5) или скобки [flat design:glassmorphism:0.7].

Несоответствие Aspect Ratio

Скриншот 16:9, промпт без --ar 16:9 (MJ) или --width 1024 --height 576 (SD) → обрезанная композиция или растянутые элементы. Всегда задай соотношение сторон явно.

Пример: разбор дашборда в Dark Mode

prompt_example.txt
Clean minimalist dashboard UI, dark mode, sidebar navigation left, top bar with user avatar, 3 metric cards center row, data table bottom with pagination, glassmorphism cards with subtle border glow, neon cyan accent color #00FFFF on charcoal #0D1117, Inter font, sharp corners 8px radius, global illumination, soft rim light on cards, 8k resolution, unreal engine 5 render, octane, highly detailed, --ar 16:9 --stylize 250 --v 6.0 --quality 2

Negative prompt: cluttered layout, bright white background, low resolution, blur, readable text, watermark, signature, gradient mesh, messy alignment, ugly UI, amateur design, drop shadow heavy, noise, grain, jpeg artifacts

Структура: Субъект/Композиция → Стиль/Материалы → Цвет/Свет → Тех. параметры. Негатив чистит артефакты обучения.

Промпт — это инструкция, а не желание

Точность слов определяет точность пикселей. Авто-инструменты дают черновик. Ручной разбор по 5 слоям даёт контроль. ControlNet даёт жёсткость структуры. Соедини их — и любой скриншот станет управляемым референсом.

Видишь слои — управляешь рендеромПиши промпты как ТЗТестируй на малых разрешениях