ComfyUI Node

P-Video-Avatar

Make a still image talk — P-Video-Avatar turns one face into a lip-synced clip

By Runware·Created 2 years ago·Updated about a month ago· 140
P-Video-Avatar
  • frameImages
  • speech
  • video
audio
positivePrompt
resolution720p
seed0
numberResults1
settings.promptUpsamplingfalse
safetyfalse
safety.checkContentfalse
safety.modefast
settings.safetyFiltertrue
settings.voicePromptSay the following.
ttlfalse
ttl_value60
outputFormatMP4
outputQuality95

P-Video-Avatar is a talking-head generator from Pruna AI, and it does one very specific job: take a single image of a person and animate them speaking. You feed it a face, tell it what to say (and how to say it), and get back a video where the mouth moves in sync with audio. If you've been assembling the same result out of a local I2V model plus a separately-synced voice track, this collapses the whole pipeline into one node.

It runs on Runware's cloud, so the VRAM question never comes up - Pruna's models are typically optimized for fast, cheap inference, which is the whole brand. The trade is the usual one for this pack: it's a billed API call per generation, and everything is sent to their servers.

What you set

frameImages is required - one or more IMAGE inputs of the person to animate. After that:

  • speech - a RUNWARE_SPEECH input with the text to say (this is a builder-socket type; a text string alone isn't enough, you'll want the Runware speech/params node upstream).
  • audio - alternatively, a URL or UUID of a real audio track to lip-sync against, if you already have the voice recorded.
  • settings.voicePrompt - delivery instructions: tone, pacing, emotion. Defaults to "Say the following." so your positivePrompt text becomes the script. This is how you get a flat read vs. an excited one.
  • resolution - 720p or 1080p; when you feed input media it auto-matches the input's aspect ratio.
  • seed - exposed here, so unlike some Runware video nodes you can reproduce a take. Set it, keep numberResults at 1, and the output is deterministic.

settings.promptUpsampling rewrites your prompt for better results, and settings.safetyFilter (default on) screens the prompt and input image before generation - turn it off only if you're hitting false flags on legit content.

Output is video (VIDEO socket) - wire it into a video preview/save node.

Installing

This is one node in the Runware/ComfyUI-Runware pack; install the pack and it appears under Runware/Video/prunaai.

ComfyUI Manager: search Runware, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt

No models to download (runware-sdk, pillow, soundfile are the whole dependency list). You need a Runware API key - runware.ai/api-keys, then ComfyUI Settings → Runware API key or RUNWARE_API_KEY.

Where people get burned

Two things trip people up. First, the required speech socket is easy to ignore - pasting text into positivePrompt alone doesn't drive the avatar unless it's wired through a RUNWARE_SPEECH input or you supply audio. Second, don't expect a documentary-grade clone: avatar models like this are great for explainers, characters, and quick dubs, and noticeably less great at preserving a specific real person's exact mannerisms. Also, since the whole thing runs remotely, don't feed it anything you wouldn't upload to a cloud service.

CategoryRunware/Video/prunaai

Inputs (17)

NameTypeDefaultDescription
frameImagesIMAGE
speechoptRUNWARE_SPEECH
audiooptSTRINGAudio input (UUID or URL).
positivePromptoptSTRINGText prompt describing elements to include in the generated output.
resolutionoptCOMBO720pResolution preset for the output. When used with input media, automatically matches the aspect ratio from the input.
seedoptINT00–2147483647Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
settings.promptUpsamplingoptBOOLEANfalseAutomatically enhance the prompt for improved results.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
safety.modeoptCOMBOfastSafety checking mode for video generation.
settings.safetyFilteroptBOOLEANtrueContent safety filtering on prompts and input image.
settings.voicePromptoptSTRINGSay the following.Speaking style, tone, pacing, or emotion instructions for delivery.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOMP4File format for the generated video.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

Outputs (1)

NameTypeDescription
videoVIDEO