Nodes/ComfyUI-MiniMax-H3-API/MiniMax H3 Preview Video
ComfyUI Node

MiniMax H3 Preview Video

Turn That Expiring Video URL Into a File on Your Disk

By magicwang1111·Created 2 months ago·Updated 16 days ago· 2
MiniMax H3 Preview Video
    • file_path
    video_url

    Every other node in this pack gives you a video_url - a link to a file sitting on MiniMax's servers, in a bucket you don't control. MiniMax H3 Preview Video is the one that turns that link into an MP4 in your ComfyUI output folder and shows it to you on the canvas while it's at it.

    One input, video_url (a forced wire, not a text box), and one output, file_path. That's the whole node. If you've ever lost a render because the URL expired before you got around to downloading it, you already know why it exists. Download the thing.

    What it does with the file

    The node builds a filename from a timestamp pattern - video/MiniMax_<date>_<time>_<counter>_.mp4 - and writes it under your ComfyUI output directory, in a video subfolder. So a render on a Tuesday afternoon lands as something like output/video/MiniMax_20260923_153012_00001_.mp4. The counter means two downloads in the same second don't collide, and it means every execution writes a new file rather than overwriting the last one. If you run the node ten times on the same URL you'll get ten copies.

    It downloads by streaming in one-megabyte chunks, with a generous 600-second read timeout, so a long 2K clip won't die halfway for lack of patience. Failures are retried up to four times with increasing backoff - one second, then two, then four - and a partial file gets deleted before each retry, so you don't end up with a truncated MP4 that plays for three seconds and then freezes.

    file_path comes back as a string you can wire onward: log it, feed it to a filename-parsing node, whatever you like.

    The proxy detail worth knowing

    MiniMax's China-region results are served from Alibaba Cloud OSS, and the node special-cases that host: it bypasses environment proxy settings when the hostname matches oss-cn-shanghai.aliyuncs.com or a subdomain of it. If you're behind a corporate proxy or a VPN with an intercepting setup, that one line is the difference between a download that works and a mysterious connection error - and it's exactly the sort of thing you'd never work out from the error message alone. If you're seeing failures on .cn results and success on everything else, this is why.

    The preview

    On the canvas, the node renders an inline, looping, muted video that scales with the node's size - drag the corner to make it bigger. That's the point of the name: you get to see the render inside the graph, next to the prompt that made it, instead of opening a folder. The saved file is still the authoritative artifact; the preview is just the UI listening to the same file.

    Because it's an output node, it runs when you execute the graph, and while it's downloading, the node shows the local file it just wrote rather than streaming from the remote URL. That's deliberate - it means the workflow keeps working after the MiniMax link has expired.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/magicwang1111/ComfyUI-MiniMax-H3-API
    

    Restart ComfyUI, then cp local.example.json local.json in the pack directory and drop in your api_key. Set base_url to match the key's region - https://api.minimax.cn or https://api.minimax.io. The pack's only dependencies are requests and Pillow; there are no models to download and nothing runs on your GPU. ComfyUI Manager: search ComfyUI-MiniMax-H3-API.

    Traps

    An empty video_url raises video_url is required - which is what you'll see if you wired it straight to a Query Task output for a task that's still queued. Query gives you an empty URL for anything unfinished, so make sure the status is succeeded before you try to download.

    If you're feeding it a URL from somewhere other than this pack, note the node will happily try to fetch anything - it doesn't check the host. It'll just fail four times if the link is bad, and it'll fail a little more slowly each time.

    CategoryMiniMax H3

    Inputs (1)

    NameTypeDefaultDescription
    video_urlSTRING

    Outputs (1)

    NameTypeDescription
    file_pathSTRING