For the complete documentation index, see llms.txt. This page is also available as Markdown.

MiniMax H3 Max

This documentation is valid for the following list of our models:

  • minimax/h3-max

Model Overview

MiniMax H3 Max is a post-trained H3 video model tuned for faster generation and closer prompt adherence, producing 5-15 second clips at 480p or 768p and 24 fps with native stereo audio, from text, a first/last frame, or reference images, video and audio.

Setup your API Key

If you don't have an API key yet, use our Quickstart guide.

How to Make a Call

Step-by-Step Instructions

Generating a video involves sequentially calling two endpoints:

  • Create and submit a video generation task. The response contains a generation ID.

  • Poll the retrieval endpoint with that generation ID until the status is completed.

API Schemas

Create a video generation task and send it to the server

post
Body
modelstring · enumRequiredPossible values:
promptstring · max: 50000Required

The text description of the scene, subject, or action to generate in the video.

image_urlstring · uriOptional

A direct link to an online image or a Base64-encoded local image that will serve as the first frame for the video. Image specifications:

  • format must be JPG, JPEG, or PNG;
  • aspect ratio should be greater than 2:5 and less than 5:2;
  • the shorter side must exceed 300 pixels;
  • file size must not exceed 20MB.
last_image_urlstring · uriOptional

A direct link to an online image or a Base64-encoded local image to be used as the last frame of the video.

reference_image_urlsstring · uri[] · max: 9Optional

Subject or style reference images, referred to in the prompt as Image 1, Image 2, and so on. Reference images, videos and audio clips must add up to at most 12 files.

video_urlsstring · uri[] · max: 3Optional

Motion reference video clips of 2-15 seconds each and at most 15 seconds combined, referred to in the prompt as Video 1, Video 2, and so on. Reference images, videos and audio clips must add up to at most 12 files.

audio_urlsstring · uri[] · max: 3Optional

Reference audio clips of 2-15 seconds each and at most 15 seconds combined, referred to in the prompt as Audio 1, Audio 2, and so on. Cannot be the only reference — pass at least one reference image or video alongside. Reference images, videos and audio clips must add up to at most 12 files.

ratiostring · enumOptional

The aspect ratio of the generated video. This parameter is ignored if image_url is provided. Defaults to adaptive, which lets the model choose the ratio and requires a reference input; text-only generation cannot be adaptive and defaults to 16:9 instead.

Default: adaptivePossible values:
resolutionstring · enumOptional

The resolution of the output video, where the number refers to the short side in pixels.

Default: 768pPossible values:
durationinteger · min: 5 · max: 15Optional

The length of the output video in seconds. 5 to 10 seconds is the recommended range.

Default: 5
prompt_expansion_modestring · enumOptional

How much effort the model spends rewriting the prompt before generation. balanced returns in about a second; quality spends up to 30 seconds on a richer prompt.

Default: balancedPossible values:
enable_safety_checkerbooleanOptional

If set to true, the safety checker will be enabled.

Default: true
seedintegerOptional

Varying the seed integer is a way to get different results for the same other request parameters. Using the same value for an identical request will produce similar results. If unspecified, a random number is chosen.

Responses
200

Successful response.

application/json
idstringRequired

The ID of the generated video.

Example: 60ac7c34-3224-4b14-8e7d-0aa0db708325
statusstring · enumRequired

The current status of the generation task.

Example: completedPossible values:
videoany ofOptional
or
or
any · nullableOptional
post/v2/video/generations
curl --request POST \
  --url 'https://api.aimlapi.com/v2/video/generations' \
  --header 'Authorization: Bearer <YOUR_AIMLAPI_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{"model": "minimax/h3-max", "prompt": "Describe what you want the model to generate.", "image_url": "https://example.com/input.jpg", "duration": 5}'
200

Successful response.

{
  "id": "60ac7c34-3224-4b14-8e7d-0aa0db708325",
  "status": "completed",
  "video": {
    "url": "https://cdn.aimlapi.com/generations/hedgehog/1759866285599-0cdfb138-c03a-49d4-a601-4f6413e27b15.mp4"
  },
  "error": {
    "name": "text",
    "message": "text"
  },
  "meta": {
    "usage": {
      "credits_used": 120000,
      "usd_spent": 0.06
    }
  }
}

Retrieve the generated video from the server

Poll this endpoint with the generation_id returned by the submit request. When the status is completed, the response includes the generated video URL.

get
Authorizations
AuthorizationstringRequired

Bearer key

Query parameters
generation_idstringRequiredExample: <REPLACE_WITH_YOUR_GENERATION_ID>
Responses
200Success
application/json
idstringRequired

The ID of the generated video.

Example: 60ac7c34-3224-4b14-8e7d-0aa0db708325
statusstring · enumRequired

The current status of the generation task.

Example: completedPossible values:
get/v2/video/generations
curl -L \
  --request GET \
  --url 'https://api.aimlapi.com/v2/video/generations?generation_id=<REPLACE_WITH_YOUR_GENERATION_ID>' \
  --header 'Authorization: Bearer <YOUR_AIMLAPI_KEY>'
200Success
{
  "id": "60ac7c34-3224-4b14-8e7d-0aa0db708325",
  "status": "completed",
  "video": {
    "url": "https://cdn.aimlapi.com/generations/hedgehog/1759866285599-0cdfb138-c03a-49d4-a601-4f6413e27b15.mp4"
  },
  "error": {
    "name": "text",
    "message": "text"
  },
  "meta": {
    "usage": {
      "credits_used": 120000
    }
  }
}

Code Example

The examples submit a generation task and poll every 15 seconds until the final result is available.

Response

Last updated

Was this helpful?