Collegare Touchdesigner a ComfyUI non è impossibile per chi dispone di un po’ di pazienza e di una scheda grafica abbastanza performante.
È un’ottima notizia perché se poi aggiungiamo Spout/Syphon possiamo usare Stable Diffusion in installazioni e performance real-time.
Questa mattina ho fatto una prova usando un segnale webcam via TD come input in ComfyUI e re-indirizzando l’output di ComfyUI in TD.
L’output è scattoso, ma è un miracolo se il mio portatile non ha preso fuoco, pilotando insieme la webcam, TD, Comfy e il software per riprendere lo schermo. Il sistema funziona ed è in grado di ridisegnare al volo sia il soggetto principale che lo sfondo. Il mio laptop monta una nVidia RTX4070 da portatile, quindi penso che per risultati meno sperimentali servano una 4090 e un desktop o giù di lì.
Prima di vedere la ricetta, mettiamo in fila gli ingredienti. Avrete bisogno di:
Il tox TDComfyUI di Oleg Chomp
Un modello LoRA (ho lavorato con lcm-lora-sdv1-5)
Un modello SD (ho lavorato con Dreamshaper)
Un modello VAE (ho lavorato con sd-vae-ft-mse-original e probabilmente vi serve solo se lavorate con modelli SD ante 1.5)
Una webcam
I punti 1, 5 e 7 comportano download di svariati gigabyte. Il resto vien giù in fretta.
Passiamo alla ricetta:
Installate Touchdesigner
Installate ComfyUI e mettete i modelli SD, LoRA e VAE nelle rispettive cartelle di lavoro
Installate il ComfyUI Manager e riavviate Comfy. Poi, sempre via Manager, aggiornate Comfy e installate gli External ComfyUI Nodes. Riavviate di nuovo Comfy e preparate questo workflow (è piuttosto semplice, ma lo trovate comunque già fatto nel mio repository GitHub, vedi link a fine post).
Il workflow va salvato da qualche parte, in formato “API Format”. Per salvare in “API Format” in ComfyUI dovete aprire le preferenze e abilitare la modalità sviluppatore. Le due immagini sotto illustrano i passaggi.
Ora aprite Touchdesigner e portate sulla sua dashboard il file .json salvato da ComfyUI e il componente tox. Poi create questo network (anche tutta questa roba è nel repository).
E il gioco è più o meno fatto: i parametri del componente TDComfyUI possono variare i risultati dell’output in tempo reale.
Non avrei potuto mettere insieme tutto questo senza il lavoro di Oleg Chomp e le spiegazioni di VJ School.
Tutti i materiali necessari alla costruzione del sistema sono in questa sezione del mio repository GitHub dedicato a StableDiffusion.