Create a real-person H5 validation session
Seedance Assets
Seedance Real-Person Asset Validation API
Create a Volcengine H5 real-person validation session, obtain the Asset Group ID, and upload real-person assets to that group for Seedance workflows
POST
Create a real-person H5 validation session
Overview
Use this flow when you need to upload real-person portrait assets into a private Seedance asset group. The validation step creates anAsset Group ID that is bound to one real person. After you get the GroupId, upload the person’s
image, video, or audio assets with Seedance Asset Upload API by passing group_id.
Flow
- Call
POST /api/v1/client/job/visual-validate-sessionwith yourcallback_url. - Open the returned
H5Linkfor the end user and complete real-person face validation. - After validation, the H5 page redirects to your
callback_urlwith result parameters such asbytedTokenandresultCode. - When
resultCodeis10000, callGET /api/v1/client/job/visual-validate-resultwith thebyted_tokento obtainGroupId. - Call Seedance Asset Upload API and pass the returned
GroupIdasgroup_id. The upload flow is then the same as regular asset upload. - Poll Seedance Asset Info API until
StatusbecomesActive, then use the returnedAssetIdin Seedance generation requests.
The H5 validation link is valid for 120 seconds. If validation fails or the link expires, create a new validation session.
Step 1: Create Validation Session
Call this endpoint to create a Volcengine H5 validation link.Request Body
Callback URL opened after the end user completes the H5 validation page. The callback receives validation result parameters.
Request Example
Response Example
Callback Parameters
After the user completes validation, the H5 page redirects to your callback URL. A successful callback commonly looks like:| Parameter | Description |
|---|---|
bytedToken | Unique credential for this validation. Use it as byted_token when querying the validation result. |
resultCode | Validation result. 10000 means validation passed. |
algorithmBaseRespCode | Service-side sub error code. Check it when resultCode indicates a server-side error. |
verify_type | Validation type. Current value is real_time. |
Step 2: Get Validation Result
Call this endpoint after the callback indicates that validation passed. It returns theGroupId created for this real
person.
Query Parameters
BytedToken returned by the validation session endpoint or bytedToken received in your callback URL.Request Example
Response Example
Step 3: Upload Assets To Group
Use the returnedGroupId as group_id when uploading assets:
Asset Group is bound to one real face. When an asset is uploaded to the group, the upstream service
compares the uploaded face with the baseline face collected during validation. The upload may fail if the asset is not
the same person or if multiple faces are detected.
Related Resources
Asset Upload
Upload image, video, and audio assets, including real-person assets with
group_idAsset Info
Query upload status and wait for the asset to become active
Authorizations
All APIs require authentication via API Key.
Get API Key:
- Visit API Key Management Page to get your API Key
Usage: Add to request header:
x-api-key: YOUR_API_KEY
Note:
- Keep your API Key secure and do not share it with others
- If you suspect your API Key has been compromised, reset it immediately in the management page
Body
application/json
Callback URL opened after the end user completes H5 validation. The callback receives validation result parameters such as bytedToken and resultCode.
Example:
"https://example.com/callback/seedance-visual-validation"
Response
Validation session created
Response status code
- 200: Success - Request has been processed successfully
- 401: Unauthorized - Authentication credentials are missing or invalid
- 402: Insufficient Credits - Account does not have enough credits to perform the operation
- 404: Not Found - The requested resource or endpoint does not exist
- 422: Validation Error - The request parameters failed validation checks
- 429: Rate Limited - Request limit has been exceeded for this resource
- 455: Service Unavailable - System is currently undergoing maintenance
- 500: Server Error - An unexpected error occurred while processing the request
- 501: Generation Failed - Content generation task failed
- 505: Feature Disabled - The requested feature is currently disabled
Available options:
200, 401, 402, 404, 422, 429, 455, 500, 501, 505 Response message, error description when failed
Example:
"success"
