ByteDance Dreamactor V2 Reference To Video (Channel Edition)
DreamActor V2 reference-to-video — a still and a driving clip, and the cloud does the acting
- images
- videos
- api_config
- video
- request_id
- urls
Reference-to-video is the trick that makes one actor play a thousand roles: you hand the model a photo of a face and a separate video of someone performing motion and expression, and it transfers the performance onto the reference identity. ByteDance's DreamActor V2 is one of the strongest open-weights takes on that task, and this node is the hosted "Channel Edition" - SiliconFlow runs it on their infrastructure so you get the whole pipeline in two inputs and one output, with nothing to download.
The honest framing first: character consistency is exactly where hosted video shines for most people. DreamActor-class models are heavy - the kind of thing that needs serious VRAM and a patient download. If you just want to test "does my character actually hold identity through motion," paying for a couple of cloud runs beats committing disk space and GPU hours to a model you might use twice. If you're already deep in local video workflows, you'd reach for the local weights instead; this node is the on-ramp.
Inputs and outputs
- images - required reference images. This is who the output actor is. A clear, front-facing, well-lit portrait gives the best identity lock; a busy group photo gives the model a dilemma. Multiple reference images can help lock consistency.
- videos - required driving video. This is what the reference actor does - the motion, expression, and camera work get mapped onto your reference. The tooltip just says "Video," but it's the performance source, so pick something with clean, unambiguous motion.
Outputs: video (a VIDEO tensor ready for a Save Video node), plus request_id and urls (JSON string of the output file URLs).
How it works
The standard BizyAir machinery: the pack uploads your images and video, submits them to the hosted dreamactor-2-0-base/reference-to-video endpoint, and polls until the render completes - video jobs are the slow ones in this pack, budget accordingly. The API key comes from BizyAirPlus settings or BIZYAIR_API_KEY. On failure with skip_error enabled, you get a short placeholder video with error text instead of a crash; the urls output still carries any original output URLs.
Where people get burned
- Reference quality decides everything. A grainy side-angle selfie will produce a grainy side-angle character, faithfully. This is the node where input hygiene pays off the most.
- Driving video and reference mismatch. Different lighting, wildly different face shape, and the identity transfer gets wobbly. Keep them as close as you can in framing.
- Video jobs time out. If your network or the hosted queue is slow, the node can exhaust its poll window. Check the console for the request_id - you can look the task up.
Install
With the pack:
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAirPlus.git
cd BizyAirPlus
python -m pip install -r requirements.txt
Restart ComfyUI, make sure BizyAirPlus is ON and keyed, wire in a Load Image and a Load Video, and send the cloud your first actor. It's the fastest way to feel what reference-to-video can do before you commit to running it at home.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | Reference images | |
| videos | VIDEO | Video | |
| api_configopt | BIZYAIR_OPENAPI_CONFIG | 单次请求覆盖base_url和api_key | |
| skip_erroropt | BOOLEAN | false | 开启后遇到错误不中断工作流,输出对应类型的错误占位符 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| request_id | STRING | — |
| urls | STRING | — |