MiniMax H3 Max API in Python: reference-to-video with three images
Use MiniMax H3 Max on Sume from Python: send three product photos in input_references, ask for 768p, poll and save. Reference limits and 10-second price.

To run reference-to-video on MiniMax H3 Max through Sume, POST model: "minimax-h3-max" to /v1/videos with your photos in input_references, a duration of 5 to 15 seconds and a resolution of 480p, 768p or 1080p. Ten seconds at 768p costs $1.00.
Any input_references entry puts the job in reference-to-video mode; nothing declares the mode explicitly.
The script
It needs pip install requests and SUME_API_KEY. The three image URLs must be publicly reachable, or the job fails with a download error.
import os, time, requests
H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
BASE = "https://api.sume.com/v1/videos"
refs = [f"https://example.com/shoe-{i}.jpg" for i in (1, 2, 3)]
body = {
"model": "minimax-h3-max",
"prompt": "The three sneakers from the photos rotate on a pastel studio set",
"duration": 10,
"resolution": "768p",
"aspect_ratio": "16:9",
"input_references": [{"type": "image_url", "image_url": {"url": u}} for u in refs],
}
job = requests.post(BASE, headers={**H, "Idempotency-Key": "h3max-shoes-1"}, json=body, timeout=60).json()
while True:
s = requests.get(job["polling_url"], headers=H, timeout=60).json()
if s["status"] in ("completed", "failed", "cancelled"):
break
time.sleep(10)
print(s["status"], s.get("usage"), s.get("error"))Reference limits
The catalog constraints for the row, as written in the Video Router, are below. Check them before you build a request; a value outside a row's advertised limits returns a 400.
| Input | Limit |
|---|---|
| Images | Up to 9 |
| Videos | Up to 3, 2 to 15 seconds each, 15 seconds combined |
| Audio | Up to 3, 2 to 15 seconds each, 15 seconds combined |
| All references | At most 12 together; audio cannot be the only reference |
Cost notes
Reference-to-video on H3 Max sells at the same per-second rate as text-to-video. The repo notes that the provider's reference-token overage is not part of the reserve, so a heavy reference job can capture slightly more than the reserve; the standard H3 row also adds a $0.08 provider-list charge per reference image after the fifth.
There is no generate_audio field to send. The model always makes stereo audio, and 1080p is a latent refinement from a native 768p render. 720p is not an option.
- 480p: $0.0625 per second; 768p: $0.10; 1080p: $0.20.
- Ratios include 21:9, 16:9, 4:3, 1:1, 3:4 and 9:16.
- No
seed; rerun for another take.
Sources
Related posts
More in Developers
- MiniMax H3 text-to-video rejects adaptive: send an explicit ratio
On Sume the H3 text-to-video builder accepts 21:9, 16:9, 4:3, 1:1, 3:4 or 9:16 and rejects adaptive. Only reference-to-video allows it. Preflight in Python.
- Model an AI generation job as a state machine in your database
A schema and update rule for tracking Sume jobs: five statuses, sticky terminal states, a separate webhook delivery column, and the idempotency key on the row.
- Move captions on an avatar video: design.placement and anchor_ratio
Inline avatar captions take no design overrides. To lift the caption line off the platform buttons, re-burn with the standalone job. Fields, price, example.
- mulmo images and mulmo movie break on gpt-image-1: set a model now
mulmocast-cli issue 1605: the gpt-image-1 default breaks mulmo images and movie after Oct 23, 2026. Which files to change, and a Python call to Sume instead.
Written by Sume