Picsart API Platform
← All models

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-controls
Camera ControlsImage Input1080p5-15 sec
Try on Playground ↗

Install the SDK

The SDK targets Node 20+ and ships with TypeScript types.

npm
npm install @picsart/ai-sdk

Authenticate

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 URL

Parameters

8 parameters. Required ones must be supplied; the rest fall back to their defaults. The API takes these same names over HTTP.

ParameterTypeRequiredDefaultDetails
prompt
Prompt
textnomax 50000 chars · e.g. "Optional — leave blank to freeze the scene and move only the camera..."
startFrame
Start Frame
file (image)yes
resolutionenumno480p480p, 768p, 1080p
durationrangeno55–15 (step 1)
cameraTrajectory
Camera Trajectory
objectno{ time, azimuth, elevation, distance }
promptExpansionMode
Prompt Expansion
enumnobalancedbalanced, quality
seedrangeno-1-1–2147483647
enableSafetyChecker
Safety Checker
booleannotrue

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"
}