View raw JSON
{
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"media"
],
"~standard": {
"vendor": "zod",
"version": 1,
"jsonSchema": {}
},
"properties": {
"seed": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"description": "Optional integer from 0 to 2147483647. Reusing a seed can reuse the random starting point, but does not guarantee identical video, motion or subject details."
},
"media": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"url"
],
"properties": {
"url": {
"type": "string",
"minLength": 1,
"description": "Required publicly accessible HTTPS URL for this material. Supply your actual eligible asset; HTTP links, local paths and Base64 input are not accepted."
},
"type": {
"enum": [
"first_frame",
"last_frame",
"driving_audio",
"first_clip"
],
"type": "string",
"description": "Required role: first_frame is the opening image; last_frame is the closing image; driving_audio supplies timing or lip-sync guidance; first_clip is a clip to continue. Images must be JPG/JPEG, PNG without alpha, BMP or WEBP, at most 20 MB, with each side 240–8000 pixels and aspect ratio 1:8–8:1. Audio must be WAV or MP3, 2–30 seconds and at most 15 MB. A starting clip must be MP4 or MOV, 2–10 seconds and at most 100 MB, with each side 240–4096 pixels and aspect ratio 1:8–8:1. Driving audio is only supported with opening-image combinations; accurate synchronization is not guaranteed."
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "Required nonempty array. Each material type may appear once. Use one of six combinations: first_frame; first_frame with driving_audio; first_frame with last_frame; first_frame with last_frame and driving_audio; first_clip; or first_clip with last_frame. A closing image or audio cannot be used alone, and a starting clip cannot be combined with a starting image or driving audio."
},
"prompt": {
"type": "string",
"maxLength": 5000,
"minLength": 1,
"description": "Optional text describing the desired motion, scene or style. If supplied, it must be nonempty and at most 5000 characters. Use specific camera and movement instructions; visual adherence is not guaranteed."
},
"duration": {
"type": "integer",
"default": 5,
"maximum": 15,
"minimum": 2,
"description": "Optional integer from 2 to 15 seconds, default 5. When continuing a clip, this bounds the total output including the original clip, rather than the added footage. Choose a value longer than the input clip to allow a continuation."
},
"watermark": {
"type": "boolean",
"default": false,
"description": "Optional boolean, default false. Set true to request an AI Generated watermark on the video."
},
"resolution": {
"enum": [
"720P",
"1080P"
],
"type": "string",
"default": "720P",
"description": "Optional 720P or 1080P, default 720P. Framing follows the opening image or starting clip, but resizing and encoding can cause slight aspect-ratio drift. This Tool has no separate aspect-ratio input."
},
"prompt_extend": {
"type": "boolean",
"default": true,
"description": "Optional boolean, default true. It lets the model rewrite and expand the description and can add processing time. Expansion does not guarantee improved quality or more accurate details."
},
"negative_prompt": {
"type": "string",
"maxLength": 500,
"description": "Optional text of at most 500 characters describing unwanted elements. It guides generation but does not guarantee that every named element will be absent."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}