Short answer
Two questions, two answers:- No, it does not auto-upload. Reference images are NOT automatically pushed to the asset library when you call Seedance 2.0. You must separately upload through the asset library API to get an
asset://ID, then reference it in the video generation request. - Yes, the deepfake filter triggers. Reference images with realistic human faces passed directly will be blocked by upstream content safety. Sending real-person photos for video generation will fail.
- Virtual avatar (AI-generated realistic human, no real-world counterpart): use the “Virtual avatar ingest” path → get
asset://ID → reference it - Real human face (celebrity, model, end-user photo): complete liveness scan first → ingest with the person-specific
groupId→ getasset://ID → reference it - Output from Seedance in the last 30 days: can be used as a reference for re-creation (the platform-allowed path)
Detailed explanation
Why can’t I pass face images directly?
Seedance 2.0 cannot accept reference images with realistic human faces directly (deepfake filter). This is an upstream content-safety restriction, not an apiyi policy.The correct workflow
Determine the asset type
- Anime / stylized characters: no realistic face, no ingest required — pass a public URL or base64 directly
- Virtual avatars (AI-generated realistic humans): go through “Virtual avatar ingest” — fully automatic, no review
- Real human faces (celebrity, model, end-user): liveness scan is required first
Upload to the asset library to get an asset:// ID
- Web UI: upload at the icover.ai asset library, wait for status to become “Available”, copy the
asset://xxx - API: use
presign+POST /api/asset-library/assetsfor the full code path — see Asset reference end-to-end
Reference the asset ID in the video generation request
content, put asset://<Id> into image_url, and use “image 1” in the prompt to refer to the character. See Seedance 2.0 Video Generation API.- Asset library KEY (created at icover.ai): only for upload / ingest / list / delete
- APIYI SeeDance2 token (created at api.apiyi.com, must have the
SeeDance2group enabled): only for the video generation endpoint
Real-person asset special flow
Real-person photos cannot bypass the deepfake filter by “just uploading to the library” — the subject themselves must complete a liveness scan (log into their Volcano account and pass facial recognition). This locks down portrait rights at the source; no proxy is allowed.Generate the liveness link
Query the liveness result
groupIdIngest with the groupId
groupId. After the face-consistency check passes, you’ll receive the asset:// ID. The same subject reuses the same group for different looks — no re-verification neededFAQ
Do asset IDs expire?
Do asset IDs expire?
asset:// asset IDs are permanent — ingest once, reference forever. However, the content.video_url returned after a successful generation is a 24-hour signed URL — download and re-host immediately after the task succeeds.If a face-consistency check fails for one image, can I swap it for another?
If a face-consistency check fails for one image, can I swap it for another?
asset:// ID is asset-group level, not per-image — all images in the same group share the same ID.Is the asset library billed separately?
Is the asset library billed separately?
Why does passing a face image directly return 400?
Why does passing a face image directly return 400?
asset:// ID.