X-Api-Key; no Volcengine access key or secret key is required.
Integration flow
- Create a verification session and store
bytedToken. - Send
shortLinkorh5Linkto the person being verified. - Complete the session from your backend with the same API key.
- Store the returned
RealPersongroup ID. - Create an asset and wait until its status is
Active. - Pass
asset://{assetId}to Seedance.
Create and complete verification
Call Create verification session:data.bytedToken. AiToEarn retains the session for 30 minutes. After verification, the browser redirects to your callbackUrl with bytedToken, resultCode, and other query parameters.
Your backend must still call Complete verification with the same API key:
data.groupId. Business code 12329 means the result is not ready; wait briefly and retry. The regular group creation endpoint returns avatarType: Virtual; a real-person group is created only by completing verification.
Create an asset
If the file is local or private, use Asset upload first. Then call Create asset:data.assetId. Query Asset details until the status becomes Active:
Processing means the asset is still being processed. Failed means you should check the source file and create a new asset.
Use the asset in Seedance
Send the following body toPOST /api/ai/video/generations with the same X-Api-Key:
- Keep one verified person per real-person group.
- Use clear face media and avoid multiple faces.
- Keep the source URL publicly accessible while processing.
- Match the asset type to
images,videos, oraudios. - Append only the asset ID after
asset://. - Use only
Activeassets.

