MiniMax H3 Max
MiniMax H3 Max is a next-generation general-purpose multimodal video model ranking #1 for overall quality, prompt understanding, and aesthetics in all evaluations, while generating a 5-second video in under 3 seconds.
View API reference- Price
- $0.03, Per secondLowest available configuration
import { experimental_generateVideo as generateVideo } from 'ai';
const result = await generateVideo({ model: 'minimax/minimax-h3-max', prompt: 'A serene mountain lake at sunrise.'});Copy link to headingPlayground
Try out MiniMax H3 Max by MiniMax. Usage is billed to your team at API rates. Free users (those who haven't made a payment) get $5 of credits every 30 days.
Your generated video will appear here.
Copy link to headingProviders
Route requests across multiple providers. Copy a provider slug to set your preference. Visit the docs for more info. Using a provider means you agree to their terms, listed under Legal.
| Provider |
|---|
Getting started
Generate videos with MiniMax H3 Max using the experimental_generateVideo function from AI SDK 6 or later. AI Gateway handles routing and polls until the video is ready.
Install the AI SDK (pnpm add ai dotenv), create an API key from the API Keys page, and set it as AI_GATEWAY_API_KEY in your environment. Full setup is covered in the video generation quickstart.
import { experimental_generateVideo as generateVideo } from 'ai';import fs from 'node:fs';import 'dotenv/config';
async function main() { const result = await generateVideo({ model: 'minimax/minimax-h3-max', prompt: 'A drone shot of a coastal cliff with crashing waves at golden hour.', });
// Save the generated video fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');}
main().catch(console.error);Top-level parameters
Load the common, top-level parameters supported across video models.
import { experimental_generateVideo as generateVideo } from 'ai';import fs from 'node:fs';import 'dotenv/config';
async function main() { const result = await generateVideo({ model: 'minimax/minimax-h3-max', prompt: 'A drone shot of a coastal cliff with crashing waves at golden hour.', duration: 5, aspectRatio: '16:9', resolution: '1280x720', });
// Save the generated video fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');}
main().catch(console.error);| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | No | Text description of the video to generate. |
duration | number | No | Video length in seconds. 5-15 seconds. |
resolution | string | No | Resolution ('854x480'). |
aspectRatio | string | No | Aspect ratio ('21:9', '16:9', '4:3', '1:1', '3:4', '9:16'). |
Input limits
| Input | Formats | Sources | Max count | Max size | Limits |
|---|---|---|---|---|---|
| Image | jpg, jpeg, png, webp, heic, heif | url | 2 | 30 MB | ≥256px · ≤5760px · aspect 2:5–5:2 |
Provider options
Pass provider-specific options under providerOptions.minimax.
import { experimental_generateVideo as generateVideo } from 'ai';import fs from 'node:fs';import 'dotenv/config';
async function main() { const result = await generateVideo({ model: 'minimax/minimax-h3-max', prompt: 'A drone shot of a coastal cliff with crashing waves at golden hour.', duration: 5, providerOptions: { minimax: { pollTimeoutMs: 600000, }, }, });
// Save the generated video fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');}
main().catch(console.error);Pass these under providerOptions.minimax in your generateVideo call.
| Parameter | Type | Required | Description |
|---|---|---|---|
providerOptions.minimax.pollIntervalMs | number | No | How often to check task status. Defaults to 5000. |
providerOptions.minimax.pollTimeoutMs | number | No | Maximum wait time. Defaults to 600000 (10 minutes). |