XXTPowered by MiniMax H3

How to Make Longer AI Videos with MiniMax H3: Generate in Parts, Then Join

A single MiniMax H3 clip is at most 60 seconds, and there is no extend button: longer videos are made as several clips and joined. Plan the video as a list of shots, give every shot the same characters, the same scene image and the same aspect ratio, and either cut between shots or use the last frame of one clip as the first frame of the next for a continuous take. Then join them in order with h3 concat.

The single-clip limit

MiniMax H3 generates 4–60 seconds per clip, and XXT has no function that continues an existing video. Video models today, MiniMax H3 included, generate short clips; longer AI videos, including ones made in the Hailuo app, are generated in parts and edited together.

That's less of a limitation than it sounds. Films are made of shots, and most shots are a few seconds long. A one-minute video is at least 4 clips of 60 seconds, and in practice more: several shorter shots usually look better than a few long ones.

Step 1: Plan it as a list of shots

  • One main action per shot. A clip that tries to do three things does all of them badly.
  • Write each shot's prompt as if it were the only one. Each clip knows nothing about the others, so repeat who is there, where they are, what they wear and the light in every prompt.
  • Fix the format up front: the same --aspect and the same resolution for every part, so the joins are clean.
  • Decide where you need a continuous take (use last frames, below) and where a cut is fine (shoot shots independently, in parallel).

Method 1: Separate shots, cut together

Best for stories, dialogue and anything that would be edited in a film. Make each person a character, attach the same scene image to every shot in the same place, and submit the shots at the same time: they don't depend on each other.

h3 submit --mode ref2v --aspect 16:9 --seconds 10 --character Mia \
  --ref "other:bookstore=bookstore.jpg" \
  --prompt "A wide shot from behind frames Mia walking into a quiet bookstore in the evening, warm lamps over tall wooden shelves. She slows down and looks along the rows. The camera tracks her slowly from behind in one continuous shot." \
  --wait --out ./part1
h3 submit --mode ref2v --aspect 16:9 --seconds 8 --character Mia=front,three_quarter_left \
  --ref "other:bookstore=bookstore.jpg" \
  --prompt "A medium close-up frames Mia at a tall wooden shelf in the bookstore, warm lamp light on her face. She runs her fingers along the spines, stops, and pulls out a worn paperback. The camera pushes in with small amplitude at slow speed." \
  --wait --out ./part2
h3 concat film.mp4 part1/*.mp4 part2/*.mp4

Note the shot sizes: the wide shot shows Mia from behind, the close shot shows her face. Faces hold up best in close and medium-close shots. How characters and angles work: character consistency.

Method 2: A continuous take, chained by last frames

When the action must flow without a cut, use the last frame of one clip as the first frame of the next. --first-frame job:<previous job id> does it in one step: it downloads that take, extracts the last frame with your local ffmpeg and uploads it as the first frame. To look at the frame first, save it as an image with h3 frame:

h3 frame job:<part 1 job id>      # saves h3-<first 8 of id>-A-last.png; have a look
h3 submit --mode i2v --first-frame job:<part 1 job id> --aspect 16:9 --seconds 10 --character Mia \
  --prompt "A medium shot frames Mia holding the worn paperback in the bookstore aisle. She opens it, turns a few pages and smiles, then tucks it under her arm and walks toward the counter. The camera tracks her slowly from the side in one continuous shot." \
  --wait --out ./part2
  • End each part on a calm moment, not mid-gesture: a blurred last frame makes a poor first frame. If the last frame catches a blink or blur, pick another with h3 frame <clip> --at <seconds> and pass that image to --first-frame.
  • Attach the same character or reference photos to every part. Small changes in face, colour and detail can build up over many links; the photos pull every part back to the same person.
  • For full control of a join, use first and last frame: give each part both its first frame and the frame it must end on. See first and last frame.
  • Chained parts have to be made one after another, since each needs the previous one's ending.

Method 3: Long promo videos in parts

Promo videos, where a character hosts and pitches products, have parts built in. Each part is 4–15 seconds; add --part <n>/<total> with the same host, products and scene, and when the platform writes the lines it opens in part 1, covers the selling points in the middle and closes with a call to buy in the last part. A one-minute promo is about 4 parts, and they can all be submitted at once.

h3 submit --mode promo --aspect 9:16 --seconds 10 --character Mia \
  --product "face cream=cream_front.png" --scene "live studio=room.png" \
  --selling-points "24-hour hydration, safe for sensitive skin, free samples with every order today" \
  --part 1/3 --wait --out ./promo1
# …the same command with --part 2/3 and --part 3/3, then:
h3 concat promo.mp4 promo1/*.mp4 promo2/*.mp4 promo3/*.mp4

Full promo rules are in the characters reference.

Step 2: Join the parts

  • h3 concat <output> <part1> <part2> … joins the clips in the order given, using ffmpeg on your machine (on macOS, brew install ffmpeg).
  • If all parts have the same size and encoding, the join is lossless; otherwise it re-encodes them to match the first part. Add --force to overwrite an existing output file.
  • The platform doesn't add subtitles or music to joined videos. Each part has its own generated sound, so ambient sound can jump at a cut; a music track over the whole video in your editor smooths that over.

What a longer video costs

Each part is billed on its own, per second (rounded up to the whole second per part): $0.009 at night (22:00–10:00 Singapore Time) and $0.0135 during the day. A minute of finished 768P video comes to about $0.54 at night or $0.81 during the day, plus any takes you redo. A part that fails is refunded in full.

Videos, songs and uploaded files are kept for 8 hours after the job ends, then deleted automatically. Please download them in time. With many parts, download each one as soon as it finishes.

FAQ

What is the maximum length of a MiniMax H3 video?

60 seconds per clip (4–60 seconds for most modes). Longer videos are made of several clips joined together.

Can I extend a MiniMax H3 video?

There is no extend button, but h3 submit --first-frame job:<job id> starts a new clip from that clip's last frame; then join the two with h3 concat. For a precise join, use first and last frame.

How do I keep the same character across all the parts?

Save the person as a character and pick it in every part, attach the same scene image for the same location, and repeat the key description in every prompt.

How much does a one-minute AI video cost?

On XXT, about $0.54 at night or $0.81 during the day for a minute of 768P video, since each part is billed per second.

Related guides