POST
https://octopusx.ai
/
v1
/
seedance
/
asset
/
CreateAsset
Upload Assets
curl --request POST \
  --url https://octopusx.ai/v1/seedance/asset/CreateAsset \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "GroupId": "<string>",
  "URL": "<string>",
  "AssetType": "<string>",
  "Name": "<string>"
}
'
{
  "state": 1,
  "data": {
    "Id": "asset-xxx",
    "task_id": "task_xxx"
  },
  "error": null
}

Upload Assets

Import assets into the specified asset group. URL is used to pull public HTTPS resources into the asset library (review/transcoding is handled by the server). After the import succeeds, AssetId is returned. In Create Video, it is recommended to reference it as asset://{assetId} instead of repeatedly providing the public URL.

Method and Path

POST /v1/seedance/asset/CreateAsset

Request Example

curl -X POST https://octopusx.ai/v1/seedance/asset/CreateAsset \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "GroupId": "group-20260415111540-w9pkb",
    "URL": "https://example.com/reference.webp",
    "AssetType": "Image",
    "Name": "child"
  }'

Response Example

{
  "state": 1,
  "data": {
    "Id": "asset-xxx",
    "task_id": "task_xxx"
  },
  "error": null
}
Asset processing is an asynchronous flow. Use the returned task_id to call Query Asset, and wait until Status becomes Active before using it for video generation.

Authentication

Authorization: Bearer YOUR_API_KEY

Body

GroupId
string
required
Asset group ID, from the data.Id returned by Create Asset Group.
URL
string
required
Public HTTPS URL of the asset to be imported.
AssetType
string
required
Asset type: Image, Video, Audio.
Name
string
required
Asset name.

Response

state
integer
Business status code.
data.Id
string
Asset ID, which can be written as asset://{Id} during video generation.
data.task_id
string
Import task ID, used for Query Asset.
error
object | null
Error information.