curl --request POST \
--url https://cloud.comfy.org/api/upload/image \
--header 'Content-Type: multipart/form-data' \
--header 'X-API-Key: <api-key>' \
--form image='@example-file' \
--form 'overwrite=<string>' \
--form 'subfolder=<string>' \
--form 'type=<string>'{
"name": "<string>",
"subfolder": "<string>",
"type": "<string>"
}Upload an image file to cloud storage
curl --request POST \
--url https://cloud.comfy.org/api/upload/image \
--header 'Content-Type: multipart/form-data' \
--header 'X-API-Key: <api-key>' \
--form image='@example-file' \
--form 'overwrite=<string>' \
--form 'subfolder=<string>' \
--form 'type=<string>'{
"name": "<string>",
"subfolder": "<string>",
"type": "<string>"
}API key authentication. Generate an API key from your account settings at https://comfy.org/account. Pass the key in the X-API-Key header.
The image file to upload
Whether to overwrite existing file (true/false). Note: Accepted for ComfyUI API compatibility but effectively ignored in cloud. Cloud uses content-addressed storage (hash-based deduplication), so identical content always maps to the same hash. Re-uploading the same content is a no-op.
Optional subfolder path. Note: Accepted for ComfyUI API compatibility but ignored for storage. Cloud stores assets by hash only. The subfolder is returned in the response for client-side organization but is not used for server-side storage paths.
Upload type (defaults to "output"). Note: Accepted for ComfyUI API compatibility. Cloud stores all uploads as assets with tags rather than directory-based organization.
Was this page helpful?