{ "model_id": "pruna/p-video-animate", "provider_id": "pruna", "name": "P-Video-Animate", "description": "Pruna's P-Video-Animate takes a source video and a subject reference image, then animates the referenced subject using the motion and audio from the source video.", "task": "Image-to-Video", "tags": [ "Video Generation", "Motion Transfer", "Animation" ], "context_length": null, "max_output_tokens": null, "schema_version": "1.0.0", "pricing": { "Default (per second)": 0.03, "@720p (per second)": 0.03, "@1080p (per second)": 0.06 }, "examples": [ { "name": "Motion Transfer", "description": "Animate a reference subject using the motion from a source video.", "input": { "video": "https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_1MB.mp4", "image": "https://huggingface.co/spaces/yisol/IDM-VTON/resolve/main/example/human/00121_00.jpg", "resolution": "720p", "target_fps": "original" }, "output": { "video": "https://examples.aig.cloudflare.com/pruna/p-video-animate/motion-transfer.mp4" }, "raw_response": { "state": "Completed", "result": { "video": "https://examples.aig.cloudflare.com/pruna/p-video-animate/motion-transfer.mp4" }, "gatewayMetadata": { "keySource": "Unified" } }, "code_snippets": [ { "label": "typescript", "language": "typescript", "code": "const response = await env.AI.run(\n 'pruna/p-video-animate',\n {\n video: 'https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_1MB.mp4',\n image: 'https://huggingface.co/spaces/yisol/IDM-VTON/resolve/main/example/human/00121_00.jpg',\n resolution: '720p',\n target_fps: 'original',\n },\n)\nconsole.log(response)" }, { "label": "curl", "language": "bash", "code": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \\\n --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\n \"model\": \"pruna/p-video-animate\",\n \"input\": {\n \"video\": \"https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_1MB.mp4\",\n \"image\": \"https://huggingface.co/spaces/yisol/IDM-VTON/resolve/main/example/human/00121_00.jpg\",\n \"resolution\": \"720p\",\n \"target_fps\": \"original\"\n }\n}'" } ] } ], "default_example": null, "code_snippets": [], "supports_async": false, "zdr": false, "zdr_comment": null, "external_info": "https://docs.api.pruna.ai/guides/quickstart", "terms": null, "cover_image_url": null, "metadata": { "Resolutions": "720p, 1080p", "Input Modalities": "Video + Image" }, "request_formats": null, "providers": null, "provider_details": [ { "id": "pruna", "pricing": { "default": 0.03, "720p": 0.03, "1080p": 0.06 } } ], "banner": null, "created_at": "2026-06-18 15:53:19", "schema": { "input": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "video": { "type": "string", "description": "Source RGB video (.mp4) used as the motion and audio source. HTTP(S) URL or data URI." }, "image": { "type": "string", "description": "Reference image of the subject to animate. HTTP(S) URL or data URI." }, "turbo": { "default": false, "description": "Turbo mode: faster generation for slightly lower quality.", "type": "boolean" }, "resolution": { "default": "720p", "description": "Target resolution.", "type": "string", "enum": [ "720p", "1080p" ] }, "save_audio": { "default": true, "description": "Save the video with audio.", "type": "boolean" }, "ignore_audio": { "default": false, "description": "Ignore source audio during generation.", "type": "boolean" }, "target_fps": { "default": "original", "description": "Target FPS for the working video.", "type": "string", "enum": [ "24", "48", "original" ] }, "instruction_prompt": { "default": "", "description": "Further instruction on how the reference subject should be animated.", "type": "string" }, "seed": { "description": "Random seed for reproducible generation.", "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "disable_safety_checker": { "default": false, "description": "Disable safety checker for generated videos.", "type": "boolean" } }, "required": [ "video", "image", "turbo", "resolution", "save_audio", "ignore_audio", "target_fps", "instruction_prompt", "disable_safety_checker" ], "additionalProperties": {} }, "output": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "video": { "type": "string", "format": "uri", "description": "Presigned URL for the animated video." } }, "required": [ "video" ], "additionalProperties": {} } } }