Skip to main content

MiniMax H3 Max image-to-video animates an opening frame, with an optional closing frame, from a prompt describing the motion between them. Clips run 5 to 15 seconds at 480p or 768p, with ambience, foley and music generated alongside the picture.

Filtering differs by endpoint: Image to video — Softened, Video extension — Softened, Text to video — Filtered.

From $0.05/s

Workbench

Input

Image to video
295/7000
Describe what changes after the opening frame - action, camera, sound - not the frame itself. at least 1 characters · at most 7000 characters
1/1

Drop files or media links, paste, or browse · 1 file · Max 10 MB · JPG · PNG · WEBP · GIF

  • 1
1 / 1 files
The opening frame. It fixes subject, wardrobe and composition, and it sets the output shape.
0/1

Drop files or media links, paste, or browse · 1 file · Max 10 MB · JPG · PNG · WEBP · GIF

0 / 1 files
Optional closing frame. Only valid alongside image_url; it constrains the ending, not the middle.
Durationaffects price
Whole seconds, 5 to 15. Omitting it gives you 8. no lower than 5 · no higher than 15
affects price
480p or 768p, default 768p. Both are native renders; 480p costs less per second.
Prompt expansionaffects price
Off by default, so the prompt is used exactly as written. Switch it on and MiniMax first expands your prompt into a fuller, structured description of the shot, sound and music, then renders from that. Requests with it on add a flat prompt-expansion fee per request on top of the per-second price; the estimate shown before you submit already reflects it.
Safety checkerOff

SpicyAPI does not run a safety checker on this model. Your prompt and media go to the model as written, and the model itself decides what comes back.

Checking your account before enabling submission and pricing.

Output

Ready for a new run
Example result

Related models and next tasks

Missing the model you need?

Tell us what to add and where you would use it. Requests go to the people who decide what gets onboarded next.

One opening frame, one optional ending, sound built in

MiniMax H3 Max image-to-video turns a single opening frame into a 5 to 15 second clip at 480p or 768p, with an optional last_image_url that anchors where the motion has to land. Sound is generated in the same pass as the picture, so ambience, foley and score come from the prompt itself. Resolution defaults to 768p; 480p costs less per second and is the cheaper way to test a take.

Open the playground
One opening frame, one optional ending, sound built in
Required input
prompt plus image_url (the opening frame)
Optional closing frame
last_image_url, only together with image_url
Duration
5 to 15 whole seconds, default 8
Resolution
480p or 768p — default 768p
Audio
Ambience, foley and score, generated with the picture
Content handling
No platform content filter on this endpoint
Two frames, one required
image_url fixes the start, last_image_url anchors the endOnly image_url is required; last_image_url is accepted exclusively alongside it, never alone, which is why a closing-only request fails validation rather than quietly being ignored.
Two native resolutions
480p for drafts, 768p for the keeperBoth sizes are rendered natively and billed per second, and 480p is the cheaper of the two. Try wording and motion at 480p, then render the take you keep at 768p; a short 480p clip is the cheapest possible test.
Audio in the same pass
Sound comes from the prompt itselfThere's no audio toggle or separate stem to request. Ambience, foley and score are produced together with the picture, so describe them in the same prompt as the visual direction.

What the MiniMax H3 Max API does well

Duration set to the exact second

Duration set to the exact second

duration_seconds takes any whole number from 5 to 15, so a request for 9 seconds returns exactly 9 rather than the nearest round figure. The field defaults to 8 whenever it is left out, and 9 seconds bills as 9 seconds, since length is what the price follows here.

A closing frame that locks the destination

A closing frame that locks the destination

