MiniMax H3 vs Seedance 2.5: API, Pricing and 8 Real Clips
MiniMax H3 vs Seedance 2.5: I fired 8 clips through both APIs and measured cost, latency, resolution and audio. Full pricing tables and Python code.
MiniMax shipped Hailuo H3 as a native 2K model, and the number that made me stop was the price: $0.1625 per second of finished 2K video. Seedance 2.5, the model I reach for most often, charges $0.2386 per second at 720p. That is a higher price for a quarter of the pixels, which sounded wrong enough that I went and measured it.
So I ran the same three prompts through both APIs on Segmind, plus a resolution test and a re-run, eight clips in total, and logged the billed cost, the wall clock latency, the real output dimensions and the audio levels of every one. This post is what came back. There is a genuine winner on price per pixel, a genuine winner on speed and control, and one reliability problem I would not have found without firing twice.
What MiniMax Hailuo H3 actually is
H3 is the third generation of the Hailuo line, after Hailuo 01 and 02. Where the earlier models were specialised short form generators, H3 is an omni-modal system that reads text, images and video as one context, and it renders native 2K at 24fps with a synchronised stereo audio track in a single pass. No separate audio step, no upscaler.
On Segmind it arrives as three separate endpoints rather than one, which matters when you are wiring it up:
- minimax-h3-text-to-video: prompt in, clip out.
- minimax-h3-image-to-video: animate a still, with optional last frame control.
- minimax-h3-reference-to-video: hold a character or product identical across the clip using up to five reference images.
The text-to-video endpoint takes exactly four parameters: prompt, ratio, duration and resolution. That is the whole surface. Seedance 2.5 takes eleven, including seed, generate_audio, first_frame_url, last_frame_url, reference_images, reference_videos and reference_audios. Hold that thought, because the gap between four knobs and eleven knobs turns out to be the real story here, not the pixel count.
The pricing, and why H3 looks impossible
Both models bill per second of output, with resolution as the multiplier. Here is the full picture, taken from the rate tables behind each model page and confirmed against the x-cost header on my own generations:
| Model | Tier | Real output size | Per second | 6s clip | Max clip |
|---|---|---|---|---|---|
| Hailuo H3 | 768P | 1344 x 768 | $0.1125 | $0.675 | 15s / $1.6875 |
| Hailuo H3 | 2K | 2560 x 1440 | $0.1625 | $0.975 | 15s / $2.4375 |
| Seedance 2.5 | 480p | 854 x 480 | $0.1065 | $0.639 | 30s / $3.195 |
| Seedance 2.5 | 720p | 1280 x 720 | $0.2386 | $1.432 | 30s / $7.168 |
| Seedance 2.5 | 1080p | 1920 x 1080 | $0.5876 | $3.525 | 30s / $17.627 |
H3 sizes measured with ffprobe on my own output. Seedance 480p and 1080p sizes are the standard tier dimensions.
Normalise that to what you are actually buying, which is pixels per second of video. H3 at 2K delivers 3.69 megapixels a frame for $0.1625 a second, so $0.044 per megapixel-second. Seedance at 720p delivers 0.92 megapixels for $0.2386, so $0.259. H3 at its top tier is 5.9x cheaper per megapixel-second than Seedance at its middle tier, and 6.4x cheaper than Seedance 1080p while still carrying 78% more pixels than that tier does.
One more thing I did not expect. I asked for six seconds every time. H3 returned 6.58 seconds on all four of its fires, consistently, and billed the six second rate. Seedance returned 6.04 to 6.08 seconds. H3 quietly hands you about 9% more footage than you paid for.
Test 1: the product shot, for a marketing team
The agency case is the boring one that pays the bills: a clean product beauty shot, on brief, no surprises. I gave both models the same espresso pour with an explicit camera instruction.
Parameters H3: resolution 2K, duration 6, ratio 16:9 | Seedance: resolution 720p, duration 6, aspect_ratio 16:9, generate_audio true, seed 42
Hailuo H3 · 2K · $0.975
Seedance 2.5 · 720p · $1.432
Same prompt, same duration. H3 holds the commercial framing; Seedance travels much further on the same instruction.
H3 did what the brief said and nothing else. It held a wide product framing on the marble counter, pushed in gently, and the cup filled as the shot settled. Drop that in an ad cut and it works.
Seedance read the same words as permission to move. It starts on the machine with an empty glass and pushes all the way into an extreme macro of the crema, finishing on a shot so tight the product is gone. It is the more beautiful clip of the two and the less useful one, because the brand's machine is only on screen for the first two seconds. Neither is wrong. H3 is literal, Seedance is interpretive, and which you want depends on whether you are filling a storyboard slot or fishing for something better than you asked for.
Test 2: the cinematic scene, for a film team
Pre-visualisation is where a video model earns its place in a studio pipeline. The test is whether it can hold an atmosphere and a camera move at the same time.
Parameters H3: resolution 2K, duration 6, ratio 16:9 | Seedance: resolution 720p, duration 6, aspect_ratio 16:9, generate_audio true, seed 42
Hailuo H3 · 2K · $0.975
Seedance 2.5 · 720p · $1.432
H3 renders one continuous take. Seedance cuts to an aerial at 4.7 seconds.
This is the clearest structural difference I found, and it is measurable rather than a matter of taste. I ran ffmpeg scene detection over every clip. H3 returned zero cuts on all four of its fires, at every threshold I tried. Seedance's lighthouse clip cuts once, at 4.71 seconds, from the tower interior to an aerial of the beam sweeping over open water.
Seedance is doing edit-level work. It read a six second brief with a beginning and an end and built a two shot sequence out of it, and the aerial it invented is the best single image either model produced. H3 gave me one unbroken move up the stairwell into the lamp room, and at 2560 x 1440 the wet stone and the Fresnel lens hold up at full size. If you are cutting your own sequence, H3's single takes are raw material you can trim. If you want a finished beat handed to you, Seedance is already editing.
Test 3: vertical for social, and a bug worth knowing about
Short form vertical is most of the volume for production houses and MCNs, so 9:16 is not an afterthought. I ran a high motion night market scene at 9:16 on both.
Parameters H3: resolution 2K, duration 6, ratio 9:16 | Seedance: resolution 720p, duration 6, aspect_ratio 9:16, generate_audio true, seed 42
Hailuo H3 · 2K · 1440 x 2560
Seedance 2.5 · 720p · rotated on this fire
H3 delivered a true 1440 x 2560 vertical. Seedance returned a correctly sized portrait file with the render lying on its side.
H3's vertical is excellent: a genuine 1440 x 2560 frame, the wok flare lighting the vendor's face from below, the grin landing on cue. It is the best clip of the eight for its intended use.
Seedance's came back sideways. The file is a correct 720 x 1280 portrait container with no rotation metadata, but the image inside it is landscape content turned 90 degrees, flames pointing left instead of up, for the entire clip. I re-fired 9:16 with a different prompt and a different seed to see whether vertical was simply broken, and it was not:
Second Seedance 9:16 fire, different prompt and seed. Correctly oriented, so the rotation is intermittent rather than systemic.
One in two of my 9:16 Seedance fires came back rotated. That is a small sample and I am not going to call it a failure rate, but it is enough that I would validate orientation programmatically before publishing vertical output from a batch job. A two line ffprobe check on width against height catches it, and the fire still bills whether the render lands upright or not. I have passed this one to the team.
The 768P tier is not a preview of the 2K tier
The obvious way to save money is to draft at the cheap tier, pick the winner, then re-render that one at 2K. That does not work on H3, and it is worth understanding why before you build a workflow around it.
H3 768P · $0.675 · 140.5s
H3 2K · $0.975 · 853.0s
Identical prompt at both tiers. Different framing, different lighting, different shot.
Same prompt, and the two tiers gave me completely different shots. The 768P run is a tighter, darker, moodier composition; the 2K run is wide and bright with a window in frame. Neither is a version of the other.
The cause is simple: H3 exposes no seed parameter at all. There is no way to pin a generation, so there is no way to reproduce one, and the cheap tier can only ever be a sample of the model's range rather than a preview of a specific shot. Seedance takes a seed and will hold a composition across resolution changes. If reproducibility is part of your pipeline, that single missing parameter matters more than the price gap.
Latency is where H3 gives the money back
Every fire below is a six second clip, timed end to end from a single sequential process in the same session:
| Fire | Model and tier | Wall clock | Billed |
|---|---|---|---|
| Espresso | H3 2K | 853.0s | $0.975 |
| Lighthouse | H3 2K | 466.0s | $0.975 |
| Night market | H3 2K | 403.7s | $0.975 |
| Espresso | H3 768P | 140.5s | $0.675 |
| Espresso | Seedance 720p | 148.0s | $1.432 |
| Lighthouse | Seedance 720p | 112.9s | $1.432 |
| Night market | Seedance 720p | 170.7s | $1.432 |
| Rooftop | Seedance 720p | 151.1s | $1.432 |
Eight fires on 3 September 2026. Sequential, one at a time, no parallelism.
H3 at 2K took 403 to 853 seconds, a median of 466. Seedance at 720p took 113 to 171 seconds, a median of about 150. So the cheap model is roughly three times slower at its top tier, and the spread is wide enough that you cannot promise a completion time to a user.
The interesting row is H3 at 768P: 140.5 seconds, right in Seedance's band, for a 1344 x 768 output that is 12% more pixels than Seedance's 720p at 47% of the price. That tier is the sweet spot for volume work. H3's 2K tier is the one you queue overnight.
Calling it from Python
Both endpoints are synchronous and return the MP4 as raw binary in the response body, so there is no polling and no job id to track. Set a long timeout and write the bytes straight to disk. Note the parameter names differ: H3 uses ratio, Seedance uses aspect_ratio.
import requests
def generate(slug, params, out, timeout=1800):
r = requests.post(
f"https://api.segmind.com/v1/{slug}",
headers={"x-api-key": "YOUR_API_KEY"},
json=params,
timeout=timeout,
)
r.raise_for_status()
open(out, "wb").write(r.content)
print(out, r.headers.get("x-cost"), "USD")
# MiniMax Hailuo H3: native 2K, four parameters, no seed
generate("minimax-h3-text-to-video", {
"prompt": "A lighthouse keeper climbs a spiral iron staircase at dawn, lantern in hand.",
"ratio": "16:9",
"duration": 6,
"resolution": "2K",
}, "h3.mp4")
# Seedance 2.5: same job, seeded and reproducible
generate("seedance-2.5", {
"prompt": "A lighthouse keeper climbs a spiral iron staircase at dawn, lantern in hand.",
"aspect_ratio": "16:9",
"duration": 6,
"resolution": "720p",
"generate_audio": True,
"seed": 42,
}, "seedance.mp4")
Two things that will save you a run. Read the x-cost response header on every call, because it is the only per-generation record of what you actually spent. And if you write audio into the prompt, end the clause with "no music": Seedance runs a copyright check on its own output and will refuse to release a finished clip whose audio it thinks resembles music, after you have already waited for the render.
The audio nobody mentions
Both models ship a real stereo AAC track at 32kHz, and neither lets you turn it off on H3. I measured mean and peak levels on every clip, and the two behave very differently. On the quiet espresso scene H3 came back at -40.0 dB mean and -21.7 dB peak, against Seedance's -31.9 and -3.7. On the loud night market scene H3 was the louder of the two, -22.2 mean and -0.6 peak, close enough to clipping to matter.
H3 mixes to the scene, with a 17.8 dB spread between its quietest and loudest clip. Seedance normalises toward a consistent level, with a 7.4 dB spread. If you are dropping clips straight onto a timeline, Seedance's output is closer to usable as delivered. H3's needs a gain pass, and its quiet scenes need a lot of one.
Honest assessment
Where H3 wins. Price per pixel is not close: 5.9x cheaper per megapixel-second than Seedance 720p, and it is the only one of the two that gives you a true 2K master. It follows a camera instruction literally, holds a single unbroken take, and its 768P tier matches Seedance on speed while undercutting it on both price and resolution. For volume work where you own the edit, it is the better buy.
Where it loses. No seed, so nothing is reproducible and cheap drafting does not work. Four parameters total, so no first frame, no last frame and no reference images on the text endpoint. Fifteen seconds is the ceiling against Seedance's thirty. The 2K tier is three times slower. And the audio needs a mix pass. Seedance costs more per pixel and earns it back in control: a seed, a full reference stack, thirty second clips and shot level editing you did not have to ask for.
I would run H3 768P for volume, H3 2K for hero shots I can wait on, and Seedance for anything that has to match a character, a first frame or a previous take.
FAQ
Is MiniMax H3 cheaper than Seedance 2.5?
Per second, yes at every comparable tier. H3 2K is $0.1625 a second against Seedance 720p at $0.2386. Per pixel the gap is much wider, because H3's 2K output is four times the frame size of Seedance 720p.
What resolution does MiniMax H3 actually output?
Two tiers. 768P measures 1344 x 768, and 2K measures 2560 x 1440, both at 24fps. I confirmed both with ffprobe on real output rather than trusting the label.
How long can a MiniMax H3 clip be?
Four to fifteen seconds, any whole number. Seedance 2.5 goes to thirty. If you need a single shot longer than fifteen seconds, H3 cannot do it.
Does MiniMax H3 generate audio?
Yes, a synchronised stereo AAC track in the same pass, and there is no parameter to switch it off. Expect to ride the gain, since quiet scenes come back around -40 dB mean.
Can I reproduce a MiniMax H3 generation?
No. The API exposes no seed parameter, so the same prompt returns a different shot every time, including across resolution tiers. Seedance 2.5 takes a seed and does hold a composition.
Which is better for vertical short form video?
H3, on this test. It returned a true 1440 x 2560 vertical frame, while one of my two Seedance 9:16 fires came back with the render rotated 90 degrees inside a correctly sized portrait file.
The short version
Hailuo H3 is the cheapest route to a genuine 2K clip with audio that I have tested, by a wide margin, and it follows direction more literally than anything else in its price band. It pays for that with no seed, four parameters and a slow top tier. Seedance 2.5 costs more per pixel and gives you back reproducibility, references, thirty second durations and a model that edits. Run H3 at 768P for volume, and keep Seedance for the shots that have to match something.
Both are live on Segmind: MiniMax Hailuo H3 and Seedance 2.5, no setup, billed per second of output.