Comfy-Org / Comfy-Org/ComfyUI_frontend

[Feature Request]: Support file upload input defined in custom node

Open
#3,461 2 comments 4 reactions 0 assignees View on GitHub
enhancement help wanted
Dominant language
TypeScript
Stars
2k
Forks
699
Avg merge
1d 7h
Merged PRs (30d)
490

Description

### Is there an existing issue for this?

- [x] I have searched the existing issues and checked the recent builds/commits

### What would your feature do ?

Currently, a custom node author can use `image_upload` in the input spec and an upload button will be added to the node. This feature would allow for something like:

`{"file_upload": True, "accept_filetypes" : ["video/webm", "video/mp4", "video/mkv"]}`

Which would behave the same as the `image_upload` widget, but instead change the `accept` when invoking the system fil picker to match with the `accept_filetypes` field. The custom node can determine how to handle the uploaded file and what the output type is. The frontend and server would just be responsible for uploading the file to the server and then providing the filename (same as `image_upload`).

### Proposed workflow

1. Custom node author sets the `file_upload` option in the `INPUT_TYPES` of a custom node for some input
2. Custom node author uses second option `accept_filetypes` (or similar) to specify the filetypes
3. An upload button is added to the node, which opens file picker and accepts the given filetypes.
4. The widget value of the input is just the filename of the uploaded file

### Additional information

This feature was proposed here: https://github.com/comfyanonymous/ComfyUI/discussions/7603

┆Issue is synchronized with this [Notion page](https://www.notion.so/Issue-3461-Feature-Request-Support-file-upload-input-defined-in-custom-node-1d66d73d3650813e896bcee22d93089d) by [Unito](https://www.unito.io)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.