{
"id": "asset-20260720123456-qn7wr",
"object": "seedance.material_asset",
"group_id": "group-20260720123456-vrt01",
"library_type": "aigc_avatar",
"asset_name": "Front view",
"asset_type": "Image",
"status": "PROCESSING",
"ready": false,
"error_message": null,
"metadata": null,
"created_at": 1782998400000
}{
"error": {
"message": "model: Model is required",
"type": "invalid_request_error",
"param": "model"
},
"validation_errors": [
{
"field": "model",
"message": "Model is required"
}
]
}{
"error": {
"message": "Invalid API key provided",
"type": "invalid_api_key"
}
}{
"error": {
"message": "<string>",
"type": "unauthorized",
"code": "<string>",
"param": "<string>",
"model": "<string>",
"did_you_mean": "<string>",
"suggestions": [
{
"id": "<string>"
}
],
"alternatives": [
{
"id": "<string>",
"status": "<string>",
"tags": [
"<string>"
]
}
],
"hint": "<string>",
"retry_after": 123,
"retryable": true,
"balance_usd": 123,
"estimated_cost_usd": 123,
"supported_operations": [
"<string>"
],
"supported_parameters": [
"<string>"
],
"required_selectors": [
"<string>"
],
"optional_selectors": [
"<string>"
],
"allowed_resolutions": [
"<string>"
],
"allowed_durations": [
"<string>"
],
"allowed_aspect_ratios": [
"<string>"
],
"prompt_max_characters": 123,
"recommended_request": {},
"request_endpoint": "<string>",
"request_shape_mode": "<string>",
"status_mode": "<string>",
"request_id": "<string>"
}
}{
"error": {
"message": "An internal error occurred",
"type": "server_error"
}
}{
"error": {
"message": "Seedance material library request failed",
"type": "server_error",
"code": "seedance_material_library_request_failed"
}
}Créer un actif matériel
Téléverse un actif matériel Seedance dans un groupe de matériel TokenLab.
{
"id": "asset-20260720123456-qn7wr",
"object": "seedance.material_asset",
"group_id": "group-20260720123456-vrt01",
"library_type": "aigc_avatar",
"asset_name": "Front view",
"asset_type": "Image",
"status": "PROCESSING",
"ready": false,
"error_message": null,
"metadata": null,
"created_at": 1782998400000
}{
"error": {
"message": "model: Model is required",
"type": "invalid_request_error",
"param": "model"
},
"validation_errors": [
{
"field": "model",
"message": "Model is required"
}
]
}{
"error": {
"message": "Invalid API key provided",
"type": "invalid_api_key"
}
}{
"error": {
"message": "<string>",
"type": "unauthorized",
"code": "<string>",
"param": "<string>",
"model": "<string>",
"did_you_mean": "<string>",
"suggestions": [
{
"id": "<string>"
}
],
"alternatives": [
{
"id": "<string>",
"status": "<string>",
"tags": [
"<string>"
]
}
],
"hint": "<string>",
"retry_after": 123,
"retryable": true,
"balance_usd": 123,
"estimated_cost_usd": 123,
"supported_operations": [
"<string>"
],
"supported_parameters": [
"<string>"
],
"required_selectors": [
"<string>"
],
"optional_selectors": [
"<string>"
],
"allowed_resolutions": [
"<string>"
],
"allowed_durations": [
"<string>"
],
"allowed_aspect_ratios": [
"<string>"
],
"prompt_max_characters": 123,
"recommended_request": {},
"request_endpoint": "<string>",
"request_shape_mode": "<string>",
"status_mode": "<string>",
"request_id": "<string>"
}
}{
"error": {
"message": "An internal error occurred",
"type": "server_error"
}
}{
"error": {
"message": "Seedance material library request failed",
"type": "server_error",
"code": "seedance_material_library_request_failed"
}
}id de l’actif matériel renvoyé pour la génération, et non l’URL source.
Pour library_type: "aigc_avatar", group_id est facultatif ; TokenLab utilise ou crée le groupe d’avatars virtuels par défaut de l’organisation. Pour library_type: "liveness_face", group_id est obligatoire et doit correspondre au groupe TokenLab renvoyé par Obtenir le résultat de validation visuelle.
| Type | Entrée prise en charge |
|---|---|
| Image | jpeg, jpg, png, webp, bmp, tiff, gif, heic, heif; ≤30 MiB; largeur et hauteur [300, 6000] px; rapport d’aspect [0.4, 2.5]. |
| Vidéo | mp4, mov; ≤200 MiB. |
| Audio | aac, wav, mp3; ≤15 MiB. |
ACTIVE et consultez error_message en cas d’échec. Les autres conditions relatives aux médias et aux visages sont vérifiées pendant le traitement.
La création est asynchrone. Interrogez Obtenir un actif matériel jusqu’à ce que le status soit ACTIVE. Pour les groupes de personnes réelles, un groupe correspond à une personne vérifiée ; les téléversements contenant plusieurs visages ou un visage ne correspondant pas à la personne vérifiée peuvent échouer.
project_name isole les ressources au sein de l’organisation authentifiée. Sa valeur par défaut est default ; utilisez la même valeur, sensible à la casse, pour les groupes et ressources associés. Envoyez-la dans le corps JSON pour POST/PUT et dans les paramètres de requête pour GET/DELETE.
Exemple de requête
curl https://api.tokenlab.sh/v1/videos/assets \
-H "Authorization: Bearer $TOKENLAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"library_type":"aigc_avatar","group_id":"group-20260720123456-vrt01","asset_url":"https://example.com/reference.png","asset_type":"Image","asset_name":"Front view","project_name":"default"}'
Exemple de réponse
{
"id": "asset-20260720123456-qn7wr",
"object": "seedance.material_asset",
"project_name": "default",
"group_id": "group-20260720123456-vrt01",
"library_type": "aigc_avatar",
"asset_name": "Front view",
"asset_type": "Image",
"status": "PROCESSING",
"ready": false,
"error_message": null,
"metadata": null,
"created_at": 1782998400000
}
Autorisations
Authentification par clé API. Créez ou gérez vos clés API dans Dashboard > API > API Keys.
Corps
URL source accessible publiquement à importer. TokenLab stocke le matériel pour une utilisation ultérieure ; ne vous fiez pas à cette URL comme adresse de matériel à long terme.
Nom d'affichage optionnel stocké avec l'actif matériel.
1 - 128Image, Video, Audio Classe de bibliothèque de matériel. aigc_avatar est pour les matériels d'avatar virtuel. liveness_face est pour les matériels de personne réelle vérifiée.
aigc_avatar, liveness_face ID de groupe de matériel TokenLab. Requis pour les matériels liveness_face ; optionnel pour aigc_avatar.
Portée du projet pour l'actif matériel. Les actifs et les groupes sont isolés par projet au sein de l'organisation authentifiée.
1 - 128Métadonnées client optionnelles stockées avec l'actif matériel.
Réponse
Actif matériel créé
ID d'actif matériel TokenLab. Utilisez ceci comme material_asset_id une fois que l'actif devient ACTIVE.
seedance.material_asset aigc_avatar, liveness_face Image, Video, Audio PROCESSING, ACTIVE, FAILED, DELETED True lorsque l'actif est actif et non supprimé.
ID de groupe de matériel TokenLab qui possède cet actif matériel.
Portée du projet pour cet actif matériel.
Erreur de traitement terminale sûre pour le public. Les échecs de validation de source permanents incluent la contrainte de dimension rejetée.
Horodatage Unix de création de l'enregistrement de l'actif matériel.
Horodatage Unix de la dernière mise à jour de l'enregistrement de l'actif matériel.