Minimax H3 Image To Video
Playground
Try it on WaveSpeedAI!MiniMax H3 Image to Video animates a first-frame image into a coherent 2K video, with natural-language motion instructions and optional last-frame control for consistent motion, scene continuity, and cinematic video generation. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
MiniMax H3 Image-to-Video generates high-resolution videos from a first-frame image and a text prompt. Upload an image, describe the desired motion and scene, optionally provide a last-frame image, and generate a 2k video output from 5 to 15 seconds.
Why Choose This?
-
Image-to-video generation
Animate a first-frame image into a video guided by your prompt. -
First-frame control
Use the input image to define the starting visual state, subject, composition, and style. -
Optional last-frame guidance
Providelast_imagewhen you want to guide the ending frame or final visual direction. -
2K video output
Generate high-resolution video outputs with the fixed2kresolution tier. -
Selectable duration
Generate videos from5to15seconds. -
Simple generation workflow
Provide an image and prompt, optionally add a last image, then generate the final video.
Parameters
| Parameter | Required | Description |
|---|---|---|
| image | Yes | First-frame image URL or Base64 data. Supported image dimensions are 256-5760 pixels per side, with an aspect ratio between 0.4 and 2.5. |
| prompt | Yes | Text description of the desired motion and scene. Minimum length: 1 character. Maximum length: 4000 characters. |
| last_image | No | Optional last-frame image URL or Base64 data. |
| resolution | No | Output video resolution. Supported value: 2k. |
| duration | No | Output video duration in seconds. Supported values: 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, or 15. |
How to Use
- Upload first-frame image — Provide the image that should guide the opening frame, subject, style, and composition.
- Write your prompt — Describe the desired motion, camera movement, scene development, lighting, and mood.
- Add last image optional — Use
last_imagewhen you want to guide the final frame or ending direction. - Set duration — Choose a video length from
5to15seconds. - Submit — Generate the video and retrieve the output URL.
Pricing
Pricing is $0.13 per second of generated 2K video.
| Duration | Price |
|---|---|
| 5s | $0.65 |
| 10s | $1.30 |
| 15s | $1.95 |
Best Use Cases
- Image animation — Turn a still image into a high-resolution motion clip.
- Start-and-end-frame video generation — Use
imageandlast_imageto guide the beginning and ending of the video. - Cinematic scene creation — Generate short videos with camera movement, atmosphere, and visual continuity.
- Character and product motion — Animate a subject, product, or scene from a reference image.
- Story and scene prototyping — Turn image concepts into short 2K video previews.
- Creative visual development — Explore motion, lighting, mood, and composition from a single starting frame.
Pro Tips
- Use a clear first-frame image with the main subject visible.
- Describe visible motion, camera behavior, lighting, mood, and scene progression in the prompt.
- Use
last_imagewhen the ending frame or final visual direction matters. - Keep the first and last images visually compatible when using both.
- Use shorter durations for quick prompt testing and longer durations when the scene needs more time to develop.
- Make sure the input image matches the desired composition and aspect ratio.
Related Models
- MiniMax H3 Text-to-Video — Generate high-resolution video directly from text prompts.
- MiniMax H3 Reference-to-Video — Generate high-resolution video from reference media and prompt guidance.
## Authentication
For authentication details, please refer to the [Authentication Guide](/api-authentication).
## API Endpoints
### Submit Task & Query Result
<ApiTabs submitUrl={model.submitUrl} resultUrl={model.resultUrl} payload={model.defaultValues} />
## Parameters
### Task Submission Parameters
#### Request Parameters
<RequestParams params={model.params} />
#### Response Parameters
<SubmitResponse />
#### Result Request Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| id | string | Yes | - | Task ID |
#### Result Response Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., "success") |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction |
| data.model | string | Model ID used for the prediction |
| data.outputs | array<string \| object> | Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model. |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to poll for the prediction result |
| data.status | string | Status: `created`, `processing`, `completed`, or `failed` |
| data.created_at | string | ISO timestamp of when the request was created |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |