Video to Submission File
Video to Submission File
- video
- file
Video to Submission File is the third and final adapter in this pack's upload trio. Image to Submission File handles images, SVG to Submission File handles vector strings, and this one takes a ComfyUI VIDEO and packages it as a PENPLOTTER_FILE so UploadSubmission can ship it to the plotter service. Its natural partner is SVG to MP4 Animation - that node renders a plot as a satisfying line-drawing animation, and this one gets that MP4 uploaded.
Same pattern as its siblings: in goes a video, out comes {name, bytes, mime} with mime: video/mp4, ready for any of UploadSubmission's file_1 through file_10 slots. It's a type adapter, and it's deliberately unglamorous.
How it works
The interesting bit is inside. The node needs the video's raw bytes, and where they come from depends on what produced the video. If the upstream node can expose its source directly, it reads those bytes straight off. Otherwise it falls back to writing the video out to a temporary .mp4 file and reading that back - a safety net for videos built from components (like the core CreateVideo nodes) that don't expose a clean file source. Either way you get the bytes, tagged with your chosen name (default animation.mp4) and the MP4 MIME type. If the name has no extension, .mp4 is appended.
The only input you'll touch is name, and honestly you can leave even that alone if you're not juggling multiple files. Ten file slots means ten names matter if you want to tell them apart on the receiving end.
Install
It ships in the ComfyUI PenPlotter pack. Through ComfyUI Manager (search "ComfyUI PenPlotter") or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/wouterverweirder/comfyui-penplotter
Restart ComfyUI. The pack's requirements include numpy>=2.3.4, opencv-python, numba, vpype, websockets, requests, qrcode[pil] and the AxiDraw API (from a URL zip). VideoToFile leans on websockets indirectly through the video handling, but you'll install the bundle regardless.
Common issues
- The video output won't connect - it's
PENPLOTTER_FILE, so it only feeds UploadSubmission's file slots. Preview your video with a Video Preview node in parallel if you want to see it in the graph. - It needs to come from the right source - this node expects a real
VIDEOtype, which mostly means the output of SVG to MP4 Animation or another video-producing node. Don't feed it a raw path or an image. - Slow fallback path - videos that require the temporary-file route take longer than ones with a direct source. Not a bug; just how the safety net works.
A quiet bridge node. You'll forget it exists until you try to upload a video without it and the wire won't connect.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| video | VIDEO | — | |
| name | STRING | animation.mp4 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| file | PENPLOTTER_FILE | — |