Registers a video in your private asset library and outputs its asset_id, group_id and an asset:// URI, so a Seedance 2 or 2.5 reference can point at the asset instead of uploading the video each time. It needs Dreamina Seedance Advanced Creation Rights, the ModelArk API key, and the IAM access key and secret key saved in Settings → BytePlus (see API keys). It generates nothing, and you should only use videos you are authorized to use.
Reuse an existing asset group ID to add more assets of the same person: a virtual portrait (AIGC) group, or a verified real person's LivenessFace group. Leave empty to find or create the virtual portrait (AIGC) group named group_name. Real-person verification is a QR-code flow in the ModelArk console (BytePlus has no API for it), so unlike ComfyUI core's node this node does not start it: verify the person in the console, then paste the group ID here.
videooptional
VIDEO
Video to register as a personal asset. Leave unconnected to use video_url instead.
Advanced inputs (5)
Input
Type
Default
What it does
video_url
text
Public HTTPS URL of the video (mp4/mov), used instead of the video input: sent straight to CreateAsset without a Comfy.org upload.
group_name
text
ComfyUI Virtual Portraits
Used when group_id is empty: the virtual portrait (AIGC) group, matched by exact name and created if missing. Use one group per person.
asset_name
text
ComfyUI video
Name of the new asset.
project_name
text
default
ModelArk project that holds the asset library.
wait_until_active
on/off
on
Wait (up to 10 min) until the asset is Active and can be used in Seedance.
Video source: connect video, or set video_url to a public HTTPS link (mp4 or mov), not both. A connected video is uploaded to Comfy.org storage first (Comfy.org login needed). A link goes straight to the library.
Group: with a group_id, the asset joins that group. With an empty one, the node finds the AIGC group whose name is exactly group_name, or creates it. Use one group per person.
Real people: verify the person in the ModelArk console, then paste the group ID. The node cannot start that QR-code flow.
Waiting: with wait_until_active on, the node waits until the asset is Active. With it off, the asset is still Processing when the IDs come out.
A connected video must be 2 to 30 seconds long, 24 to 60 fps and at most 200 MB when the size is known. Each side must be 300 to 6000 px, the width to height ratio 0.4 to 2.5, and the total pixels 407,696 to 8,295,044. These are checked before any upload; a video_url is not checked here.
The node is not an output node. Connect at least one of its outputs to another node, or it does not run.
The same connected video, with the same group, project, account and asset_name, reuses its earlier asset while that asset still exists. This memory is cleared when ComfyUI restarts. A link in video_url is never deduplicated.
The node waits up to 10 minutes for Active, then stops with an error. The asset may still become Active: list it with Asset Library before you create it again.
Creating assets is rate limited by your rights tier: 3 requests per minute for Entry, 120 for Advanced and 300 for Premium.
Creation requests are not retried automatically, so a timeout cannot create a second asset.
Interrupting a run stops the node’s wait. An asset that was already created stays in your library.