Usage-based pricing

Pay for what you use.

~$0.08Per second

Approximate supplied reference price per second. Resolution, duration and actual billing may vary.

Get API Access

Model capabilities

Built for your workload.

Modalities

image → video

Best fit

Video generation from existing visual assets

Roten recommendations.

Where this model sits in the current curated selection.

Performance reference.

External benchmark data, with its source and verification status.

Relevant external benchmark data for MiniMax H3
FunctionalitySourceScoreSnapshot
Image → VideoArena1494Supplied Arena snapshot · date pending

Arena scores are external benchmark signals. Scores and score gaps are taken from the supplied recommendation table. The external leaderboard source and snapshot date still need confirmation. They do not describe a literal percentage difference in real-world quality.

Read the methodology

Implementation

Test this model.

Copy a model test, replace the API key with your own, and run.

Copy the Python or cURL test for MiniMax H3. Replace the API-key placeholder with your own key and run.

MiniMax H3 · image to video · Includes a built-in sample image, submits a five-second video test and polls for the video URL.

MiniMax H3 · cURL
# Requires curl and Python 3 for reading JSON responses.
set -eu
API_KEY='YOUR_ROTEN_API_KEY'

created=$(curl --fail-with-body --silent --show-error 'https://api.roten.ai/v1/video/generations' \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "prompt": "Animate the abstract shapes in this image with gentle motion while keeping the composition recognizable.",
  "duration": 5,
  "size": "768p",
  "model": "MiniMax-H3",
  "image": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQACAMAAABIw9uxAAAADFBMVEUKJUBjW//Hw//2+fz1WrJUAAALlElEQVR42u3UwQEAIAgDMZT9d2YI9SEkM7QXAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK0tOOdIAoAAIAAIAAKAACAACAACgAAgAAgAAoAAIAAIAAKAACAACAACgAAgAAgAAoAAIAAIAAKAACAACAACgAAgAAgAAoAAIAAIAAKAACAACAACgAAgAAgAAoAAIAAIAAKAAAgACIAAgAAIAAiAAIAACAAIgACAAAgACIAAgAAIAAiAACAACAACgAAgAAgAAoAAIAAIAAKAACAACAACgAAgAAgAAoAAIAAIAAKAACAACAACgAAgAAgAAoAAIAAIAAKAACAACAACgAAgAAgAAoAAIAAIAAKAACAACAACgAAgAAgAAiAAIAACAAIgACAAAgACIAAgAAIAAiAAIAACAAIgACAAAoAAIAAIAAKAACAACAACgAAgAAgAAoAAIAAIAAKAACAACAACgAAgAAgAAoAAIAAIAAKAACAACAACgAAgAAgAAoAAIAAIAAKAACAACAACgAAgAAgAAoAAIAAIAAKAAGC7CIAAgAAIAAiAAIAACAAIgACAAAgACIAAgAAIAAiAAIAACAACgAAgAAgAAoAAIAAIAAKAACAACAACgAAgAAgAAsDIAGxeEAAEQAAEAAEQAAFAAARAABAAARAABEAABAABEAABQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEAAEQAAFAAARAABAAARAABEAABAABEAABQAAEQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAEQAARAAAQAARAAAUAABEAAEAABEAAEQAAEAAEQAAFAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAATAkQRgegDyLgFAAARAABAAARAABEAABAABEAABQAAEQAAQAAEQAARAAAQAARAAAUAABEAAEAABEAAEQAAEAAEQAAFAAARAABAAARAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAAEAABEAAEQAAEAAEQAAFAAARAABAAARAABEAABAABEAABQAAEQAAQAAEQAARAAAQAARAAAUAABEAAEAABEAAEQAAEAAEQAAFAAARAABAAARAABEAABAABEAABQAAEQAAQAAEQAARAAAQAARAAAUAABEAAEAABEAAEQAAEAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAARAAAQAARAAAUAABEAAEAABEAAEQAAEAAEQAAFAAARAABAAARAABEAABAABEAABQAAEQAAQAAEQAARAAAQAARAAAUAABEAAEAABEAAEAAFAABAABAABQAAEQAAQAAEQAARAAAQAARAAAUAABEAAEAABEAAEQAAEAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAARAAAQAARAAAUAABEAAEAABEAAEQAAEAAEQAAFAAARAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAAARAABEAABAABEAABQAAEQAAQAAEQAARAAAQAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAABEAABAABEAABQAAEQAAQAAEQAARAAAQAARAAAUAAfFUAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAABEAAEQAAEAAEQAAFAAARAABAAARAABEAABAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAAEQAAEAAEQAAFAAARAABAAARAABEAABAABEAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAARAAAQAARAAAUAABEAAEAABEAAEQAAEAAEQAAFAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAAQAARAAAUAABEAAEAABEAAEQAAEAAEQAAFAAARAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAAARAABEAABAABEAABQAAEQAAQAAEQAARAAAQAARAAAUAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABMCRBEAABAABEAABQAAEQAAQAAEQAARAAAQAARAAAUAABEAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAABEAAEQAAEAAEQAAFAAARAABAAARAABEAABAABEAABQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEAAEQAAFAAARAABAAARAABEAABAABoDdHEgAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABEAAQAAEAARAAEAABAAEQABAAAQABEAAQAAEAARAAEAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAABAAEQABAAAQABEAAQAAEAARAAEAABAAEQABAAAQABEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAEAAFAABAABADbRQAEAARAAEAABAAEQABAAAQABEAAQAAEAARAAEAABAAEQAAQAAQAAUAAEAAEAAFAABAABAABQAAQAAQAAUAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPhGAaq0FA3Y21yRAAAAAElFTkSuQmCC"
}')
task_id=$(printf '%s' "$created" | python3 -c 'import json,sys;from urllib.parse import quote;print(quote(str(json.load(sys.stdin)["task_id"]),safe=""))')

attempt=0
while [ "$attempt" -lt 120 ]; do
  result=$(curl --fail-with-body --silent --show-error "https://api.roten.ai/v1/video/generations/$task_id" \
    -H "Authorization: Bearer $API_KEY")
  status=$(printf '%s' "$result" | python3 -c 'import json,sys;print(json.load(sys.stdin).get("status",""))')
  case "$status" in
    completed) printf '%s' "$result" | python3 -c 'import json,sys;print(json.load(sys.stdin)["url"])'; exit 0 ;;
    failed) printf '%s\n' "$result" >&2; exit 1 ;;
    pending|processing) sleep 5 ;;
    *) printf '%s\n' "$result" >&2; exit 1 ;;
  esac
  attempt=$((attempt + 1))
done
printf 'Video still processing. Task ID: %s\n' "$task_id" >&2
exit 1

Python tests use the standard library. Video cURL tests also use Python 3 to read task responses.

Built for production

Running AI at scale?

Talk to us about volume pricing, model selection and migration.

Talk to Sales