MiniMax compatibility
This API implements the MiniMax Video Generation V2 surface. The request and
response bodies match platform.minimax.io field for field, so an existing
integration moves by changing the base URL and the key.
Every difference is listed below. There are no others, and none of them change the shape of a request — only which values are accepted.
Differences
| Item | Hosted MiniMax | Here | Why |
|---|---|---|---|
resolution | 768P, 2K | 768P only; 2K → 400 | H3-Regenerate-2K, which produces 2K, is not part of the open-source release |
duration | 4–15 | 5–15; 4 → 400 | 4 s is 96 frames, below the model's 120-frame floor |
model | MiniMax-H3 | plus -Fast, -Economy | Carries the service tier |
/v2/h3_context_ir | present | not implemented | H3-Context-IR is a hosted multi-model workflow, not released |
| Cancel | no endpoint | POST /v2/video_generation/{id}/cancel | The status enum has cancelled but nothing produces it |
ref2va | same service | separate worker pool; 503 if not deployed | It needs a different checkpoint |
seed | not in the body | X-H3-Seed header | Keeps the body byte-identical to the official schema |
On 2K and prompt expansion
Both are genuinely absent from the open-source release. 2K output comes from H3-Regenerate-2K and enriched prompts from H3-Context-IR; MiniMax has published neither.
We return a structured 400 naming the reason rather than silently downgrading
a 2K request to 768p, or shipping a prompt expander whose output is not
comparable to theirs. If you need either, MiniMax's hosted API still offers
them, and their README describes running local H3-Base alongside those hosted
endpoints.
The local-serving surface
MiniMax also publishes a contract for driving a local H3 deployment through SGLang:
POST /v1/videos { task, prompt, conditions[], target, seed } → { id }
GET /v1/videos/{id} → { status }
GET /v1/videos/{id}/content → mp4
We expose it too, authenticated and billed the same way, so a client already
driving an SGLang box can point at us unchanged. The reference request bodies
in MiniMax-H3/scripts/readme/*.sh are used verbatim as our test fixtures.
Internally this is the same surface our TPU workers speak, which is what makes an SGLang worker and ours interchangeable.
Using the official SDK
Point it at our base URL:
from minimax import MiniMax # the official client
client = MiniMax(
api_key=os.environ["H3_API_KEY"],
base_url="https://api.h3.studio",
)
Everything in the video-generation namespace works. Text, speech and music endpoints do not exist here — this deployment serves H3 only.