PopNowAPI Docs
Main content

MiniMax H3 API reference

Expressive clips with audio, up to 2K

Call MiniMax H3 from your own code with one PopNow API key. Below are the exact model IDs to send, every input field the model accepts, what each request costs in credits, and a request you can paste into a terminal.

At a glance

Made by
MiniMax
Output
Video
From
5.55 credits per second of output ($0.0555)
Typical time
about 33 s

1 credit = $0.01. A task holds the highest possible charge when it is accepted and settles the real amount when it finishes, rounded up to whole credits; failed tasks are not charged. Ask POST /api/v1/jobs/quote for the exact figure before you run.

Create Video

minimax/h3/text-to-video

Price

OptionCredits (per second of output)US dollars
768p5.55$0.0555
2k8.7$0.087

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring—up to 7,000 charactersDescribe the picture, the action, the camera, the sound, and the boundaries for the shot.
aspect_ratioOptionalstring16:916:9, 9:16, 1:1, 4:3, 3:4, 21:9Output aspect ratio.
resolutionOptionalstring768p768p, 2kOutput resolution.
duration_secondsOptionalinteger55 to 15Requested output length in seconds.
enable_prompt_expansionOptionalbooleanfalsefalseAccepted for compatibility only. This endpoint does not expand prompts, so the only allowed value is false.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

POST /api/v1/jobs/createTask?wait=60
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask?wait=60" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "minimax/h3/text-to-video",
  "input": {
    "prompt": "A paper boat drifts down a rain-soaked street at dusk, neon signs reflecting in the water, slow tracking shot at ground level",
    "duration_seconds": 5,
    "resolution": "768p"
  }
}'

The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Image to Video

minimax/h3/image-to-video

Price

OptionCredits (per second of output)US dollars
768p5.55$0.0555
2k8.7$0.087

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring—up to 7,000 charactersDescribe what happens after the opening frame: the action, the camera, and the sound.
image_urlRequiredstring (uri)——Authorised opening frame.
last_image_urlOptionalstring (uri)——Optional closing frame the clip should resolve to.
resolutionOptionalstring768p768p, 2kOutput resolution.
duration_secondsOptionalinteger54 to 15Requested output length in seconds.
enable_prompt_expansionOptionalbooleanfalsefalseAccepted for compatibility only. This endpoint does not expand prompts, so the only allowed value is false.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

The example uses PopNow sample files in image_url. Replace them with your own public HTTPS links, uploads or saved assets.

POST /api/v1/jobs/createTask
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "minimax/h3/image-to-video",
  "input": {
    "prompt": "He lands softly on the rooftop, laughs and turns toward the camera while the balloons sway in the evening breeze; slow push-in",
    "image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
    "duration_seconds": 5,
    "resolution": "768p"
  }
}'

The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Reference to Video

minimax/h3/reference-to-video

Price

OptionCredits (per second of output)US dollars
768p5.55$0.0555
2k8.7$0.087

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring—up to 7,000 charactersRefer to the references by number and describe the shot they should produce.
reference_image_urlsRequiredarray<string (uri)>—up to 9 itemsAuthorised image references, up to nine.
reference_video_urlsOptionalarray<string (uri)>—up to 3 itemsUp to three reference videos, 2 to 15 seconds each and 15 seconds in total. Refer to them in the prompt as <Video 1> and so on. Their seconds have their own per-second rate, lower than output seconds.
reference_audio_urlsOptionalarray<string (uri)>—up to 3 itemsUp to three reference audio clips (WAV or MP3), 2 to 15 seconds each and 15 seconds in total, for a voice or a sound.
aspect_ratioOptionalstring16:916:9, 9:16, 1:1, 4:3, 3:4, 21:9Output aspect ratio.
resolutionOptionalstring768p768p, 2kOutput resolution.
duration_secondsOptionalinteger54 to 15Requested output length in seconds.
enable_prompt_expansionOptionalbooleanfalsefalseAccepted for compatibility only. This endpoint does not expand prompts, so the only allowed value is false.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

The example uses PopNow sample files in reference_image_urls. Replace them with your own public HTTPS links, uploads or saved assets.

POST /api/v1/jobs/createTask
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "minimax/h3/reference-to-video",
  "input": {
    "prompt": "The man from the reference image jogs across a sunlit rooftop at golden hour and smiles at the camera; smooth tracking shot",
    "reference_image_urls": [
      "https://media.popnow.ai/influencer/examples/ava.webp"
    ],
    "duration_seconds": 5,
    "resolution": "768p"
  }
}'

The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Extend Video

minimax/h3/video-extend

Price

OptionCredits (per second of output)US dollars
768p5.55$0.0555
2k8.7$0.087

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring—up to 7,000 charactersDescribe what happens next: the action that follows, the camera move and the sound.
video_urlRequiredstring (uri)——The clip to continue: MP4, MOV or WebM, up to 60 seconds. Its last frame opens the new segment, and the result is your clip with the new segment joined on.
last_image_urlOptionalstring (uri)——Optional target end frame: the new segment closes on this image.
resolutionOptionalstring768p768p, 2kResolution of the new segment. It sets how sharp the new part is generated; match your source clip.
duration_secondsOptionalinteger54 to 15Length of the new segment in seconds, from 4 to 15. The source clip is added on top and is not billed.
enable_prompt_expansionOptionalbooleanfalsefalseAccepted for compatibility only. This endpoint does not expand prompts, so the only allowed value is false.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

The example uses PopNow sample files in video_url. Replace them with your own public HTTPS links, uploads or saved assets.

POST /api/v1/jobs/createTask
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "minimax/h3/video-extend",
  "input": {
    "prompt": "The flowers keep opening while the camera slowly pulls back to reveal a sunlit meadow",
    "video_url": "https://media.popnow.ai/effects/flower-bloom-1abd6efb.mp4",
    "duration_seconds": 5,
    "resolution": "768p"
  }
}'

The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Next steps

On this page