View raw JSON
{
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"model",
"content",
"resolution",
"duration"
],
"~standard": {
"vendor": "zod",
"version": 1,
"jsonSchema": {}
},
"properties": {
"model": {
"type": "string",
"const": "MiniMax-H3-Max",
"description": "Fixed to MiniMax-H3-Max. Required."
},
"ratio": {
"enum": [
"adaptive",
"21:9",
"16:9",
"4:3",
"1:1",
"3:4",
"9:16"
],
"type": "string",
"description": "Aspect ratio. REQUIRED and must not be adaptive for text-to-video. Image-to-video always resolves to adaptive (the input image decides). Reference-to-video defaults to adaptive but accepts a concrete ratio."
},
"content": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"required": [
"type",
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 7000,
"minLength": 1,
"description": "Prompt describing the video (max 7000 characters). REQUIRED in every request, in every scenario."
},
"type": {
"type": "string",
"const": "text"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"image_url"
],
"properties": {
"role": {
"enum": [
"first_frame",
"last_frame",
"reference_image"
],
"type": "string",
"description": "first_frame (default when a single image carries no role), last_frame (must be paired with first_frame), or reference_image (reference-to-video, max 9). Formats: JPG, JPEG, PNG, WEBP, HEIC, HEIF; 256-5760px per side; aspect ratio 0.4-2.5."
},
"type": {
"type": "string",
"const": "image_url"
},
"image_url": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"minLength": 1,
"description": "Public HTTPS URL, or a data: URI (data:image/jpeg;base64,...). MiniMax mm_file:// references are not supported. Limits: image <=30MB, reference video <=50MB, reference audio <=15MB, whole request body <=64MB — prefer URLs over data: URIs for video."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"video_url",
"role"
],
"properties": {
"role": {
"type": "string",
"const": "reference_video",
"description": "Reference video (reference-to-video only, max 3). MP4/MOV, H.264 or H.265, 2-15s per clip and <=15s total."
},
"type": {
"type": "string",
"const": "video_url"
},
"video_url": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"minLength": 1,
"description": "Public HTTPS URL, or a data: URI (data:image/jpeg;base64,...). MiniMax mm_file:// references are not supported. Limits: image <=30MB, reference video <=50MB, reference audio <=15MB, whole request body <=64MB — prefer URLs over data: URIs for video."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"audio_url",
"role"
],
"properties": {
"role": {
"type": "string",
"const": "reference_audio",
"description": "Reference audio (reference-to-video only, max 3, cannot be the only reference). WAV/MP3, 2-15s per clip and <=15s total."
},
"type": {
"type": "string",
"const": "audio_url"
},
"audio_url": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"minLength": 1,
"description": "Public HTTPS URL, or a data: URI (data:image/jpeg;base64,...). MiniMax mm_file:// references are not supported. Limits: image <=30MB, reference video <=50MB, reference audio <=15MB, whole request body <=64MB — prefer URLs over data: URIs for video."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
},
"minItems": 1,
"description": "Multimodal input. Every request needs exactly one non-empty text item. Add first_frame/last_frame images for image-to-video, OR reference_image/reference_video/reference_audio items for reference-to-video — the two families cannot be mixed."
},
"duration": {
"type": "integer",
"maximum": 15,
"minimum": 5,
"description": "Output length in seconds, 5-15."
},
"resolution": {
"enum": [
"480P",
"768P"
],
"type": "string",
"description": "Output resolution. Drives the per-second rate: 480P $0.05/s, 768P $0.08/s. The USD amounts in this input description are upstream supplier values; Toolmu charges the current catalog credits."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}