When Do You Need Asset Management?
You only need to go through the asset management workflow in the following situations. For other reference inputs (standard images without faces, publicly accessible URLs), you can pass the URL directly in your generation request.
- When your reference images contain faces or virtual avatars — these require platform moderation before use and must be uploaded via the asset API.
- When you want to reuse the same reference media across multiple generation tasks — uploading once and referencing by
assetIdis more efficient than passing a URL repeatedly. - When you want to explicitly manage, audit, or delete uploaded reference media from your account’s asset library.
Seedance 2.0 Asset Workflow
1
Upload the asset
Send a
POST request to /kyyReactApiServer/kyyVideo2/asset/upload with the following body parameters:The API responds with an
assetId in the format asset-{timestamp}-{random}.2
Poll for Active status
Send a
GET request to /kyyReactApiServer/kyyVideo2/asset/{assetId} and check the status field in the response. Assets involving faces or virtual avatars are subject to a moderation review that may take additional time. Continue polling until the status is Active.3
Reference the asset in a generation task
Once the asset status is
Active, reference it in your Seedance 2.0 generation request using the asset://{assetId} URI format. Use the appropriate parameter depending on the asset type:first_imageorlast_image— for an image that anchors the first or last frame of the videoreferenceImages— for one or more style or subject reference imagesreferenceVideos— for a video reference clipreferenceAudios— for an audio reference track
"first_image": "asset://asset-20260330142158-q75m8"4
Delete the asset when done
When you no longer need the asset, send a
DELETE request to /kyyReactApiServer/kyyVideo2/asset/{assetId} to remove it from your library.SD2 Manxue Asset Workflow
SD2 Manxue uses a batch submission model — you can submit multiple image, video, and audio URLs in a single request. Each submitted asset receives its ownassetId for individual tracking.
1
Submit assets for review
Send a
POST request to /kyyReactApiServer/asset/sd2Manxue/assetUpload with arrays of URLs grouped by media type. You must include at least one non-empty array.The response includes an
items array where each entry contains its own assetId and an initial status of submitted.2
Poll for Active status
Send a
POST request to /kyyReactApiServer/asset/sd2Manxue/assetStatus with the assetIds array containing the IDs you want to check. Poll this endpoint until every asset you need reports a status of Active.3
Reference the assets in a generation task
Once all required assets are
Active, reference them using the asset://{assetId} URI format in your SD2 Manxue generation request parameters (for example, referenceImages, referenceVideos, or referenceAudios).