Files
comfy-api-addons/README.md
2026-02-14 19:29:17 +00:00

75 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.