Skip to content

MiniMax-H3 Create Video Regeneration Task ​

Regenerates a 2K video from a source video that matches the MiniMax-H3 768P output specification.

Endpoint ​

http
POST /minimax/v2/video_regeneration

Usage restrictions:

  • Only supports regenerating videos that match the MiniMax-H3 768P output specification and outputting 2K; general processing of arbitrary videos is not supported
  • The regeneration task's task_type is regeneration, which can be managed via the shared H3 query task, query task list APIs

Request Headers ​

ParameterTypeRequiredDefaultDescription
Content-TypestringYesapplication/jsonRequest body media type
AuthorizationstringYes-Authentication, format Bearer <API_KEY>

Request Body (choose one of two) ​

Two methods are supported: by task ID (source_task_id) or by source video (a video_url item with role set to base_video in content).

The two methods are mutually exclusive; you cannot pass both source_task_id and content.base_video in the same request.

Method 1: Regenerate by task ID ​

ParameterTypeRequiredDescription
modelstringYesModel name, currently MiniMax/MiniMax-H3-Regeneration
source_task_idstringYestask_id of an existing successful /v2/video_generation task. Restrictions: whitelist required; source task must belong to the current account, have status succeeded, and be queryable within 7 days
resolutionstringYesTarget resolution, currently 2K
callback_urlstringNoCallback URL for task status changes, same behavior as create video generation task
aigc_watermarkbooleanNoWhether to add an AIGC watermark, default false

Method 2: Regenerate by source video (base_video) ​

Pass the source video URL directly as the regeneration input, without relying on the original task ID and without the "source task queryable within 7 days" restriction.

ParameterTypeRequiredDescription
modelstringYesModel name, currently MiniMax/MiniMax-H3-Regeneration
contentobject[]YesMulti-modal input array. Must contain one non-empty text item and one video_url item with role = base_video
resolutionstringYesTarget resolution, currently 2K
callback_urlstringNoCallback URL for task status changes, same behavior as create video generation task
aigc_watermarkbooleanNoWhether to add an AIGC watermark, default false

content Element Details (Method 2) ​

Element typeroleRequiredDescription
text-YesText prompt for regeneration; must be non-empty. Missing or empty returns 400 (error code 2013)
video_urlbase_videoYesThe source video to regenerate; exactly 1 is allowed
image_urlfirst_frameNoFirst frame image for the image-to-video scenario
image_urllast_frameNoLast frame image for the image-to-video scenario
image_urlreference_imageNoReference image for the multi-modal reference scenario
video_urlreference_videoNoReference video for the multi-modal reference scenario
audio_urlreference_audioNoReference audio for the multi-modal reference scenario (timbre / voice reference)

Supported input combinations:

ScenarioCombination
Text-to-video regenerationtext + base_video
Image-to-video regenerationtext + base_video + first_frame (optionally combined with last_frame)
Multi-modal reference regenerationtext + base_video + a combination of reference_image / reference_video / reference_audio

Mutual exclusion: Same as Create Video Generation Task. base_video can coexist with either first_frame / last_frame or reference_*, but first_frame / last_frame and reference_image / reference_video / reference_audio remain mutually exclusive.

base_video Source Video Requirements ​

  • Must be a 768P MiniMax-H3 generated video output; general upscaling / remastering of arbitrary videos is not supported
  • Must be an accessible public URL; you can also upload it via the File Upload API first and reference it as mm_file://{file_id} in the url field
  • Container format, codec, size, duration and other limits are the same as video_url in Create Video Generation Task
  • duration / ratio are not passed in this method; the output resolution is fixed at 2K, and the aspect ratio and duration follow the base_video source video

Request Examples ​

bash
# Regenerate by task ID
curl --request POST \
  --url https://neolink.com/api/minimax/v2/video_regeneration \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "MiniMax/MiniMax-H3-Regeneration",
    "source_task_id": "424010985738629",
    "resolution": "2K"
  }'
# Regenerate by source video (base_video) - text-to-video
curl --request POST \
  --url https://neolink.com/api/minimax/v2/video_regeneration \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "MiniMax/MiniMax-H3-Regeneration",
  "content": [
    {
      "type": "text",
      "text": "史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。"
    },
    {
      "type": "video_url",
      "video_url": {
        "url": "https://your-cdn.example.com/h3-t2va-768p.mp4"
      },
      "role": "base_video"
    }
  ],
  "resolution": "2K"
}
'
# Regenerate by source video (base_video) - image-to-video
curl --request POST \
  --url https://neolink.com/api/minimax/v2/video_regeneration \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "MiniMax/MiniMax-H3-Regeneration",
  "content": [
    {
      "type": "text",
      "text": "Pull focus to the people in the background and add more steam to the ramen bowl."
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png"
      },
      "role": "first_frame"
    },
    {
      "type": "video_url",
      "video_url": {
        "url": "https://your-cdn.example.com/h3-i2va-768p.mp4"
      },
      "role": "base_video"
    }
  ],
  "resolution": "2K"
}
'
# Regenerate by source video (base_video) - multi-modal reference
curl --request POST \
  --url https://neolink.com/api/minimax/v2/video_regeneration \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "MiniMax/MiniMax-H3-Regeneration",
  "content": [
    {
      "type": "text",
      "text": "角色说话:Follow the wind, live free. Leave worries behind, enjoy the moment,音色参考音频1"
    },
    {
      "type": "video_url",
      "video_url": {
        "url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/h3_promo_eval_ref2va/gallery/sr_v2p26_trio_seed42_20260724/inputs/297573323635_00_%E8%A7%86%E9%A2%911_YnyRbxEwio_video_20260525_163755_1927e9d3.mp4"
      },
      "role": "reference_video"
    },
    {
      "type": "audio_url",
      "audio_url": {
        "url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/h3_promo_eval_ref2va/gallery/sr_v2p26_trio_seed42_20260724/inputs/f463d523c5ce_01_%E9%9F%B3%E9%A2%911_RSLcbpzJPo_6%E6%9C%885%E6%97%A5(1).mp3"
      },
      "role": "reference_audio"
    },
    {
      "type": "video_url",
      "video_url": {
        "url": "https://your-cdn.example.com/h3-r2va-768p.mp4"
      },
      "role": "base_video"
    }
  ],
  "resolution": "2K"
}
'

Success Response (HTTP 200) ​

json
{
  "task_id": "424010985738629"
}
FieldTypeDescription
task_idstringTask ID, used to query task status and results

Query Task Response Example ​

json
{
  "task": {
    "id": "424010985738631",
    "model": "MiniMax-H3",
    "status": "succeeded",
    "created_at": 1785126000,
    "updated_at": 1785126300,
    "content": {
      "url": "https://your-cdn.example.com/h3-regenerated-2k-output.mp4"
    },
    "resolution": "2K",
    "duration": 5,
    "usage": {
      "total_seconds": 5,
      "input_seconds": 0,
      "output_seconds": 5,
      "input_image_count": 0
    },
    "ratio": "",
    "task_type": "regeneration",
    "modality": "video"
  }
}

Error Responses ​

HTTP StatusError TypeError CodeDescription
400bad_request_error2013Invalid params. When regenerating by source video, this commonly occurs when content is missing a non-empty text item or missing base_video
401authorized_error1004Authentication failed
402insufficient_balance_error1008Insufficient balance
422unprocessable_entity_error1026Video description contains sensitive content
429rate_limit_error1002Rate limit, please retry later
500server_error1000Internal error