Upload Video (from Bytes)
The zero-re-encode shortcut for chaining Animon videos
- animon_key
- video_bytes
- VIDEO_ID
The node that makes generate-then-upscale a one-pass flow
Every Animon generation node outputs two things: a VIDEO tensor and the raw VIDEO_BYTES - the exact mp4 bytes the API handed back. Animon Upload Video (from Bytes) is the node that turns those bytes into a VIDEO_ID so another Animon node can consume them. It's the fastest path in the pack, and it's the secret to the combined Image to Video + Upscale workflow the README shows off.
Why bother? Compare the alternatives. Re-encoding the tensor through Upload Video (from Tensor) costs a full MP4 encode and silently forces 30 FPS on your footage. Uploading a file means saving, finding, and re-reading it. This node just wraps the bytes it was already given into an upload buffer and sends them - the README calls it out as avoiding re-encoding and being faster than the tensor route. When a clip was born inside Animon, this is the only upload that doesn't degrade it on the way back in.
How it works
The video_bytes input is an ANIMON_BYTES value, which is exactly the raw content that generation nodes produce on their second output. The node drops it into a BytesIO buffer named video.mp4 and calls Animon's files.create with purpose="video_generation", returning the file ID as VIDEO_ID. Inputs are just the key and the bytes; outputs are the single ID.
The canonical wiring: Image to Video → connect its VIDEO_BYTES into this node → the resulting VIDEO_ID into Upscale Video → final VIDEO into SaveVideo. Two cloud calls, zero local video encoding, and the upscale always sees exactly what the generation produced.
Installing and when to reach for it
Standard pack install - ComfyUI Manager → search ComfyUI-Animon → restart - with openai and decord as the only requirements. Recent ComfyUI and an Animon API key required, as with the rest of the pack.
Reach for this node whenever the video you're feeding downstream came from Animon. Don't reach for it when it didn't: if you're bringing in outside footage, Upload Video (from File) is the right start, and local tensor output belongs in Upload Video (from Tensor). And remember every step this node enables - the upload and the upscale it feeds - is a paid cloud operation, so a generate-then-upscale chain is two billed jobs before you ever see the final file.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| animon_key | ANIMON_KEY | — | |
| video_bytes | ANIMON_BYTES | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| VIDEO_ID | ANIMON_VIDEO_ID | — |