When consent applies
Consent is only requested when both are true:- The model is a face-eligible Seedance variant:
seedance-2-0-image-to-video,seedance-2-0-reference-to-videoseedance-2-0-fast-image-to-video,seedance-2-0-fast-reference-to-video
- The submitted media actually contains a detectable human face, in any of these fields:
image_url,end_image_url,reference_image_urls,reference_video_urls.
Consent does not unlock restricted content. A detected minor combined with sexually-suggestive prompts/NSFW, or a recognizable public-figure likeness, is rejected as a content-policy violation (
422) and cannot be made acceptable by attesting consent.The two-call flow
Call 1 — submit without consent
Submit your generation request as usual — no consent field:409:
No credits or x402 payment are charged on a
409.
Call 2 — resubmit with consent
Resend the same request body, adding aconsents.seedance object with three confirmations, all true:
POST /api/v1/video/retrieve with the queue_id as usual (see Video Generation).
The consent object
Returning requests (dedupe)
If you submit the exact same media bytes you have already attested to, the API recognizes it and proceeds without asking for consent again — you can omitconsents.seedance on subsequent identical submissions. This match is by exact image bytes: re-encoding, resizing, or cropping produces different bytes and will prompt for consent again.
A partial match (one previously-attested input plus one new face input) still requires a fresh consents.seedance on the new submission.
Revocation
To revoke consent and erase stored face assets, sign in to the Venice web app (Settings). Revocation is not available through the public API. After revoking, the next request using that media will prompt for consent again.Payment
The consent decision always happens before any charge, for both payment methods:- API key: a
409/422returns before the credit charge; nothing is billed for a blocked request. - x402: the consumption charge runs only after a successful generation, so a
409/422settles nothing. Re-submit with consent (and a fresh x402 authorization) to proceed.
Error reference
References
- Video queue endpoint:
POST /api/v1/video/queue - Seedance 2.0 Guide — variants, workflows, prompt syntax, limits
- Video Generation — queue / polling overview