Skip to content

Upload asset

Import an asset into a specified asset group. URL pulls a public HTTPS resource into the asset library (moderation / transcoding is handled server-side). On success, an AssetId is returned. In Create video, prefer referencing it as asset://{assetId} instead of repeating the public URL.

http
POST /v1/seedance/asset/CreateAsset

Headers

NameTypeRequiredDescription
stringYesRequest authentication. Use a Bearer Token, for example:
stringYesRequest content type. Must be set to

Request body

NameTypeRequiredDescription
stringYesAsset group ID from data.Id returned by Create asset group
stringYesPublic HTTPS URL of the asset to import
stringYesAsset type: , ,
stringYesAsset name

Request example

bash
curl -X POST https://octopusx.ai/v1/seedance/asset/CreateAsset \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
  "GroupId": "group-20260412163933-zwxdc",
  "URL": "https://example.com/source.webp",
  "AssetType": "Image",
  "Name": "child"
}'

Response example

json
{
  "state": 1,
  "data": {
    "Id": "asset-xxx",
    "task_id": "task_xxx"
  },
  "error": null
}

Response fields

NameTypeDescription
integerBusiness status. means success
stringAsset ID (). Reference as in generation requests
stringImport task ID for polling via Get asset
objectError information. on success