Image to Submission File
Image to Submission File
- image
- file
Image to Submission File is a type adapter, not a transformer. ComfyUI has a standard IMAGE tensor for pixels, but the UploadSubmission node in this pack won't accept one - it wants a PENPLOTTER_FILE, a custom type that carries a filename, raw bytes and a MIME type. This node bridges the two. Feed it any image that comes out of your generation pipeline and it hands back a file you can plug straight into UploadSubmission's file_1 through file_10 inputs.
It earns its keep in the submission flow: generate an image, maybe a QR code or a reference image you want the plotter service to also receive, then wrap it here so it can travel alongside your SVGs and videos. Every file type in this pack funnels through the same PENPLOTTER_FILE shape, and this is the one that handles plain images.
How it works
The node grabs the first frame of your image batch, clamps the float values back to 0–255, converts to RGB, and encodes the result as a PNG into an in-memory buffer. Then it packages that as {name, bytes, mime} with mime: image/png. There's no resizing, no processing, no cleverness - it's deliberately dumb, which is what you want from an adapter.
The only input you'll actually set is name (default image.png). It's just the filename sent to the upload endpoint, so name it something you'll recognize later. Two small details: the bytes are always PNG under the hood even if you pass a name ending in .jpg, and if you leave the extension off entirely the node appends .png for you.
Install
Part of the ComfyUI PenPlotter pack. Install via ComfyUI Manager (search "ComfyUI PenPlotter") or:
cd ComfyUI/custom_nodes
git clone https://github.com/wouterverweirder/comfyui-penplotter
Restart ComfyUI afterwards. It's one of the lighter nodes - it only really needs Pillow and numpy from the pack's requirements, though you'll install the whole bundle (numpy>=2.3.4, opencv-python, numba, vpype, and so on) regardless.
Common issues
- The output won't connect to what you expect - the
fileoutput isPENPLOTTER_FILE, a pack-specific type. It only plugs into UploadSubmission's file slots (or another node in this pack that accepts that type). You can't wire it into a normal Save Image. - Nothing visible happens - right. It produces no preview and no on-disk file; it only packages bytes for the upload node downstream. If you want to see what you're submitting, keep a Save Image or Preview node in parallel.
A quiet, forgettable node - and that's a compliment. It exists so the interesting parts of the workflow can stop thinking about file formats.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| name | STRING | image.png | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| file | PENPLOTTER_FILE | — |