Asset Upload and Management
Upload image, video, and audio assets with /api/assets/upload, then reference them in Seedance 2.0 tasks with asset:// URLs.
Seedance 2.0 image, video, and audio references can be uploaded to the asset library first, then reused in video generation requests with asset://<asset_id>. Asset APIs use the same user API key authentication as the rest of the API.
The asset upload API supports both domestic and overseas model versions. Domestic models do not need the model query parameter. For the overseas dreamina-seedance-2-0-fast-260128 model, add ?model=dreamina-seedance-2-0-fast-260128 so the request is routed to the matching overseas asset channel.
Endpoints
| Operation | Endpoint |
|---|---|
| Upload asset | POST /api/assets/upload |
| Get asset | GET /api/assets/{id} |
Upload Rules
Asset upload accepts URLs only. Base64 input is not supported for this endpoint.
| Type | Formats | Limits |
|---|---|---|
Image | jpeg, png, webp, bmp, tiff, gif, heic, heif | Aspect ratio 0.4 to 2.5; width or height 300 to 6000 px; under 30MB |
Video | mp4, mov | 480p or 720p; 2 to 15 seconds; aspect ratio 0.4 to 2.5; width or height 300 to 6000 px; up to 50MB; 24 to 60 FPS |
Audio | wav, mp3 | 2 to 15 seconds; up to 15MB |
Upload an Asset
Domestic Model
curl -X POST "$MODELSELL_BASE_URL/api/assets/upload" \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/image.png",
"asset_type": "Image",
"name": "Example image"
}'Overseas Model
curl -X POST "$MODELSELL_BASE_URL/api/assets/upload?model=dreamina-seedance-2-0-fast-260128" \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/image.png",
"asset_type": "Image",
"name": "Example image"
}'Save data.Id from the response:
{
"code": 0,
"message": "ok",
"data": {
"Id": "asset-20260325152211-vcchd"
}
}Get Asset Details
curl "$MODELSELL_BASE_URL/api/assets/asset-20260325152211-vcchd?model=dreamina-seedance-2-0-fast-260128" \
-H "Authorization: Bearer $MODELSELL_API_KEY"Example response:
{
"code": 0,
"message": "ok",
"data": {
"AssetType": "Image",
"CreateTime": "2026-03-25T15:22:11Z",
"GroupId": "group-20260324135506-xxxxx",
"Id": "asset-20260325152211-vcchd",
"Name": "Example image",
"ProjectName": "default",
"Status": "Active",
"URL": "https://example.com/image.png",
"UpdateTime": "2026-03-25T15:22:11Z"
}
}When the detail response has Status: "Active", the asset can be used in generation requests.
Use Assets in Video Generation
Official Seedance 2.0 content[] format:
{
"model": "doubao-seedance-2-0-260128",
"content": [
{
"type": "text",
"text": "Make the character dance"
},
{
"type": "image_url",
"image_url": {
"url": "asset://asset-20260325152211-vcchd"
},
"role": "reference_image"
}
],
"resolution": "480p",
"ratio": "16:9",
"duration": 5,
"watermark": false
}Generic /v1/video/generations format:
{
"model": "doubao-seedance-2-0-260128",
"prompt": "Make the character dance",
"image": "asset://asset-20260325152211-vcchd",
"duration": 5,
"size": "480p",
"metadata": {
"ratio": "16:9",
"watermark": false
}
}Video and audio assets use the same asset://<asset_id> format in metadata.video_url and metadata.audio_url.
Seedance 2.0 Generic Format
Previous Page
Video Generation
创建视频生成任务。该通用接口覆盖 HappyHorse、Seedance、Veo、万相等 `/v1/video/generations` 提供商。 使用 Seedance 2.0 时,通用字段会转换为官方 `content[]` 格式:`prompt` 转为文本内容,`image` 或 `images` 转为参考图片,`metadata.video_url` 转为参考视频,`metadata.audio_url` 转为参考音频,`size` 转为 `resolution`,`metadata.ratio` 转为 `ratio`。创建成功后保存返回的任务 ID,并通过 `GET /v1/video/generations/{task_id}` 轮询结果。