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

# MiniMax H3 Max FL2V

> [Core Function] MiniMax H3 Max FL2V generates video guided by a first frame, a last frame, or both. [Strengths] It supports first-only, last-only, and first-plus-last conditioning with 5-15 second duration and 480P or 768P output. Output framing follows the input frame imagery. Optional prompt_expansion_mode is disabled, balanced (default), or quality. [Best For] Highly recommended for: start-frame animation, end-frame targeting, before-and-after transitions, and storyboard frame bridging. [Limitations] Do NOT use this model for pure text-to-video, reference-image subject remix, or reference-video remix, or if you need 2K or a 4 second clip. Provide prompt, duration, resolution, and at least one of first_frame_image or last_frame_image. Do NOT send ratio, reference_images, reference_videos, or reference_audios on this endpoint. [Routing] Choose MiniMax H3 Max FL2V when the user supplies a start and/or end frame. For reference images without frame roles, use MiniMax H3 Max I2V. For reference videos, use MiniMax H3 Max V2V. For text only, use MiniMax H3 Max T2V. For 2K or 4 second clips, use MiniMax H3 FL2V.



## OpenAPI

````yaml /media-model-api/minimax/minimax-i2v.json post /minimax/minimax-h3-max-fl2v
openapi: 3.1.0
info:
  description: The image-to-video models API from MiniMax.
  version: 1.0.0
  contact:
    name: Modellix Support
    email: support@modellix.ai
  title: MiniMax Image-to-Video Models API
servers:
  - url: https://api.modellix.ai/api/v1
    description: The image-to-video models API from MiniMax.
security:
  - bearerAuth: []
paths:
  /minimax/minimax-h3-max-fl2v:
    post:
      summary: MiniMax H3 Max FL2V
      description: >-
        [Core Function] MiniMax H3 Max FL2V generates video guided by a first
        frame, a last frame, or both. [Strengths] It supports first-only,
        last-only, and first-plus-last conditioning with 5-15 second duration
        and 480P or 768P output. Output framing follows the input frame imagery.
        Optional prompt_expansion_mode is disabled, balanced (default), or
        quality. [Best For] Highly recommended for: start-frame animation,
        end-frame targeting, before-and-after transitions, and storyboard frame
        bridging. [Limitations] Do NOT use this model for pure text-to-video,
        reference-image subject remix, or reference-video remix, or if you need
        2K or a 4 second clip. Provide prompt, duration, resolution, and at
        least one of first_frame_image or last_frame_image. Do NOT send ratio,
        reference_images, reference_videos, or reference_audios on this
        endpoint. [Routing] Choose MiniMax H3 Max FL2V when the user supplies a
        start and/or end frame. For reference images without frame roles, use
        MiniMax H3 Max I2V. For reference videos, use MiniMax H3 Max V2V. For
        text only, use MiniMax H3 Max T2V. For 2K or 4 second clips, use MiniMax
        H3 FL2V.
      operationId: minimaxH3MaxFL2VAsync
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MinimaxH3MaxFL2VRequest'
            examples:
              first_only:
                summary: First frame only
                value:
                  prompt: Camera pulls focus
                  first_frame_image: https://example.com/first.png
                  duration: 5
                  resolution: 768P
              both:
                summary: First and last frame
                value:
                  prompt: Transition between frames
                  first_frame_image: https://example.com/first.png
                  last_frame_image: https://example.com/last.png
                  duration: 5
                  resolution: 768P
      responses:
        '200':
          description: Task submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    MinimaxH3MaxFL2VRequest:
      type: object
      description: >-
        prompt, duration, and resolution are required. Provide at least one of
        first_frame_image or last_frame_image; both may be set together.
      required:
        - prompt
        - duration
        - resolution
      properties:
        prompt:
          type: string
          minLength: 1
          maxLength: 7000
          description: Video content description.
        first_frame_image:
          type: string
          minLength: 1
          description: >-
            First-frame image URL. Required when last_frame_image is omitted;
            may be combined with last_frame_image.
        last_frame_image:
          type: string
          minLength: 1
          description: >-
            Last-frame image URL. Required when first_frame_image is omitted;
            may be combined with first_frame_image.
        duration:
          type: integer
          enum:
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 12
            - 13
            - 14
            - 15
          default: 5
          description: Required video duration in seconds. 4 seconds is not supported.
        resolution:
          type: string
          enum:
            - 480P
            - 768P
          default: 768P
          description: Required output resolution. 2K is not supported.
        prompt_expansion_mode:
          type: string
          enum:
            - disabled
            - balanced
            - quality
          default: balanced
          description: >-
            Optional prompt expansion. disabled turns expansion off; balanced is
            the default; quality prioritizes expansion quality.
      anyOf:
        - required:
            - first_frame_image
        - required:
            - last_frame_image
    AsyncTaskResponse:
      type: object
      required:
        - code
        - message
        - data
      properties:
        code:
          type: integer
          description: Response code, 0 indicates success
          example: 0
        message:
          type: string
          description: Response message
          example: success
        data:
          type: object
          required:
            - status
            - task_id
            - model_id
          properties:
            status:
              type: string
              enum:
                - pending
                - processing
              description: Task status
              example: pending
            task_id:
              type: string
              description: Unique task identifier
              example: task-abc123
            model_id:
              type: string
              description: Model ID
              example: model-123
            get_result:
              type: object
              description: API information to query the task result
              properties:
                method:
                  type: string
                  description: HTTP method
                  example: GET
                url:
                  type: string
                  description: Full URL to query the task result
                  example: https://api.modellix.ai/api/v1/tasks/task-abc123
          description: Detailed data about the submitted asynchronous task.
    ErrorResponse:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          description: Error code (equals HTTP status code)
          example: 400
        message:
          type: string
          description: 'Error message in format ''Category: detail'''
          example: 'Invalid parameters: parameter ''prompt'' is required'
  responses:
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missing_first_frame:
              summary: Missing first and last frame
              value:
                code: 400
                message: >-
                  Invalid parameters: at least one of first_frame_image or
                  last_frame_image is required
            invalid_duration:
              summary: Invalid duration value
              value:
                code: 400
                message: 'Invalid parameters: duration must be one of [6, 10]'
            invalid_resolution:
              summary: Invalid resolution for duration
              value:
                code: 400
                message: >-
                  Invalid parameters: 10 seconds duration only supports 768P
                  resolution
            invalid_image:
              summary: Invalid image format or size
              value:
                code: 400
                message: >-
                  Invalid parameters: image size exceeds 20MB or format not
                  supported
    Unauthorized:
      description: Unauthorized - Invalid or missing API Key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 401
            message: 'Authentication failed: invalid API key'
    TooManyRequests:
      description: Too many requests - Rate limit exceeded
      headers:
        X-RateLimit-Limit:
          description: Maximum requests per minute
          schema:
            type: integer
            example: 100
        X-RateLimit-Remaining:
          description: Remaining quota in current window
          schema:
            type: integer
            example: 0
        X-RateLimit-Reset:
          description: Rate limit window reset time (Unix timestamp)
          schema:
            type: integer
            example: 1704067260
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 429
            message: >-
              Rate limit exceeded: 100 requests per minute, retry after 60
              seconds
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 500
            message: Internal server error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'API Key authentication. Format: `Bearer YOUR_API_KEY`.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.