> ## Documentation Index
> Fetch the complete documentation index at: https://evolink.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Minimax H3 Complete Parameter Guide

> Unified API for the entire Minimax H3 series. Select the generation mode with the `model` parameter.

**3 generation modes:**

| Mode | Model ID | Input assets |
|:---|:---|:---|
| Text-to-Video | `minimax-h3-text-to-video` | `prompt` only |
| Image-to-Video | `minimax-h3-image-to-video` | `prompt` + `image_start` and/or `image_end` |
| Reference-to-Video | `minimax-h3-reference-to-video` | `prompt` + `image_urls` / `video_urls` / `audio_urls` |

**Shared capabilities:**
- Output duration from `5` to `15` seconds; currently only `2k` is supported
- Asynchronous processing; use the returned task ID to [query the task](/en/api-manual/task-management/get-task-detail)
- Minimax H3 tasks cannot be canceled
- Generated video URLs remain valid for 24 hours; save the result promptly



## OpenAPI

````yaml en/api-manual/video-series/minimax/minimax-h3/minimax-h3-overview.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Minimax H3 All Models API
  description: >-
    Unified API for all 3 Minimax H3 models, covering text-to-video,
    image-to-video, and multimodal reference-to-video generation
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Video Generation
    description: AI video generation endpoints
paths:
  /v1/videos/generations:
    post:
      tags:
        - Video Generation
      summary: Minimax H3 Video Generation (All Models)
      description: >-
        Unified API for the entire Minimax H3 series. Select the generation mode
        with the `model` parameter.


        **3 generation modes:**


        | Mode | Model ID | Input assets |

        |:---|:---|:---|

        | Text-to-Video | `minimax-h3-text-to-video` | `prompt` only |

        | Image-to-Video | `minimax-h3-image-to-video` | `prompt` +
        `image_start` and/or `image_end` |

        | Reference-to-Video | `minimax-h3-reference-to-video` | `prompt` +
        `image_urls` / `video_urls` / `audio_urls` |


        **Shared capabilities:**

        - Output duration from `5` to `15` seconds; currently only `2k` is
        supported

        - Asynchronous processing; use the returned task ID to [query the
        task](/en/api-manual/task-management/get-task-detail)

        - Minimax H3 tasks cannot be canceled

        - Generated video URLs remain valid for 24 hours; save the result
        promptly
      operationId: createMinimaxH3VideoGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              text_to_video:
                summary: Text-to-video
                value:
                  model: minimax-h3-text-to-video
                  prompt: >-
                    Epic space-opera trailer: a female captain stands alone
                    before a vast observation window as the last fleet assembles
                    outside. The fleet jumps in a blinding white flash and the
                    bridge shakes violently; when the light fades, she is left
                    alone in silent deep space. Cinematic lighting, slow
                    push-in, grand yet restrained atmosphere.
                  duration: 5
                  quality: 2k
                  aspect_ratio: '16:9'
              image_to_video:
                summary: Image-to-video (first-frame driven)
                value:
                  model: minimax-h3-image-to-video
                  prompt: >-
                    Shift focus slowly from the bowl of ramen in the foreground
                    to the person in the background. Steam keeps rising from the
                    bowl and drifts naturally through the air. Push the camera
                    forward slightly while preserving the person's identity and
                    the restaurant environment.
                  image_start: >-
                    https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png
                  duration: 5
                  quality: 2k
              reference_to_video:
                summary: Multimodal reference (image + video + audio)
                value:
                  model: minimax-h3-reference-to-video
                  prompt: >-
                    Replace the person in Video 1 with the character from Image
                    1, preserving the face, hairstyle, and clothing from Image
                    1. Retain the complete motion, pacing, composition, and
                    camera work from Video 1, and perform the dialogue with the
                    voice from Audio 1 while keeping the lip movements
                    synchronized.
                  image_urls:
                    - >-
                      https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png
                  video_urls:
                    - >-
                      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
                  audio_urls:
                    - >-
                      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
                  duration: 5
                  quality: 2k
                  aspect_ratio: adaptive
      responses:
        '200':
          description: Video generation task created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Unauthenticated, token invalid or expired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Insufficient quota, top-up required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: insufficient_quota
                  message: Insufficient quota. Please top up your account.
                  type: insufficient_quota
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: >-
                    Token does not have access to model:
                    minimax-h3-text-to-video
                  type: invalid_request_error
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: rate_limit_exceeded
                  message: Too many requests, please try again later
                  type: rate_limit_error
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: internal_error
                  message: Internal server error
                  type: api_error
