Video · Image to video
MiniMax H3 Max Camera Controls API
MiniMax H3 Max Camera Controls. Move the camera around a single image with keyframed azimuth, elevation and distance while the scene stays put. Up to 15 s, 480p-1080p.
- Price
- From $0.05 per run from $0.05/s
- Typical time
- ~30 s
- Model id
minimax_h3_max_camera_controls
MiniMax H3 Max Camera Controls runs on one varg API key and one credit balance, the same as every other model here. You pay the provider's price, with no markup.
curl -X POST https://api.varg.ai/v2/tools/video/call \
-H "Authorization: Bearer $VARG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax_h3_max_camera_controls",
"prompt": "Orbit precisely around the subject while preserving its identity and the scene.",
"files": [
{
"url": "https://storage.googleapis.com/falserverless/example_inputs/hailuo23/pro_i2v_in.jpg"
}
],
"duration": 5
}'MiniMax H3 Max Camera Controls pricing
From $0.05 per run. Prices are in US dollars and are the provider's own, with no markup. For the exact price of a request, send the same body to POST https://api.varg.ai/v2/estimate.
- fal from $0.05/s
fal:minimax/h3-max/camera-controlsImage to video H3 Max Camera Controls (formerly Multi Angle) — moves the camera through a single image along camera_trajectory keyframes (azimuth, elevation, distance over normalized time); the scene stays frozen unless the prompt says otherwise. 480P-1080P, 0.92-15 s.
- Resolution 480P
- $0.05/s
- Resolution 768P
- $0.08/s
- Resolution 1080P
- $0.16/s
- Other
- $0.16/s
- Minimum charge
- $0.05
- Most one request can cost
- $2.40
- Typical time
- ~30 s
MiniMax H3 Max Camera Controls inputs
The JSON body of the request. Media inputs are URLs: upload a local file with POST /v2/files and pass the URL it returns. Full JSON Schema, no key needed: api.varg.ai/v2/tools/video?model=minimax_h3_max_camera_controls
| Field | What it does |
|---|---|
model string required | minimax_h3_max_camera_controls picks a route automatically. |
prompt string | — |
files array of { url } | — |
aspect_ratio string | Allowed e.g. 16:9 | 9:16 | 1:1 | 4:3 | 3:4 | 21:9 | auto |
resolution string | Quality tier. Supported by this model: 480p, 720p, 1080p. Unsupported tiers fall back to the nearest available. Allowed 480p | 720p | 1080p | 4k |
audio boolean | Native audio track request. Not supported by this model — ignored if sent. |
duration integer | Length in seconds. Supported by this model's routes: fal: number 0.92-15. A non-numeric value such as "auto" is routed to a route whose schema accepts it; when none does, the request is rejected. Allowed 1–15 |
Provider options
Optional, under provider_options.<provider>. Only the options of the provider that runs the job apply; pin a route to choose it.
provider_options.fal
| Field | What it does |
|---|---|
prompt string | Text prompt for video generation. When omitted or blank, defaults to preserving the frozen reference scene while only the camera moves. |
seed integer | Allowed -9007199254740991–9007199254740991 |
duration number | Video length in seconds. The output can run up to about 0.7 s longer than requested. Allowed 0.92–15 |
image_url string (URL) | URL of the image to use as the first frame. |
sync_mode boolean | Return the generated video as base64 instead of a CDN URL. |
resolution string | Allowed 480P | 768P | 1080P |
enable_safety_checker boolean | If set to true, the safety checker will be enabled. |
prompt_expansion_mode string | How much effort to spend rewriting the prompt before generation. 'disabled' skips prompt expansion. 'balanced' returns in about a second. 'quality' spends up to ~30s on a richer prompt. |
Call the MiniMax H3 Max Camera Controls API
POST https://api.varg.ai/v2/tools/video/call with Authorization: Bearer $VARG_API_KEY. It answers 202 with a job right away.
1. Send the request
curl -X POST https://api.varg.ai/v2/tools/video/call \
-H "Authorization: Bearer $VARG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax_h3_max_camera_controls",
"prompt": "Orbit precisely around the subject while preserving its identity and the scene.",
"files": [
{
"url": "https://storage.googleapis.com/falserverless/example_inputs/hailuo23/pro_i2v_in.jpg"
}
],
"duration": 5
}'JavaScript
const headers = {
Authorization: `Bearer ${process.env.VARG_API_KEY}`,
'Content-Type': 'application/json',
}
const res = await fetch('https://api.varg.ai/v2/tools/video/call', {
method: 'POST',
headers,
body: JSON.stringify({
"model": "minimax_h3_max_camera_controls",
"prompt": "Orbit precisely around the subject while preserving its identity and the scene.",
"files": [
{
"url": "https://storage.googleapis.com/falserverless/example_inputs/hailuo23/pro_i2v_in.jpg"
}
],
"duration": 5
}),
})
const job = await res.json() // { id: "job_…", status: "queued" }Python
import os
import requests
headers = {"Authorization": f"Bearer {os.environ['VARG_API_KEY']}"}
job = requests.post(
"https://api.varg.ai/v2/tools/video/call",
headers=headers,
json={
"model": "minimax_h3_max_camera_controls",
"prompt": "Orbit precisely around the subject while preserving its identity and the scene.",
"files": [
{
"url": "https://storage.googleapis.com/falserverless/example_inputs/hailuo23/pro_i2v_in.jpg"
}
],
"duration": 5
},
).json() # {"id": "job_…", "status": "queued"}2. Get the result
Poll the job until its status is completed, failed or cancelled; MiniMax H3 Max Camera Controls typically takes about 30 s. The result is at output.outputs[0].url.
curl https://api.varg.ai/v2/jobs/$JOB_ID \
-H "Authorization: Bearer $VARG_API_KEY"
# Poll until "status" is completed, failed or cancelled.
# The result is in output.outputs[0].urlJavaScript
let current = job
while (!['completed', 'failed', 'cancelled'].includes(current.status)) {
await new Promise((resolve) => setTimeout(resolve, 3000))
current = await (await fetch(`https://api.varg.ai/v2/jobs/${current.id}`, { headers })).json()
}
console.log(current.output?.outputs?.[0]?.url)Python
import time
while job["status"] not in ("completed", "failed", "cancelled"):
time.sleep(3)
job = requests.get(f"https://api.varg.ai/v2/jobs/{job['id']}", headers=headers).json()
print(job["output"]["outputs"][0]["url"])Or take a webhook instead of polling
Add options.webhook_url and varg POSTs the finished job to it.
{
"model": "minimax_h3_max_camera_controls",
"prompt": "Orbit precisely around the subject while preserving its identity and the scene.",
"files": [
{
"url": "https://storage.googleapis.com/falserverless/example_inputs/hailuo23/pro_i2v_in.jpg"
}
],
"duration": 5,
"options": {
"webhook_url": "https://your-app.com/varg-webhook"
}
}From Claude, ChatGPT or Cursor (MCP)
The varg MCP server, https://mcp.varg.ai/mcp, runs MiniMax H3 Max Camera Controls with call_tool. Sign in with varg, no API key to paste. How to connect it
{
"tool": "video",
"input": {
"model": "minimax_h3_max_camera_controls",
"prompt": "Orbit precisely around the subject while preserving its identity and the scene.",
"files": [
{
"url": "https://storage.googleapis.com/falserverless/example_inputs/hailuo23/pro_i2v_in.jpg"
}
],
"duration": 5
},
"wait": true
}MiniMax H3 Max Camera Controls API: questions
- How much does MiniMax H3 Max Camera Controls cost on varg?
- MiniMax H3 Max Camera Controls costs from $0.05 per run on varg (from $0.05/s on the cheapest route). varg charges the provider's price with no markup, from one credit balance. For the exact price of a request before you run it, send the same body to POST https://api.varg.ai/v2/estimate.
- How do I call the MiniMax H3 Max Camera Controls API?
- Send POST https://api.varg.ai/v2/tools/video/call with the header "Authorization: Bearer $VARG_API_KEY" and a JSON body that includes "model": "minimax_h3_max_camera_controls". The call answers 202 with a job right away. Poll GET https://api.varg.ai/v2/jobs/{id} until "status" is "completed", then read output.outputs[0].url, or pass options.webhook_url to be called back.
- Can I use MiniMax H3 Max Camera Controls from Claude, ChatGPT or Cursor?
- Yes. Add the varg MCP server (https://mcp.varg.ai/mcp) to Claude, ChatGPT, Cursor or any other MCP client and sign in with varg, with no API key to paste. The agent runs MiniMax H3 Max Camera Controls with call_tool, passing tool "video" and "model": "minimax_h3_max_camera_controls".
- How long does a MiniMax H3 Max Camera Controls request take?
- Typically about 30 s on the fastest route, by the catalog's estimate. The API answers at once with a job id, so nothing waits on an open connection while it runs.
For AI agents: this page as Markdown is varg.ai/models/minimax_h3_max_camera_controls.md, and every model is listed in varg.ai/models/llms.txt.