Open weights and a hosted API are not the same kind of access, and MiniMax H3 gives you both.
I tested the routes I could get to, and fal turned out to be the one I’d recommend without qualifiers.
Where can you access MiniMax H3 right now?
fal offers the best place to access MiniMax H3, and the setup is genuinely three steps:
Install the client with npm install @fal-ai/client, export FAL_KEY in your runtime, and call the endpoint.
Serverless functions and containers that can’t read shell variables can set fal.config({ credentials: “YOUR_FAL_KEY” }) in code.
Browser code is the one case where neither applies, since anything in your bundle is readable by anyone who opens devtools.
There you install @fal-ai/server-proxy, add a proxy route on your own server, and point the client at it with fal.config({ proxyUrl: “/api/fal/proxy” }), which keeps the key on your backend while subscribe, submit, and the rest keep working as normal.
Three endpoints are live:
- minimax/h3/text-to-video runs on a prompt alone, with duration defaulting to 5 seconds and accepting up to 15, resolution fixed at 2K for now, and aspect_ratio defaulting to 16:9 with 21:9, 4:3, 1:1, 3:4, and 9:16 available.
- minimax/h3/image-to-video handles the first and last frame case, animating a supplied opening image or interpolating between an opening and closing pair, with the aspect ratio following your upload.
- minimax/h3/reference-to-video takes the multimodal path, accepting up to 9 reference images, 3 video clips of 2 to 15 seconds each, and 3 audio tracks, with a 12-file ceiling and a requirement that audio be paired with at least one image or video.
Output on every endpoint is a single video object carrying url, content_type, file_name, and file_size.
Here’s the minimum viable call for its reference-to-video endpoint:
import { fal } from “@fal-ai/client”;
const result = await fal.subscribe(“minimax/h3/reference-to-video”, {
input: {
prompt: “Image 1 is the female protagonist. Image 2 is her small dog. Keep the woman and dog consistent with their respective reference images while they walk together through a sunlit garden.”
},
logs: true,
onQueueUpdate: (update) => {
if (update.status === “IN_PROGRESS”) {
update.logs.map((log) => log.message).forEach(console.log);
}
},
});
console.log(result.data);
console.log(result.requestId);
For 2K renders at longer durations, I’d skip subscribe and use fal.queue.submit with a webhookUrl, then poll fal.queue.status or wait for the callback.
What makes fal the best place to use MiniMax H3?
fal is the best place to use MiniMax H3 because it’s an actual host of the model and not a forwarder sitting in front of one.
Most platforms that list a release this new are passing your request along to whoever trained it.
fal isn’t doing that with H3.
The weights are open, fal has them, and the model runs on infrastructure the team built specifically for serving generative media at volume.
Practically speaking, that means the people running the endpoint can actually change how it’s served, and you get the result without renting a single GPU or writing a queue.
fal was also a Day 0 partner on the release, so the endpoints have been stable since the model went public.
Commercial use is covered, prompts run to 7,000 characters, and the open weights remain available if you ever want to fine-tune on your own terms.
How much does it cost to run MiniMax H3 on fal?
It costs $0.26 for every second of 2K output to run MiniMax H3 on fal, with no subscription and no minimum spend.
That means five seconds costs $1.30, ten is $2.60, and the 15-second ceiling is $3.90.
As 2K is the only resolution H3 currently produces, duration is the only variable in your bill, which makes cost estimation on a real project a two-minute exercise.
For anyone testing, prototype at 5 seconds and extend only when the shot is already working.
Run MiniMax H3 on fal
The barrier to trying this is one install, one key, and $1.30.
I’d recommend you start with text-to-video to learn how H3 handles camera and audio instruction, because it takes both more literally than most models I’ve used.
Then bring your own assets to reference-to-video, which is where the single-context design starts paying for itself.
That’s the whole path, and none of it required me to think about hardware.












Discussion about this post