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.ai

Authentication

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

POST/v1/task/submit/minimax/h3-max-global

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.

POST/v1/task/result

Input Parameters

Submit Task - Input Parameters

The following parameters are accepted in the task submission request body.

Total: 7; Required: 5; Optional: 2.

modelstringrequired

The model name. When using this model endpoint, set it to minimax/h3-max-global.

Default"minimax/h3-max-global"
minimax/h3-max-global
contentarray[object]required

The input content array. It must contain exactly one non-empty text item and may also include first-frame or last-frame images.

resolutionstringrequired

The video resolution.

768P
durationintegerrequired

The duration of the generated video in seconds.

Min: 4 Max: 15

ratiostringrequired

The aspect ratio of the generated video. Text-to-video requests must specify a concrete aspect ratio and cannot use adaptive.

adaptive21:916:94:31:13:49:16
callback_urlstring

Reserved for protocol compatibility. The current task workflow still relies on actively querying the task status.

aigc_watermarkboolean

Whether to add an AIGC identification watermark. The exact appearance depends on the provider route used.

Default"false"

Content Validation Rules

  • content must contain exactly one non-empty text item.
  • Each image item must provide a non-empty image_url.url and a corresponding role.
  • No more than one first_frame and one last_frame may be provided.
  • A first_frame must also be provided when using last_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.

task_idstringrequired

The task ID returned by the task submission endpoint.

Output Parameters

Submit Task - Output Parameters

Total: 1.

task_idstring

The unique identifier of the asynchronous task. Use this ID to query the task status.

Query Task Results - Output Parameters

statusstring

The current task status.

SUBMITTEDIN_PROGRESSSUCCEEDEDFAILED
resultarray[object]

The list of generated video resources. This field is [] while the task is processing or if it fails.

costUSDstring

The task cost in USD. This field is returned only when the task succeeds.

error_codestring

The error code returned when the task fails.

error_messagestring

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": [] }`