minimax-h3

MiniMax H3 generates 4-15 second videos at 768P or 2K with text, first and last frames, and multimodal references. Separate APIs provide Context prompt processing and 2K regeneration. It is suited to creative exploration, product experiences, marketing assets, and automated content workflows that need dependable API access. Use the playground below with representative prompts and input media, then adjust the parameters available for this model to evaluate results against your actual use case. Before a production rollout, compare output quality, subject consistency, processing time, failure handling, and estimated cost. The input methods, parameter ranges, and output options shown on this page describe the currently supported integration surface.

An explorer on a bioluminescent shoreline beneath a monumental celestial ring
Model ID
minimax-h3
Provider
MiniMax
API endpoint
/v1/videos/generations
Pricing
0.0000009
Last updated
2026-10-27

Capabilities

  • Video generation through the current public task endpoint
  • Image, reference, duration, or resolution controls when exposed by the live schema
  • Current parameters including prompt, resolution, duration

Limitations

  • Capabilities and parameter ranges can change; pin and validate the parameter set used in production
  • Do not assume support for parameters absent from the live request schema
  • Asynchronous jobs require explicit polling, failure, timeout, and safety-status handling

Use cases

  • Product prototypes and automated content workflows
  • Batch media generation and programmatic creative tooling
  • Multi-model applications that need unified authentication, billing, and usage records

Pricing and billing examples

  • context_input | 0.0000009 | prompt_tokens | {"operation":"video.context"}
  • context_output | 0.0000036 | completion_tokens | {"operation":"video.context"}
  • images | 0.04 | input_images | {"operation":"video.generate"}
  • input_2k | 0.13 | input_video_seconds | {"operation":"video.generate","resolution_tier":"2k"}
  • input_768p | 0.08 | input_video_seconds | {"operation":"video.generate","resolution_tier":"768p"}
  • output_2k | 0.13 | output_video_seconds | {"operation":"video.generate","resolution_tier":"2k"}
  • output_768p | 0.08 | output_video_seconds | {"operation":"video.generate","resolution_tier":"768p"}
  • regeneration_images | 0.025 | input_images | {"operation":"video.regenerate"}
  • regeneration_input | 0.05 | input_video_seconds | {"operation":"video.regenerate","resolution_tier":"2k"}
  • regeneration_output | 0.05 | output_video_seconds | {"operation":"video.regenerate","resolution_tier":"2k"}

Request parameters

ParameterTypeRequiredDefaultOptions
modelstringYes
prompttextareaYes
resolutionselectNo768P768P, 2K
durationintegerNo5
aspect_ratioselectNo16:921:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptive
image_urlasset_listNo
last_image_urlasset_listNo
reference_image_urlsasset_listNo
reference_video_urlsasset_listNo
reference_audio_urlsasset_listNo
aigc_watermarkbooleanNo

API examples

cURL

curl -X POST 'https://api.uniall.ai/v1/videos/generations' \
  -H 'Authorization: Bearer $UNIALL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"aspect_ratio":"16:9","duration":5,"model":"minimax-h3","prompt":"Describe the output you want","resolution":"768P"}'

Python

import json
import requests

payload = json.loads(r'''{"aspect_ratio":"16:9","duration":5,"model":"minimax-h3","prompt":"Describe the output you want","resolution":"768P"}''')
response = requests.post(
    "https://api.uniall.ai/v1/videos/generations",
    headers={"Authorization": "Bearer " + UNIALL_API_KEY},
    json=payload,
)
response.raise_for_status()
result = response.json()

JavaScript

const response = await fetch("https://api.uniall.ai/v1/videos/generations", {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.UNIALL_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({"aspect_ratio":"16:9","duration":5,"model":"minimax-h3","prompt":"Describe the output you want","resolution":"768P"}),
});

if (!response.ok) throw new Error(`HTTP ${response.status}`);
const result = await response.json();

Frequently asked questions

What API endpoint does minimax-h3 use?

The endpoint is resolved from the current model capabilities and request schema and shown on this page.

How is minimax-h3 priced?

The pricing section reads the current structured billing configuration, so editorial text does not need a rewrite after a price change.

Can I use Python?

Yes. The example uses the current endpoint and exact model identifier.

Are JavaScript and cURL examples included?

Yes. All examples share the same live request structure.

Which resolution, duration, or reference-image controls are supported?

Supported controls come from the current request schema. Do not assume fields that are not listed.

What should I validate before production use?

Validate parameters, timeouts, error handling, and asynchronous video task status behavior after model updates.