components:
  schemas:
    VideoGenerationRequest:
      type: object
      required:
        - model
        - prompt
      properties:
        model:
          type: string
          description: >-
            Video generation model name.


            | Model ID | Mode | Asset parameters |

            |:---|:---|:---|

            | `minimax-h3-text-to-video` | Text-to-video | Does not accept media
            assets |

            | `minimax-h3-image-to-video` | Image-to-video | `image_start`
            and/or `image_end` |

            | `minimax-h3-reference-to-video` | Multimodal reference-to-video |
            `image_urls` / `video_urls` / `audio_urls` |
          enum:
            - minimax-h3-text-to-video
            - minimax-h3-image-to-video
            - minimax-h3-reference-to-video
          example: minimax-h3-text-to-video
        prompt:
          type: string
          minLength: 1
          description: >-
            Describe the video you want to generate. This field is required and
            cannot be empty.


            **Prompt requirements:**

            - Chinese and English are supported

            - We recommend no more than `500` Chinese characters or `1000`
            English words; the model may ignore some details in an overly long
            prompt


            **Usage by model:**

            - **Text-to-Video:** Describe the scene, subject, action, camera,
            and mood. Do not provide any media fields

            - **Image-to-Video:** Describe how subjects in the first/last frame
            should move and how the camera should change; use `image_start`
            and/or `image_end`

            - **Reference-to-Video:** Describe how to use the reference assets.
            Refer to them as `Image 1`, `Image 2`, `Video 1`, `Audio 1`, and so
            on; do not use Seedance-style names such as `@image1` or `@video1`.
            Numbering starts at `1` and follows the order of each URL array
          example: >-
            Cinematic scene: an astronaut stands before the observation window
            of a lunar base as the camera slowly pushes in and Earth rises above
            the distant horizon.
        image_start:
          type: string
          format: uri
          description: >-
            **Applicable models:**

            - Only `minimax-h3-image-to-video`

            - Text-to-video and reference-to-video do not support this parameter


            HTTP(S) URL of the first-frame image.


            **Combination rules:**

            - Provide at least one of `image_start` and `image_end`

            - `image_start` only: first-frame image-to-video

            - Both fields: first-and-last-frame image-to-video

            - At most `1` first frame; this field accepts one URL


            **Image requirements:**

            - Formats: JPG, JPEG, PNG, WEBP, HEIC, HEIF

            - File size: no more than `30MB`

            - Width and height: each from `256` to `5760` px

            - Aspect ratio (width/height): `0.4`–`2.5`

            - The URL must use HTTP(S) and be directly accessible by the service

            - The complete JSON request body must not exceed `64MB`; Base64 and
            `mm_file://` inputs are not accepted
          example: >-
            https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png
        image_end:
          type: string
          format: uri
          description: >-
            **Applicable models:**

            - Only `minimax-h3-image-to-video`

            - Text-to-video and reference-to-video do not support this parameter


            HTTP(S) URL of the last-frame image.


            **Combination rules:**

            - Provide at least one of `image_end` and `image_start`

            - `image_end` only: the model generates natural motion that ends on
            this frame

            - Both fields: first-and-last-frame image-to-video

            - At most `1` last frame; this field accepts one URL


            **Image requirements:**

            - Formats: JPG, JPEG, PNG, WEBP, HEIC, HEIF

            - File size: no more than `30MB`

            - Width and height: each from `256` to `5760` px

            - Aspect ratio (width/height): `0.4`–`2.5`

            - The URL must use HTTP(S) and be directly accessible by the service

            - The complete JSON request body must not exceed `64MB`; Base64 and
            `mm_file://` inputs are not accepted
          example: >-
            https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=1920&q=85
        image_urls:
          type: array
          description: >-
            **Applicable models:**

            - Only `minimax-h3-reference-to-video`

            - Text-to-video and image-to-video do not support this parameter


            Array of HTTP(S) reference-image URLs. Defaults to `[]`; maximum `9`
            images.


            **Role and numbering:**

            - Every image is used as `reference_image`

            - The first item is `Image 1`, the second is `Image 2`, and so on


            **Image requirements:**

            - Formats: JPG, JPEG, PNG, WEBP, HEIC, HEIF

            - File size: no more than `30MB` each

            - Width and height: each from `256` to `5760` px

            - Aspect ratio (width/height): `0.4`–`2.5`

            - URLs must use HTTP(S) and be directly accessible by the service

            - The complete JSON request body must not exceed `64MB`; Base64 and
            `mm_file://` inputs are not accepted


            **Combination rules:**

            - Provide at least `1` reference image or `1` reference video

            - Supplying only `audio_urls` returns a parameter error
          default: []
          maxItems: 9
          items:
            type: string
            format: uri
          example:
            - >-
              https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png
        video_urls:
          type: array
          description: >-
            **Applicable models:**

            - Only `minimax-h3-reference-to-video`

            - Text-to-video and image-to-video do not support this parameter


            Array of HTTP(S) reference-video URLs. Defaults to `[]`; maximum `3`
            videos.


            **Role and numbering:**

            - Every video is used as `reference_video`

            - The first item is `Video 1`, the second is `Video 2`, and so on


            **Video requirements:**

            - Containers: MP4 (`.mp4`), MOV (`.mov`)

            - Video codecs: H.264/AVC, H.265/HEVC

            - Embedded audio codecs: AAC, MP3

            - File size: no more than `50MB` each

            - Duration: `2`–`15` seconds per clip; total reference-video
            duration no more than `15` seconds

            - Width and height: each from `256` to `5760` px

            - Aspect ratio (width/height): `0.4`–`2.5`

            - Frame rate: `23.976`–`60` FPS

            - URLs must use HTTP(S) and be directly accessible by the service

            - The complete JSON request body must not exceed `64MB`; Base64 and
            `mm_file://` inputs are not accepted


            **Billing:**

            - Reference-video input duration is billable


            **Combination rules:**

            - Provide at least `1` reference image or `1` reference video

            - Supplying only `audio_urls` returns a parameter error
          default: []
          maxItems: 3
          items:
            type: string
            format: uri
          example:
            - >-
              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
        audio_urls:
          type: array
          description: >-
            **Applicable models:**

            - Only `minimax-h3-reference-to-video`

            - Text-to-video and image-to-video do not support this parameter


            Array of HTTP(S) reference-audio URLs. Defaults to `[]`; maximum `3`
            clips.


            **Role and numbering:**

            - Every audio clip is used as `reference_audio`

            - The first item is `Audio 1`, the second is `Audio 2`, and so on


            **Audio requirements:**

            - Formats: WAV, MP3

            - File size: no more than `15MB` each

            - Duration: `2`–`15` seconds per clip; total reference-audio
            duration no more than `15` seconds

            - URLs must use HTTP(S) and be directly accessible by the service

            - The complete JSON request body must not exceed `64MB`; Base64 and
            `mm_file://` inputs are not accepted


            **Combination rules:**

            - Reference audio cannot be used by itself

            - When using `audio_urls`, also provide at least `1` reference image
            or `1` reference video
          default: []
          maxItems: 3
          items:
            type: string
            format: uri
          example:
            - >-
              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
        duration:
          type: integer
          description: |-
            Output video duration in seconds. Defaults to `5` seconds.

            **Value restrictions:**
            - Only integers from `5` through `15`, inclusive, are supported
            - Decimals, numeric strings, `auto`, and `-1` are not supported
            - Output duration directly affects billing

            **Applicable models:**
            - All 3 Minimax H3 models
          default: 5
          minimum: 5
          maximum: 15
          example: 5
        quality:
          type: string
          description: >-
            Output video resolution. Defaults to `2k`.


            **Available value:**

            - `2k`: the only resolution currently supported


            **Notes:**

            - `768p` is not yet available and returns a parameter error

            - Output bitrate, frame rate, video codec, and audio codec are
            selected by the platform and are not configurable


            **Applicable models:**

            - All 3 Minimax H3 models
          enum:
            - 2k
          default: 2k
          example: 2k
        aspect_ratio:
          type: string
          description: >-
            Output video aspect ratio. Defaults to `adaptive`.


            **Applicable models:**

            - Supported by `minimax-h3-text-to-video`

            - Supported by `minimax-h3-reference-to-video`

            - **Not supported by `minimax-h3-image-to-video`; do not send this
            parameter in image-to-video requests**


            **Available values:**

            - `adaptive`: The model selects an appropriate aspect ratio from the
            prompt or reference assets

            - `21:9`: Ultrawide

            - `16:9`: Landscape

            - `4:3`: Standard landscape

            - `1:1`: Square

            - `3:4`: Standard portrait

            - `9:16`: Portrait
          enum:
            - adaptive
            - '21:9'
            - '16:9'
            - '4:3'
            - '1:1'
            - '3:4'
            - '9:16'
          default: adaptive
          example: adaptive
        callback_url:
          type: string
          description: >-
            HTTPS callback URL for task completion


            **Callback timing:**

            - Triggered when the task is completed or failed

            - Sent after billing confirmation is complete


            **Security restrictions:**

            - Only HTTPS protocol is supported

            - Callbacks to private IP addresses are prohibited (127.0.0.1,
            10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)

            - URL length must not exceed `2048` characters


            **Callback mechanism:**

            - Timeout: `10` seconds

            - Up to `3` retries after failure (at `1`/`2`/`4` seconds after
            failure respectively)

            - Callback response body format is consistent with the task query
            endpoint response format

            - A 2xx status code is considered successful; other status codes
            trigger retries


            **Applicable models:**

            - All 3 Minimax H3 models
          format: uri
          example: https://your-domain.com/webhooks/video-task-completed
          pattern: ^https://
      additionalProperties: false
    VideoGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Task creation timestamp
          example: 1761313744
        id:
          type: string
          description: Task ID
          example: task-unified-1774857405-abc123
        model:
          type: string
          description: Actual model name used
          example: minimax-h3-text-to-video
        object:
          type: string
          enum:
            - video.generation.task
          description: Specific type of the task
        progress:
          type: integer
          description: Task progress percentage (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: Task status
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
        task_info:
          $ref: '#/components/schemas/VideoTaskInfo'
          description: Video task details
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: Output type of the task
          example: video
        usage:
          $ref: '#/components/schemas/VideoUsage'
          description: Usage and billing information
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Error code identifier
            message:
              type: string
              description: Error description message
            type:
              type: string
              description: Error type
    VideoTaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: >-
            Whether the task can be canceled. Minimax H3 tasks cannot be
            canceled; always `false`.
          example: false
          enum:
            - false
          default: false
        estimated_time:
          type: integer
          description: Estimated completion time (seconds)
          minimum: 0
          example: 165
        video_duration:
          type: integer
          description: Video duration (seconds)
          example: 8
    VideoUsage:
      type: object
      description: Usage and billing information
      properties:
        billing_rule:
          type: string
          description: Billing rule
          enum:
            - per_call
            - per_token
            - per_second
          example: per_second
        credits_reserved:
          type: number
          description: Estimated credits consumed
          minimum: 0
          example: 50
        user_group:
          type: string
          description: User group category
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##All endpoints require Bearer Token authentication##


        **Get API Key:**


        Visit the [API Key Management Page](https://evolink.ai/dashboard/keys)
        to obtain your API Key


        **Add to request header:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````