{"servers":[{"url":"https://api.modellix.ai/api/v1/skywork/skyreels-i2v"}],"post":{"description":"**[Core Function]** SkyReels Image-to-Video animates one or more keyframe images into a video guided by a text prompt. **[Strengths]** Supports a start frame, an end frame, and tagged mid-frames for keyframe control; optional audio, 480p/720p/1080p output, and fast/std modes. **[Best For]** Bringing a photo to life, first-last-frame transitions, and keyframe-driven storyboards. **[Limitations]** Do NOT use this for pure text-to-video (use skyreels-t2v) or for editing an existing video (use the Omni / video-to-video models). It requires at least one of first_frame_image, end_frame_image, or mid_frame_images; output is capped at 1080p and 15s, and fast mode supports only sound=false. **[Routing]** Provide first_frame_image to animate from a start image, add end_frame_image for a transition, or supply mid_frame_images (each tag must appear in the prompt as @tag) for keyframe guidance.","operationId":"skyreelsI2VAsync","requestBody":{"content":{"application/json":{"examples":{"firstFrame":{"summary":"Animate from a start image","value":{"duration":5,"first_frame_image":"https://example.com/portrait.png","mode":"std","prompt":"The man slowly turns toward the camera and smiles","resolution":"1080p"}},"keyframes":{"summary":"Keyframe guidance with mid-frame","value":{"duration":5,"end_frame_image":"https://example.com/end.png","first_frame_image":"https://example.com/start.png","mid_frame_images":[{"image_url":"https://example.com/mid.png","tag":"@image1","time_stamp":2}],"prompt":"The dragon in @image1 takes off and flies over the village"}}},"schema":{"description":"SkyReels image-to-video request. prompt is required; at least one of first_frame_image, end_frame_image, or mid_frame_images must be provided. Other fields fall back to provider defaults.","properties":{"duration":{"default":5,"description":"Video duration in seconds.","example":5,"maximum":15,"minimum":3,"type":"integer"},"end_frame_image":{"description":"End frame image URL (jpg/jpeg/png/gif/bmp).","example":"https://example.com/end.png","minLength":1,"type":"string"},"first_frame_image":{"description":"Start frame image URL (jpg/jpeg/png/gif/bmp).","example":"https://example.com/portrait.png","minLength":1,"type":"string"},"mid_frame_images":{"description":"Optional mid-frame keyframes. Each tag must be referenced in the prompt via @tag.","items":{"description":"A mid-frame keyframe reference.","properties":{"image_url":{"description":"Reference image URL (jpg/jpeg/png/gif/bmp).","example":"https://example.com/mid.png","minLength":1,"type":"string"},"tag":{"description":"Identifier starting with @, must also appear in the prompt (e.g. @image1).","example":"@image1","minLength":1,"pattern":"^@","type":"string"},"time_stamp":{"default":-1,"description":"Target time (seconds) of this mid-frame; -1 leaves it unspecified.","example":2,"type":"integer"}},"required":["tag","image_url"],"type":"object"},"type":"array"},"mode":{"default":"std","description":"Quality/performance mode. fast is quicker (sound must be false); std balances speed and quality.","enum":["fast","std"],"example":"std","type":"string"},"prompt":{"description":"Text description of the video to generate (max 1280 tokens).","example":"The man slowly turns toward the camera and smiles","minLength":1,"type":"string"},"prompt_optimizer":{"default":true,"description":"Enable automatic prompt expansion/optimization.","example":true,"type":"boolean"},"resolution":{"default":"1080p","description":"Output video resolution.","enum":["480p","720p","1080p"],"example":"1080p","type":"string"},"sound":{"default":false,"description":"Whether to generate audio. Not supported when mode=fast.","example":false,"type":"boolean"}},"required":["prompt"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"code":0,"data":{"get_result":{"method":"GET","url":"https://api.modellix.ai/api/v1/tasks/task-skyreels-i2v-001"},"model_id":"skyreels/skyreels-i2v","status":"pending","task_id":"task-skyreels-i2v-001"},"message":"success"},"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":{"example":"GET","type":"string"},"url":{"example":"https://api.modellix.ai/api/v1/tasks/task-abc123","type":"string"}},"type":"object"},"model_id":{"description":"Model ID in `provider/model` format","example":"skyreels/skyreels-i2v","type":"string"},"status":{"description":"Task status","enum":["pending","processing"],"example":"pending","type":"string"},"task_id":{"description":"Unique task identifier for polling","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":{"example":{"code":400,"message":"Invalid parameters: parameter 'prompt' is required"},"schema":{"properties":{"code":{"example":400,"type":"integer"},"message":{"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":{"example":400,"type":"integer"},"message":{"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":{"example":400,"type":"integer"},"message":{"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":{"example":400,"type":"integer"},"message":{"example":"Invalid parameters: parameter 'prompt' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Internal server error"}},"summary":"SkyReels Image-to-Video","x-mint":{"href":"skyreels/skyreels-i2v"}}}