{"servers":[{"url":"https://api.modellix.ai/api/v1/skywork/skyreels-omni"}],"post":{"description":"**[Core Function]** SkyReels Omni is a reference-driven video model that generates or edits video using reference images (@image) and/or a reference video (@video), bound by tags in the prompt. **[Strengths]** A single endpoint covers motion reference, subject/background replacement, object insertion/removal, local editing, and video extension. **[Best For]** Video subject or background swap, motion transfer onto an image, object add/remove, local video edits, and extending a reference video. **[Limitations]** Do NOT use this for pure text-to-video (use skyreels-t2v) or simple single-image animation (use skyreels-i2v). Each ref tag must appear in the prompt as @tag; ref_videos supports only one video (<=15s); a reference-type video may combine only with image-type ref_images, while an extend-type video cannot combine with ref_images. When ref_videos is provided, aspect_ratio is ignored (output matches the video). **[Routing]** Provide ref_images (type grid or image) for image references and/or a single ref_videos entry (type reference for motion/edit, type extend for continuation); the reference tags must be used in the prompt.","operationId":"skyreelsOmniAsync","requestBody":{"content":{"application/json":{"examples":{"extend":{"summary":"Video extension","value":{"duration":8,"mode":"std","prompt":"Video extended @video1, someone walks over and sits on the sofa","ref_videos":[{"tag":"@video1","type":"extend","video_url":"https://example.com/clip.mp4"}]}},"imageReference":{"summary":"Multi-subject image reference","value":{"aspect_ratio":"16:9","duration":5,"mode":"std","prompt":"@Actor-1 walks through a rainy neon street at night","ref_images":[{"image_urls":["https://example.com/actor.png"],"tag":"@Actor-1","type":"image"}]}},"motionReference":{"summary":"Image + reference video (motion transfer)","value":{"mode":"std","prompt":"The girl in @image1 mimics the gestures of the woman in @video1","ref_images":[{"image_urls":["https://example.com/image1.png"],"tag":"@image1","type":"image"}],"ref_videos":[{"tag":"@video1","type":"reference","video_url":"https://example.com/motion.mp4"}]}}},"schema":{"description":"SkyReels Omni reference video request. prompt is required; provide ref_images and/or ref_videos to drive the reference-based task. Each ref tag must appear in the prompt as @tag.","properties":{"aspect_ratio":{"default":"16:9","description":"Video aspect ratio. Ignored when ref_videos is provided (output matches the reference video).","enum":["16:9","4:3","1:1","9:16","3:4"],"example":"16:9","type":"string"},"duration":{"default":5,"description":"Video duration in seconds. Overridden when ref_videos.type=reference (matches the reference video, up to 10s).","example":5,"maximum":15,"minimum":3,"type":"integer"},"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; must reference each ref tag via @tag (max 1280 tokens).","example":"The girl in @image1 mimics the gestures of the woman in @video1","minLength":1,"type":"string"},"prompt_optimizer":{"default":true,"description":"Enable automatic prompt expansion/optimization.","example":true,"type":"boolean"},"ref_images":{"description":"Reference image groups. All items must share the same type.","items":{"description":"An Omni image reference group.","properties":{"audio_url":{"description":"Optional voice/audio URL for this reference (only for type=image, <=15s).","example":"","type":"string"},"image_urls":{"description":"Image URLs (jpg/jpeg/png/gif/bmp). Count: type=grid requires exactly 1; type=image allows 1-5.","example":["https://example.com/image1.png"],"items":{"minLength":1,"type":"string"},"type":"array"},"tag":{"description":"Identifier starting with @, must appear in the prompt (e.g. @image1).","example":"@image1","minLength":1,"pattern":"^@","type":"string"},"type":{"description":"grid = a single grid/collage image (image_urls must contain exactly 1); image = subject/scene references (image_urls may contain 1-5).","enum":["grid","image"],"example":"image","type":"string"}},"required":["tag","type","image_urls"],"type":"object"},"type":"array"},"ref_videos":{"description":"A single reference video (<=15s).","items":{"description":"An Omni video reference.","properties":{"tag":{"description":"Identifier starting with @, must appear in the prompt (e.g. @video1).","example":"@video1","minLength":1,"pattern":"^@","type":"string"},"type":{"description":"reference = motion/edit reference (combine only with image-type ref_images); extend = video continuation (cannot combine with ref_images).","enum":["reference","extend"],"example":"reference","type":"string"},"video_url":{"description":"Video URL (MP4/MOV, <=15s).","example":"https://example.com/motion.mp4","minLength":1,"type":"string"}},"required":["tag","type","video_url"],"type":"object"},"maxItems":1,"type":"array"},"resolution":{"default":"1080p","description":"Output video resolution.","enum":["480p","720p","1080p"],"example":"1080p","type":"string"},"sound":{"default":false,"description":"Whether to generate audio. Not effective when using a video reference (the reference video's audio is used).","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-omni-001"},"model_id":"skyreels/skyreels-omni","status":"pending","task_id":"task-skyreels-omni-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-omni","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 Omni Reference Video","x-mint":{"href":"skyreels/skyreels-omni"}}}