MiniMax H3 Spicy


MiniMax H3 Spicy is an advanced uncensored video generation model built upon the open-source MiniMax H3 architecture. Designed specifically as a Spicy uncensored model, it bypasses standard safety guardrails to synthesize fluid physical motions, dramatic camera pans, and intricate physical interactions without content restrictions. Preserving high frame consistency, crisp textures, and natural motion dynamics, MiniMax H3 Spicy efficiently powers unrestricted dynamic video creation, action sequence pre-visualization, and high-impact visual media pipelines.

MiniMax H3 Video Spicy

The MiniMax H3 Video Spicy generation model produces high-quality videos from multimodal content (text, images, video, and audio). It offers an out-of-the-box REST inference API with direct 2K output, first- and last-frame control, and multimodal reference-based video generation.

Base URL

https://api.icreat.ai

Authentication

All API requests must be authenticated with an API key. You can obtain an API key from the console.

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,
}

Protect Your API Key

Never expose your API key in client-side code or public repositories. Use environment variables or a backend proxy.

Code Examples

Video generation uses a two-step asynchronous workflow: submit a task to obtain a task_id, then poll the query task result endpoint. The response includes status and result. While the task is processing, result is []. When the status is SUCCEEDED, result contains the generated resources and the response includes costUSD. The examples below use the same task_id for both steps.

1. Submit Task

Send a generation request to the task submission endpoint. On success, the response body returns a task_id. Save it for polling and result retrieval.

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

2. Query Task Result (Polling)

Use the task_id returned by the submission endpoint to poll the task's progress. Repeat the request until the task reaches a terminal state.

The response includes status and result. While the task is processing, result is []. When the status is SUCCEEDED, result contains the generated resources and the response includes costUSD. A status of FAILED means the task has failed.

POST/v1/task/result

Input Schema

Submit Task - Input

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

Total: 6; required: 3; optional: 3

contentarray[object]required

A multimodal input array. Each element is identified by its type: text, image_url, video_url, or audio_url. Use role to specify the purpose of an item. Each request must include a non-empty text item.

resolutionstringrequired

The output video resolution.

768P2K
durationintegerrequired

The generated video duration in seconds.

Min: 4 Max: 15

ratiostring

The aspect ratio of the generated video. This parameter is recommended for text-to-video generation.

Default"adaptive"
adaptive21:916:94:31:13:49:16
callback_urlstring

The callback URL that receives task status updates.

aigc_watermarkboolean

Whether to add an AIGC identification watermark to the output video.

Default"false"

Query Task Result - Input

Total: 1; required: 1; optional: 0

task_idstringrequired

The task ID returned by the task submission endpoint.

Output Schema

Submit Task - Output

Total: 1

task_idstring

The unique identifier of the asynchronous task. Use this ID to poll the task status and retrieve its results.

Query Task Result - Output

Total: Variable

statusstring

The current task status. Before the task succeeds, result is usually []. When the status is SUCCEEDED, result contains the generated resources and the response includes costUSD.

SUBMITTEDSUCCEEDEDFAILED
resultarray[object]

The generated resources. This field is an empty array while the task is processing or when the task fails. After the task succeeds, it contains an array of resource objects.

costUSDnumber

The task cost in US dollars. This field is present only when status is SUCCEEDED.

LLM Prompt

The Markdown below is an LLM-friendly prompt that can be pasted into AI assistants such as Cursor or ChatGPT to help them understand this model's API, request flow, and key parameters. Use Copy for AI or copy the complete content from the code block below.

# minimax/h3-video-global

> The MiniMax H3 Video Spicy generation model produces high-quality videos from multimodal content, including text, images, video, and audio.

## Overview

Use iCreat's two-step asynchronous task API to submit a generation request and then poll the task result endpoint. After the task succeeds, retrieve the generated resources from `result`. The successful response also includes `costUSD`.

## API Information

- **Base URL**: `https://api.icreat.ai`
- **Task submission endpoint (POST)**: `/v1/task/submit/minimax/h3-video-global`
- **Task result endpoint (POST)**: `/v1/task/result`
- **Model ID**: `minimax/h3-video-global`
- **Authentication**: `Authorization: Bearer ${ICREAT_API_KEY}`

## Workflow

1. **Submit a task**: Send a POST request to the task submission endpoint with the generation parameters in the request body. The response has the format `{ "task_id": "..." }`.
2. **Query the result**: Send a POST request to `/v1/task/result` with `{ "task_id": "..." }` in the request body.
3. While the task is processing, `result` is `[]`. Continue polling.
4. When the status is `SUCCEEDED`, read `url` or `download_url` from the resource whose `type` is `Video`. The response also includes `costUSD`.
5. When the status is `FAILED`, stop polling and check the request parameters and reference media.

## Task Submission Example

```json
{
  "content": [
    {
      "type": "text",
      "text": "Epic space opera theatrical trailer: a female captain stands alone before a massive observation window as the last fleet assembles and jumps away; blinding light flashes, the bridge shakes, and she is left behind."
    }
  ],
  "resolution": "2K",
  "duration": 5,
  "ratio": "16:9"
}

Input Parameters

  • content (required): A multimodal content array. Each item uses type to identify text, image, video, or audio content. Every request must contain a non-empty text item.
  • role (optional): An annotation describing the purpose of a content item, such as reference_image for image-to-video generation.
  • resolution (required): The output video resolution. Supported values are 768P and 2K.
  • duration (required): The generated video duration in seconds. Supported values range from 4 to 15.
  • ratio (optional): The output video aspect ratio. Supported values are adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, and 9:16. The default is adaptive.
  • callback_url (optional): The callback URL that receives task status updates.
  • aigc_watermark (optional): Whether to add an AIGC identification watermark to the output video. The default is false.

Output

  • Check status when polling the task. While the task is processing, result is [].
  • After the task succeeds, the response contains result: [{ "type": "Video", "url": "...", "download_url": "..." }] and includes costUSD.

Notes

  • Use the same task_id when submitting the task and querying its result.
  • FAILED is a terminal state. When a task fails, check the request parameters and reference media.
  • The order and roles of multimodal content items should match their intended use in the prompt.