Download Video
The Node That Actually Saves Your MiniMax Video
- video_path
This is the last node in the MiniMax video pipeline, and its job is the one you actually want done: getting the finished video onto your disk. It takes the file_id that Check Video Status hands you, asks MiniMax where the file lives, and streams it down into your ComfyUI output folder with a sensible timestamped filename.
The full chain in the ComfyUI-JM-MiniMax-API pack looks like this:
video-generation → check-video-status → download-video
Fair question: why does this node exist at all when Check Video Status already hands you a video_url you could grab? Two reasons. First, this is the "official" path - it uses the file API with your file_id rather than a URL that may or may not outlive the job. Second, it does the boring housekeeping for you: sanitizes the filename, figures out the extension, streams in chunks with progress printed to the console, and drops the result in ComfyUI's output directory with a timestamp so you don't overwrite anything.
How it works
Two HTTP calls. First it GETs https://api.minimaxi.chat/v1/files/retrieve?file_id=... with your key in the auth header and pulls the download_url out of the response's file object. Then it streams the actual download in 8KB chunks, logging progress roughly every megabyte. If it can't tell the extension from the URL path, it defaults to .mp4 (it only trusts mp4/avi/mov/mkv/webm).
The filename comes out as {filename_prefix}_{YYYYMMDD-HHMMSS}.{ext} - so with the default prefix you get minimax_video_20260816-143022.mp4 sitting in your output folder, ready for Preview Video, VHS, or whatever you pipe it into.
Inputs and output
Only three inputs, all strings:
- api_key - the pack-wide MiniMax key.
- file_id - wire this from Check Video Status. This is the one that matters, and it must be a
file_id, not avideo_url; the node won't know what to do with a plain URL here. - filename_prefix - defaults to
minimax_video. Change it if you want something recognizable in your output folder.
The single output is video_path - an absolute path to the saved file. That's it.
Gotchas
The obvious one: this node is only useful when you have a completed job's file_id, so it needs Check Video Status to have run successfully first. Don't try to run it standalone.
The error handling mirrors the rest of the pack - the retrieve call maps MiniMax status codes to readable messages (1004 auth, 1008 no balance, 1002 rate limit). If the file isn't found or the download URL is empty, you get a clear "No download URL found" rather than a silent failure. One quirk: the API's file_id can carry stray whitespace if you pasted it, but the node strips it before calling, so that's handled.
Install
Part of the ComfyUI-JM-MiniMax-API pack - installing it gives you all eight nodes at once:
cd ComfyUI/custom_nodes
git clone https://github.com/synthetai/ComfyUI-JM-MiniMax-API
pip install -r requirements.txt
Or search "ComfyUI-JM-MiniMax-API" in ComfyUI Manager. Restart, and you're done. Dependencies are just requests and Pillow, and nothing renders locally - the whole point of this pack is that MiniMax's cloud does the work and this node just fetches the result. You'll need a MiniMax API key from their open platform to use it.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| file_id | STRING | — | |
| filename_prefix | STRING | minimax_video | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | — |