Files
comfy-api-addons/README.md

75 lines
2.4 KiB
Markdown
Raw Normal View History

2026-02-14 19:29:17 +00:00
# ComfyUI Mobile UI Workflow Endpoints
This is a small ComfyUI custom node that adds HTTP endpoints for a standalone client (like the mobile UI in this repo) to:
- **List** workflow `.json` files stored on the ComfyUI machine
- **Fetch** a workflow JSON
- **Fetch an API-compatible prompt JSON** for a workflow (either already API prompt, or converted via an optional converter endpoint)
- **Convert posted workflow JSON** into an API prompt JSON
## Endpoints
- `GET /mobileui/info`
- Returns version + detected workflow directories + endpoint hints.
- `GET /mobileui/workflows`
- Returns an array of objects:
- `name` (string): workflow name / relative path without `.json`
- `bytes` (number|null): file size
- `mtime` (number|null): modified time (unix seconds)
- `GET /mobileui/workflows/{name}`
- Returns the raw workflow JSON file.
- `{name}` may include subfolders and may optionally include `.json`.
- `GET /mobileui/workflows_api/{name}`
- Returns an **API prompt JSON**.
- Behavior:
1) If the JSON already looks like an API prompt (contains `class_type` entries), it is returned as-is.
2) Otherwise, the node tries to POST the workflow JSON to `POST /workflow/convert`.
- This requires the optional converter extension:
https://github.com/SethRobinson/comfyui-workflow-to-api-converter-endpoint
- `POST /mobileui/convert`
- Accepts any workflow JSON payload in the request body and returns an API prompt JSON.
- Uses the same conversion rules as `workflows_api`.
- `OPTIONS /mobileui/{tail:.*}`
- CORS preflight helper.
## Install
Copy the folder `comfyui_mobileui_workflow_list_endpoint` into:
`ComfyUI/custom_nodes/`
Then restart ComfyUI.
## CORS
This node can add CORS headers itself if you set:
- `MOBILEUI_CORS_ORIGIN=http://localhost:5173` (or `*`)
You can also use ComfyUI's built-in CORS flag if you prefer.
## Configuration
By default, it scans common locations relative to the ComfyUI root:
- `<root>/workflows`
- `<root>/user/workflows`
- `<root>/examples`
- `<root>/examples/workflows`
- `<root>/pysssss-workflows` (used by ComfyUI-Custom-Scripts)
You can override/add workflow directories with environment variables:
- `COMFY_WORKFLOWS_DIR=/path/to/workflows`
- `COMFY_WORKFLOWS_DIRS=/path/one,/path/two`
## Notes
- Includes basic path traversal protection.
- Only serves files ending in `.json`.
- Conversion requires `POST /workflow/convert` to exist.