MiniMax H3 Max API

video

Video generation by minimax

Fast MiniMax H3 video generation with text-to-video and first/last frame control.

Call MiniMax H3 Max from Node.js, Python, or any HTTP client. No GPU provisioning, no cold starts, no Docker images — just an API key and a prompt.

Pay per request. Powering 1M+ generations daily.

Start in 60 seconds

Install the official SDK for Node.js or Python, drop in your API key, and generate your first video.

npm install getimg-ai
import GetimgAI from "getimg-ai";

const client = new GetimgAI();

const submission = await client.videos.generations.create({
    model: "minimax-h3-max",
    prompt: "Dynamic montage video in a hyper-realistic Harajuku nightlife setting. Show a visually striking fashion world full of colorful layered streetwear, platform boots, patterned stockings, glossy makeup, hair accessories, chrome jewelry, cute-chaotic details, neon-lit alleyways, arcade glow, wet streets, boba drinks, umbrellas, plastic textures, and reflective shop windows.",
    aspect_ratio: "21:9",
    resolution: "480p",
    duration: 5
  });
const requestId = submission.id;

// Poll
let result;
while (true) {
  result = await client.videos.generations.retrieve(requestId);

  if (result.status === "completed") break;
  if (result.status === "failed") {
    throw new Error(result.error.message);
  }

  await new Promise((r) => setTimeout(r, 5000));
}

console.log(result.data[0].url);

How MiniMax H3 Max API works

Submit a generation request, poll for completion, download the video.

1

Get your API key

Create a key in the Developer Dashboard. Add credit and start calling — you are billed per request.

2

Send a request

POST to /v2/videos/generations with your prompt, duration, and resolution.

3

Get your video

Poll the status endpoint. When it completes, download the video from the returned URL.

What you can build with MiniMax H3 Max

Every example uses the same authentication and works with the official getimg-ai and getimg SDKs, or plain HTTP.

Text to video

Generate a video using just a text prompt.

import GetimgAI from "getimg-ai";

const client = new GetimgAI();

const submission = await client.videos.generations.create({
    model: "minimax-h3-max",
    prompt: "Dynamic montage video in a hyper-realistic Harajuku nightlife setting. Show a visually striking fashion world full of colorful layered streetwear, platform boots, patterned stockings, glossy makeup, hair accessories, chrome jewelry, cute-chaotic details, neon-lit alleyways, arcade glow, wet streets, boba drinks, umbrellas, plastic textures, and reflective shop windows.",
    aspect_ratio: "21:9",
    resolution: "480p",
    duration: 5
  });
const requestId = submission.id;

// Poll
let result;
while (true) {
  result = await client.videos.generations.retrieve(requestId);

  if (result.status === "completed") break;
  if (result.status === "failed") {
    throw new Error(result.error.message);
  }

  await new Promise((r) => setTimeout(r, 5000));
}

console.log(result.data[0].url);

Image to video

Animate a still image as the starting frame.

import GetimgAI from "getimg-ai";

const client = new GetimgAI();

const submission = await client.videos.generations.create({
    model: "minimax-h3-max",
    prompt: "Animate the scene with subtle camera movement and natural motion.",
    aspect_ratio: "21:9",
    resolution: "480p",
    duration: 5,
    images: [
      {
        url: "https://your-bucket.s3.amazonaws.com/first.png",
        role: "first_frame"
      }
    ]
  });
const requestId = submission.id;

// Poll
let result;
while (true) {
  result = await client.videos.generations.retrieve(requestId);

  if (result.status === "completed") break;
  if (result.status === "failed") {
    throw new Error(result.error.message);
  }

  await new Promise((r) => setTimeout(r, 5000));
}

console.log(result.data[0].url);

First & last frame

Interpolate motion between a starting and ending frame.

import GetimgAI from "getimg-ai";

const client = new GetimgAI();

const submission = await client.videos.generations.create({
    model: "minimax-h3-max",
    prompt: "Smooth transition from the first to the last frame.",
    aspect_ratio: "21:9",
    resolution: "480p",
    duration: 5,
    images: [
      {
        url: "https://your-bucket.s3.amazonaws.com/first.png",
        role: "first_frame"
      },
      {
        url: "https://your-bucket.s3.amazonaws.com/last.png",
        role: "last_frame"
      }
    ]
  });
const requestId = submission.id;

// Poll
let result;
while (true) {
  result = await client.videos.generations.retrieve(requestId);

  if (result.status === "completed") break;
  if (result.status === "failed") {
    throw new Error(result.error.message);
  }

  await new Promise((r) => setTimeout(r, 5000));
}

console.log(result.data[0].url);

MiniMax H3 Max pricing

Pay per video. No subscriptions, no minimums, no idle GPU costs.

MiniMax H3 Max

$0.06 – $0.10 /second

/v2/videos/generations

Fast MiniMax H3 video generation with text-to-video and first/last frame control.

ResolutionPrice5s videos for $10
480p$0.06 /second33
720p$0.10 /second20

More from minimax

Other minimax models available through the same API.

MiniMax H3 Max API — frequently asked questions

How do I use the MiniMax H3 Max API?

Install the official Node.js (npm install getimg-ai) or Python (pip install getimg) SDK, or call the endpoint directly over HTTP from any client.

Make a POST request to /v2/videos/generations with your API key and a JSON body containing the model ID (minimax-h3-max) and a prompt. The API returns a request ID. Poll the status endpoint until the video is ready.

See the API documentation for the full parameter reference.

Which SDK should I use?

Use getimg-ai for Node.js and TypeScript projects, and getimg for Python. Both wrap the same REST API with typed inputs, retries, and built-in polling for video generations.

For other languages — Go, Rust, Java, Ruby, PHP — call the HTTP endpoints directly. Every example on this page includes a cURL snippet you can port to any HTTP client.

What resolutions does MiniMax H3 Max support?

MiniMax H3 Max supports the following resolutions: 480p, 720p across 6 aspect ratios (21:9, 16:9, 4:3, 1:1, 3:4, 9:16). Videos can be 5 to 15 seconds long.

How much does MiniMax H3 Max cost?

MiniMax H3 Max uses pay-per-video pricing with no subscriptions or minimum commitments. Rates vary by resolution and sound options. See the pricing table above for exact rates per second.

Does MiniMax H3 Max support reference images?

Yes. MiniMax H3 Max accepts up to 1 last frame and up to 1 first frame. Reference images guide the generation toward a specific style, composition, or subject. See the example above.

Start building with MiniMax H3 Max

Grab an API key, install the SDK, ship video generation today.

Looking for other models? View all available models