MiniMax Hailuo 2.3 I2V
MiniMax Hailuo 2.3 I2V is the image-to-video companion of Hailuo 2.3, MiniMax's first dedicated I2V model. Takes a still input image plus a text prompt describing the desired motion and returns an animated clip. Use it alongside the T2V variant to cover both 'generate from scratch' and 'animate this still' use cases under one provider's quality bar.
Pricing
Input
$0.490 / video
Output
—
Pay only for what you use. No subscriptions, no minimums.
Specs
- Context
- —
- Max output
- —
- Latency
- Slow
- Category
- Video
- Arabic
- Partial
Constraints & limits
Duration
Up to 30s (linear pricing)
Base price
For 5s clip
Requires
`image_url` (reference image)
Auto-refund
On generation failure
The gateway auto-clamps requests to the model's limits where possible.
Quick start
Video generation is async, the sample submits then polls until done or failed (auto-refund on failure).
import os, time, requests
API = "https://api.thalam.ai/v1"
headers = {"Authorization": f"Bearer {os.environ['THALAM_KEY']}"}
# 1. Submit
submit = requests.post(
f"{API}/videos/generations",
headers=headers,
json={
"model": "minimax/hailuo-2.3-i2v",
"prompt": "A drone shot over a desert at golden hour.",
"duration": 5,
},
)
task_id = submit.json()["task_id"]
# 2. Poll until done (or auto-refund on failure)
while True:
poll = requests.get(f"{API}/videos/tasks/{task_id}", headers=headers).json()
status = poll["task"]["status"]
if status == "TASK_STATUS_SUCCEED":
print(poll["videos"][0]["video_url"])
break
if status == "TASK_STATUS_FAILED":
print(f"Failed: {poll['task'].get('reason', 'unknown')}")
break
time.sleep(5)Similar models
MiniMax H3 Max
MiniMax's top video tier. 5 to 15 second clips at 480P or 768P with native audio, driven by a prompt, first and last frames, or up to 9 reference images.
MiniMax H3
MiniMax's newest video model with native audio. 4 to 15 second clips at 768P or 2K, priced per second.