Skip to main content
POST
Import one publicly reachable source URL into a Seedance material group. TokenLab stores the material for later use; use the returned material asset id for generation, not the source URL. For library_type: "aigc_avatar", group_id is optional; TokenLab uses or creates the organization default virtual-avatar group. For library_type: "liveness_face", group_id is required and must be the TokenLab group returned by Get Visual Validation Result. TokenLab checks the source URL, media type, file size, and image dimensions when readable. Import acceptance does not mean the asset is ready: wait for ACTIVE and inspect error_message if processing fails. Other media and face requirements are evaluated during processing. Creation is asynchronous. Poll Get Material Asset until status is ACTIVE. For real-person groups, one group maps to one verified person; uploads with multiple faces or a face that does not match the verified person can fail. project_name isolates resources within the authenticated organization. It defaults to default; use the same case-sensitive value for related groups and assets. Send it in the JSON body for POST/PUT and in the query string for GET/DELETE.

Example Request

Example Response

Authorizations

Authorization
string
header
required

API Key authentication. Create or manage API keys in Dashboard > API > API Keys.

Body

application/json
asset_url
string<uri>
required

Publicly reachable source URL to import. TokenLab stores the material for later use; do not rely on this URL as the long-term material address.

asset_name
string

Optional display name stored with the material asset.

Required string length: 1 - 128
asset_type
enum<string>
default:Image
Available options:
Image,
Video,
Audio
library_type
enum<string>
default:aigc_avatar

Material library class. aigc_avatar is for virtual-avatar materials. liveness_face is for verified real-person materials.

Available options:
aigc_avatar,
liveness_face
group_id
string

TokenLab material group ID. Required for liveness_face materials; optional for aigc_avatar.

project_name
string
default:default

Project scope for the material asset. Assets and groups are isolated by project inside the authenticated organization.

Required string length: 1 - 128
metadata
object | null

Optional client metadata stored with the material asset.

Response

Material asset created

id
string
required

TokenLab material asset ID. Use this as material_asset_id after the asset becomes ACTIVE.

object
enum<string>
required
Available options:
seedance.material_asset
library_type
enum<string>
required
Available options:
aigc_avatar,
liveness_face
asset_type
enum<string>
required
Available options:
Image,
Video,
Audio
status
enum<string>
required
Available options:
PROCESSING,
ACTIVE,
FAILED,
DELETED
ready
boolean
required

True when the asset is active and not deleted.

group_id
string | null

TokenLab material group ID that owns this material asset.

project_name
string

Project scope for this material asset.

asset_name
string | null
error_message
string | null

Public-safe terminal processing error. Permanent source validation failures include the rejected dimension constraint.

metadata
object | null
created_at
integer

Unix timestamp when the material asset record was created.

updated_at
integer

Unix timestamp when the material asset record was last updated.