A phone-first web interface for ComfyUI. Queue image generations, tweak prompts, and browse outputs — all from your phone, without the full desktop UI.
Built for running ComfyUI on a headless server or remote machine where you want a lightweight, touch-friendly control panel.
- 📱 Mobile-optimised — works on any phone, no pinch-to-zoom needed
- ⚡ Queue & run — load an API workflow, edit controls, and queue it to ComfyUI
- 🎨 Canvas editor — visually compose Ideogram elements (objects, text) with drag-and-drop positioning
- 🔧 Smart controls — auto-detects useful inputs (prompts, seeds, samplers, dimensions, LoRAs) and presents them on a clean runner page. Move clutter to Advanced Nodes.
- 📷 Image upload — upload reference images directly from your phone
- 🖼️ Gallery — browse recent outputs without opening the ComfyUI interface
- 🔄 Live job tracking — watch queue progress, interrupt running jobs, check history
- ⏚ Stateless workflow files — your ComfyUI API JSONs stay on the server, ready to load and run
- A running ComfyUI instance (API mode)
- Python 3.10+
# Clone
git clone https://github.com/TheAhmadZeb/comfy-mobile.git
cd comfy-mobile
# Install
pip install -r requirements.txt
# Run (defaults to localhost:8188)
python app.py
# Or point to a remote ComfyUI server
COMFY_BASE_URL=http://192.168.1.100:8188 python app.pyOpen http://localhost:8093 in your browser.
| Variable | Default | Description |
|---|---|---|
COMFY_BASE_URL |
http://localhost:8188 |
Base URL of your ComfyUI API |
COMFY_MOBILE_SECRET |
change-this-later |
Flask session secret (set a real one!) |
┌──────────┐ ┌──────────────┐ ┌───────────┐
│ Phone │────▶│ Comfy Mobile│────▶│ ComfyUI │
│ Browser │ │ (Flask) │ │ (API) │
└──────────┘ │ :8093 │ │ :8188 │
└──────────────┘ └───────────┘
│
┌──────┴──────┐
│ Workflow │
│ Storage │
│ (.json) │
└─────────────┘
The app acts as a thin proxy between your phone and ComfyUI:
- Loads
.jsonAPI workflows from theworkflows/directory - Auto-detects editable controls and presents them in a mobile-friendly form
- Forwards your edits to ComfyUI's
/promptendpoint - Proxies image/video output via
/comfy-viewfor gallery browsing
Export an API workflow from ComfyUI (Workflow → Save (API Format)) and upload it through the web UI, or drop it into workflows/ directly.
The runner page shows auto-detected controls. Move any input to "Advanced Nodes" to keep the runner clean. Textareas auto-expand for long prompts.
Hit "Queue Workflow" — the job appears in the live queue panel. Track status, view outputs, or interrupt mid-generation.
For workflows with an Ideogram4PromptBuilderKJ node, a visual canvas editor lets you position elements by dragging on screen.
The workflows/ directory ships with example JSONs for popular ComfyUI custom nodes:
| File | Description |
|---|---|
Z-Image-Turbo.json |
Fast text-to-image (Z* Image Turbo) |
Ideogram_4.json |
Ideogram v4 integration |
Qwen-Image-Edit.json |
Qwen-based image editing |
Img_to_vid_fast.json |
Image-to-video pipeline |
LTX-2.3_T2V_I2V_Two_Stage_Distilled.json |
LTX Video 2.3 |
Replace these with your own ComfyUI API exports.
- Backend: Flask, Werkzeug, Requests
- Frontend: Pure HTML/CSS/JS (no framework — lightweight by design)
- Styling: ComfyUI-inspired dark theme with grid background
MIT