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
Parameters
| Name | Type | Default | Constraints | Description |
|---|---|---|---|---|
| prompt *Prompt | textarea | — | ≤ 5000 chars | Text description of the desired motion and scene. |
| image *Image | image_upload | — | image/* · 1–1 items | 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_imageLast Image | image_upload | — | image/* · 0–1 items | Optional last-frame image URL or Base64 data. |
| resolutionResolution | select | 768p | 768p | 480p | Output video resolution. |
| durationDuration | select | 5 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | … | Output video duration in seconds. |
Output fields
| Field | Type | Description |
|---|---|---|
| videos | array<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
| Parameter | Required | Type / limits / default |
|---|---|---|
prompt | Yes | string; 1–5000 characters. Text description of the desired motion and scene. |
image | Yes | array; 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_image | No | array; max 1. Optional last-frame image URL or Base64 data. |
resolution | No | string; 768p, 480p; default: 768p. Output video resolution. |
duration | No | integer; 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
| Resolution | USD / second | Credits / second |
|---|---|---|
| 480p | $0.025 | 2.5 |
| 768p | $0.04 | 4 |
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
Related models
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.
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.
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.
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.

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.
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.
MiniMax H3 Singularity Image-to-Video LoRA
Generate videos with native stereo audio, 3–15 second durations and four resolution tiers. Supports custom LoRAs.
MiniMax H3 Singularity Image-to-Video
Generate videos with native stereo audio, 3–15 second durations and four resolution tiers.