Nodes/comfyui-budgetpixel/OmniHuman 1.5 (BudgetPixel)
ComfyUI Node

OmniHuman 1.5 (BudgetPixel)

Make a still photo speak, with actual body motion

By budgetpixel-ai·Created about 17 hours ago·Updated about 12 hours ago· 3
OmniHuman 1.5 (BudgetPixel)
  • image
  • audio
  • video
output_resolution1080
prompt
force_rerunfalse

OmniHuman is the lip-sync node that goes beyond lips. BytePlus's OmniHuman 1.5 takes one image of a person - or a character, or a pet - and animates them to speak your audio with synchronized lips, facial expression and body motion. It's not a talking-head-with-frozen-shoulders job; the whole person moves. That's the difference between this and the pack's P-Video Avatar node, and it's why OmniHuman is the one to reach for when the performance matters.

It's a hosted API node, billed by the second of input audio at 135 credits per second, rounded up to whole seconds - so a 12.4-second clip bills as 13 seconds. It's the most expensive per-second rate in the pack, which makes it emphatically a "final render" tool rather than an iteration tool. The heavy lifting happens server-side; you just feed it an image and an audio track and get back a core VIDEO value.

The inputs

  • image (required) - the subject: a human portrait/face, character, or pet. jpg/png/webp, as a normal IMAGE connection.
  • audio (required) - the speech to lip-sync, mp3 or wav, up to 60 seconds and 5 MB. A core AUDIO connection.
  • output_resolution - 720 or 1080, and the tooltip is refreshingly honest: same price for both. So take 1080.
  • prompt - optional text to guide the animation style or actions. Worth using; it's how you get more than a static talking head.

Output is a single video socket - wire it to Save Video.

The billing math, spelled out

This is where people get stung, because the price is tied to the audio, not the output. A 60-second clip is 60 seconds × 135 credits = 8,100 credits. That's a big number, and it's entirely determined by the length of your audio track. Shorten the audio and the bill shrinks linearly - the inverse of the video nodes, where length_seconds controls cost. Before you commit, run the BudgetPixel Cost Estimate node with your actual audio duration. Also note the rounding: a 30.1-second clip bills as 31 seconds, so trimming just under a whole-second boundary actually saves you a full second of credits.

Install and issues

Install via ComfyUI Manager (search "BudgetPixel") or:

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

Restart, find it under Add Node → BudgetPixel → Lip Sync, and set your API key via BUDGETPIXEL_API_KEY or a budgetpixel.json file - no key widget, so shared workflows stay clean.

Standard pack caveats: a 2025+ ComfyUI for the VIDEO type, and interrupting a run abandons the local wait but the server-side job keeps going - and on this node, keeps billing per second. Also, quality tracks with the input: a clear, front-facing portrait works dramatically better than a profile or a busy background. Garbage in, expensive garbage out.

CategoryBudgetPixel/Lip Sync

Inputs (5)

NameTypeDefaultDescription
imageIMAGEThe subject to animate — a human face/portrait, character, or pet. A public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads. jpg/png/webp.
audioAUDIOThe speech/audio to lip-sync (mp3/wav, up to 60 seconds, max 5 MB). A public audio URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads.
output_resolutionoptCOMBO1080Output resolution (same price for both).
promptoptSTRINGOptional text prompt to guide the animation style or actions.
force_rerunoptBOOLEANfalse

Outputs (1)

NameTypeDescription
videoVIDEO