Generate a video
generate_videoMakes a short video with its own audio and stores it, ready to attach to a post. It takes a few minutes: over MCP or the API it may answer with status "processing" and a jobId instead of a mediaId; then call get_video_status with that jobId until it gives the mediaId, and only then save the draft. Say what it will cost first; video is the most expensive thing here and is charged by the second. Pass imageId to animate a picture the project already has - a product photo or one you generated - and it becomes the first frame. Structure the prompt with [VISUAL], [SPEECH], [SOUNDS] and [TEXT] sections; English is the language the model is validated in.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"prompt": "<prompt>"
},
"name": "generate_video"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | A model from list_video_models. | |
| prompt | Yes | What happens, what is said, what is heard. E.g. "[VISUAL] a hand lifts the jar... [SPEECH] Three plants, one minute. [SOUNDS] quiet kitchen". | |
| imageId | No | A picture in this project to animate; it becomes the first frame. | |
| seconds | No | How long. Shorter is cheaper and usually better. | |
| audioUrl | No | Narration or music to build the visuals around. | |
| imageUrl | No | A public picture to animate, if it is not one of ours. | |
| resolution | No | Defaults to 720p, which is right for a phone screen. Higher costs several times more; list_video_models has the rates. | |
| aspectRatio | No | 16:9, 9:16 for reels, TikTok and YouTube Shorts, 1:1, 4:3, 3:4, or auto to let the model choose. | |
| negativePrompt | No | What to keep out of it. | |
| ignoreProjectStyle | No | Make exactly this prompt, without the project's video template. Only when the user asks for something outside their usual look. |