{/ Эта страница автоматически передается из навыков SKILL.md с помощью сайта/scripts/generate-skill-docs.py. Редактируйте исходный SKILL.md, а не эту страницу. /}

Пиксель Арт

Пиксель-арт с палитрами эпох (NES, Game Boy, PICO-8).

Метаданные навыки

Источник Встроенный (установлен по умолчанию)
Путь навыки/творчество/пиксель-арт
Версия 2.0.0
Автор додо-рич
Лицензия Массачусетский технологический институт
Платформы Linux, MacOS, Windows
Теги креатив, пиксель-арт, аркада, snes, nes, gameboy, ретро, изображение, видео

Справочник: полный SKILL.md

ℹ️ Info

Ниже приведено полное определение навыков, которые Hermes загружает при активации этого навыка. Это то, что агент видит в качестве инструкций, когда навыки активны.

Пиксель-арт

Преобразуйте любое изображение в ретро-пиксель-арт, а затем, при желании, анимируйте его в короткие MP4 или GIF с эффектами, соответствующими эпохе (дождь, светлячки, снег, искры).

С этим навыком по именися два скрипта:

Каждый из них можно импортировать или запустить напрямую. Пресеты привязываются к аппаратным палитрам, когда нужны цвета, соответствующие эпохе (NES, Game Boy, PICO-8 и т.д.), или сохраняют адаптивную N-цветную квантизацию для стиля аркад/SNES.

Когда использовать

Рабочий процесс

Перед генерацией подтвердите стиль пользователем. Разные пресеты дают очень разные результаты, а перегенерация затратна.

Шаг 1 — Предложите стиль

Вызовите clarify с 4 репрезентативными пресетами. Выберите набор на основе того, что запросил пользователь — не вываливайте все 14.

Меню по умолчанию, когда намерение пользователя неясно:

clarify(
    question="Какой стиль пиксель-арта вы хотите?",
    choices=[
        "arcade — смелый, коренастый стиль аркадных автоматов 80-х (16 цветов, 8px)",
        "nes — аппаратная палитра Nintendo 8-bit (54 цвета, 8px)",
        "gameboy — 4-оттеночный зеленый Game Boy DMG",
        "snes — более чистый 16-битный вид (32 цвета, 4px)",
    ],
)

Когда пользователь уже назвал эпоху (например, «arkada 80-х», «Gameboy»), пропустите clarify и воспользуйтесь соответствующим пресетом напрямую.

Шаг 2 — Предложите анимацию (опционально)

Если пользователь запросил видео/GIF или вывод может ограничить движение, спросите, что произойдет:

clarify(
    question="Хотите анимировать? Выберите сцену или пропустите.",
    choices=[
        "night — звезды + светлячки + листья",
        "urban — дождь + пульсация неона",
        "snow — падающие снежинки",
        "skip — только изображение",
    ],
)

НЕ вызывайте «уточнить» более двух раз подряд. Один раз для стиля, один раз для сцен, если есть анимация. Если пользователь указал конкретный стиль и опасается в своем сообщении, пропустите clarify полностью.

Шаг 3 — Генерация

Сначала запустите pixel_art(); Если была запрошена анимация, передайте результат в pixel_art_video().

Каталог пресетов

Пресет Эпоха Палитра Блок Лучше всего для
аркада Аркады 80-х адаптивная 16 8 пикселей Смелые постеры, героический арт
снес 16-битный адаптивная 32 4 пикселя Персонажи, созданные сцены
нес 8-битный РЭШ (54) 8 пикселей Настоящий вид РЭШ
геймбой Портативный DMG 4 развитие зеленого 8 пикселей Монохромный Game Boy
gameboy_pocket Карманный портативный компьютер 4 прийти к серому 8 пикселей Монохромный GB Pocket
пико8 ПИКО-8 16 фиксированных 6 пикселей Вид фэнтези-консоли
c64 Коммодор 64 16 фиксированных 8 пикселей 8-битный домашний компьютер
яблоко2 Apple II высокого разрешения 6 фиксированных 10 пикселей Экстремальное ретро, ​​6 цветов
телетекст Телетекст Би-би-си 8 чистых 10 пикселей Коренастые основные цвета
mspaint Windows MS Paint 24 фиксированных 8 пикселей Ностальгический рабочий стол
mono_green ЭЛТ фосфор 2 зеленых 6 пикселей Эстетика терминала/CRT
моно_янтарь ЭЛТ янтарный 2 янтаря 6 пикселей Вид Янтарного монитора
неон Кибербанк 10 неоновых 6 пикселей Vaporwave/кибер
пастель Мягкая пастель 10 пастельных 6 пикселей Каваи / нежный

Именованные палитры находятся в scripts/palettes.py (см. references/palettes.md для полного списка — всего 28 именованных палитр). Любой пресет можно переопределить:

pixel_art("in.png", "out.png", preset="snes", palette="PICO_8", block=6)

Каталог сцен (для видео)

Сцена Эффекты
ночь Мерцающие звезды + светлячки + дрейфующие листья
сумерки Светлячки + искры
таверна Пылинки + теплые искры
внутренний Пылинки
городской Дождь + пульсация неона
природа Листья + светлячки
магия Искры + светлячки
шторм Дождь + молния
под водой Пузырьки + световые искры
огонь Угольки + искры
снег Снежинки + искры
пустыня Мерцание жара + пыль

Шаблоны вызова

Питон (импорт)

import sys
sys.path.insert(0, "/home/teknium/.hermes/skills/creative/pixel-art/scripts")
from pixel_art import pixel_art
from pixel_art_video import pixel_art_video

# 1. Преобразование в пиксель-арт
pixel_art("/path/to/photo.jpg", "/tmp/pixel.png", preset="nes")

# 2. Анимация (опционально)
pixel_art_video(
    "/tmp/pixel.png",
    "/tmp/pixel.mp4",
    scene="night",
    duration=6,
    fps=15,
    seed=42,
    export_gif=True,
)

интерфейс командной строки

cd /home/teknium/.hermes/skills/creative/pixel-art/scripts

python pixel_art.py in.jpg out.png --preset gameboy
python pixel_art.py in.jpg out.png --preset snes --palette PICO_8 --block 6

python pixel_art_video.py out.png out.mp4 --scene night --duration 6 --gif

Обоснование конвейера

Преобразование в пиксели: 1. Усиление контраста/цвета/резкости (сильнее для маленьких палитр) 2. Постеризация для упрощения тональных областей перед квантизацией 3. Уменьшение масштаба на block с Image.NEAREST (жесткие пиксели, без интерполяции) 4. Квантизация с дизерингом Флойды-Стейнберга — либо по адаптивной N-цветной палитре, либо по наименованной аппаратной палитре. 5. Увеличение обратно с Image.NEAREST

Квантизация ПОСЛЕ основного масштаба гарантирует, что дизеринг выровнен по конечной сетке пикселей. Квантизация до этого пошла бы на диффузию ошибок на детали, которые исчезли.

Наложение видео: - Копирует базовый кадр для каждого тика (статический фон) - Накладывает безсостоятельные покадровые отрисовки частиц (одна функция на эффекте) - Кодирует через ffmpeg libx264 -pix_fmt yuv420p -crf 18 - Опциональный GIF через palettegen + paletteuse

Зависимости

Ловушки

Проверка

Атрибуция

Именованные аппаратные палитры и процедурные циклы анимации в pixel_art_video.py портированы из pixel-art-studio (MIT). См. ATTRIBUTION.md в этом каталоге навыков для подробностей.