ComfyUI Node

HeyGen Video Agent

A talking-head avatar in ComfyUI — 1,288 avatars on tap

By Runware·Created 2 years ago·Updated about a month ago· 140
HeyGen Video Agent
  • image
  • video
positivePrompt
size720p (16:9)
durationfalse
duration_value5
numberResults1
avatar(default)
safetyfalse
safety.checkContentfalse
safety.modefast
ttlfalse
ttl_value60
outputFormatMP4
outputQuality95

HeyGen is the company that made AI avatar videos a commodity - the "person talking to camera from a text prompt" thing you've seen everywhere from marketing demos to internal training videos. The HeyGen Video Agent node brings that into ComfyUI: you describe what the presenter should say and do, pick an avatar, and the node returns a VIDEO of a synthetic presenter speaking. This is not a diffusion video model; it's a completely different beast, and knowing the difference is half the battle.

Where a model like Wan or SkyReels generates whatever scene you prompt, HeyGen generates a person delivering your message - with lip-sync to generated speech, realistic micro-expressions, and a choice of 1,288 preset avatars. If your workflow needs "here's a video of a person explaining X," this node is dramatically more reliable than trying to get a diffusion model to render a believable talking face with matching audio. That's a genuinely hard problem locally; HeyGen has spent years on exactly it.

How it works

It sends a videoInference request to Runware, which fronts HeyGen's avatar pipeline: the prompt becomes the script and direction, the chosen avatar supplies the identity, and the result comes back as a VIDEO (or a saved file path on older ComfyUI). There's also an image input - that's the photo-avatar path, where you feed a face and HeyGen animates it.

Inputs that matter

  • positivePrompt (required) - this is your script and direction in one. Describe what the presenter should say (you can write the actual lines) and how they should act ("explain confidently, use hand gestures"). The better the script, the better the video - this is text-driven.
  • avatar - the headline control: a dropdown of 1,288 avatar IDs like Abigail_expressive_2024112501, Aditya_public_1, or the (default). Name patterns hint at what you're getting (pose, setting, public/expressive). There's no search box - scroll or know your ID.
  • image - an IMAGE input for photo/video avatar creation from your own face. This is the "clone me" path; feed a clean, front-facing shot.
  • duration - off-by-default gate with duration_value (5–300 seconds). Want a 3-minute explainer? That's the range where HeyGen shines over diffusion video.
  • width / height - 1024 default; set the canvas for your target (16:9 for YouTube, 9:16 for shorts).
  • numberResults (1–4) - takes with different seeds. Avatar videos are expensive to generate; 1–2 is plenty.
  • safety.mode - none / fast / full (with safety.checkContent). Deepfake-adjacent tech draws moderation; pick your tolerance.
  • outputFormat / outputQuality - MP4 (default), WEBM, MOV, and compression quality.

Single output: video.

Installing

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

Or ComfyUI Manager → search Runware → install → restart. API key via Settings, RUNWARE_API_KEY, or runware auth login.

The honest caveats

First, cost: avatar video is one of the pricier things in the pack, and 300-second clips are a real bill - the title bar shows you exactly what each run costs, and it's worth watching. Second, content policies: synthetic presenter video is exactly the technology that draws deepfake scrutiny, so the safety knobs and the provider's moderation are part of the deal; don't plan around using a real person's likeness without consent. And third, manage expectations on control - you direct the presenter through text, but you don't get frame-level control the way you would with a diffusion pipeline. It's a different tool for a different job, and for "talking head that says the thing," it's the right tool.

CategoryRunware/Video/heygen

Inputs (14)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
imageoptIMAGE
sizeoptCOMBO720p (16:9)Output size. Only one of resolution or dimensions is sent.
durationoptBOOLEANfalseEnable to set duration. Off uses the model's default.
duration_valueoptINT55–300Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps).
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
avataroptCOMBO(default)HeyGen avatar ID for a photo or video avatar.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
safety.modeoptCOMBOfastSafety checking mode for video generation.
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