Nodes/ComfyUI-MediaUtilities/MediaUtilities_AudioURLLoader
ComfyUI Node

MediaUtilities_AudioURLLoader

Load audio from any URL — no API key, no account, no secret handshake

By ThanaritKanjanametawatAU·Created about a year ago·Updated about a year ago· 3
MediaUtilities_AudioURLLoader
    • AUDIO
    urlhttps://example.com/audio.mp3

    The name is honest and the claims are modest: give it a URL to an audio file and it downloads it, decodes it, and hands you a standard AUDIO wire. No key, no account, no API. Under the hood it's just requests doing a GET and torchaudio decoding the file - a couple of lines of Python that, once they're a node, stop you from leaving ComfyUI every time you need a backing track in your graph.

    Why you'd reach for it

    Reference audio for lip-sync. An input clip for an audio-to-video model like LTX-2.3's T2A and A2V modes. A foley track or music bed to preview alongside your frames. Or a pure download-and-save rig: chain it with MediaUtilities_AudioDuration and MediaUtilities_SaveAudio and you've got a "grab this file from the internet and keep it" utility that never leaves the graph.

    How it works

    It validates the URL (scheme plus host - https://example.com/audio.mp3 is the default), streams the file to a temp file in 8 KB chunks, guesses the format from the URL path's extension (.mp3, .wav, .flac, .ogg, .m4a, defaulting to mp3 if it can't tell), loads it with torchaudio, deletes the temp file, and returns the audio as the same {"waveform", "sample_rate"} dict that core ComfyUI audio nodes and VideoHelperSuite use. So it plugs straight into anything that accepts AUDIO, including this pack's preview, duration, and save nodes.

    Inputs and outputs

    • url (STRING) - the direct URL of an audio file. That's the entire input list.
    • AUDIO - the decoded audio, ready to wire anywhere.

    Installing it

    It's part of ComfyUI-MediaUtilities, so one install covers this and the pack's other nodes. ComfyUI Manager: Manager → Install Custom Nodes → search "ComfyUI-MediaUtilities". Or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ThanaritKanjanametawatAU/ComfyUI-MediaUtilities
    cd ComfyUI-MediaUtilities
    pip install -r requirements.txt
    

    Then restart ComfyUI. No model files to download; torch/torchaudio are usually already present in your ComfyUI environment. On the Windows portable build, use the embedded Python's pip so the deps land in the right environment.

    Gotchas

    This is where the node gets sneaky, and it's worth reading the source for this one:

    • It fails silently. On any error - bad URL, 404, blocked host - it returns one second of silence instead of raising an exception. The workflow "completes" and you get a quiet clip. The pack logs with DEBUG on by default, so check your console, or wire MediaUtilities_AudioDuration right after it and see if you get ~1.0s.
    • Direct file URLs only. No YouTube, no playlist pages, no streaming endpoints that need auth or client-side logic. It's a plain GET.
    • Some CDNs 403 a bare Python user-agent. The code sends no custom headers, so a URL that plays fine in your browser can still refuse this request.
    • Format comes from the URL path, not the file content. Signed or parameter-heavy URLs with no clean extension are the most likely to trip it up.

    For a flat file on a normal host, this node just works - it's when the internet fights back that you need to remember its polite way of failing.

    CategoryMediaUtilities

    Inputs (1)

    NameTypeDefaultDescription
    urlSTRINGhttps://example.com/audio.mp3

    Outputs (1)

    NameTypeDescription
    AUDIOAUDIO