MiniMax video pipelines
Frok includes separate ordinary-video and reference-video workflows. They share a runner connection, but use different model and adapter requirements. Prepare the capability you actually want to use.
Vpipe video
Copy the generation files into ~/frok/pipelines/video/my-minimax.local/:
Give the metadata a new ID and name if the stock pipeline is also installed. The native workflow owns Turbo adapter and sampling settings and uses SOL. Frok binds prompt, seed, frame count, dimensions and output paths. Its declared first-frame input lets the same workflow support image-to-video.
For Vpipe, any stage producing an input must come before its consumer. Frok's first-frame injection respects that ordering; keep it intact when adapting a custom graph.
Vpipe reference video
Install the dedicated reference example under reference/my-reference.local/:
Keep the license and notices with redistributed copies of either Vpipe example.
The reference metadata declares the target and maximum number of uploaded references. This workflow uses its dedicated Turbo adapter; an adapter for an ordinary video checkpoint is not interchangeable by name alone.
If models are missing
If Frok reports missing models or LoRAs for the selected workflow, copy the matching preparation pipeline below into a file named prepare.vpipeline, or use its download link. These are the source-controlled preparation files supplied with Frok.
Ready workflows do not need these files. Frok never installs them in the pipeline directory. Keep the file in a location of your choice. From the Vpipe workspace configured in Frok, run it with an absolute path:
cd ~/vpipe
vpipe --launch /absolute/path/to/prepare.vpipelineUse your configured workspace if it differs from ~/vpipe. Review the file first: the bundled MiniMax examples download the matching base model and adapter, quantize the transformer and text encoder, and remove their temporary intermediate model. Allow preparation to finish, then return to Settings → Generation → Refresh workflows in Frok. For an unchanged bundled workflow, Prepare models queues the matching script in Frok. Custom copies use the manual command above.
Video preparation
Download prepare.vpipeline, or use the code block's Copy button:
{
"id": "prepare-minimax-h3-8bit",
"stages": [
{
"id": "fetch",
"type": "model-fetch",
"config": {
"model_path": "Comfy-Org/MiniMax-H3",
"model_variant": "fl2va",
"model_key": "Comfy-Org/MiniMax-H3-FL2VA",
"hf_token": "",
"base_path": "./models",
"skip_existing_files": true,
"overwrite_existing": false
}
},
{
"id": "quant-dit",
"type": "model-quantize",
"iports": [
{
"src": "fetch",
"oport": 0
}
],
"config": {
"src_model": "Comfy-Org/MiniMax-H3-FL2VA",
"output_name": "local/MiniMax-H3-FL2VA-8bit-dit",
"target": "dit",
"bits": 8,
"group_size": 64,
"quant_modulation": true,
"skip_existing": false
}
},
{
"id": "quant-enc",
"type": "model-quantize",
"iports": [
{
"src": "quant-dit",
"oport": 0
}
],
"config": {
"src_model": "local/MiniMax-H3-FL2VA-8bit-dit",
"output_name": "local/MiniMax-H3-FL2VA-8bit",
"target": "text_encoder",
"bits": 8,
"group_size": 64,
"skip_existing": false
}
},
{
"id": "remove-dit-intermediate",
"type": "model-remove",
"iports": [
{
"src": "quant-enc",
"oport": 0
}
],
"config": {
"model": "local/MiniMax-H3-FL2VA-8bit-dit",
"delete_files": true,
"missing_ok": true
}
},
{
"id": "adapter-fetch",
"type": "model-fetch",
"config": {
"model_path": "larryvrh/MiniMax-H3-Turbo-Lora",
"model_variant": "larryvrh/MiniMax-H3-Turbo-Lora-v4-600-ema",
"hf_token": "",
"base_path": "./models",
"skip_existing_files": true,
"overwrite_existing": false
},
"iports": []
}
]
}Reference video preparation
Download prepare.vpipeline, or use the code block's Copy button:
{
"id": "prepare-minimax-h3-ref2va-8bit",
"stages": [
{
"id": "fetch",
"type": "model-fetch",
"config": {
"model_path": "Comfy-Org/MiniMax-H3",
"model_variant": "ref2va",
"model_key": "Comfy-Org/MiniMax-H3-Ref2VA",
"hf_token": "",
"base_path": "./models",
"skip_existing_files": true,
"overwrite_existing": false
}
},
{
"id": "quant-dit",
"type": "model-quantize",
"iports": [
{
"src": "fetch",
"oport": 0
}
],
"config": {
"src_model": "Comfy-Org/MiniMax-H3-Ref2VA",
"output_name": "local/MiniMax-H3-Ref2VA-8bit-dit",
"target": "dit",
"bits": 8,
"group_size": 64,
"quant_modulation": true,
"skip_existing": false
}
},
{
"id": "quant-enc",
"type": "model-quantize",
"iports": [
{
"src": "quant-dit",
"oport": 0
}
],
"config": {
"src_model": "local/MiniMax-H3-Ref2VA-8bit-dit",
"output_name": "local/MiniMax-H3-Ref2VA-8bit",
"target": "text_encoder",
"bits": 8,
"group_size": 64,
"skip_existing": false
}
},
{
"id": "remove-dit-intermediate",
"type": "model-remove",
"iports": [
{
"src": "quant-enc",
"oport": 0
}
],
"config": {
"model": "local/MiniMax-H3-Ref2VA-8bit-dit",
"delete_files": true,
"missing_ok": true
}
},
{
"id": "adapter-fetch",
"type": "model-fetch",
"config": {
"model_path": "lightx2v/Minimax-h3-Turbo",
"model_variant": "lightx2v/Minimax-h3-Turbo-ref2va-4step-split",
"hf_token": "",
"base_path": "./models",
"skip_existing_files": true,
"overwrite_existing": false
},
"iports": []
}
]
}Duration and dimensions
The metadata declares supported durations, qualities, aspect ratios, FPS and the frame-count stride/offset. The bundled profile uses 24 fps and model-compatible frame counts. Frok aligns inputs to that grid, so the exported duration may differ slightly from a nominal six, eight or ten seconds.
Quality controls resolution; they do not silently replace the graph's scheduler or LoRA settings. To compare a different sampling strategy, make another pipeline with a distinct ID and hold the input frame, prompt, seed, duration and resolution constant.
ComfyUI variants and limits
The factory library also includes MiniMax ComfyUI API workflows. They require their specified node classes, checkpoints and encoders on the connected service. A ready Vpipe model folder does not automatically satisfy ComfyUI's model layout.
Video and reference model packs can require substantial disk space and memory. Frok verifies required files, not inference speed or GPU fit. Start with a short 480p take and inspect its queue log if memory allocation fails.