MiniMax H3 Lite Image-to-Video

minimax/h3-lite/image-to-video

Generate videos with native audio, 4–15 second durations, and 480p or 768p resolution.

Examples

MiniMax H3 Lite Image-to-Video Examples 1

Parameters

NameTypeDefaultConstraintsDescription
prompt *Prompttextarea—≤ 5000 charsText description of the desired motion and scene.
image *Imageimage_upload—image/* · 1–1 itemsFirst-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.
last_imageLast Imageimage_upload—image/* · 0–1 itemsOptional last-frame image URL or Base64 data.
resolutionResolutionselect768p768p | 480pOutput video resolution.
durationDurationselect54 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | …Output video duration in seconds.

Output fields

FieldTypeDescription
videosarray<string>Generated video URLs with native audio.

API

Call this model through one unified REST API. Get a key on the API Keys page.

cURL
# 1) Submit — returns { "task_uuid": "..." }
curl -X POST "https://www.namifusion.com/api/v1/marketplace/run/minimax/h3-lite/image-to-video" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "input": {
    "prompt": "A cinematic portrait, dramatic rim light, shallow depth of field",
    "image": "https://example.com/input.jpg",
    "resolution": "768p",
    "duration": 5
  }
}'

# 2) Poll until status is "completed", then read the output URLs
curl "https://www.namifusion.com/api/v1/marketplace/run/tasks/TASK_UUID" \
  -H "Authorization: Bearer YOUR_API_KEY"
Python
import time, requests

API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

# 1) Submit
resp = requests.post(
    "https://www.namifusion.com/api/v1/marketplace/run/minimax/h3-lite/image-to-video",
    headers=HEADERS,
    json={
        "input": {
            "prompt": "A cinematic portrait, dramatic rim light, shallow depth of field",
            "image": "https://example.com/input.jpg",
            "resolution": "768p",
            "duration": 5
        }
    },
)
resp.raise_for_status()  # 401/402/429/5xx stop here instead of polling a bad task
task = resp.json()

# 2) Poll until a terminal state (completed / failed / cancelled).
#    This model is allowed up to 1800s server-side.
deadline = time.time() + 1860
while task.get("status") not in ("completed", "failed", "cancelled"):
    if time.time() > deadline:
        raise TimeoutError(f"still {task.get('status')} — keep the task_uuid and poll later")
    time.sleep(3)
    poll = requests.get(f"https://www.namifusion.com/api/v1/marketplace/run/tasks/{task['task_uuid']}", headers=HEADERS)
    poll.raise_for_status()
    task = poll.json()

print(task["status"], task.get("output"))
JavaScript
const API_KEY = "YOUR_API_KEY";
const HEADERS = { Authorization: `Bearer ${API_KEY}` };

// 1) Submit
const resp = await fetch("https://www.namifusion.com/api/v1/marketplace/run/minimax/h3-lite/image-to-video", {
  method: "POST",
  headers: { ...HEADERS, "Content-Type": "application/json" },
  body: JSON.stringify({
    "input": {
      "prompt": "A cinematic portrait, dramatic rim light, shallow depth of field",
      "image": "https://example.com/input.jpg",
      "resolution": "768p",
      "duration": 5
    }
  }),
});
if (!resp.ok) throw new Error(`submit failed: ${resp.status} ${await resp.text()}`);
let task = await resp.json();

// 2) Poll until a terminal state (completed / failed / cancelled).
//    This model is allowed up to 1800s server-side.
const deadline = Date.now() + 1860 * 1000;
while (!["completed", "failed", "cancelled"].includes(task.status)) {
  if (Date.now() > deadline) throw new Error(`still ${task.status} — keep the task_uuid and poll later`);
  await new Promise((r) => setTimeout(r, 3000));
  const poll = await fetch(`https://www.namifusion.com/api/v1/marketplace/run/tasks/${task.task_uuid}`, { headers: HEADERS });
  if (!poll.ok) throw new Error(`poll failed: ${poll.status}`);
  task = await poll.json();
}

console.log(task.status, task.output);

Documentation

MiniMax H3 Lite Image-to-Video

Generate videos with native audio, 4–15 second durations, and 480p or 768p resolution.

Inputs

ParameterRequiredType / limits / default
promptYesstring; 1–5000 characters. Text description of the desired motion and scene.
imageYesarray; max 1. 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.
last_imageNoarray; max 1. Optional last-frame image URL or Base64 data.
resolutionNostring; 768p, 480p; default: 768p. Output video resolution.
durationNointeger; 4–15; 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15; default: 5. Output video duration in seconds.

Prompt must be non-empty. This endpoint accepts up to 5000 characters to match the current MaaS input contract (WaveSpeed supports up to 7000).

Listing price

ResolutionUSD / secondCredits / second
480p$0.0252.5
768p$0.044

Account discounts are applied separately. 1 USD = 100 credits. Generated audio has no extra charge.

Charge = output seconds × resolution rate.

API example

Replace example URLs with uploaded media. Submit once, then poll task_uuid until completed or failed. Successful output.videos is an array of video URLs. Image and last_image accept one-element arrays; Nami forwards each as a single upstream URL.

POST https://www.namifusion.com/api/v1/marketplace/run/minimax/h3-lite/image-to-video
Authorization: Bearer YOUR_NAMIFUSION_API_KEY
Content-Type: application/json

{
  "input": {
    "prompt": "Colorful shapes move gently through the scene.",
    "duration": 5,
    "resolution": "768p",
    "image": [
      "https://example.com/first-frame.png"
    ]
  }
}
GET https://www.namifusion.com/api/v1/marketplace/run/tasks/{task_uuid}
Authorization: Bearer YOUR_NAMIFUSION_API_KEY

WaveSpeed

Related models

xAI Grok Imagine Video v1.5 Image to Video
Image to VideoX Ai

xAI Grok Imagine Video v1.5 Image to Video

Animate one input image with a text prompt into a 1-15 second video at 480p or 720p.

from $0.850 / per run
Vidu Q4 Preview Image to Video
Image to VideoVidu

Vidu Q4 Preview Image to Video

Generate a 3–16 second video from a prompt and one image, with optional audio and prompt expansion. Supports 540p, 720p, 1080p, 2k and 4k.

from $0.475 / per run
vidu/q3/image-to-video-spicy
Image to VideoVidu

vidu/q3/image-to-video-spicy

Vidu Q3 Image-to-Video Spicy generates unlimited high-quality videos from images with smooth animations and diverse motion, optimized for scalable content generation. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

from $0.750 / per run
Vidu Q3 Image To Video
Image to VideoVidu

Vidu Q3 Image To Video

Vidu Q3 Image-to-Video turns text prompts into high-quality videos with exceptional visual fidelity and diverse motion. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

from $0.750 / per run
MiniMax H3 Spicy Image to Video
Image to VideoMinimax

MiniMax H3 Spicy Image to Video

Animate a first-frame image with optional prompt and last-frame guidance. Supports 480p, 540p, 768p and 1080p video, with durations from 3 to 15 seconds.

from $0.200 / per run
MiniMax H3 Image to Video
Image to VideoMinimax

MiniMax H3 Image to Video

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.

from $0.650 / per run
MiniMax H3 Singularity Image-to-Video LoRA
Image to VideoMinimax H3 Singularity

MiniMax H3 Singularity Image-to-Video LoRA

Generate videos with native stereo audio, 3–15 second durations and four resolution tiers. Supports custom LoRAs.

from $0.3125 / per run
MiniMax H3 Singularity Image-to-Video
Image to VideoMinimax H3 Singularity

MiniMax H3 Singularity Image-to-Video

Generate videos with native stereo audio, 3–15 second durations and four resolution tiers.

from $0.250 / per run