{"servers":[{"url":"https://api.modellix.ai/api/v1/minimax/minimax-h3-max-fl2v"}],"post":{"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":{"content":{"application/json":{"examples":{"both":{"summary":"First and last frame","value":{"duration":5,"first_frame_image":"https://example.com/first.png","last_frame_image":"https://example.com/last.png","prompt":"Transition between frames","resolution":"768P"}},"first_only":{"summary":"First frame only","value":{"duration":5,"first_frame_image":"https://example.com/first.png","prompt":"Camera pulls focus","resolution":"768P"}}},"schema":{"anyOf":[{"required":["first_frame_image"]},{"required":["last_frame_image"]}],"description":"prompt, duration, and resolution are required. Provide at least one of first_frame_image or last_frame_image; both may be set together.","properties":{"duration":{"default":5,"description":"Required video duration in seconds. 4 seconds is not supported.","enum":[5,6,7,8,9,10,11,12,13,14,15],"type":"integer"},"first_frame_image":{"description":"First-frame image URL. Required when last_frame_image is omitted; may be combined with last_frame_image.","minLength":1,"type":"string"},"last_frame_image":{"description":"Last-frame image URL. Required when first_frame_image is omitted; may be combined with first_frame_image.","minLength":1,"type":"string"},"prompt":{"description":"Video content description.","maxLength":7000,"minLength":1,"type":"string"},"prompt_expansion_mode":{"default":"balanced","description":"Optional prompt expansion. disabled turns expansion off; balanced is the default; quality prioritizes expansion quality.","enum":["disabled","balanced","quality"],"type":"string"},"resolution":{"default":"768P","description":"Required output resolution. 2K is not supported.","enum":["480P","768P"],"type":"string"}},"required":["prompt","duration","resolution"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"code":{"description":"Response code, 0 indicates success","example":0,"type":"integer"},"data":{"description":"Detailed data about the submitted asynchronous task.","properties":{"get_result":{"description":"API information to query the task result","properties":{"method":{"description":"HTTP method","example":"GET","type":"string"},"url":{"description":"Full URL to query the task result","example":"https://api.modellix.ai/api/v1/tasks/task-abc123","type":"string"}},"type":"object"},"model_id":{"description":"Model ID","example":"model-123","type":"string"},"status":{"description":"Task status","enum":["pending","processing"],"example":"pending","type":"string"},"task_id":{"description":"Unique task identifier","example":"task-abc123","type":"string"}},"required":["status","task_id","model_id"],"type":"object"},"message":{"description":"Response message","example":"success","type":"string"}},"required":["code","message","data"],"type":"object"}}},"description":"Task submitted successfully"},"400":{"content":{"application/json":{"examples":{"invalid_duration":{"summary":"Invalid duration value","value":{"code":400,"message":"Invalid parameters: duration must be one of [6, 10]"}},"invalid_image":{"summary":"Invalid image format or size","value":{"code":400,"message":"Invalid parameters: image size exceeds 20MB or format not supported"}},"invalid_resolution":{"summary":"Invalid resolution for duration","value":{"code":400,"message":"Invalid parameters: 10 seconds duration only supports 768P resolution"}},"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"}}},"schema":{"properties":{"code":{"description":"Error code (equals HTTP status code)","example":400,"type":"integer"},"message":{"description":"Error message in format 'Category: detail'","example":"Invalid parameters: parameter 'prompt' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Invalid request parameters"},"401":{"content":{"application/json":{"example":{"code":401,"message":"Authentication failed: invalid API key"},"schema":{"properties":{"code":{"description":"Error code (equals HTTP status code)","example":400,"type":"integer"},"message":{"description":"Error message in format 'Category: detail'","example":"Invalid parameters: parameter 'prompt' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Unauthorized - Invalid or missing API Key"},"429":{"content":{"application/json":{"example":{"code":429,"message":"Rate limit exceeded: 100 requests per minute, retry after 60 seconds"},"schema":{"properties":{"code":{"description":"Error code (equals HTTP status code)","example":400,"type":"integer"},"message":{"description":"Error message in format 'Category: detail'","example":"Invalid parameters: parameter 'prompt' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Too many requests - Rate limit exceeded","headers":{"X-RateLimit-Limit":{"description":"Maximum requests per minute","schema":{"example":100,"type":"integer"}},"X-RateLimit-Remaining":{"description":"Remaining quota in current window","schema":{"example":0,"type":"integer"}},"X-RateLimit-Reset":{"description":"Rate limit window reset time (Unix timestamp)","schema":{"example":1704067260,"type":"integer"}}}},"500":{"content":{"application/json":{"example":{"code":500,"message":"Internal server error"},"schema":{"properties":{"code":{"description":"Error code (equals HTTP status code)","example":400,"type":"integer"},"message":{"description":"Error message in format 'Category: detail'","example":"Invalid parameters: parameter 'prompt' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Internal server error"}},"summary":"MiniMax H3 Max FL2V","x-mint":{"href":"minimax/minimax-h3-max-fl2v"}}}