Nodes/ComfyUI_DICE_Talk/Dice_Talk_Loader
ComfyUI Node

Dice_Talk_Loader

Where a normal SVD checkpoint turns into a talking head

By smthemex·Created about a year ago·Updated about a year ago· 24
Dice_Talk_Loader
  • model
  • model
  • weight_dtype
dice_talk_unet
ip_audio_scale1.0
ip_emo_scale1.0
use_interframetrue
dtype

This is the entry point for the whole DICE-Talk pack, and it's the node that explains why the pack is built the way it is. DICE-Talk is a "correlation-aware emotional talking portrait" pipeline (arXiv 2504.18087): feed it a photo of a face and an audio clip, get back a video of that face speaking, with a mood you get to pick. The clever part is that the whole thing is bolted onto Stable Video Diffusion - same backbone as Sonic - so instead of shipping a giant monolithic checkpoint, the loader reassembles the model from parts. That's what happens here.

What this node is actually doing

The Loader takes a regular SVD checkpoint you load the ComfyUI way - that's the model input - and performs surgery on it. It converts the ComfyUI-format UNet into a diffusers one, then patches the DICE-Talk unet.pth state dict on top, adds two IP-Adapter-style adapters (one for audio, one for emotion - the ip_audio_scale and ip_emo_scale knobs), loads pose_guider.pth for the motion conditioning, and wraps the whole thing in a custom pipeline with an Euler scheduler. If use_interframe is on it also loads the RIFE optical-flow model that will double your frame count later.

So no, it doesn't "load" one model. It welds four of them together and hands you back a single ready-to-run MODEL_DICETALK.

The inputs that matter

  • model - the SVD checkpoint, fed from a normal loader. The example workflow uses ImageOnlyCheckpointLoader pointed at svd_xt.safetensors (or svd_xt_1_1), which conveniently also supplies the CLIP vision and VAE the next node needs. This is a big download, ~10GB, and it's the one thing the README assumes you can get from Stability's HF pages.
  • dice_talk_unet - the dropdown lists files in ComfyUI/models/dice_talk; pick unet.pth. The "none" option isn't a choice, it's an error trap: pick it and the loader raises "Please download the model first."
  • dtype - fp16 by default, with bf16 and fp32 available. Stick with fp16 unless you're chasing NaN on an older card, in which case fp32 is the reliable but twice-as-heavy option.
  • ip_audio_scale / ip_emo_scale - how strongly the audio and emotion conditioning push the generation, 0.5–2.0. Leave both at 1.0 until you have a baseline output.
  • use_interframe - RIFE frame interpolation. On, motion is smoother and the clip effectively runs at double the frame rate; off, it's faster and cheaper. You'll pay for it either way - more on that in the Sampler article.

What comes out

Two outputs, and both feed the next node, not a preview: model (MODEL_DICETALK) goes to Dice_Talk_Sampler, and weight_dtype (DTYPE) goes to Dice_Talk_PreData so the conditioning is built in the same precision as the model.

Installing the pack (and the models)

Same routine as any custom node:

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

Then restart ComfyUI. It's also searchable as "ComfyUI_DICE_Talk" in ComfyUI Manager. The requirements pull in diffusers, transformers, opencv-python, librosa, imageio-ffmpeg, omegaconf and einops - a genuinely heavy dependency list that has been known to collide with other custom nodes, so if ComfyUI stops booting after the install, the environment is the first suspect.

The models go here:

ComfyUI/models/dice_talk/
    ├── audio_linear.pth
    ├── emo_model.pth
    ├── pose_guider.pth
    ├── unet.pth
    ├── yoloface_v5m.pt
    ├── whisper-tiny/        # config.json + model.safetensors + preprocessor_config.json
    └── RIFE/flownet.pkl

with unet.pth and friends from EEEELY/DICE-Talk on HuggingFace, and the SVD checkpoint in ComfyUI/models/checkpoints. One genuinely nice touch from the author: if you already run his ComfyUI_Sonic pack, DICE-Talk detects the models/sonic folder and reuses its yoloface, whisper-tiny and RIFE files instead of making you download duplicates.

The gotchas

The Loader is where you find out whether you downloaded everything - the two most common failure modes are the "Please download the model first" error (missing unet.pth) and a slow, memory-hungry load. This is SVD-class, multi-GB model assembly; on 12GB cards you'll be living in fp16 and maybe Low-VRAM mode. Budget for a long first load and an even longer first render - the author's talking-portrait packs are usable, but they're not fast.

CategoryDice_Talk

Inputs (6)

NameTypeDefaultDescription
modelMODEL
dice_talk_unetCOMBO1 options: none
ip_audio_scaleFLOAT1.00.5–2
ip_emo_scaleFLOAT1.00.5–2
use_interframeBOOLEANtrue
dtypeCOMBO3 options: fp16, fp32, bf16

Outputs (2)

NameTypeDescription
modelMODEL_DICETALK
weight_dtypeDTYPE