# MiniMax H3 Max reference to video

Needs prompt and prompt expansion mode. Served by fal.ai.

H3 Max Reference to Video, served by fal.ai. The OpenAPI schema for the minimax/h3-max/reference-to-video queue. Price: Billing uses the requested output duration at $0.05 per second for 480p, $0.08 for 768p, and $0.16 for 1080p. Each request includes 4,096 reference tokens, shared across all reference images, videos, and audio clips; additional usage costs $0.02 per 1,000 tokens, prorated. Square reference images, including 1024 × 1024 and 2048 × 2048 uploads, contribute 1,024 tokens each. With no video or audio references, the first four square images add no reference charge, and each additional square image adds $0.02048 (about $0.02). For example, a 5-second 768p output costs $0.40 with up to four square reference images, or $0.42048 with five. See the pricing details below for other image shapes, video references, and audio references. Actual-cost billing: the initial reservation is an estimate, not a maximum. 5 seconds at 768p ($0.08/s) and at most four square reference images; additional references can add cost. The unique Billing Events receipt for this exact endpoint and request_id is the final USD charge, including usage above the estimate. Missing receipts retain the reservation for reconciliation; no guessed final fee. Asynchronous: returns a request_id; poll fal/status and fetch fal/result with model "minimax/h3-max" and that request_id. Billed once, when the result is ready; a generation that fails is refunded.

- Tool ID: `fal/minimax-h3-max-reference-to-video`
- Name in the catalog: H3 Max Reference to Video
- Provider: [fal.ai](/providers/fal.md)
- Capability: [MiniMax Hailuo](/tools/video-generation/minimax.md)
- Price: usage based, the maximum is shown before a run
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

Billed at the exact provider cost, without a per-call cap. The initial reservation is an estimate; additional usage is debited and unused funds are refunded.


```json
{
  "model": "reported",
  "costPath": "cost_usd",
  "requireCost": true,
  "costMode": "actual",
  "reservationBasis": "5 seconds at 768p ($0.08/s) and at most four square reference images; additional references can add cost.",
  "maxUsdDefault": 0.4,
  "maxUsdCap": 0.4
}
```

Pricing source: [https://fal.ai/models/minimax/h3-max/reference-to-video](https://fal.ai/models/minimax/h3-max/reference-to-video). Billing uses the requested output duration at $0.05 per second for 480p, $0.08 for 768p, and $0.16 for 1080p. Each request includes 4,096 reference tokens, shared across all reference images, videos, and audio clips; additional usage costs $0.02 per 1,000 tokens, prorated. Square reference images, including 1024 × 1024 and 2048 × 2048 uploads, contribute 1,024 tokens each. With no video or audio references, the first four square images add no reference charge, and each additional square image adds $0.02048 (about $0.02). For example, a 5-second 768p output costs $0.40 with up to four square reference images, or $0.42048 with five. See the pricing details below for other image shapes, video references, and audio references. Actual-cost billing: the initial reservation is an estimate, not a maximum. 5 seconds at 768p ($0.08/s) and at most four square reference images; additional references can add cost. The unique Billing Events receipt for this exact endpoint and request_id is the final USD charge, including usage above the estimate. Missing receipts retain the reservation for reconciliation; no guessed final fee..

Price verification date: 2026-10-07.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "reference_image_urls": {
      "description": "URLs of subject/style reference images, referenced in the prompt as Image 1, Image 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files.",
      "title": "Reference Image URLs",
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 9
    },
    "aspect_ratio": {
      "default": "adaptive",
      "enum": [
        "adaptive",
        "21:9",
        "16:9",
        "4:3",
        "1:1",
        "3:4",
        "9:16"
      ],
      "title": "Aspect Ratio",
      "description": "The aspect ratio of the generated video.",
      "type": "string"
    },
    "reference_audio_urls": {
      "description": "URLs of reference audio clips (2-15 seconds each, combined duration at most 15 seconds), referenced in the prompt as Audio 1, Audio 2, and so on. Images, videos, and audio can be provided individually or together. Reference images, videos, and audio clips must add up to at most 12 files.",
      "title": "Reference Audio URLs",
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 3
    },
    "middle_image_url": {
      "description": "Optional image to guide the video at middle_frame_time. Requires start and end images and native 480P or 768P resolution.",
      "title": "Middle Image",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ]
    },
    "duration": {
      "default": 5,
      "maximum": 15,
      "minimum": 0.92,
      "title": "Duration",
      "description": "Video length in seconds. The output can run up to about 0.7 s longer than requested.",
      "type": "number"
    },
    "end_image_url": {
      "description": "Optional URL of the image to use as the last frame. The video ends exactly on this image.",
      "title": "End Image URL",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ]
    },
    "seed": {
      "description": "Random seed. A random seed is selected when omitted.",
      "title": "Seed",
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ]
    },
    "enable_safety_checker": {
      "default": true,
      "description": "If set to true, the safety checker will be enabled.",
      "title": "Enable Safety Checker",
      "type": "boolean"
    },
    "resolution": {
      "default": "768P",
      "enum": [
        "480P",
        "768P",
        "1080P"
      ],
      "title": "Resolution",
      "description": "The native generation resolution, or 1080P latent refinement from a native 768P source.",
      "type": "string"
    },
    "prompt_expansion_mode": {
      "default": "balanced",
      "description": "How much effort to spend rewriting the prompt before generation. 'disabled' skips prompt expansion. 'balanced' returns in about a second. 'quality' spends up to ~30s on a richer prompt.",
      "title": "Prompt Expansion Mode",
      "type": "string"
    },
    "middle_frame_time": {
      "description": "Target time for the middle image, in seconds from the start. Rounded to the nearest frame at 24 fps; it must fall strictly between the first and last frames of the requested duration. Requires middle_image_url.",
      "title": "Time (seconds)",
      "anyOf": [
        {
          "type": "number",
          "exclusiveMaximum": 15,
          "exclusiveMinimum": 0
        },
        {
          "type": "null"
        }
      ]
    },
    "reference_video_urls": {
      "description": "URLs of motion/reference video clips (2-15 seconds each, combined duration at most 15 seconds), referenced in the prompt as Video 1, Video 2, and so on. Reference images, videos, and audio clips must add up to at most 12 files.",
      "title": "Reference Video URLs",
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 3
    },
    "prompt": {
      "description": "Text prompt for video generation. Refer to reference assets by their modality and order in the reference lists: Image 1, Image 2, Video 1, Audio 1, and so on.",
      "title": "Prompt",
      "minLength": 1,
      "maxLength": 50000,
      "type": "string"
    },
    "image_url": {
      "description": "Optional URL of the image to use as the first frame. The video opens exactly on this image while the references keep the subjects consistent; the output canvas follows this image.",
      "title": "Start Image URL",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "prompt",
    "prompt_expansion_mode"
  ],
  "additionalProperties": false
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "fal/minimax-h3-max-reference-to-video",
  "input": {
    "prompt": "Image 1 is the female protagonist. Image 2 is her small dog. Keep the woman and dog consistent with their respective reference images while they walk together through a sunlit garden.",
    "prompt_expansion_mode": "disabled"
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

This tool uses deferred settlement. Follow its returned task/run instructions; preserve the existing reservation until the result is reconciled.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[Provider documentation](https://fal.ai/models/minimax/h3-max/reference-to-video)

[REST inspection](https://api.agentik.cc/v1/tools/fal/minimax-h3-max-reference-to-video) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/fal/minimax-h3-max-reference-to-video) · [Agent index](/llms.txt)
