Nodes/ComfyUI-HttpRequestNodes/Video To Blob Node
ComfyUI Node

Video To Blob Node

Export your VIDEO tensor as MP4, GIF, or WebP bytes for any API

By ahkimkoo·Created 3 months ago·Updated 3 months ago· 1
Video To Blob Node
  • video
  • video_bytes
  • frame_count
frame_rate0
output_formatmp4

The Video To Blob Node is the video-side sibling of Audio To Blob Node: it takes ComfyUI's VIDEO type - a tensor of frames plus timing info - and encodes it to actual video bytes your HTTP nodes can send. MP4, GIF, or WebP, your pick, with frame rate control. It's the node that lets a video workflow hand a clip to a processing API instead of just previewing it locally.

It's one of the new nodes in ComfyUI-HttpRequestNodes, ahkimkoo's fork of felixszeto's ComfyUI-RequestNodes, and it's genuinely the part of the fork that didn't exist upstream. On the send side it feeds the Binary Post Request Node (raw bytes) or Media Form Post Node (MP4 as a form file); on the way back in, Blob To Video Node decodes a response into a VIDEO tensor again.

The inputs that matter

  • video (VIDEO) - required. The node deliberately handles both VIDEO representations floating around the ecosystem: the VideoHelperSuite style ({"video_info": {...}, "frames": tensor}) and ComfyUI's native {"frames": tensor, "frame_rate": float}. It reads either.
  • frame_rate (INT, default 0) - the tooltip says it plainly: 0 = auto-detect from VIDEO type. Detection order in the source: your explicit value, then the VIDEO's own frame_rate, then video_info.fps, then a 24 fps fallback.
  • output_format - mp4, gif, or webp, default mp4.

The outputs are video_bytes (BYTES) and frame_count (INT) - the latter is handy for sanity-checking that the right number of frames made it out.

How it works

Under the hood it's imageio writing to an in-memory buffer, frames converted to uint8. If the input is a batched tensor it squeezes the batch dimension, so feed it a single video (a batch of several will misbehave - the encoder expects one clip). The GIF and WebP options are a nice touch for sending lightweight previews to an endpoint that can't take video files. The one dependency to remember is imageio-ffmpeg, which provides the actual MP4 codec - without it, mp4 output fails even though gif/webp work.

Install

ComfyUI Manager → search ComfyUI-HttpRequestNodes → Install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/ahkimkoo/ComfyUI-HttpRequestNodes
pip install soundfile imageio imageio-ffmpeg

Category: RequestNode/Converters. imageio and imageio-ffmpeg are the real requirements here (plus soundfile for the pack's audio nodes). If your first mp4 encode throws, the pip install imageio imageio-ffmpeg line above is the fix. No models, no keys.

CategoryRequestNode/Converters

Inputs (3)

NameTypeDefaultDescription
videoVIDEO
frame_rateoptINT00–1200 = auto-detect from VIDEO type
output_formatoptCOMBOmp43 options: mp4, gif, webp

Outputs (2)

NameTypeDescription
video_bytesBYTES
frame_countINT