last_image_url pins the composition the clip has to resolve to, useful when the result has to cut cleanly into an existing edit or match a follow-up shot. It only works paired with image_url, and sending it alone is rejected before the task starts.

  • Picture and sound produced in one generation

    Ambience, foley and score come out of the same pass as the frames, not a separate mixing or dubbing stage after the video finishes. Whatever's written about sound in the prompt renders alongside the visual direction in the same output file.

  • Composition fixed before the prompt starts working

    Because image_url already sets subject, wardrobe and framing, the prompt only has to direct what happens next: the action, the camera move, the pacing. It doesn't need to redescribe what's already visible in the opening frame.

  • No platform content filter on this endpoint

    What a request produces is decided by the model, not by an added classifier on the platform's side. Check the returned clip to confirm the prompt's intent carried through exactly, since the model's own reading of a scene can still vary.

  • Asynchronous by design

    The call hands back a task id while the render carries on in the background, so a 15-second clip never holds an HTTP connection open for its whole generation. Collect the result by polling that id or by registering a callback URL; the audio arrives inside the same file as the video.

Who MiniMax H3 Max is for

  • Animate a still that already has approved framing

    Product motion

    Animate a still that already has approved framing

    A confirmed product photo becomes image_url, which protects layout, color and branding while the prompt directs only the motion happening around it: a slow rotation, a light change, a surface reflecting differently as the camera moves.

  • Land a clip on a specific closing expression or pose

    Character performance with a fixed beat

    Land a clip on a specific closing expression or pose

    Add last_image_url when the scene must end on a known composition instead of wherever the prompt's wording happens to settle. Without it, the ending follows the model's own reading of the rest of the prompt.

  • Check a direction cheaply before committing to a longer render

    Fast shot-direction testing

    Check a direction cheaply before committing to a longer render

    Set duration_seconds to 5 and skip last_image_url to confirm composition, motion and the accompanying score before scaling toward 15 seconds. A short first pass at the minimum duration costs less than committing straight to a full-length render.

  • Direct ambience and action on one timeline

    Narrative clips with built-in audio

    Direct ambience and action on one timeline

    Since sound is generated with the picture, write what is heard next to the motion it accompanies: the room tone of the space in the opening frame, then a door closing at the moment a character turns toward it. Both come out of the same pass.

How to call the MiniMax H3 Max API

  1. Send prompt and image_url

    Every request needs both fields. Leave duration_seconds or resolution unset and they fall back to their defaults (8 seconds, 768p) instead of failing the call.

  2. Add last_image_url only for a fixed ending

    Supply a closing frame when the clip has to land on a known composition. It only works paired with image_url, so sending it alone is rejected before the task starts.

  3. Set duration_seconds to the exact length you need

    Any whole number from 5 to 15 is valid, with no fixed tiers to round to. Start at 5 seconds to test pacing before committing to a longer, more expensive render.

  4. Poll or take the callback

    The task runs asynchronously. Submit the request, then poll the task status endpoint or configure a callback URL to receive the finished clip together with its generated audio track.

  5. Review the ending before reusing it downstream

    last_image_url guides the ending; it doesn't lock it frame for frame. Check the returned clip's final composition before chaining it into the next shot in a sequence, especially across a longer duration.

MiniMax H3 Max worked examples

  • A portrait beat with the ending left open

    Skipping last_image_url works well for a single continuous gesture where the exact final expression doesn't need to be pinned down.

    The subject turns toward camera and gives a slow, warm smile as soft window light shifts across their face
  • A product reveal that lands on an approved final shot

    Pairing image_url on the packaged product with last_image_url on the unboxed result gives the model a known destination to animate toward.

    The box lid lifts and tips aside as the product rises slightly into frame, a soft rim light catching its edge, matching the lighting and angle of the final frame
  • A five-second reaction beat

    Setting duration_seconds to 5 and leaving last_image_url unset keeps the request cheap while confirming how the model reads a single, specific gesture from the opening frame.

    The subject's eyes widen slightly and a small, involuntary smile breaks through as soft afternoon light crosses their face

MiniMax H3 Max API questions

image_url already answers what the shot looks like, so spend the prompt on what happens after it: the action, the camera move, the mood, rather than redescribing the frame you uploaded. Add last_image_url only when the ending genuinely needs to be pinned to a specific composition; without it, the clip's final beat is left to how the model reads the rest of the prompt.

All MiniMax models11

Video models7