curl --request POST \
--url https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "Remix the motion with cinematic lighting",
"reference_videos": [
"https://example.com/ref.mp4"
],
"duration": 5,
"resolution": "768P"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'Remix the motion with cinematic lighting',
reference_videos: ['https://example.com/ref.mp4'],
duration: 5,
resolution: '768P'
})
};
fetch('https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v"
payload = {
"prompt": "Remix the motion with cinematic lighting",
"reference_videos": ["https://example.com/ref.mp4"],
"duration": 5,
"resolution": "768P"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v"
payload := strings.NewReader("{\n \"prompt\": \"Remix the motion with cinematic lighting\",\n \"reference_videos\": [\n \"https://example.com/ref.mp4\"\n ],\n \"duration\": 5,\n \"resolution\": \"768P\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"Remix the motion with cinematic lighting\",\n \"reference_videos\": [\n \"https://example.com/ref.mp4\"\n ],\n \"duration\": 5,\n \"resolution\": \"768P\"\n}")
.asString();const url = 'https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'Remix the motion with cinematic lighting',
reference_videos: ['https://example.com/ref.mp4'],
duration: 5,
resolution: '768P'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => 'Remix the motion with cinematic lighting',
'reference_videos' => [
'https://example.com/ref.mp4'
],
'duration' => 5,
'resolution' => '768P'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"Remix the motion with cinematic lighting\",\n \"reference_videos\": [\n \"https://example.com/ref.mp4\"\n ],\n \"duration\": 5,\n \"resolution\": \"768P\"\n}"
response = http.request(request)
puts response.read_bodyimport Foundation
let parameters = [
"prompt": "Remix the motion with cinematic lighting",
"reference_videos": ["https://example.com/ref.mp4"],
"duration": 5,
"resolution": "768P"
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"prompt": "Remix the motion with cinematic lighting",
"reference_videos": [
"https://example.com/ref.mp4"
],
"duration": 5,
"resolution": "768P"
}'{
"code": 0,
"message": "success",
"data": {
"status": "pending",
"task_id": "task-abc123",
"model_id": "model-123",
"get_result": {
"method": "GET",
"url": "https://api.modellix.ai/api/v1/tasks/task-abc123"
}
}
}MiniMax H3 Max V2V
[Core Function] MiniMax H3 Max V2V generates video guided by one or more reference videos plus a text prompt. [Strengths] It accepts up to 3 reference videos with optional reference images and audios, 5-15 second duration, 480P or 768P output, optional aspect ratio defaulting to 16:9, and optional prompt_expansion_mode (disabled, balanced, or quality). [Best For] Highly recommended for: motion remix, style transfer from video clips, keeping subject motion while changing the scene description, and multi-clip reference guidance. [Limitations] Do NOT use this model for text-only generation, first or last frame transitions, or if you need 2K or a 4 second clip. prompt, duration, resolution, and reference_videos are required. Do NOT send first_frame_image or last_frame_image on this endpoint. [Routing] Choose MiniMax H3 Max V2V when the user provides reference videos. For reference stills only, use MiniMax H3 Max I2V. For start or end frames, use MiniMax H3 Max FL2V. For text only, use MiniMax H3 Max T2V. For 2K or 4 second clips, use MiniMax H3 V2V.
curl --request POST \
--url https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "Remix the motion with cinematic lighting",
"reference_videos": [
"https://example.com/ref.mp4"
],
"duration": 5,
"resolution": "768P"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'Remix the motion with cinematic lighting',
reference_videos: ['https://example.com/ref.mp4'],
duration: 5,
resolution: '768P'
})
};
fetch('https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v"
payload = {
"prompt": "Remix the motion with cinematic lighting",
"reference_videos": ["https://example.com/ref.mp4"],
"duration": 5,
"resolution": "768P"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v"
payload := strings.NewReader("{\n \"prompt\": \"Remix the motion with cinematic lighting\",\n \"reference_videos\": [\n \"https://example.com/ref.mp4\"\n ],\n \"duration\": 5,\n \"resolution\": \"768P\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"Remix the motion with cinematic lighting\",\n \"reference_videos\": [\n \"https://example.com/ref.mp4\"\n ],\n \"duration\": 5,\n \"resolution\": \"768P\"\n}")
.asString();const url = 'https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'Remix the motion with cinematic lighting',
reference_videos: ['https://example.com/ref.mp4'],
duration: 5,
resolution: '768P'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => 'Remix the motion with cinematic lighting',
'reference_videos' => [
'https://example.com/ref.mp4'
],
'duration' => 5,
'resolution' => '768P'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"Remix the motion with cinematic lighting\",\n \"reference_videos\": [\n \"https://example.com/ref.mp4\"\n ],\n \"duration\": 5,\n \"resolution\": \"768P\"\n}"
response = http.request(request)
puts response.read_bodyimport Foundation
let parameters = [
"prompt": "Remix the motion with cinematic lighting",
"reference_videos": ["https://example.com/ref.mp4"],
"duration": 5,
"resolution": "768P"
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://api.modellix.ai/api/v1/minimax/minimax-h3-max-v2v' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"prompt": "Remix the motion with cinematic lighting",
"reference_videos": [
"https://example.com/ref.mp4"
],
"duration": 5,
"resolution": "768P"
}'{
"code": 0,
"message": "success",
"data": {
"status": "pending",
"task_id": "task-abc123",
"model_id": "model-123",
"get_result": {
"method": "GET",
"url": "https://api.modellix.ai/api/v1/tasks/task-abc123"
}
}
}Authorizations
API Key authentication. Format: Bearer YOUR_API_KEY.
Body
Video content description.
1 - 7000Reference video URLs used to guide motion or content (1-3).
1 - 3 elements1Required video duration in seconds. 4 seconds is not supported.
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Required output resolution. 2K is not supported.
480P, 768P Optional reference image URLs (up to 9).
91Optional reference audio URLs (up to 3).
31Optional video aspect ratio. One of the listed values. Default: 16:9.
21:9, 16:9, 4:3, 1:1, 3:4, 9:16 Optional prompt expansion. disabled turns expansion off; balanced is the default; quality prioritizes expansion quality.
disabled, balanced, quality