Короче делать через web очень тяжко, как минимум невозможно запустить python сервер клиентом.
Поэтому нейронка будет архивом, в котором будет батник. Он сначала проверяет наличие Node.js и Python в системе. Если их нет - скидывает ссылки на скачивание, но я думаю сделать систему, чтобы батник сам их и накатил в случае отсутствия.
Затем батник сам с нуля создает виртуальное окружение и выкачивает гигабайты PyTorch с поддержкой видеокарт (CUDA), сервер FastAPI и все зависимости к этой теме.
Python-кодом стягивает исходники нейросети TripoSR напрямую с GitHub, распаковывает архив и встраивает файлы прямо в ядро программы.
После сборки одновременно стартуют два процесса, которые общаются между собой по локальной сети:
1. Бэкенд (Python + FastAPI + PyTorch) Запускается в фоне на порту 8000. Его задача — загрузить веса нейросетей в VRAM вашей видеокарты и поднять локальный API-сервер.
2. Фронтенд (Electron + React + Vite) Поднимается на порту 3000. Главный процесс Electron работает как защитник, а конкретно он пингует Python-сервер, и только когда видеокарта прогрета и отдает статус 200 OK поднимает сам интерфейс проги.
• Вы кидаете 2D-картинку
• React отправляет её POST-запросом на наш скрытый Python-сервер.
• Там нейросеть rembg вырезает фон если он есть, а TripoSR генерирует из пикселей 3D-объем и создаёт форму
• Затем алгоритм Marching Cubes натягивает на это полигональную сетку, оптимизирует её (децимация) и упаковывает в бинарник .glb.
• Готовый файл улетает обратно во фронтенд, где мгновенно рендерится на движке Three.js.
Вот такая не хитрая система связки нейронок, скоро добавлю связку с gemini