An experimental dedicated mobile-first frontend for ComfyUI.
This project was almost entirely vibecoded with claude code, codex and gemini cli. It is still a work in progress, and currently doesn't support all custom nodes automatically. Don't be surprised if it breaks!
This project operates as a ComfyUI Custom Node that serves a modern mobile user interface. It is designed to make using ComfyUI easy and accessible from your phone or tablet.
Since the original goal of making generation accessible at all on mobile was achieved, the project has turned in a more ambitious direction - Why stop at just making ComfyUI baseline functional on mobile? The mobile interface should be able to completely replace the desktop graph-interface for ComfyUI!
This project is installed as a standard ComfyUI Custom Node. Search for it in the ComfyUI-Manager by name (ensure author is cosmicbuffalo) or follow the steps below for a manual installation:
-
Navigate to your ComfyUI
custom_nodesdirectory:cd /path/to/ComfyUI/custom_nodes/ -
Clone this repository:
git clone https://github.com/cosmicbuffalo/comfyui-mobile-frontend.git
-
Restart ComfyUI.
Once installed and ComfyUI is running, you can access the mobile interface by navigating to:
http://<your-comfyui-ip>:8188/mobile
Note: Replace <your-comfyui-ip> with the actual IP address of your computer if accessing from a mobile device on the same network. The build output is served from dist/ at /mobile (or /mobile/index.html).
Don't forget to add the --listen flag to your ComfyUI startup command to make your ComfyUI instance accessible to other devices on your LAN
For noticeably faster loads — especially over Wi-Fi dead zones, cellular, or remote access through a VPN/tunnel — also add ComfyUI's --enable-compress-response-body flag. ComfyUI's node definitions (/object_info) can be several megabytes once you have a few custom node packs installed, and this flag serves them (and other large JSON responses, like queue history) gzipped, typically ~10x smaller on the wire. Images and videos are unaffected. The mobile frontend takes advantage of it automatically; no app configuration is needed.
This mobile frontend supports LoRA Manager nodes and websocket integration. The integration will work mostly out of the box, but the "Open LoRA Manager" action assumes by default that your LoRA Manager is running at /loras on the same host. If this is not the case, you can override the default assumption using one of the two methods:
VITE_LORA_MANAGER_UI_URLenvironment variable (build-time, runnpm run buildin the custom node directory to apply this change)localStorage["comfyui-mobile-lora-manager-ui-url"]override
These override methods were not thoroughly tested in development, good luck and feel free to PR any improvements
MIT
0 comments
log in to comment.