MiniMax H3 video generation
curl --request POST \
--url https://api.omnimux.ai/v1/video/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "minimax/h3-max",
"prompt": "The camera moves around the subject"
}
'import requests
url = "https://api.omnimux.ai/v1/video/generations"
payload = {
"model": "minimax/h3-max",
"prompt": "The camera moves around the subject"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model: 'minimax/h3-max', prompt: 'The camera moves around the subject'})
};
fetch('https://api.omnimux.ai/v1/video/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.omnimux.ai/v1/video/generations"
payload := strings.NewReader("{\n \"model\": \"minimax/h3-max\",\n \"prompt\": \"The camera moves around the subject\"\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))
}{
"id": "task_example",
"task_id": "task_example",
"object": "video",
"model": "minimax/h3-max",
"status": "queued",
"created": 1788926400
}{
"code": "invalid_request",
"message": "720p is retired for H3; explicitly select 768p",
"data": null
}{
"code": "<string>",
"message": "<string>",
"data": "<unknown>"
}{
"code": "<string>",
"message": "<string>",
"data": "<unknown>"
}{
"code": "<string>",
"message": "<string>",
"data": "<unknown>"
}{
"code": "<string>",
"message": "<string>",
"data": "<unknown>"
}MiniMax
MiniMax H3 Max
MiniMax H3 Max video API
POST
/
v1
/
video
/
generations
MiniMax H3 video generation
curl --request POST \
--url https://api.omnimux.ai/v1/video/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "minimax/h3-max",
"prompt": "The camera moves around the subject"
}
'import requests
url = "https://api.omnimux.ai/v1/video/generations"
payload = {
"model": "minimax/h3-max",
"prompt": "The camera moves around the subject"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model: 'minimax/h3-max', prompt: 'The camera moves around the subject'})
};
fetch('https://api.omnimux.ai/v1/video/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.omnimux.ai/v1/video/generations"
payload := strings.NewReader("{\n \"model\": \"minimax/h3-max\",\n \"prompt\": \"The camera moves around the subject\"\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))
}{
"id": "task_example",
"task_id": "task_example",
"object": "video",
"model": "minimax/h3-max",
"status": "queued",
"created": 1788926400
}{
"code": "invalid_request",
"message": "720p is retired for H3; explicitly select 768p",
"data": null
}{
"code": "<string>",
"message": "<string>",
"data": "<unknown>"
}{
"code": "<string>",
"message": "<string>",
"data": "<unknown>"
}{
"code": "<string>",
"message": "<string>",
"data": "<unknown>"
}{
"code": "<string>",
"message": "<string>",
"data": "<unknown>"
}Use text_to_video without media, or first_frame with exactly one image. video_multi_ref accepts at most 9 images, 3 videos and 3 audio files, 12 references total, with at least one image or video. Order within each collection is preserved. Use one field spelling per media kind. Replace legacy 720p with explicit 768P. Completed jobs without usable artifacts remain retryable; failure/cancellation takes precedence over stale artifacts. Status reads do not own billing settlement. Pricing follows the current catalog; no fixed generation latency is guaranteed.
Query Video Task · Pricing
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Available options:
minimax/h3-max Required string length:
1 - 50000Must agree with media: text uses none; first_frame requires one image only.
Available options:
text_to_video, first_frame, video_multi_ref HTTP(S) first-frame image; do not combine with image_urls.
Ordered images; one field spelling per media kind.
Maximum array length:
9Case/whitespace normalized. 720p is rejected; select 768P explicitly.
Available options:
480P, 768P, 1080P Available options:
5, 10 Available options:
16:9, 9:16, 1:1 Ordered references. Total <=12, at least one image or video.
Maximum array length:
3Ordered references. Total <=12, at least one image or video.
Maximum array length:
3First-frame role form. Do not combine with image_url/image_urls; not accepted by video_multi_ref.
Required array length:
1 elementShow child attributes
Show child attributes