Этап 1: Поиск масштаба псевдо-пикселя (Scale Detection)
Фильтр Собеля позволяет найти места с резкими переходами цветов — то есть потенциальные границы между псевдопикселями.
Мы получаем двумерную карту «резкости» по X и Y, где яркие линии — это места, где картинка притворяется пиксельной.
Теперь мы превращаем 2D-гистограмму границ в 1D-профиль: суммируем яркость по каждому столбцу (для X) и строке (для Y). Это даёт нам наглядную кривую, где пики указывают на предполагаемые линии сетки.
Далее рассмотрим распределение расстояний между пиками. В большинстве тестовых картинок всплывает шаг 8/12/16/24 px; 43 px — просто хороший «демо‑случай».
Анализ всей картинки: сотни измерений показывают доминирующий шаг — 43 пикселя.
Для наглядности мы визуализируем границы между «псевдопикселями» — то есть места с наибольшими цветовыми переходами по всей картинке. Это помогает убедиться, что структура действительно регулярная, а выбранный масштаб соответствует реальному «рисунку» нейросети.
Тёплые зоны — резкие границы, которые нейросеть создала между «пикселями». Их регулярность подтверждает корректность выбранного масштаба
Изменение формата битности
Разнообразие generate-model
Генерация арта осуществляется во всех доступных моделях, чтобы вы могли подобрать именно тот стиль и «битность» пиксель-арта, который подойдет для вас.
Русский язык
Сервис позволяет создавать промты на русском языке, дополняя их при желании английским.
Этап 2: Выравнивание сетки и умная обрезка
- Преобразуем изображение в градации серого.
- Считаем границы — места, где изображение резко меняется, с помощью фильтра Собеля.
- Строим профили по строкам и столбцам — сколько «резкости» приходится на каждую линию.
- Перебираем все возможные сдвиги от 0 до scale — 1, и на каждом шаге оцениваем, насколько хорошо сетка совпадает с пиками в этих профилях.
- Выбираем такой сдвиг (x, y), при котором сетка максимально точно ложится на изображение.
Считаем границы — места, где изображение резко меняется, с помощью фильтра Собеля.
Строим профили по строкам и столбцам — сколько «резкости» приходится на каждую линию.
Перебираем все возможные сдвиги от 0 до scale — 1, и на каждом шаге оцениваем, насколько хорошо сетка совпадает с пиками в этих профилях.
Выбираем такой сдвиг (x, y), при котором сетка максимально точно ложится на изображение.
В результате мы знаем не только размер псевдопикселя, но и его положение — то есть можем с уверенностью нарисовать сетку, которая совпадает с визуальной структурой изображения.
После этого картинку можно обрезать так, чтобы её размеры делились на 43 без остатка, и каждый блок внутри сетки стал честной «ячейкой», которую можно анализировать и уменьшать без искажений.
Этап 3. Формирование палитры
Настоящий ретро‑пиксель‑арт — это всегда ещё и палитра. Например, в NES было 54 отображаемых цвета (из 64) и максимум 4 на тайл; в SNES — больше, но всё равно жёстко фиксировано.
Поэтому настоящая пиксельная графика — это всегда не только про сетку, но и про сдержанную палитру.
- Убирает шум — плавные градиенты, антиалиасинг, случайные оттенки.
- Приближает к эстетике ретро — делает картинку «собранной» и аккуратной, как если бы её действительно рисовали для GBA или Mega Drive.
- Также это позволяет нам проще подогнать спрайт к остальным ассетам нашей игры, если мы используем единую палитру, например, из
Приближает к эстетике ретро — делает картинку «собранной» и аккуратной, как если бы её действительно рисовали для GBA или Mega Drive.
Также это позволяет нам проще подогнать спрайт к остальным ассетам нашей игры, если мы используем единую палитру, например, из
Для формирования палитры я использовал квантизацию через алгоритм WuQuant из библиотеки image-q
Квантизация — это процесс сведения похожих цветов к ближайшему из фиксированной палитры.Если в изображении было, скажем, 1500 зелёных оттенков, то после квантизации останется 4–8, и каждый пиксель будет перекрашен в ближайший.
Этап 4. Даунскейл по доминирующему цвету
- Выделяем блок — берём участок, соответствующий одному пикселю в финальной картинке
- Считаем цвета — сколько раз встречается каждый
- Выбираем победителя — если один цвет встречается чаще остальных (больше 5% от всех), он и становится цветом блока
- Если голосование не определило явного победителя, берём средний цвет (с усреднением по RGB)
Выделяем блок — берём участок, соответствующий одному пикселю в финальной картинке
Выбираем победителя — если один цвет встречается чаще остальных (больше 5% от всех), он и становится цветом блока
Если голосование не определило явного победителя, берём средний цвет (с усреднением по RGB)
В отличие от наивного рескейла (где цвета смешиваются и рождают артефакты), такой блоковый подход делает каждый пиксель осмысленным.
Часто задаваемые вопросы о нейросетях для пиксель-арта
Вопрос: Какие нейросети лучше всего подходят для создания пиксель-арта?
Ответ: Для пиксель-арта часто используют специализированные модели, такие как Pixel Art Diffusion, или настраивают Stable Diffusion с помощью LoRA-адаптеров, обученных на пиксельной графике. Также подходят модели, понимающие запросы вроде «pixel art», «8-bit» или «16-bit».
Вопрос: Нужно ли уметь рисовать, чтобы пользоваться такой нейросетью?
Ответ: Нет, базовые навыки рисования не обязательны. Однако понимание основ пиксель-арта (палитра, ограничение цвета, четкие контуры) поможет формулировать более точные запросы и получать лучший результат.
Вопрос: Какой текст запроса (промпт) давать нейросети для пиксель-арта?
Ответ: В промпте важно указать стиль («pixel art», «8bit», «low-res»), тему, цветовую гамму, настроение. Можно добавить технические термины: «no anti-aliasing» (без сглаживания), «limited color palette» (ограниченная палитра).
Вопрос: Почему нейросеть иногда выдает размытое или нечеткое изображение вместо четких пикселей?
Ответ: Это происходит из-за настроек сглаживания (anti-aliasing) в модели или слишком высокого разрешения выходного изображения. Нужно явно запрещать сглаживание в промпте и использовать постобработку для уменьшения масштаба.
Вопрос: Можно ли превратить обычное фото в пиксель-арт с помощью нейросети?
Ответ: Да, многие нейросети поддерживают функцию img2img (изображение в изображение). Загрузите фото, а в промпте укажите «pixel art», «8bit style». Результат зависит от исходного фото и настроек влияния нейросети на итог.
Вопрос: Что такое отрицательный промпт и как его использовать для пиксель-арта?
Ответ: Отрицательный промпт — это то, чего не должно быть на изображении. Для чистого пиксель-арта укажите: «blurry, smooth, gradient, anti-aliasing, realistic, photograph, high detail».
Вопрос: Какое разрешение выставлять для генерации пиксель-арта?
Ответ: Лучше генерировать с небольшим разрешением (например, 512×512 пикселей), а затем увеличивать в целое число раз с помощью алгоритма Nearest Neighbor (ближайшего соседа), чтобы сохранить четкость пикселей.
Вопрос: Как ограничить количество цветов в сгенерированном изображении?
Ответ: Сама нейросеть редко контролирует палитру точно. Основной метод — постобработка: уменьшение глубины цвета (индексирование палитры) в графических редакторах (например, в Aseprite или Photoshop) после генерации.
Вопрос: Существуют ли нейросети, которые работают прямо в браузере?
Ответ: Да, есть веб-сервисы, например, PixAI.Art, которые предлагают готовые модели для пиксель-арта. Также можно использовать локальные решения, такие как Stable Diffusion WebUI, которые запускаются в браузере, но требуют мощного компьютера.
Вопрос: Как добиться единого стиля в серии изображений?
Ответ: Используйте одну и ту же модель, сид (seed) для генерации, схожие промпты и настройки. Некоторые платформы позволяют создавать персональные стили (LoRA) на основе нескольких ваших изображений, что гарантирует постоянство стиля.
Краткий чек-лист: путь от идеи до готового пиксель-арта
- Определите тему и ключевые объекты для будущего изображения.
- Выберите специализированную нейросеть или модель, обученную на пиксель-арте.
- Составьте детальный текстовый запрос (промпт), включив слова «pixel art», «8-bit/16-bit».
- В отрицательный промпт добавьте «blurry», «smooth», «anti-aliasing», «realistic».
- Установите квадратное разрешение для генерации (например, 512×512 или 768×768).
- Сгенерируйте несколько вариантов, меняя сид (seed) для разнообразия.
- Выберите наиболее удачный вариант с четкими контурами и читаемой композицией.
- Увеличьте изображение в целое число раз методом Nearest Neighbor (ближайшего соседа).
- Импортируйте результат в редактор пиксель-арта (Aseprite, GraphicsGale).
- Проведите ручную доработку: поправьте контуры, уберите артефакты.
- Ограничьте палитру до 16-32 цветов с помощью инструмента индексирования.
- Добавьте тени и блики, используя только цвета из ограниченной палитры.
- Сохраните результат в подходящем формате (PNG для веба, GIF для анимации).
- Проанализируйте результат и скорректируйте промпт для следующих генераций.

























