Skip to main content
POST
Use this endpoint to create a MiniMax H3 video task. The API returns a task ID, so store the returned id for status and content requests. POST /v1/videos uses multipart/form-data. Send scalar controls as form fields. Repeat the relevant image field when you use multiple reference images.

Choose an input mode

Use reference images

For HTTPS reference images, repeat the images multipart field. Each value must be a publicly accessible HTTPS image URL. For uploaded reference images, repeat the input_reference multipart field. Upload PNG or JPEG files up to 20 MB each. A request can contain up to nine reference images across the URL and file fields. Describe the visual details that the generated video should preserve.

Set duration and size

Set seconds to an integer from 5 through 15. The default is 5 seconds. Set size to an exact WxH value. For predictable output dimensions, choose a canonical size from the table below. Other WxH values can be normalized to the nearest supported aspect ratio and size.

Task flow

1

Create the task

Send the multipart form request and store the returned id.
2

Poll the task

Call Retrieve a MiniMax H3 video until status is completed or failed.
3

Download the result

When the task is completed, call Download MiniMax H3 video content to save the MP4 file.

Authorizations

Authorization
string
header
required

Bearer authentication. Use your CometAPI API key.

Body

multipart/form-data
model
string
default:minimax-h3
required

Model ID for this route. Use minimax-h3.

Allowed value: "minimax-h3"
prompt
string
default:A paper boat glides across a still pond, daylight, locked camera, no text.
required

Text that describes the scene, motion, camera behavior, and visual details that the video should preserve.

Minimum string length: 1
seconds
integer
default:5

Requested clip duration in whole seconds. Use an integer from 5 through 15. The default is 5.

Required range: 5 <= x <= 15
size
string
default:2560x1440

Requested frame size in exact WxH form. For predictable output dimensions, use one of the documented canonical sizes. Other WxH inputs can be normalized to the nearest supported aspect ratio and size.

Pattern: ^[1-9][0-9]*x[1-9][0-9]*$
Examples:

"1536x672"

"1344x768"

"1024x768"

"768x768"

"768x1024"

"768x1344"

"2912x1280"

"2560x1440"

"1920x1440"

"1440x1440"

"1440x1920"

"1440x2560"

images
string<uri>[]

Publicly accessible HTTPS reference image URLs. Repeat the images multipart field for each URL. A request can contain up to nine reference images across images and input_reference.

Required array length: 1 - 9 elements
Pattern: ^https://
input_reference
file[]

PNG or JPEG reference image files. Repeat the input_reference multipart field for each file. Each file can be up to 20 MB. A request can contain up to nine reference images across input_reference and images.

Required array length: 1 - 9 elements

Response

200 - application/json

Task created. Store the returned id and use it in retrieve and content requests.

id
string
required

Task ID. Use this value as task_id in retrieve and content requests.

Example:

"<task_id>"

object
string
required

Object type for the asynchronous video task.

Allowed value: "video"
model
string
required

Model ID that the task uses.

Allowed value: "minimax-h3"
status
enum<string>
required

Task lifecycle status. Poll until the value is completed or failed.

Available options:
queued,
in_progress,
completed,
failed
progress
integer
required

Task progress as a coarse percentage.

Required range: 0 <= x <= 100
created_at
integer<int64>
required

Task creation time as a Unix timestamp in seconds.

task_id
string

Compatibility alias for id. This field can be omitted from retrieve responses.

Example:

"<task_id>"

completed_at
integer<int64>

Unix timestamp returned by the platform. Use status, not this field, to decide when polling can stop.

expires_at
integer<int64>

Result expiration time as a Unix timestamp in seconds when the task provides one.

video_url
string<uri>

Video delivery URL. This field appears on completed tasks.

Example:

"https://<provider-cdn>/<video_id>.mp4"

error
object

Failure details. This field appears when the task fails.