Nodes/ComfyUI-HttpRequestNodes/Binary Post Request Node
ComfyUI Node

Binary Post Request Node

Send raw audio and video bytes to your API, the whole point of this pack

By ahkimkoo·Created 3 months ago·Updated 3 months ago· 1
Binary Post Request Node
  • body
  • headers
  • RETRY_SETTING
  • text
  • response_bytes
  • json
  • status_code
  • response_headers
target_urlhttp://127.0.0.1:8000/rvc/default
methodPOST
content_typeapplication/octet-stream

This is the node the fork exists for. The original ComfyUI-RequestNodes only knew how to upload images; the Binary Post Request Node is what lets you push raw audio and video bytes to an API as application/octet-stream. Feed it the output of an Audio To Blob Node, Video To Blob Node, or Image To Blob Node, and it POSTs those bytes to your endpoint - no multipart wrapping, no JSON encoding, just the raw file body. It's the node you want for voice-conversion services, TTS backends, and anything that accepts a bare audio or video upload.

Look at the default target_url - http://127.0.0.1:8000/rvc/default - and you can see exactly what the author built it for: talking to a local RVC voice-conversion server from inside a ComfyUI workflow. The pack even ships an svc-all-endpoints example workflow in that spirit, wiring list-roles, train-voice, and voice-conversion calls together.

What you set

  • target_url and body (BYTES) are required. body accepts raw bytes or an io.BytesIO and normalizes it internally.
  • method - POST, PUT, or PATCH.
  • content_type - defaults to application/octet-stream; change it to audio/wav or video/mp4 if your API insists on a real MIME type.
  • headers (KEY_VALUE) - extra headers merged on top.
  • RETRY_SETTING - same retry machinery as the Rest Api Node, minus the status-code conditions: just max_retry (default 3) and retry_interval in ms. Unlike the plain Post Request Node, this one gives the request a 300-second timeout, which is what a video encode on the far side actually needs.

The outputs

Five of them, and this is the rare request node that returns everything you'd want: text (response body), response_bytes (the response as raw bytes - unlike the BytesIO this pack's older nodes return, so you can feed it straight into Blob To Audio Node or Blob To Video Node for a round trip), json (parsed, or {"raw": ...} if the server didn't return JSON), status_code, and response_headers. The node is also marked as an output node, so its results show up as final preview values.

If every retry fails, you get the last error message in text and json, a 0 status code, and empty bytes - it won't crash your run, it just tells you it failed.

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/REST API. The pip packages are what the blob converters need upstream of this node (soundfile for WAV, imageio/imageio-ffmpeg for video), so install them even though this node itself only needs requests. No models, no keys.

CategoryRequestNode/REST API

Inputs (6)

NameTypeDefaultDescription
target_urlSTRINGhttp://127.0.0.1:8000/rvc/default
bodyBYTES
methodoptCOMBOPOST3 options: POST, PUT, PATCH
content_typeoptSTRINGapplication/octet-stream
headersoptKEY_VALUE
RETRY_SETTINGoptRETRY_SETTING

Outputs (5)

NameTypeDescription
textSTRING
response_bytesBYTES
jsonJSON
status_codeINT
response_headersDICT