Skip to content

MiniMax H3 API

Text-to-video at 768p.

Pricing
ResolutionText, images or video
768pText, images or video18 Credits/s ($0.09/s)

With video input, both the input and output seconds are billed.

Full pricing ↓
Between 4 and 15 seconds.
Aspect ratio
Text only needs a fixed ratio. With frames, the video always matches the frame.

Fixed for this input: 768P

Advanced

Checking whether you’re signed in.

Sign in to generate. What you enter here, including chosen files, is kept for when you come back.

Your result appears here

Pricing

Prices as of 2026-11-09

TierPrice
768p
18 Credits/s ($0.09/s)4–15 s
768p with video input
768p-video
18 Credits/s ($0.09/s)Note 14–15 s
  1. The rate applies to input and output seconds.

1 Credit ≈ $0.005. At the standard pack price. Larger packs include bonus Credits, so each Credit costs less.

Delivery and billing

Output
Finished files are listed in the task result with an asset ID and type for each.
Download
Files are kept for 7 days and downloaded through short-lived signed links. You can delete them any time.
Billing
Credits are held when a task is accepted and charged on delivery. If generation fails, or nothing is delivered within 24 hours, the held Credits are released in full.
Notifications
Poll the task by ID, or use signed webhooks and deduplicate by event_id.
How is it billed?
By output second.

API reference

Create the task once, then poll it by its ID. Full script with upload and download · API reference

Request
API=https://api.vizoapi.com/v1
AUTH="Authorization: Bearer $VIZO_API_KEY"

# Create the task once and keep its ID.
ID=$(curl -fsS $API/generations -H "$AUTH" -H "Content-Type: application/json" \
  -d '{
  "model": "minimax-h3",
  "input": {
    "content": [
      {
        "type": "text",
        "text": "A slow dolly shot through a rainy neon street"
      }
    ],
    "resolution": "768P",
    "ratio": "16:9",
    "duration": 6
  },
  "metadata": {
    "client_reference": "my-unique-reference-1"
  }
}' | jq -r .id)

# Poll until the task closes, then read its status and result.
until curl -fsS $API/generations/$ID -H "$AUTH" | jq -e '.closed_at != null' > /dev/null; do sleep 5; done
curl -fsS $API/generations/$ID -H "$AUTH" | jq '{status, result}'
All fields

Send these fields in input. A field the table does not list is refused with HTTP 422 invalid_input.

  • content holds exactly one text item.
  • Every image, video and audio item in content names its role.
  • Frames (first_frame, last_frame, at most one each) cannot be combined with reference images, videos or audio.
  • Input without images, videos or audio needs a ratio other than adaptive; input with frames always uses adaptive.
  • resolution is case-sensitive: send 768P.
Request parameters
FieldDescription
contentarray of objectsRequired

Exactly one text item. Frames (first_frame, last_frame, at most 1 each) cannot be combined with references. Up to 5 images, 3 videos (2 to 15 seconds each, 15 in total) and 3 audios (15 seconds in total).

At least 1 items · At most 16 items

content[].typestringRequired

Item kind.

Allowed valuestextimage_urlvideo_urlaudio_url
Items where type is text
content[].textstringRequired

Prompt text, up to 7000 characters.

At most 7000 characters

Items where type is image_url
content[].rolestringOptional

Image roles: first_frame, last_frame, reference_image. Video: reference_video. Audio: reference_audio.

content[].image_urlobjectRequired
content[].image_url.urlstringRequired

An https URL or an uploaded asset id (ast_...).

At most 4000 characters · Pattern^(https://|ast_)

Items where type is video_url
content[].rolestringOptional

Image roles: first_frame, last_frame, reference_image. Video: reference_video. Audio: reference_audio.

content[].video_urlobjectRequired
content[].video_url.urlstringRequired

An https URL or an uploaded asset id (ast_...).

At most 4000 characters · Pattern^(https://|ast_)

Items where type is audio_url
content[].rolestringOptional

Image roles: first_frame, last_frame, reference_image. Video: reference_video. Audio: reference_audio.

content[].audio_urlobjectRequired
content[].audio_url.urlstringRequired

An https URL or an uploaded asset id (ast_...).

At most 4000 characters · Pattern^(https://|ast_)

resolutionstringRequired

Output resolution. Only 768P.

Only 768P

durationintegerRequired

Output length in seconds, 4 to 15.

Minimum 4 · Maximum 15

ratiostringOptional

Output aspect ratio. Text-only input needs a value other than adaptive; input with frames always uses adaptive.

Allowed valuesadaptive21:916:94:31:13:49:16

Default adaptive

aigc_watermarkbooleanOptional

Add a visible watermark. Defaults to false; the tier price is unchanged.

Default false

Full example request and response

A complete create request, the 202 answer and the task once it has succeeded. This input selects the 768p tier at 18 Credits per second. For 6 seconds the API holds 108.000 Credits.

Request

{
  "model": "minimax-h3",
  "input": {
    "content": [
      {
        "type": "text",
        "text": "A paper boat drifting on a pond at dawn, slow dolly in"
      }
    ],
    "resolution": "768P",
    "ratio": "16:9",
    "duration": 6
  },
  "metadata": {
    "client_reference": "my-unique-reference-1"
  }
}

202 Accepted

{
  "id": "gen_01JD8Z5QW3XR",
  "model": "minimax-h3",
  "source": "api",
  "created_at": "2026-11-08T09:00:00Z",
  "customer_resolution_deadline": "2026-11-09T09:00:00Z",
  "late_result_available": false,
  "metadata": {
    "client_reference": "my-unique-reference-1"
  },
  "status": "processing",
  "execution_status": "processing",
  "delivery_status": "pending",
  "billing_status": "pending",
  "version": 1,
  "price": {
    "unit": "credit",
    "estimated": "108.000",
    "reserved": "0.000",
    "charged": "0.000",
    "refunded": "0.000"
  },
  "allowed_actions": [],
  "closed_at": null,
  "error": null,
  "result": null
}

200 Succeeded

{
  "id": "gen_01JD8Z5QW3XR",
  "model": "minimax-h3",
  "source": "api",
  "created_at": "2026-11-08T09:00:00Z",
  "customer_resolution_deadline": "2026-11-09T09:00:00Z",
  "late_result_available": false,
  "metadata": {
    "client_reference": "my-unique-reference-1"
  },
  "status": "succeeded",
  "execution_status": "succeeded",
  "delivery_status": "ready",
  "billing_status": "settled",
  "version": 4,
  "price": {
    "unit": "credit",
    "estimated": "108.000",
    "reserved": "0.000",
    "charged": "108.000",
    "refunded": "0.000"
  },
  "allowed_actions": [],
  "closed_at": "2026-11-08T09:01:31Z",
  "error": null,
  "result": {
    "asset_id": "ast_01JD8Z9M2C4V",
    "outputs": [
      {
        "index": 0,
        "asset_id": "ast_01JD8Z9M2C4V",
        "content_type": "video/mp4"
      }
    ]
  }
}

Full API reference for MiniMax H3