Vídeo e materiais

Criar Ativo de Material

Faz o upload de um ativo de material Seedance para um grupo de materiais TokenLab.

POST
/v1/videos/assets

Importe uma URL de origem publicamente acessível para um grupo de materiais Seedance. O TokenLab armazena o material para uso posterior; utilize o id do ativo de material retornado para a geração, e não a URL de origem.

Para library_type: "aigc_avatar", o group_id é opcional; o TokenLab utiliza ou cria o grupo de avatar virtual padrão da organização. Para library_type: "liveness_face", o group_id é obrigatório e deve ser o grupo TokenLab retornado por Obter resultado da validação visual.

TipoEntrada suportada
Imagemjpeg, jpg, png, webp, bmp, tiff, gif, heic, heif; ≤30 MiB; largura e altura [300, 6000] px; proporção [0.4, 2.5].
Vídeomp4, mov; ≤200 MiB.
Áudioaac, wav, mp3; ≤15 MiB.

O TokenLab verifica a URL de origem, o tipo de mídia, o tamanho do arquivo e as dimensões de imagem legíveis. A aceitação da importação não significa que o ativo está pronto: aguarde ACTIVE e confira error_message em caso de falha. As demais condições de mídia e rostos são verificadas durante o processamento.

A criação é assíncrona. Consulte Obter Material Asset até que o status seja ACTIVE. Para grupos de pessoas reais, um grupo é mapeado para uma pessoa verificada; uploads com múltiplos rostos ou um rosto que não corresponda à pessoa verificada podem falhar.

project_name isola recursos dentro da organização autenticada. O padrão é default; use o mesmo valor, diferenciando maiúsculas e minúsculas, para grupos e ativos relacionados. Envie-o no corpo JSON para POST/PUT e na consulta para GET/DELETE.

Exemplo de Requisição

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"}'

Exemplo de Resposta

{
  "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}

Autorização

BearerAuth
AuthorizationBearer <token>

Autenticação por Chave de API. Crie ou gerencie chaves de API em Dashboard > API > API Keys.

Local: header

Corpo da requisição

application/json

Resposta

application/json

application/json

application/json

application/json

application/json

application/json