P-Video-Avatar
Image-to-Video • Pruna AI
pruna/p-video-avatar
- Third-party
Pruna's P-Video-Avatar generates talking-head videos from a single portrait image driven by a text script or audio file, with multiple voices, languages, and output resolutions.
| Model Info | |
|---|---|
| More information | link ↗ |
| Pricing | <ul><li>Default (per second)$0.025</li><li>@720p (per second)$0.025</li><li>@1080p (per second)$0.045</li></ul> |
Usage
const response = await env.AI.run(
'pruna/p-video-avatar',
{
image: 'https://huggingface.co/spaces/yisol/IDM-VTON/resolve/main/example/human/00121_00.jpg',
voice_script: 'Hello, welcome to our product demo!',
voice: 'Zephyr (Female)',
resolution: '720p',
},
)
console.log(response)
curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "pruna/p-video-avatar",
"input": {
"image": "https://huggingface.co/spaces/yisol/IDM-VTON/resolve/main/example/human/00121_00.jpg",
"voice_script": "Hello, welcome to our product demo!",
"voice": "Zephyr (Female)",
"resolution": "720p"
}
}'
{
"state": "Completed",
"result": {
"video": "https://examples.aig.cloudflare.com/pruna/p-video-avatar/product-demo-greeting.mp4"
},
"gatewayMetadata": {
"keySource": "Unified"
}
}
Parameters
image
stringrequiredInput portrait image (first frame). HTTP(S) URL or data URI. Supports jpg, jpeg, png, webp.
audio
stringURL of uploaded audio to drive speech. HTTP(S) URL or data URI. If both audio and voice_script are provided, audio takes priority.
voice
stringrequireddefault: Zephyr (Female)enum: Zephyr (Female), Puck (Male), Charon (Male), Kore (Female), Fenrir (Male), Leda (Female), Orus (Male), Aoede (Female), Callirrhoe (Female), Autonoe (Female), Enceladus (Male), Iapetus (Male), Umbriel (Male), Algenib (Male), Despina (Female), Erinome (Female), Laomedeia (Female), Achernar (Female), Algieba (Male), Schedar (Male), Gacrux (Female), Pulcherrima (Female), Achird (Male), Zubenelgenubi (Male), Vindemiatrix (Female), Sadachbia (Male), Sadaltager (Male), Sulafat (Female), Alnilam (Male), Rasalgethi (Male)Voice for generated speech.
voice_script
stringrequireddefault: Script for the person to say when no audio is uploaded.
voice_language
stringrequireddefault: English (US)enum: English (US), English (UK), Spanish, French, German, Italian, Portuguese (Brazil), Japanese, Korean, HindiOutput language.
resolution
stringrequireddefault: 720penum: 720p, 1080pResolution of the video.
video_prompt
stringrequireddefault: The person is talking.Optional prompt for the video.
voice_prompt
stringrequireddefault: Say the following.Optional speaking style, tone, pacing or emotion instructions.
negative_prompt
stringrequireddefault: Mention what you do NOT want in the video. Disabled if empty.
strength_negative_prompt
numberrequireddefault: 0.5minimum: 0maximum: 4Strength of the negative prompt (0-4).
seed
integerminimum: -9007199254740991maximum: 9007199254740991Random seed for reproducible generation.
disable_safety_filter
booleanrequireddefault: trueDisable safety filter for prompts and input image.
disable_prompt_upsampling
booleanrequireddefault: falseWhen true, skip the prompt upsampler and pass the raw user prompt.
video
stringformat: uriPresigned URL for the generated avatar video.
API Schemas (Raw)
Was this helpful?
YesNo
On this page
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/ai/models/pruna/p-video-avatar/#page","headline":"P-Video-Avatar","description":"Pruna's P-Video-Avatar generates talking-head videos from a single portrait image driven by a text script or audio file, with multiple voices, languages, and output resolutions.","url":"https://developers.cloudflare.com/ai/models/pruna/p-video-avatar/","inLanguage":"en","image":"https://developers.cloudflare.com/og-docs.png","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
description: Pruna's P-Video-Replace takes a source video and one or more identity reference images, then places the referenced person or people into the video while preserving the source motion and audio. title: P-Video-Replace image: https://developers.cloudflare.com/og-docs.png
Documentation Index
Fetch the complete documentation index at: https://developers.cloudflare.com/llms.txt
Use this file to discover all available pages before exploring further.

