TokenLab

Vidéo & ressources

Créer un actif matériel

Téléverse un actif matériel Seedance dans un groupe de matériel TokenLab.

POST
/v1/videos/assets

Importez une URL source accessible publiquement dans un groupe de matériel Seedance. TokenLab stocke le matériel pour une utilisation ultérieure ; utilisez l' 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.

TypeEntrée prise en charge
Imagejpeg, jpg, png, webp, bmp, tiff, gif, heic, heif; ≤30 MiB; largeur et hauteur [300, 6000] px; rapport d’aspect [0.4, 2.5].
Vidéomp4, mov; ≤200 MiB.
Audioaac, wav, mp3; ≤15 MiB.

TokenLab vérifie l’URL source, le type de média, la taille du fichier et les dimensions des images lisibles. L’acceptation de l’import ne signifie pas que la ressource est prête : attendez 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
}
curl -X POST "https://example.com/v1/videos/assets" \  -H "Content-Type: application/json" \  -d '{    "asset_url": "https://example.com/reference.png",    "asset_name": "Front view",    "asset_type": "Image",    "library_type": "aigc_avatar",    "group_id": "group-20260720123456-vrt01"  }'
{  "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}

Autorisation

BearerAuth
AuthorizationBearer <token>

Authentification par clé API. Créez ou gérez vos clés API dans Dashboard > API > API Keys.

Emplacement: header

Corps de la requête

application/json

Réponse

application/json

application/json

application/json

application/json

application/json

application/json