ComfyUI Node

Video URL to Frames

Turn that API video into a working tensor

By FloyoAI·Created 12 months ago·Updated 8 months ago· 6
Video URL to Frames
    • frames
    • audio
    • fps
    • frame_count
    video_url

    Every video node in this pack hands you back a URL string, not a file. Which is fine for previewing - but the moment you want to actually work with the clip inside ComfyUI, you need frames, and this is the node that bridges the two. Video URL to Frames downloads a video from any URL (the Seedance API outputs included), extracts every frame as a batched IMAGE tensor, and - a genuinely nice extra - pulls the audio track out as a ComfyUI AUDIO object. It's the missing tail of the pack: generate video, then feed its frames into anything downstream.

    This is also the most local-compute node in the pack. Frame extraction runs on your machine via OpenCV, and audio extraction shells out to FFmpeg. That means the one dependency to actually check here is opencv-python (it's in the pack's requirements.txt) and an FFmpeg binary for audio - the node will find FFmpeg bundled with imageio-ffmpeg if it's around, or a system install, and it prints a helpful banner if neither exists.

    Inputs and outputs that matter

    • video_url - a single STRING input; wire it straight from a Seedance node's output.
    • frames - IMAGE tensor, every frame of the video stacked in order.
    • audio - AUDIO object with waveform and sample rate, if the clip has a track.
    • fps and frame_count - FLOAT and INT, handy for timing math downstream.

    Downloads stream with a browser user-agent and a strict five-minute total timeout. Videos that are huge or slow to serve can hit that cap - the error message helpfully echoes the video URL so you can retry manually.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/FloyoAI/ComfyUI-Seed-API
    cd ComfyUI-Seed-API
    pip install -r requirements.txt
    

    The pack's requirements include opencv-python>=4.5.0 - that's the frame extractor, and it's the one thing that isn't already guaranteed present in ComfyUI. For audio, make sure FFmpeg is reachable (pip install imageio-ffmpeg is the easy route). Restart after installing. No API key needed - this node only consumes URLs. Manager: search "ComfyUI Seed API Integration".

    Where people get burned

    Long or high-bitrate videos can trip the five-minute download timeout, and the failure is loud (an exception with the URL) rather than silent - so keep inputs to what you actually need. If frames comes back as a single 64×64 black tensor, that's the empty fallback: OpenCV isn't installed, or the download/extraction failed, and the console has the details. Audio extraction is best-effort - videos without a track return a silent placeholder rather than an error. And practical warning: a 12-second 1080p clip at 24fps is ~288 frames; feeding all of them into a heavy node is a lot, so consider a frame-sampling node if you only need a handful.

    CategorySeed/Video

    Inputs (1)

    NameTypeDefaultDescription
    video_urlSTRING

    Outputs (4)

    NameTypeDescription
    framesIMAGE
    audioAUDIO
    fpsFLOAT
    frame_countINT