MiniMax H3 Max Camera Controls
MiniMax · Video · Image → Video
MiniMax H3 Max video from a start frame with scripted camera motion — 2-12 keyframes set the camera angle, height, and distance over time. Leave the prompt blank to freeze the scene and move only the camera. Up to 15s at 1080p.
Model ID:
minimax-h3-max-camera-controlsWorkflow: minimax/h3-max/camera-controlsCamera ControlsImage Input1080p5-15 sec
Install the SDK
The SDK targets Node 20+ and ships with TypeScript types.
npm
npm install @picsart/ai-sdkAuthenticate
Create a client once with your API key — it's sent as a bearer token on every request.
TypeScript
import { createClient } from '@picsart/ai-sdk';
const ai = createClient({
apiKey: process.env.PICSART_API_KEY, // sent as: Authorization: Bearer <key>
apiUrl: 'https://api.picsart.com',
});Run the model
Call the model with its parameters. This example uses the required ones.
TypeScript
import { createClient } from '@picsart/ai-sdk';
const ai = createClient({
apiKey: process.env.PICSART_API_KEY,
apiUrl: 'https://api.picsart.com',
});
const result = await ai.generate('minimax-h3-max-camera-controls', {
prompt: "A serene mountain lake at golden hour, ultra detailed",
startFrame: "https://cdn.example.com/input.jpg",
resolution: "480p",
duration: 5
});
console.log(result.url); // video URLParameters
8 parameters. Required ones must be supplied; the rest fall back to their defaults. The API takes these same names over HTTP.
| Parameter | Type | Required | Default | Details |
|---|---|---|---|---|
promptPrompt | text | no | — | max 50000 chars · e.g. "Optional — leave blank to freeze the scene and move only the camera..." |
startFrameStart Frame | file (image) | yes | — | — |
resolution | enum | no | 480p | 480p, 768p, 1080p |
duration | range | no | 5 | 5–15 (step 1) |
cameraTrajectoryCamera Trajectory | object | no | — | { time, azimuth, elevation, distance } |
promptExpansionModePrompt Expansion | enum | no | balanced | balanced, quality |
seed | range | no | -1 | -1–2147483647 |
enableSafetyCheckerSafety Checker | boolean | no | true | — |
Output
generate() resolves once the job completes. A video URL.
Result
{
"url": "https://cdn.picsart.com/…/result",
"results": [
{
"url": "https://cdn.picsart.com/…/result"
}
],
"model": "minimax-h3-max-camera-controls"
}