Skip to content

MiniMax H3 Max

VIDEOminimax-h3-max

MiniMax H3 Max is a post-trained variant of MiniMax’s H3 video model, tuned for stronger prompt adherence and aesthetics while running at higher throughput. It produces 480p, 768p, 2K, or 4K clips at 5–15 seconds with native stereo audio, text-to-video and image-to-video with optional first-to-last frame control, and six aspect ratios from 21:9 to 9:16. Ideal for cinematic storytelling and social content when you want H3 quality at a lower resolution and cost.

POST
/v2/workspaces/{workspace_id}/base-models/minimax-h3-max/inferences
curl --request POST \
--url https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/minimax-h3-max/inferences \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"prompt": "a knight standing in a snowy forest",
"aspect_ratio": "LANDSCAPE_21_9_480p",
"duration_seconds": 5,
"guidance_file_first_frame": [
{
"url": "<file_url>"
}
],
"guidance_file_last_frame": [
{
"url": "<file_url>"
}
]
}'
workspace_id
required
Workspace Id

Id of the workspace that owns the resource.

string format: uuid

Id of the workspace that owns the resource.

session_name
Any of:
string

Organize this run under a named session. A new session is created if none matches.

Media typeapplication/json
MiniMax H3 Max
object
prompt
required
Prompt
string
aspect_ratio
Aspect Ratio
string
default: LANDSCAPE_21_9_480p
Allowed values: LANDSCAPE_21_9_480p LANDSCAPE_16_9_480p LANDSCAPE_4_3_480p SQUARE_480p PORTRAIT_3_4_480p PORTRAIT_9_16_480p LANDSCAPE_21_9_768p LANDSCAPE_16_9_768p LANDSCAPE_4_3_768p SQUARE_768p PORTRAIT_3_4_768p PORTRAIT_9_16_768p LANDSCAPE_21_9_1440p LANDSCAPE_16_9_1440p LANDSCAPE_4_3_1440p SQUARE_1440p PORTRAIT_3_4_1440p PORTRAIT_9_16_1440p LANDSCAPE_21_9_2160p LANDSCAPE_16_9_2160p LANDSCAPE_4_3_2160p SQUARE_2160p PORTRAIT_3_4_2160p PORTRAIT_9_16_2160p
seed
Seed

Advanced field.

integer
nullable
duration_seconds
Duration
integer
default: 5
guidance_file_first_frame
First frame

The frame the video starts on

Array<object>
InferenceFormFileRef

A single guidance/reference file supplied to a reference_image_list field.

The slot’s guidance type is fixed by the field it’s attached to; the caller supplies the file URL and, where the model supports per-file weighting, a weight.

object
url
required
Url
string
weight
Weight
number
nullable
guidance_file_last_frame
Last frame

The frame the video ends on

Array<object>
InferenceFormFileRef

A single guidance/reference file supplied to a reference_image_list field.

The slot’s guidance type is fixed by the field it’s attached to; the caller supplies the file URL and, where the model supports per-file weighting, a weight.

object
url
required
Url
string
weight
Weight
number
nullable
prompt_language
Prompt Language

Advanced field.

string
nullable
Example
{
"prompt": "a knight standing in a snowy forest",
"aspect_ratio": "LANDSCAPE_21_9_480p",
"duration_seconds": 5,
"guidance_file_first_frame": [
{
"url": "<file_url>"
}
],
"guidance_file_last_frame": [
{
"url": "<file_url>"
}
]
}

Successful Response

Media typeapplication/json
ExecuteForgeOutput
object
inference_id
required
Inference Id

Unique identifier for this forge run.

string format: uuid
status
required
InferenceStatus

Current status: IN_PROGRESS.

string
Allowed values: in_progress complete failed cancelled deleted
estimated_price_creative_units
Any of:
number
poll_interval_seconds
required
Poll Interval Seconds

Suggested polling interval in seconds.

integer
created_at
required
Created At

Timestamp of when the run was created.

string format: date-time
session_id
Any of:
string format: uuid
normalized_parameters
Any of:
NormalizedInferenceParameters

Inference parameters after model-specific normalization.

These reflect the actual values used for generation, including model defaults applied for any parameters not explicitly set.

object
width
Any of:
integer
height
Any of:
integer
batch_size
Any of:
integer
num_inference_steps
Any of:
integer
guidance_scale
Any of:
number
duration_seconds
Any of:
number
fps
Any of:
integer
Example
{
"status": "in_progress"
}

Unauthenticated — missing or invalid Bearer token.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Forbidden — insufficient permissions.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Resource not found.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Invalid input parameters.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Rate limited — too many concurrent requests.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}

Internal server error.

Media typeapplication/problem+json
object
type
required
string
title
required
string
status
required
integer
detail
required
string
Example
{
"type": "https://api.layer.ai/errors/ERROR_CODE",
"title": "Error Title",
"status": 400,
"detail": "Human-readable description."
}