# MiniMax H3 Max Image to Video - Core.Today AI API > MiniMax H3 Max image-to-video via Fal.AI. fal's post-trained variant of MiniMax Hailuo-03 (H3), tuned for stronger prompt adherence and better aesthetics — animates a first-frame image (optional last frame for keyframe control) into 5-15 second clips with native audio at 480P/768P native or 1080P refined output. - **Provider**: MiniMax - **Model ID**: minimax/h3-max/image-to-video - **Category**: Video Generation - **Credits**: 930 per 5s 768P video — billed per second (480P 116/s, 768P 186/s, 1080P 372/s) - **Speed**: Medium - **Quality**: Ultra ## Features - Animates a first-frame image with stronger prompt adherence - Optional last frame for first-to-last keyframe control - Native audio generated alongside the video - 480P/768P native generation or 1080P refinement, billed per second ## Use Cases - Bringing product shots and key visuals to life - Transitions between two designed frames - Animated social posts from existing artwork - Previs clips from concept art ## API Endpoint Base URL: https://api.core.today/v1 Create Prediction: POST /predictions Get Status: GET /predictions/{job_id} ## Authentication Header: X-API-Key: YOUR_API_KEY ## Input Parameters ### Required - **prompt**: string - Text prompt for video generation (up to 50,000 characters). - **image_url**: string - URL of the image to use as the first frame. The output canvas follows this image. ### Optional - **end_image_url**: string - Optional URL of the image to use as the last frame, for first-to-last keyframe generation. - **duration**: integer (default: 5) - The duration of the video in seconds (5-15), billed per second. - **resolution**: string (default: 768P) - 480P and 768P are native generation modes; 1080P is latent refinement from a native 768P source. Options: 480P, 768P, 1080P - **prompt_expansion_mode**: string (default: balanced) - How much effort to spend rewriting the prompt before generation. 'disabled' skips expansion, 'balanced' returns in about a second, 'quality' spends up to ~30s on a richer prompt. Options: disabled, balanced, quality - **enable_safety_checker**: boolean (default: true) - If set to true, the safety checker will be enabled. - **seed**: integer - Random seed. A random seed is selected when omitted. ## Examples ### Landscape pull-back The camera pulls back from a still landscape image at the default 768P. ```json { "model": "minimax/h3-max/image-to-video", "input": { "prompt": "The camera slowly pulls back from the scene, revealing the full landscape as clouds drift overhead and light shifts across the terrain.", "image_url": "https://storage.googleapis.com/falserverless/example_inputs/hailuo23/pro_i2v_in.jpg", "duration": 5, "resolution": "768P" } } ``` ### Quick 480P draft A cheaper 8-second 480P draft to check motion before the final render. ```json { "model": "minimax/h3-max/image-to-video", "input": { "prompt": "Clouds race across the sky as sunlight sweeps over the hills, time-lapse feel.", "image_url": "https://storage.googleapis.com/falserverless/example_inputs/hailuo23/pro_i2v_in.jpg", "duration": 8, "resolution": "480P" } } ``` ## Response Format ```json { "job_id": "abc123", "status": "pending | processing | completed | failed", "result": "URL or data (when completed)" } ``` ## Usage Flow 1. POST /predictions with model and input -> receive job_id 2. GET /predictions/{job_id} -> poll until status is completed or failed 3. Result contains output URL(s) ## Tips - The output canvas follows the first-frame image — crop it to the aspect ratio you want. - Add end_image_url to control where the motion lands. - Iterate at 480P (116/s), then render the final at 768P or 1080P. - Billing is per second of duration (5-15s). ## Documentation https://fal.ai/models/minimax/h3-max/image-to-video