MiniMax H3 LoRA · Video Extend
Extend a MiniMax H3 clip without the style falling off a cliff
- video_url
- last_image_url
- loras
- video
- task id
You made a four-second clip, the client likes it, and now they want twelve. Cutting to a second generation in a different session is how you get a visible jump at the seam - new lighting, a slightly different face, a resolution step. This node exists to avoid exactly that: it takes your clip, opens the new segment on its last frame, and joins the result onto the original. The LoRA in the name is the part that actually saves you, because a custom LoRA applied to the extension is how you keep the look.
What it is
One of the ~248 model nodes in PopNow (popnow-ai/popnow-comfyui), a pack that runs every PopNow cloud model as a ComfyUI node. Nothing is downloaded and no model lands on your disk - the node uploads your clip, PopNow renders the continuation on its own GPUs, and the node hands you back a VIDEO that you save like any local render. It's the right tool when your machine can't run a 33B video model, or when you'd rather pay ~7.5 credits a second than babysit a diffusion job overnight. MiniMax H3 itself is the open-weights-but-geofenced omni-modal model (native stereo audio in the same pass as the picture), and this is the variant that lets you bolt your own weights onto it.
How it works
Two things happen under the hood. First, the source clip is re-encoded to MP4 and uploaded - the node caches uploads by content hash for 12 hours, so re-running with a changed prompt doesn't re-send the same file. Second, the API is asked for a new segment whose first frame is the last frame of your clip, and the returned file is your original with the new part appended. You pay for the new seconds only.
The inputs that matter
prompt- describe what happens next, including sound. H3 generates audio with the picture, so "she turns and laughs, wind picks up" is doing real work here.video_url- the clip to continue, MP4/MOV/WebM up to 60 seconds. Wire it from a video loader, not from a file path.resolution-480p,540p,768por1080p. Match whatever the source was made at. A 1080p extension of a 480p clip looks like two clips taped together; the reverse wastes money, since each step up the ladder costs more per second.duration_seconds- 3 to 15, whole seconds.seed- starts on fixed via control-after-generate, so queueing the same graph twice reuses the first result instead of billing for a near-identical second. Flip it to randomize for a genuinely new take.last_image_url(optional) - a target end frame. Useful for landing the extension on a specific composition rather than letting the model drift.loras(optional) - up to three, from PopNow LoRA nodes.
Wire video into Save Video (or a preview). task id is the other output - it's what you quote to support, and it's what shows in the PopNow API console.
Stacking the LoRA
Add a PopNow LoRA node, set source and scale, connect it to loras, and chain more nodes if you need them. source accepts a .safetensors file in ComfyUI/models/loras (uploaded once, reused for 12 hours), a Hugging Face repo id or page, a Civitai page, or any direct https:// link. Gated files need HF_TOKEN or CIVITAI_API_KEY in ComfyUI's environment - those are read from the environment only, never from a widget, because widget values get written into every workflow you share.
The point: reuse the same LoRA and scale you used for the source clip. Different scale, different look, same seam you were trying to avoid.
Install
ComfyUI Manager → search PopNow → Install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Restart, grab a key from popnow.ai/api/console/keys, paste it into Settings > PopNow, restart once more. There's nothing else to install - pyproject.toml lists zero dependencies, and the pack uses the comfy_api V3 node API that ships with ComfyUI.
Where people get burned
The upload ceiling is 90 MiB for video. A long 1080p source will blow through that and the run dies before anything is generated - trim it first, and remember you only need the tail of the clip anyway. If you see No PopNow API key is set, the key didn't land; PopNow 40201 means the wallet is empty. Extending repeatedly compounds: each pass re-encodes and re-guesses, so a third or fourth extension tends to drift in colour and motion. Two extensions and a cut is a better edit than five extensions.
One more: hitting cancel stops the wait, not the job. PopNow keeps rendering, and it charges you if it succeeds. Set Max credits per run in Settings if you want a hard ceiling before that happens.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe what happens next: the action that follows, the camera move and the sound. | |
| video_url | VIDEO | The clip to continue: MP4, MOV or WebM, up to 60 seconds. Its last frame opens the new segment, and the result is your clip with the new segment joined on. | |
| resolution | COMBO | 480p | Resolution of the new segment. Match your source clip; it sets how sharp the new part is generated. |
| duration_seconds | INT | 53–15 | Length of the new segment in whole seconds, from 3 to 15. The source clip is added on top and is not billed. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
| last_image_urlopt | IMAGE | Optional target end frame: the new segment comes to rest on this picture. | |
| lorasopt | POPNOW_LORAS | Up to three LoRA weight files trained for MiniMax H3, each with its own strength, applied to the new segment. Reuse the ones used for the source clip to keep the style consistent. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |