H3 Max Camera Controls
Integréieren
minimax/h3-max/camera-controls
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/minimax/h3-max/camera-controls?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt_expansion_mode": "balanced",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/minimax/h3-max/camera-controls?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt_expansion_mode": "balanced",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt_expansion_mode": "balanced",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/minimax/h3-max/camera-controls", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/lb/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "minimax/h3-max/camera-controls",
"input": {
"prompt_expansion_mode": "balanced",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}
}
Rufft de H3 Max Camera Controls-Modell (minimax/h3-max/camera-controls) iwwer d'Doitong API op. Dokumentatioun fir Agenten: https://doitong.com/lb/developers/models/minimax/h3-max/camera-controls.md
POST https://api.doitong.com/v1/run/minimax/h3-max/camera-controls?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt_expansion_mode": "balanced",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}
Wann de Äntwertstatus "queued" oder "running" ass, frot GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 of, bis en "succeeded" ass; d'Dateie stinn an outputs[].url. POST https://api.doitong.com/v1/quote/minimax/h3-max/camera-controls mam selwechte Body gëtt de geneeë Präis virun der Ausféierung zréck.
Dës Ufro: 0,163 $ 163 API-Kreditter Op dëser Säit ausféieren
Ären neien API-Schlëssel. Si gëtt nëmmen elo ugewisen a steet schonn am Code an am API-Schlëssel-Feld hei drënner. Halt se geheim: Setz se ni an Code, deen an engem Browser leeft.
Op Doitong erstallt
Ëffentlech Wierker, déi d'Doitong-Communautéit mat Hailuo 03 New Turbo erstallt huet. Benotz e Prompt mat engem Klick nach eng Kéier.
Video
Close-up shot of a striking model with piercing eyes and flawless skin, a white snake elegantly coiled around her head and neck, its scales glistening in soft, diffused light. The camera gently zooms in, emphasizing the intricate texture of the snake’s scales and the model’s striking facial...
Video
Animate the stickman drawings into a smooth dance animation. The simple black stick figure performs fun rhythmic dance moves — waving its arms, bending knees, jumping lightly, spinning, and swaying side to side in time with upbeat music. Keep the white background clean and minimal. The motion...
Video
A hyper-realistic, cinematic transformation sequence of the man in the uploaded image, sitting in meditation inside a traditional Japanese room. The atmosphere begins to tremble slightly as soft blue light flows around him. From the ground, thousands of magnetic nano-particles rise, shimmering...
Video
A cinematic transformation video of the man. The scene begins with him standing naturally, then looking down at his hands as glowing holographic projections appear around his body. Mechanical parts of the Iron Man armor start assembling piece by piece with smooth animation: chest plate forming,...
Video
An ultra-epic anime cinematic of Luffy’s greatest enemy unleashing a terrifying blind rage, rampaging uncontrollably against nature itself. His gigantic body is surrounded by a storm of black and crimson energy, crackling with lightning that scorches the ground. His roar shakes the heavens,...
Video
A fair-skinned red-haired woman with freckles tightly embraces a majestic white tiger with faint reddish stripes. They remain close, perfectly synchronized in stillness. The woman blinks slowly, slightly tilting her head with a serious and intense expression. The tiger breathes gently — its...
Video
The snowboarder is riding across massive, fluffy white clouds as if they were snow-covered mountains, with dramatic lighting and deep shadows adding volume and realism. The background shows a stunning blue sky with scattered soft clouds and subtle light rays. crisp cinematic quality, vivid...
Video
Мрачная комната для допросов, тесная и давящая. Одна резкая лампа под потолком бросает конус холодного света на металлический стол, вокруг густые тени. Виновный подозреваемый сидит в наручниках по одну сторону стола: потеет, нервно бегает глазами, тяжело дышит, избегает взгляда. Напротив —...
Изящная женщина в струящемся темном платье до пола с пышными, объемными волосами. Контекст: Сюрреалистический, похожее на сон пространство, залитое высококонтрастным освещением, с ярким, сияющим вертикальным лучом света вдали. Действие: Женщина очень медленно идет от камеры к яркому свету. Ее...
Video
Model: Hailuo AI / MiniMax Video-01 Language: Russian (all dialogue and on-screen text in Russian) Aspect ratio: 9:16 vertical Resolution: 1080×1920 Frame rate: 24fps cinematic Style: photorealistic, shot on Sony FX3, natural light + practical sources Color grade: warm shadows, slightly...
Video
СВИДАНИЕ» ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [0:00–0:12] ХУК [СЦЕНА: Кафе. СЛАВА, 31, айтишник в свежей рубашке. Букет. Телефон на столе — на экране фото: девушка 22, пляж, модель.] [ДЕЙСТВИЕ: Подходит ОЛЯ. 43, в теле, красная помада, взгляд человека, которого невозможно смутить. Садится. Пододвигает к...
Video
A 28-year-old dark-haired woman slowly picks up a smartphone, her shocked face reflected in the dark screen. Slow dolly-in on her face, cold morning light, tense silence, cinematic realism, shallow depth of field, vertical 9:16. She speaks in Russian, quietly and shaken: «Даниэль… чей это номер?»...
Video
A 26-year-old blonde woman in a red dress stands at an open apartment doorway holding a bottle of wine, smiling brightly. Medium shot, warm hallway light, hidden tension, cinematic realism, vertical 9:16. She speaks in Russian, cheerful and sweet: «Привет, дорогая! Я так соскучилась!» The...
Video
The apartment front door opens and a man in a suit freezes, seeing both women. The dark-haired woman's phone vibrates with a new message. She looks directly into the camera with an unreadable expression. Slow dramatic push-in on her eyes, screen fades to black. Cinematic, tense cliffhanger mood,...
Art style: warm European aesthetic, golden hour light, soft bokeh, intimate close-ups, film grain, muted warm tones. Мужчина и женщина медленно идут по брусчатке, держась за руки, останавливаются у цветочной лавки. Мужчина аккуратно берет один цветок и с искренней улыбкой протягивает его...
Art style: warm European aesthetic, golden hour light, soft bokeh, intimate close-ups, film grain, muted warm tones. Женщина выходит в прихожую со словами: «Моника, кто там?», затем видит гостя, мягко произносит: «Заходи.». Мужчина делает нерешительный шаг вперед и с заметной легкой дрожью в руке...
Eng Ufro erstellen
D'Kontrolle ginn aus dem Modellschema generéiert. De Code an de Präis aktualiséiere sech, wann s du se ännerst.
/run/minimax/h3-max/camera-controls?wait=20
Präis → 0,163 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/minimax/h3-max/camera-controls?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt_expansion_mode": "balanced",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/minimax/h3-max/camera-controls?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt_expansion_mode": "balanced",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt_expansion_mode": "balanced",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/minimax/h3-max/camera-controls", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "minimax/h3-max/camera-controls",
"input": {
"prompt_expansion_mode": "balanced",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
},
"wait_seconds": 20
}
}
}
Dës Ufro ausféieren
Äre Schlëssel bleift an dësem Browser: e gëtt nëmmen un d'Doitong API geschéckt an nëmme gespäichert (localStorage), wann s du „Erënneren“ aktivéiers. En API-Schlëssel kréien
Iwwer H3 Max Camera Controls
Benotzt `image_url` als éischte Frame a beweegt d'Kamera laanscht `camera_trajectory`, eng Lëscht vun 2 bis 12 geuerdente Keyframes. Standardméisseg bleift d'Szen steif, sou datt nëmmen d'Kamera sech ännert. D'Dauer ass 0.92 bis 15 Sekonnen, mat 480P-, 768P- oder 1080P-Resolutioun. D'Prompt-Erweiderung kann ofgestëmmt ginn.
Parameteren
Schéck entweder den kanoneschen Numm oder den natierlechen Numm, net béid. Kanonesch Nimm
promptoptional
durationoptional
resolutionoptional
seedoptional
enable_safety_checkeroptional
prompt_expansion_modeobligatoresch
image_urlobligatoresch
image
camera_trajectoryoptional
camera_trajectory[].timeobligatoresch
camera_trajectory[].azimuthobligatoresch
camera_trajectory[].elevationobligatoresch
camera_trajectory[].distanceobligatoresch
Fichierparameter akzeptéieren eng ëffentlech https:// URL, eng data: URI bis zu 10 MB oder de file_url vun engem Upload. Fichieren
Output
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "minimax/h3-max/camera-controls",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 163,
"usd": "0.163",
"charged": 163,
"refunded": 0
},
"input": {
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt_expansion_mode": "balanced"
},
"output": {
"video": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_name": "0-output.mp4",
"file_size": 1843200
},
"expanded_prompt": "string",
"timings": {}
},
"outputs": [
{
"type": "video",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_size": 1843200,
"width": 1280,
"height": 720,
"duration": 5,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Output-Felder
- video
- object {url, content_type, file_name, file_size}Video, deen d'Modell produzéiert huet.
- expanded_prompt
- string | nullErweiderten, fir d'Modell bereete Prompt oder null, wann keen erweideren Text disponibel ass. null gëllt bei deaktivéierter Erweiderung, wann d'Erweiderung näischt geännert huet oder wann d'Modell-API vum Hoster d'Erweiderung intern behandelt huet.
- timings
- object | nullZäitmiessungen a Sekonnen, nëmmen op Routen disponibel, déi Backend-Zäiten mellen; soss null. Den 'inference'-Entrée moosst, wéi laang d'DiT-Denoising um GPU-Backend gedauert huet.
Aner Hailuo 03 New Turbo-Varianten
Méi Modeller: Bild zu Video
Fir AI-Agenten: dës Säit als Markdown ass ënner https://doitong.com/lb/developers/models/minimax/h3-max/camera-controls.md. All Modeller a Guiden: https://doitong.com/developers/llms.txt