Skip to main content
The Seedance real-person and virtual human asset APIs are hosted at https://yingtu.ai. All endpoints use a LaoZhang API key for Bearer authentication. A YingTu or Google session and a separate YingTu API key are not required.
Base URL: https://yingtu.aiAPI references:The YingTu references above define the authoritative request fields, response objects, error codes, and rate limits.

Capability Status

The represented person must complete the official H5 identity, consent, and liveness checks. A virtual character based on a real person also requires the relevant likeness, voice, name, trademark, and usage rights.

Authentication

Every asset endpoint uses a LaoZhang API key:
The caller does not need a YingTu session, Google session, or cookie. The API key validates the LaoZhang API account and available quota. Verification and asset records are bound to the API key that created them, so later retrieval and real-person creation requests must use the same key.
The API key should be read from a server-side environment variable such as LAOZHANG_API_KEY. The complete API key must not appear in browser code, URLs, logs, or support messages.

Endpoint Summary

Virtual Human Assets

Real-Person Assets

Virtual Human Asset Integration

Virtual human assets support digital people, brand characters, virtual hosts, and enterprise spokesperson workflows. Submit one public HTTPS image that can be fetched without authentication. Private, loopback, cookie-protected, and sign-in-protected image URLs are rejected.
A successful create response includes a public retrieval id, asset uri, and initial status:
Use id to retrieve asset status from YingTu. Use uri in the Seedance video task. Both values must be preserved exactly. Internal identifiers must not be constructed or decoded from the examples.

Real-Person Asset Integration

Real-person assets add a consent and liveness step before asset creation. The API caller can initiate this flow inside its own product, but the verification_url must be delivered to the represented person.
1

Create a verification session

Call POST /api/seedance-assets/real-persons/verifications with an HTTPS callback_url. The optional language is zh, en, or zh-Hant; the default is zh.
2

Have the represented person complete verification

Securely deliver the one-time verification_url to that person. It expires after 30 minutes and must not be logged or stored long term.
3

Retrieve the verification result

Read verification_id from the callback and retrieve its status. A pending retrieval still returns HTTP 200. Create the asset only after the status is verified.
4

Create and retrieve the real-person asset

Submit a public HTTPS URL for a clear front-facing image of the same person. Retrieve the returned public id until the asset becomes Active.
Create the verification session:
Create the real-person asset after verification:
An ordinary image_url cannot replace the dedicated real-person asset flow. Workflows that preserve a real identity or person consistency must first complete verification and obtain an Active real-person asset URI.

Retrieve Asset Status

Both asset types use the public id from the create response. For example:
A failed asset-processing result may still use HTTP 200 with status=Failed and a failure object. Do not treat the HTTP status alone as proof that an asset is ready.

Reference Assets In A Seedance Video Task

After the real-person or virtual human asset becomes Active, add its complete asset://... URI to content as a reference_image. Video generation continues through the LaoZhang Seedance 2.0 Video Generation API:
Asset creation and retrieval use https://yingtu.ai/api/seedance-assets/.... Video task creation and result retrieval continue to use https://api2.laozhang.ai/seedance/api/v3/.... The two domains serve different steps, but both use the LaoZhang API key.

Limits, Errors, And Acceptance

  • Each API key can make up to 12 create-operation POST requests per hour. Asset-status GET requests are not counted. On 429, wait for Retry-After.
  • A real-person verification link is valid for 30 minutes. An expired session returns 410 verification_expired and must be recreated.
  • Creating a real-person asset while verification is still pending returns 409 verification_pending.
  • 403 capability_unavailable means the server-side account does not have private portrait-asset entitlement. Changing the image does not resolve this error.
  • Every success and error response includes request_id. Support diagnostics should include this value but must not include the complete API key.
  • Integration acceptance requires an Active retrieval result and successful use of the returned asset://... URI in a Seedance task.