# MiniMax | H3 | Max | Extend Video H3 Max Extend Video creates text-guided continuations for existing clips, with adjustable length, aspect ratio and resolution for video storytelling. ## API Information - **Model Slug:** minimax-h3-max-extend-video - **Branded URL:** https://www.eachlabs.ai/fal/minimax-h3-max/minimax-h3-max-extend-video - **Provider:** fal - **Category:** Video to Video - **Output Type:** video - **Status:** active - **Base Cost:** $0.05–$0.32 per second, depending on resolution - **Interactive Demo:** https://www.eachlabs.ai/ai-models/minimax-h3-max-extend-video ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.05–$0.32 per second, depending on resolution - **Pricing Details:** 480P: $0.05 - **Pricing Details:** 768P (default): $0.08 - **Pricing Details:** 1080P: $0.16 - **Pricing Details:** 2K: $0.32 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | video_url | string | Yes | - | - | URL of the video to extend. Must be 1.625 s to 60 s long, up to 50 MB, aspect ratio between 0.4 and 2.5. | | prompt | string | Yes | - | - | What happens next. Describe the continuation, not the source. | | duration | integer | No | 5 | 5–15 | Seconds of new footage to add after the source. The actual duration may be slightly longer. | | resolution | string | No | 768P | 480P, 768P, 1080P, 2K | Output video resolution. | | aspect_ratio | string | No | auto | auto, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 | Output aspect ratio. 'auto' follows the source video. Other values crop the video to fit the selected ratio. | | output | string | No | extended | extended, continuation | 'extended' returns the whole source video followed by the new footage. 'continuation' returns only the generated continuation. | | enable_prompt_expansion | boolean | No | true | - | Automatically enhance the prompt using the source video to help keep the continuation consistent. May increase processing time. | | seed | integer | No | - | - | Seed for the continuation. Random when omitted. | | enable_safety_checker | boolean | No | true | - | Moderate the source video and the prompt. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "minimax-h3-max-extend-video", "input": { "prompt": "Close-up beauty shot of a young woman in soft three-quarter profile, eyes gently closed, calm and relaxed expression. She slowly presses her fingertips onto her cheek, softly patting in a golden vitamin C serum, and her skin looks smooth, dewy and glowing. Warm golden sunlight falls on her face from a bright\n window behind her, with soft bokeh of oranges and white orange blossoms in the background. Natural makeup, hair pulled back. Calm, premium skincare commercial mood, slow gentle movement, static camera.", "video_url": "https://cdn-us.eachlabs.ai/defaults/05aa581471ed4e01ac9942f5048269d9.mp4" } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated video)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.