MiniMax Hailuo 2.3 [Pro] (Image to Video)

minimax/hailuo/2.3/pro/image-to-video

Hailuo 2.3 Pro is MiniMax's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output.

Base price
$0.49USD / run
Execution
async
Model type
video
Input fields
3

Try the model

Playground

Open playground
Input
Text prompt for video generation

PNG, JPEG, WebP, or GIF · 20 MiB maximum

URL of the image to use as the first frame
Whether to use the model's prompt optimizer
OutputReady

Your output will appear here

Complete the inputs, then click Run.

Specifications

Pricing

Base price
$0.49 / run

Context & modalities

Input
Schema-defined
Output
video

Capabilities

Chat
Not supported
Vision
Not supported
Reasoning
Not supported
Structured output
Not supported
Function calling
Not supported
Audio input
Not supported

Access

Provider
MiniMax
Model ID
minimax/hailuo/2.3/pro/image-to-video
Execution
async
API
Unified Run API
Endpoint
/v1/run

API README

Hailuo 2.3 Pro Image To Video

Hailuo 2.3 Pro Image To Video is built for cinematic image animation, with this exact route focused on source-frame identity preservation. Hailuo 2.3 Pro is MiniMax's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output. It is designed for production workflows that need a clearly scoped media operation instead of a generic assistant response, preserving the supplied direction while returning an artifact ready for review, iteration, or downstream assembly.

The request surface keeps creative direction and delivery choices explicit through prompt, duration, resolution, prompt_optimizer, first_frame_image, image_url. Teams can lock source material, describe the intended result, choose supported output controls, and rerun the same request structure across variations. This makes experiments easier to compare and larger pipelines easier to operate without hiding important decisions inside an opaque preset.

Highlights

  • Source-Frame Identity Preservation. The minimax/hailuo/2.3/pro/image-to-video route is dedicated to source-frame identity preservation, keeping inputs and outputs matched to this operation.
  • Natural Subject And Camera Motion. Within minimax/hailuo/2.3/pro/image-to-video, documented prompt and media controls direct natural subject and camera motion while keeping the brief close to the result.
  • Coherent Short-Form Video. The minimax/hailuo/2.3/pro/image-to-video result provides coherent short-form video in a machine-consumable form for review and downstream production.
  • Route-specific control. For minimax/hailuo/2.3/pro/image-to-video, documented controls include prompt, duration, resolution, prompt_optimizer, first_frame_image, image_url, defining the supported variation space for this exact route.

Pricing

ConfigurationPrice
Per request$0.490000

When to Use

ScenarioWhy it fits
Choose this routeWhen the deliverable is specifically source-frame identity preservation, not a neighboring generation or editing task.
Production iterationWhen creative teams need repeatable natural subject and camera motion with an explicit request payload.
Automated pipelinesWhen coherent short-form video must flow into review, storage, compositing, or publishing.
Controlled variationsWhen a stable brief should be rerun while changing only documented inputs.
Prototype to scaleWhen the same minimax/hailuo/2.3/pro/image-to-video contract should serve a single experiment and a larger batch later.

Prompt Guide

Lead with the subject or source, then state the transformation, important spatial or temporal details, style, and finish. Supply only documented fields, keep media URLs reachable, and vary one control at a time when comparing outputs.

{
  "prompt": "A directed creative request with subject, setting, style, motion, and finish.",
  "image": "https://example.com/reference.jpg"
}

Technical Specs

PropertyValue
Model IDminimax/hailuo/2.3/pro/image-to-video
Required inputsprompt
promptstring
durationinteger
resolutionstring
prompt_optimizerboolean; default: true
first_frame_imagestring
image_urlstring
sync_modeboolean; default: false
safety_tolerancestring; default: 6

Related Models

  • minimax/hailuo/02/pro/image-to-video
  • minimax/hailuo/02/pro/text-to-video
  • minimax/hailuo/02/standard/image-to-video
  • minimax/hailuo/02/standard/text-to-video

Start building

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

Production API
Unified Run API endpoint
https://api.sandbase.ai/v1/run
Model ID
minimax/hailuo/2.3/pro/image-to-video
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/run" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "model": "minimax/hailuo/2.3/pro/image-to-video",
  "image": "https://static.sandbase.ai/examples/minimax/hailuo/2.3/pro/image-to-video/input_image_0.jpg",
  "prompt": "The camera follows the mountain biker as they navigate a technical forest trail at high speed, wheels bouncing over roots and rocks. The rider approaches a jump, launching into the air with the bike, both rider and machine perfectly synchronized. They land smoothly and continue through tight turns, splashing through a stream crossing. Mud and water spray as the bike powers through challenging terrain. The atmosphere is wild and adventurous. Audio: Tires gripping dirt, gears shifting, heavy breathing, branches whipping past, and water splashing.",
  "prompt_optimizer": true
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
  status=$(printf '%s' "$result" | jq -r .status)
  case "$status" in completed|failed|timeout) break ;; esac
  sleep 2
  result=$(curl --fail-with-body --silent \
    -H "Authorization: Bearer $SANDBASE_API_KEY" \
    "https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"

Choose your model

Compare models

All language models
ModelContextInput / 1MOutput / 1MReleased
MiniMax———Oct 27, 2025
MiniMax———Aug 31, 2026
MiniMax———Aug 26, 2026
MiniMax———Aug 26, 2026
MiniMax———Aug 14, 2026
MiniMax———Jul 29, 2026