Packaging MiniMax H3 for Cog, R2, RTX 5090, and scale to zero
A careful H3 video workflow with text, keyframes, native audio, true loops, verified R2 weights, GPU AV1, serverless pricing, and a fail-closed license gate.
Listen to this article
On-device voiceUses the voice built into your browser; no article text leaves this page.
Audio narration is not supported by this browser.
MiniMax H3 is an unusually complete open-weight video pipeline: text-to-video, image-to-video, first/last-frame control, and synchronized stereo audio share one model. We packaged that surface as a portable Cog and a RunPod Serverless worker, then added the operational pieces a hosted model needs: verified R2 weights, scale-to-zero routing, safe media inputs, and GPU AV1 delivery.
The adapter source is github.com/lee101/h3-cog. Its MIT license covers our code, not the model weights.
One workflow, four useful modes
The same endpoint accepts a prompt plus zero, one, or two keyframes:
| mode | input | useful for |
|---|---|---|
| text-to-video | prompt | ideation and complete audiovisual shots |
| image-to-video | prompt + first frame | animating art, products, and storyboards |
| first/last frame | prompt + both frames | transitions with a controlled landing |
| loop | prompt + first frame + loop | a generated clip whose final condition is the opening frame |
Loop mode is not a reversed copy or cross-fade. The first frame is also passed to H3 as its final-frame condition, so the model generates the return motion. That gives the sampler a real chance to preserve both the subject and the seam.
H3 renders at 24 fps. Duration is snapped to its valid 17k+5 frame grid; a five-second request becomes 124 frames, or about 5.17 seconds. Native 16:9 is 1344×768. The Cog also exposes balanced and preview canvases for cheaper prompt iteration before a final native render.
The 5090 path
Our selected ComfyUI checkpoint set is about 42.5GB: a 20.97GB pruned INT8 diffusion model, 15.69GB NVFP4 text/vision encoder, 5.21GB video VAE, and 0.61GB audio VAE. That is larger than a 32GB RTX 5090, so the runtime deliberately offloads between text encoding, denoising, and VAE decode instead of pretending every component remains resident.
We pin the ComfyUI commit that introduced the native H3 nodes, use the official res_multistep sampler at 20 steps, and enable SageAttention when available. The current H3 release is dense full-attention. We did not transplant a CG-Taylor-style cache without quality evidence. A separate acceleration note explains the signed EasyCache A/B path now available to operators; the public default remains uncached until it passes joint audio/video and first/last-frame quality gates.
The output stage prefers av1_nvenc on Blackwell and preserves generated audio as Opus in WebM. It falls back to SVT-AV1 when NVENC is unavailable; H.264/AAC is available for clients that value compatibility over size.
R2 weights without mystery files
Weights are runtime data, not Docker layers. The mirror tool downloads only the four production files, calculates SHA-256, uploads immutable objects to R2, and publishes a small manifest. A worker resumes partial HTTP downloads, verifies both size and digest, and only then links a file into ComfyUI. A shared RunPod volume means a cold process does not imply a 42.5GB cold download.
This split keeps the open-source container reviewable and gives app.nz a fast, repeatable cache without weakening provenance.
Pricing and scale to zero
The catalog template targets a 32GB RTX 5090, keeps no minimum workers, and has a five-minute warm window for bursts. Its displayed serverless estimate is the selected RunPod compute rate plus an 80% app.nz platform fee, charged by execution second. Idle is zero.
The template exposes the same schema through the website, Cog HTTP API, CLI, desktop proxy, Comfy/MCP template discovery, and RunPod handler. There is no second, quietly divergent inference contract.
Why launch is paused today
MiniMax's current model license defines an applicable territory that excludes the United States, European Union, United Kingdom, and Republic of Korea. The existing app.nz Cog pod path is pinned to a US region, and its legacy RunPod Serverless integration does not yet prove a compliant data-center restriction.
So the catalog is fail-closed: it shows the workflow, source, schema, warning, and final pricing, but the launch button cannot allocate a worker. The runtime also refuses to download weights unless the deployer explicitly sets MINIMAX_H3_LICENSE_ACCEPTED=1. We will not accept model terms on a user's behalf or move restricted weights into R2 first and ask questions later.
Once acceptance and a permitted RunPod location are supplied, the release gate is straightforward: mirror the four files, build the pinned container, run the seven deterministic launch prompts (text, first-frame, first/last-frame, true loop, vertical, square, and ultrawide), visually review first/last-frame identity and audio sync, publish the clips, then enable the one-click button.
Review the H3 Cog source, inspect the upstream model card, or open the H3 catalog preview.