MiniMax H3 Max Spicy
MiniMax H3 Max Spicy is a flagship uncensored video generation model powered by the high-tier MiniMax H3 Max architecture. Operating as a Spicy uncensored model, it completely bypasses standard safety guardrails to unlock maximum motion amplitude, intense physical interactions, and complex cinematic action sequences without content restrictions. Building on the enhanced rendering capacity and higher detail resolution of the Max tier, MiniMax H3 Max Spicy maintains exceptional frame consistency, realistic lighting, and photorealistic textures throughout dramatic camera movements. It is the premier tool for unrestricted dynamic video production, high-impact VFX pre-visualization, commercial action direction, and boundary-pushing creative AI visual assets.
MiniMax H3 Max Video Spicy
The MiniMax H3 Max video spicy generation model creates high-quality videos from text and images, with native 768P output and first/last frame control.
Base URL
https://api.icreat.aiAuthentication
All API requests require API key authentication.
export ICREAT_API_KEY="your-api-key-here"HTTP Request Headers
import os
API_KEY = os.environ.get("ICREAT_API_KEY")
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer " + API_KEY,
}Keep Your API Key Secure
Never expose your API key in client-side code or public repositories. Use environment variables or a backend proxy.
Code Examples
Video Spicy generation uses a two-step asynchronous workflow: first submit a task to obtain a task_id, then poll the task result endpoint for progress. The following examples use the same task_id across both steps.
1. Submit a Task
2. Query Task Results (Polling)
Use the task_id returned by the submission step to query the task progress until the status changes to SUCCEEDED or FAILED.
Input Parameters
Submit Task - Input Parameters
The following parameters are accepted in the task submission request body.
Total: 7; Required: 5; Optional: 2.
The model name. When using this model endpoint, set it to minimax/h3-max-global.
The input content array. It must contain exactly one non-empty text item and may also include first-frame or last-frame images.
The video resolution.
The duration of the generated video in seconds.
Min: 4 Max: 15
The aspect ratio of the generated video. Text-to-video requests must specify a concrete aspect ratio and cannot use adaptive.
Reserved for protocol compatibility. The current task workflow still relies on actively querying the task status.
Whether to add an AIGC identification watermark. The exact appearance depends on the provider route used.
Content Validation Rules
contentmust contain exactly one non-emptytextitem.- Each image item must provide a non-empty
image_url.urland a correspondingrole. - No more than one
first_frameand onelast_framemay be provided. - A
first_framemust also be provided when usinglast_frame. - Text-to-video requests cannot use
adaptive. - All image URLs must be non-empty and accessible by the server.
Query Task Results - Input Parameters
Total: 1; Required: 1; Optional: 0.
The task ID returned by the task submission endpoint.
Output Parameters
Submit Task - Output Parameters
Total: 1.
The unique identifier of the asynchronous task. Use this ID to query the task status.
Query Task Results - Output Parameters
The current task status.
The list of generated video resources. This field is [] while the task is processing or if it fails.
The task cost in USD. This field is returned only when the task succeeds.
The error code returned when the task fails.
The English error message returned when the task fails.
Usage Examples
Text to Video Spicy
Text-to-video requests must specify a concrete aspect ratio.
{
"model": "minimax/h3-max-global",
"content": [
{
"type": "text",
"text": "A golden retriever running on a beach in slow motion at sunset, cinematic style"
}
],
"resolution": "768P",
"duration": 5,
"ratio": "16:9"
}First Frame to Video Spicy
{
"model": "minimax/h3-max-global",
"content": [
{
"type": "text",
"text": "Have the person in the scene walk naturally into the distance"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/first-frame.jpg"
},
"role": "first_frame"
}
],
"resolution": "768P",
"duration": 5,
"ratio": "adaptive"
}First and Last Frames to Video Spicy
last_frame must be used together with first_frame.
{
"model": "minimax/h3-max-global",
"content": [
{
"type": "text",
"text": "Have the person in the scene walk naturally into the distance"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/first-frame.jpg"
},
"role": "first_frame"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/last-frame.jpg"
},
"role": "last_frame"
}
],
"resolution": "768P",
"duration": 5,
"ratio": "adaptive"
}LLM-Friendly Prompt
# minimax/h3-max-global
> The MiniMax H3 Max video generation model supports text-to-video, first-frame-to-video, and first-and-last-frame-to-video generation, with output resolutions of 768P.
## API Information
- **Base URL**: `https://api.icreat.ai`
- **Submit endpoint**: `POST /v1/task/submit/minimax/h3-max-global`
- **Query endpoint**: `POST /v1/task/result`
- **Model ID**: `minimax/h3-max-global`
- **model parameter**: `minimax/h3-max-global`
- **Authentication**: `Authorization: Bearer ${ICREAT_API_KEY}`
## Workflow
1. Submit a task and save the `task_id` from the response.
2. Call `/v1/task/result` using the same `task_id`.
3. Continue polling while the status is `SUBMITTED` or `IN_PROGRESS`.
4. When the status is `SUCCEEDED`, read the video URL from `result`.
5. When the status is `FAILED`, read `error_code` and `error_message`.
## Input Notes
- `model`: Must be `minimax/h3-max-global`.
- `content`: Must contain exactly one non-empty text item and may include first-frame or last-frame images.
- `resolution`: `768P` .
- `duration`: 4 to 15 seconds.
- `ratio`: `adaptive`, `21:9`, `16:9`, `4:3`, `1:1`, `3:4`, or `9:16`.
- Text-to-video requests cannot use `adaptive`.
- Supported image roles are `first_frame` and `last_frame`.
- No more than one `first_frame` and one `last_frame` may be provided.
- A `first_frame` must also be provided when using `last_frame`.
- `aigc_watermark` defaults to `false`.
## Output Notes
Successful submission:
`{ "task_id": "task-xxx" }`
Processing:
`{ "status": "IN_PROGRESS", "result": [] }`
Successful:
`{ "status": "SUCCEEDED", "result": [{ "type": "video", "url": "..." }], "costUSD": "0.1234" }`
Failed:
`{ "status": "FAILED", "error_code": "...", "error_message": "...", "result": [] }`