MiniMax H3 Spicy Image to Video

minimax/h3/image-to-video-spicy

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.

Examples

MiniMax H3 Spicy Image to Video Examples 1

Parameters

NameTypeDefaultConstraintsDescription
first_frame *Imageimage_upload—image/* · 0–1 itemsStart image URL to guide the video generation. The output canvas follows this image's aspect ratio.
promptPrompttextarea—≤ 5000 charsDescribe the scene, action, camera movement, and mood for the video.
last_frameLast Frameimage_upload—image/* · 0–1 itemsOptional last-frame image URL. When provided, the video interpolates from the first frame to this frame.
resolutionResolutionselect480p480p | 540p | 768p | 1080pOutput video resolution. 768p is the model's native canvas; 480p is a faster, lower-cost tier; 540p is a mid tier at 1.5x the 480p price. 1080p is the highest-quality full-HD tier at 2x the 768p price (generation takes longer).
durationDurationselect53 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | …Output video duration in seconds.

Output fields

FieldTypeDescription
videosarray<string>Generated video URL(s).

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/image-to-video-spicy" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "input": {
    "first_frame": [
      "https://d1s3annbwribom.cloudfront.net/marketplace/examples/2026/08/03/c4e15177f2d1.jpeg"
    ],
    "prompt": "The woman slowly turns her head toward the camera as raindrops fall around her and neon signs flicker in the background. The camera makes a subtle forward dolly-in, her coat and hair move naturally in the breeze, puddles ripple from the rain, and passing traffic creates soft light streaks. Maintain realistic motion, cinematic atmosphere, and consistent character details throughout the shot.",
    "last_frame": [
      "https://d1s3annbwribom.cloudfront.net/marketplace/examples/2026/08/03/20e5465e352c.jpeg"
    ],
    "resolution": "480p",
    "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/image-to-video-spicy",
    headers=HEADERS,
    json={
        "input": {
            "first_frame": [
                "https://d1s3annbwribom.cloudfront.net/marketplace/examples/2026/08/03/c4e15177f2d1.jpeg"
            ],
            "prompt": "The woman slowly turns her head toward the camera as raindrops fall around her and neon signs flicker in the background. The camera makes a subtle forward dolly-in, her coat and hair move naturally in the breeze, puddles ripple from the rain, and passing traffic creates soft light streaks. Maintain realistic motion, cinematic atmosphere, and consistent character details throughout the shot.",
            "last_frame": [
                "https://d1s3annbwribom.cloudfront.net/marketplace/examples/2026/08/03/20e5465e352c.jpeg"
            ],
            "resolution": "480p",
            "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 300s server-side.
deadline = time.time() + 360
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/image-to-video-spicy", {
  method: "POST",
  headers: { ...HEADERS, "Content-Type": "application/json" },
  body: JSON.stringify({
    "input": {
      "first_frame": [
        "https://d1s3annbwribom.cloudfront.net/marketplace/examples/2026/08/03/c4e15177f2d1.jpeg"
      ],
      "prompt": "The woman slowly turns her head toward the camera as raindrops fall around her and neon signs flicker in the background. The camera makes a subtle forward dolly-in, her coat and hair move naturally in the breeze, puddles ripple from the rain, and passing traffic creates soft light streaks. Maintain realistic motion, cinematic atmosphere, and consistent character details throughout the shot.",
      "last_frame": [
        "https://d1s3annbwribom.cloudfront.net/marketplace/examples/2026/08/03/20e5465e352c.jpeg"
      ],
      "resolution": "480p",
      "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 300s server-side.
const deadline = Date.now() + 360 * 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 Spicy Image to Video

minimax/h3/image-to-video-spicy

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.

Nami API usage

Send JSON { "input": { ... } } with an X-API-Key header. Each image parameter is an array containing one URL. Defaults below apply when a parameter is omitted; the playground and API examples use the example values shown below.

POST /api/v1/marketplace/run/minimax/h3/image-to-video-spicy

ParameterTypeRequiredDefaultConstraints
first_framestring[]yes—1 URL
promptstringno—max 5000 characters
last_framestring[]no—0–1 URL
resolutionstringno"480p"480p, 540p, 768p, 1080p
durationintegerno53, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
{
  "input": {
    "first_frame": [
      "https://d1s3annbwribom.cloudfront.net/marketplace/examples/2026/08/03/c4e15177f2d1.jpeg"
    ],
    "prompt": "The woman slowly turns her head toward the camera as raindrops fall around her and neon signs flicker in the background. The camera makes a subtle forward dolly-in, her coat and hair move naturally in the breeze, puddles ripple from the rain, and passing traffic creates soft light streaks. Maintain realistic motion, cinematic atmosphere, and consistent character details throughout the shot.",
    "last_frame": [
      "https://d1s3annbwribom.cloudfront.net/marketplace/examples/2026/08/03/20e5465e352c.jpeg"
    ],
    "resolution": "480p",
    "duration": 5
  }
}

The create response contains task_uuid and task status. Poll using the same API key:

GET /api/v1/marketplace/run/tasks/{task_uuid}

On completion, read generated video URLs from output.videos.

{
  "status": "completed",
  "output": {
    "videos": [
      "https://cdn.example.com/output/video.mp4"
    ]
  }
}

This is a response excerpt; see the API tab for the full task structure.

List price is calculated from the selected resolution and duration; 1 USD = 100 credits.

ResolutionUSD / secondCredits / secondUSD / 5 seconds
480p$0.044$0.20
540p$0.066$0.30
768p$0.088$0.40
1080p$0.1616$0.80

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/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 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
ltx-2.5/image-to-video
Image to VideoLtx 2.5

ltx-2.5/image-to-video

LTX 2.5 Image-to-Video animates a first-frame image into high-fidelity synchronized audio-video content, with optional last-frame guidance and 720P / 1080P / 2K / 4K output for cinematic videos, social content, ads, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

from $0.500 / per run
ai/ltx-2.3-spicy/image-to-video-lora
Image to VideoLightricks

ai/ltx-2.3-spicy/image-to-video-lora

LTX 2.3 Spicy LoRA Image to Video API turns a reference image and prompt into expressive AI videos using selectable LoRA presets, optional LoRA strength overrides, duration, and resolution controls. Run fast REST inference on MaaS with no cold starts and affordable pricing.

from $0.150 / per run
ai/ltx-2.3-spicy/image-to-video
Image to VideoLightricks

ai/ltx-2.3-spicy/image-to-video

LTX 2.3 Spicy Image-to-Video API generates expressive AI videos from a reference image and prompt. Choose style presets, duration, and resolution with fast REST inference, no cold starts, and affordable pricing on MaaS.

from $0.100 / per run
Kling Omni Video O3 Image-To-Video
Image to VideoKling

Kling Omni Video O3 Image-To-Video

Kling Omni Video O3 Image-to-Video transforms static images into dynamic cinematic videos using MVL (Multi-modal Visual Language) technology. Maintains subject consistency while adding natural motion, physics simulation, and seamless scene dynamics. Supports audio generation. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.

from $0.420 / per run