Dziennik operatora / 04.08.2026

Obraz wchodzi.
GLB wychodzi.

TRELLIS.2 dostał własną kolejkę, prywatną galerię i dwa generatory obrazu wysokiej jakości. Po drodze jeden brakujący pakiet zamienił pasek postępu w bardzo przekonujące kłamstwo.

Obiekt przechodzący z obrazu źródłowego przez siatkę do teksturowanego modelu 3D

Nowe narzędzie na 2dzn.com robi jedną rzecz: przyjmuje obraz albo opis obiektu i oddaje teksturowany model GLB. Wynik można od razu obracać w przeglądarce, pobrać i później znaleźć we własnej galerii. Bez wystawiania panelu ComfyUI na świat i bez pozwalania przeglądarce na przesłanie dowolnego workflow.

Dwie instancje ComfyUI, jedna karta

RTX 5090 obsługuje tu dwa osobne etapy. Pierwszy ComfyUI tworzy obraz źródłowy i usuwa tło. Drugi jest przeznaczony wyłącznie dla TRELLIS.2. Pomiędzy nimi backend wyładowuje modele z pamięci, a wspólna blokada GPU nie dopuszcza do sytuacji, w której film, obraz i rekonstrukcja 3D próbują jednocześnie zagospodarować tę samą kartę.

obraz
lub prompt
FLUX.2 Dev
RealQwen
BiRefNet
alpha PNG
TRELLIS.2
tekstura + mesh
prywatny
GLB

Dla tekstu dodałem dwa dokładniejsze modele: FLUX.2 Dev FP8 z 20 krokami oraz RealQwen Image FP8 z 30 krokami. Szybkie warianty nadal są dostępne, ale domyślnie liczy się jakość obrazu. TRELLIS rekonstruuje to, co widzi, więc kilka sekund oszczędzonych na kiepskim źródle zwykle wraca później jako krzywa geometria.

30 procent, które nic nie znaczyło

Pierwszy poważny błąd wyglądał niewinnie. Zadanie stało na komunikacie Trellis.2 tworzy teksturowany GLB · 30%, a użycie VRAM wynosiło około siedmiu procent. Kolejka twierdziła, że workflow działa. W rzeczywistości preprocessing próbował uruchomić rembg bez backendu ONNX. Node nie kończył się błędem. Po prostu trwał.

Nie doinstalowałem pakietu w działającym kontenerze i nie uznałem tego za naprawę. Usuwanie tła przeniosłem do pierwszego ComfyUI, gdzie działa BiRefNet-general. Backend zapisuje wynik jako PNG i sprawdza kanał alfa przed wysłaniem pliku do TRELLIS. Wadliwa ścieżka rembg pozostaje wyłączona.

Niski VRAM okazał się lepszą wskazówką niż status kolejki. Proces był oznaczony jako aktywny, ale karta nie dostała żadnej pracy.

Kolejka i odzyskiwanie

Strona przyjmuje maksymalnie pięć aktywnych zadań. Tylko jedno wykonanie TRELLIS trafia na GPU naraz. Oczekujące zadanie można anulować, natomiast restart runtime jest blokowany podczas prawidłowej generacji. Gdy serwer rzeczywiście utknie, kontrolowana operacja przełącza AI Manager w sekwencji video → off → video, czeka na obie instancje ComfyUI i czyści wadliwe wpisy.

Źródła i wyniki są przypisane do prywatnej sesji. Sam model GLB trafia do katalogu konkretnego zadania, a backend pobiera wyłącznie jeden teksturowany plik z tego katalogu. Klient nie zna ścieżek na serwerze i nie ma dostępu do cudzych realizacji.

Sprawdzone na prawdziwym zadaniu

Końcowy test przeszedł przez całą publiczną stronę: upload obrazu, BiRefNet, zwolnienie pamięci, TRELLIS.2, zapis w galerii i prywatne pobranie. Model powstał w 148,78 sekundy. Plik miał 21 949 260 bajtów i poprawny nagłówek binarnego glTF. Po zakończeniu obie kolejki były puste, modele zostały wyładowane, a zestaw 231 testów przeszedł bez błędów.

Najbardziej użyteczna część tej pracy nie jest efektowna. To rozdzielenie etapów i wymuszenie prostych kontraktów: źródło musi mieć alfę, workflow jest po stronie serwera, wynik musi być jednym GLB, a pamięć po zadaniu ma wrócić do puli. Dzięki temu generator zachowuje się jak narzędzie, a nie jak otwarta zakładka ComfyUI, której trzeba pilnować.

← Wszystkie wpisy