ScreenCoder — когда скриншот превращается в код
Репозиторий давно не обновлялся
Последнее обновление было 8 месяцев назад.
Знакомая ситуация? Дизайнер присылает макет в Figma, а вам приходится вручную верстать его с нуля. Или нужно быстро прототипировать интерфейс, но тратить часы на HTML — не вариант. Именно для таких случаев команда из CUHK MMLab создала ScreenCoder — инструмент, который автоматически генерирует чистый код из скриншотов.
Что умеет ScreenCoder?
Это не просто конвертер изображений в код. ScreenCoder использует модульную мультиагентную архитектуру для точного анализа макетов:
- Распознает элементы интерфейса: кнопки, формы, текстовые блоки
- Генерирует семантичный HTML/CSS: не просто div'ы, а осмысленную структуру
- Поддерживает кастомизацию: можно править код перед экспортом
- Работает с разными моделями ИИ: Doubao, Qwen, GPT, Gemini на выбор

Как это работает технически?
Под капотом ScreenCoder — целый конвейер обработки:
- UIED (UI Element Detection) — детектирует компоненты на скриншоте
- HTML-генератор — создает каркас с плейсхолдерами
- Модуль маппинга — связывает обнаруженные элементы с разметкой
- Замена изображений — подставляет реальные картинки вместо серых блоков
Интересно, что система не просто копирует пиксели — она анализирует семантику интерфейса. В результате получается код, который:
- Соответствует оригинальному дизайну
- Легко редактируется
- Оптимизирован для production
Практическое применение
Где ScreenCoder окажется полезен?
- Фронтенд-разработчикам: ускоряет верстку готовых макетов
- Дизайнерам: позволяет сразу проверять, как макет будет выглядеть в коде
- Продукт-менеджерам: для быстрого прототипирования идей
- Преподавателям: наглядный пример автоматической генерации кода
Попробовать демо можно прямо сейчас на Hugging Face Spaces. Для локального запуска:
git clone https://github.com/leigest519/ScreenCoder.git
cd screencoder
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.py
Чем лучше аналогов?
Авторы провели сравнение с другими решениями. ScreenCoder дает:
- Более точное позиционирование элементов
- Лучшую семантическую разметку
- Гибкость в настройке

Стоит ли пробовать?
Если вы:
- Устали вручную верстать макеты
- Часто работаете с дизайн-системами
- Хотите ускорить процесс прототипирования
— ScreenCoder точно заслуживает внимания. Проект активно развивается, а его открытость (Apache 2.0) позволяет адаптировать решение под свои нужды.
Для глубокого погружения в тему рекомендую посмотреть:
