MiniMax Video

MethodPathUse
POST/minimax/v2/video_generationCreate a video generation task
GET/minimax/v2/video_generation/{task_id}Poll task status and result
DELETE/minimax/v2/video_generation/{task_id}Cancel an unfinished task and release its preauthorization

This is MiniMax video generation V2 as an inbound protocol, aimed mainly at the MiniMax-H3 family. Like the Ark lane it runs on the platform-managed async pipeline — the request body is MiniMax's own shape, and the responses are rendered in MiniMax's shape too, so a client written against MiniMax's own documentation can decode this surface directly.

The task lives on the platform, so per-dimension metering, artifact delivery, and preauthorize/settle all apply as usual.

Create a task

bash
curl https://api.modelgo.ai/minimax/v2/video_generation \
  -H "Authorization: Bearer $MODELGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model>",
    "content": [
      { "type": "text", "text": "a boy playing basketball by the sea" },
      { "type": "image_url", "image_url": { "url": "https://example.com/first.jpg" }, "role": "first_frame" }
    ],
    "resolution": "2K",
    "duration": 5,
    "ratio": "16:9"
  }'

Create answers the bare task handle from MiniMax's documentation:

json
{ "task_id": "424010985738629" }

Request fields

content[] is a multimodal array; type and role together decide what each part is:

typeValid roleMeaning
text—Prompt
image_urlfirst_frame / last_frameFirst / last frame image
image_urlreference_imageReference image
video_urlreference_videoReference video
audio_urlreference_audioReference audio
  • Frames and references cannot be mixed: a request carrying first_frame / last_frame may not
  • also carry any reference_* part, and vice versa — they map to two different upstream jobs.

  • resolution, duration, and ratio are flat siblings of content, for example
  • resolution: "2K", duration: 5, and ratio: "16:9". Omitting one applies the upstream default — and bills at that default tier. The accepted ranges depend on the logical model behind model and on MiniMax's official documentation.

Poll a task

bash
curl https://api.modelgo.ai/minimax/v2/video_generation/424010985738629 \
  -H "Authorization: Bearer $MODELGO_API_KEY"

Poll answers a task envelope — a different shape from create:

json
{
  "task": {
    "id": "424010985738629",
    "model": "<model>",
    "status": "succeeded",
    "created_at": 1756600000,
    "updated_at": 1756600120,
    "content": { "url": "https://.../video.mp4" },
    "resolution": "2K",
    "duration": 5,
    "ratio": "16:9",
    "usage": {
      "total_seconds": 5,
      "input_seconds": 0,
      "output_seconds": 5,
      "input_image_count": 1
    },
    "task_type": "generation",
    "modality": "video"
  }
}
  • status is one of queued / running / succeeded / failed.
  • On success the artifact URL is in task.content.url.
  • usage is denominated in seconds (H3 is quoted per second of output), not tokens; it is
  • omitted when the upstream reports only token counts and no seconds.

  • On failure a task.error (code / message) is added. That field is not part of MiniMax's
  • documented success schema — it is included so a failure reason is visible at all, and a client decoding the documented struct simply ignores it.

Cancel a task

bash
curl -X DELETE https://api.modelgo.ai/minimax/v2/video_generation/424010985738629 \
  -H "Authorization: Bearer $MODELGO_API_KEY"

Cancelling voids the preauthorization. Note that this lane never reports MiniMax's documented cancelled status — a cancelled task is surfaced as failed, which is what makes its preauthorization be released rather than settled.

Key conventions

  • id / task_id are the gateway task id, not the upstream one; polling and cancelling only
  • accept that id.

  • The lane does not pin an upstream family; the logical model behind model decides who serves the
  • request, and the URL spelling plays no part in it.

  • The only content endpoint is the OpenAI-compatible one (GET /v1/videos/{task_id}/content); there
  • is no equivalent under the MiniMax paths.

For the most standardized experience, use OpenAI-Compatible Video Flow.