Video · Docs
Real-person video with IP authorization
ByteDance Seedance blocks prompts that reference real people or celebrities at the model layer. To generate video featuring a real person's likeness, the rights-holder must explicitly authorize a BytePlus RealFace asset, get ata_xxxxxxxx id, and pass it to the BlockRun videos API as real_face_asset_id.
Looking for an AI-generated character (no real person)?
Use a Virtual Portrait instead — same ta_xxx output, no KYC required, $0.50 USDC per enrollment, all in-product on BlockRun. RealFace (this page) is only needed when the face is a real person whose likeness rights must be verified.
Why this gate exists
Seedance ships with a server-side face-recognition and name-recognition filter that refuses unauthorized real-person prompts. There is no API parameter to bypass it — the filter is enforced by ByteDance directly. The only authorized path is BytePlus' RealFace asset library, which proves the rights-holder consented to their likeness being used.
BlockRun routes Seedance through Token360, which provides the enrollment H5 flow and asset management on top of BytePlus ModelArk. Today the enrollment itself happens in Token360's console, not inside BlockRun.
Enrollment, step by step
- Create a Token360 account. Sign up at token360.ai (it's free) and navigate to the Assets page in the console.
- Create a Real Face asset group. Pick a name that identifies the person (for your own records). Group kind:
REAL_FACE. - Generate the H5 verification link. Token360 returns a URL plus a QR code. The link expires in 120 seconds. If it expires before the rights-holder completes verification, just generate a new one.
- Have the rights-holder verify on their phone. They scan the QR (or open the URL on mobile), take a live verification selfie, and sign an authorization granting their likeness to your Token360 account. ID document upload is required as part of the verification — BytePlus handles the KYC, BlockRun never sees it.
- Copy the asset id. After verification, the new asset appears in the Assets table with an id like
ta_a1b2c3d4e5f6g7h8…. Click to copy.
Using the asset id with BlockRun
Pass real_face_asset_id on any Seedance 2.0 / 2.0 Fast call. Mutually exclusive with image_url — the asset id IS your first-frame reference.
curl -X POST https://blockrun.ai/api/v1/videos/generations \
-H "Content-Type: application/json" \
-H "x-payment: <signed-x402-payload>" \
-d '{
"model": "bytedance/seedance-2.0-fast",
"prompt": "She walks through a neon-lit Tokyo alley, smiling",
"real_face_asset_id": "ta_a1b2c3d4e5f6g7h8i9j0",
"duration_seconds": 5
}'The response is a job id you poll until the video is ready. Settlement only happens after generation completes — failed generations don't cost USDC.
Cost
RealFace-anchored calls use the same per-token pricing as any other Seedance call. Token360 doesn't charge a separate per-call IP fee; the only extra cost is the one-time H5 verification on enrollment (currently free on Token360 as of 2026-05).
Image-to-video pricing on Seedance 2.0 / 2.0-fast is discounted relative to text-to-video (per Token360's metering). Check the models page for current rates.
What this doesn't unlock
- Unauthorized celebrities. You can't enroll a person you don't have legal authorization from. Token360's H5 flow is gated on the rights-holder physically completing verification — there's no manual-review fallback.
- Trademark / IP characters. RealFace authorizes a person, not a fictional character or brand. Disney IP, named-character animation, etc. remain blocked.
- Seedance 1.5 Pro. Only Seedance 2.0 and 2.0-fast accept
real_face_asset_id. 1.5 Pro is text/image-only.
Troubleshooting
"Prompt blocked by Seedance copyright filter" even after passing real_face_asset_id? The most common cause is the prompt naming a different person than the one enrolled — Seedance cross-checks the name against the verified identity. Either remove the name from the prompt (just describe the scene) or enroll the correct person.
Asset id not found / 400 error? Confirm the id starts with ta_ and that the Token360 account the id belongs to is the same one whose API key BlockRun is using. Cross-account asset references aren't supported.