VEED Fabric 1.0 (Replicate)
VEED Fabric 1.0 — the three-input talking head
- image
- audio
- video_path
Of the four lipsync nodes in Replicate Select, this is the simplest, and sometimes simple is the point. VEED Fabric 1.0 takes exactly three things - an image, an audio clip, and a resolution - and produces a video of that person's face talking to your audio. No script field, no voice synthesis, no mode selector, no temperature knob. It's the "just make the avatar say this" button, and for a quick talking-head render it's exactly what you want.
VEED is a video-editing SaaS, and Fabric is its avatar model, so you're getting a commercial-grade lipsync on Replicate's hardware. Because the audio is a required input, the workflow that makes sense here is: generate the speech somewhere else (say, the pack's MiniMax or ElevenLabs TTS nodes, which output native AUDIO), then feed it in. That's the pipeline the pack was designed around - TTS → AUDIO → lipsync via upload - and Fabric is where that chain lands.
How it works
Standard engine around veed/fabric-1.0. Your image goes up as PNG, your audio goes up as WAV, and the model animates the face to match. The output downloads as an MP4 saved to output/video/, and the node returns video_path as a STRING (it's an output node, so the clip also shows in UI history). The one input you'll touch beyond image and audio is resolution: 480p or 720p (default).
That's the whole input surface:
- image (required) - the face to animate.
- audio (required) - what it says.
- resolution - 480p or 720p.
Output: video_path, a STRING.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Pharma-Lobby/ComfyUI-Replicate-Select
Or ComfyUI Manager → Install Custom Nodes → "Replicate Select", restart. Dependency: replicate>=1.0.7. Auth via environment variable:
export REPLICATE_API_TOKEN=r8_...
Where people get burned
- The face has to be a good input. A small or low-quality input image gives you a small, low-quality avatar. Feed it a clean, front-facing headshot if the result matters.
- It doesn't make the voice. There's no text field - if you expected "type what it should say," that's the TTS nodes' job upstream. This node only moves lips.
- The 480p floor. Resolution tops out at 720p here. Fine for drafts and social clips; not your print-fidelity option.
- Path, not tensor.
video_pathis a STRING; the video is a file inoutput/video/. Load it with a video node if you need frames downstream.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | Image to generate video from | |
| audio | AUDIO | Audio to generate video from | |
| resolutionopt | COMBO | 720p | Resolution of the generated video |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | — |