Video
Create an audio asset
Add an audio track to an existing group for supported Seedance workflows.
Availability
Section titled “Availability”This page documents the Modelflare asset-management route. Calls require a valid media API key, an available media channel, and the required permission.
Endpoint
Section titled “Endpoint”POST https://modelflare.dev/volc/asset/CreateAsset
Authentication
Section titled “Authentication”Use a Modelflare API key:
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY"Send Idempotency-Key with create, update, and delete requests. Retrying the same key for the same user replays the saved response without repeating the mutation.
Request
Section titled “Request”Add an audio track to an existing group for supported Seedance workflows.
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
GroupId |
string |
Yes | Target asset group ID. | group-20260320141746-zsf6b |
AssetType |
Audio |
Yes | Must be Audio. |
Audio |
URL |
string |
Yes | Public URL, data URI, or raw Base64. WAV or MP3 only, 2–30 seconds, no more than 15 MB. | https://example.com/audio.mp3 |
file |
binary |
No | Multipart alternative to URL with the same audio constraints. |
audio.mp3 |
Name |
string |
No | Display/search name, up to 64 characters. | background-music |
model |
string |
Yes | Use volc-asset-audio for the standard route or volc-asset-audio-nsfw for the separately authorized sensitive-content route. |
volc-asset-audio |
ProjectName |
string |
No | Project name. It must match the target group; defaults to default. |
default |
JSON example:
{ "model": "volc-asset-audio", "GroupId": "group-20260320141746-zsf6b", "Name": "background-music", "AssetType": "Audio", "URL": "https://example.com/audio.mp3", "ProjectName": "default"}multipart/form-data example:
curl --request POST https://modelflare.dev/volc/asset/CreateAsset \ --header "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \ --form "model=volc-asset-audio" \ --form "GroupId=group-20260320141746-zsf6b" \ --form "file=@audio.mp3"Response
Section titled “Response”The audio has entered asynchronous processing. Poll GetAsset until Status is Active or Failed. There is no upload-time SLA; a typical audio file takes about 3–6 seconds, while a busy review queue can take roughly 10 seconds to 2 minutes.
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
Id |
string |
Yes | Asset ID. Use asset://<ID> only after the status is Active. |
asset-20260528140922-d9646 |
Response example:
{ "Id": "asset-20260528140922-d9646"}Errors
Section titled “Errors”| Status | Meaning |
|---|---|
400 |
The request is invalid. |
401 |
The API key is missing or unauthorized. |
Error body example (when returned):
{ "error": { "code": "invalid_request", "message": "Request validation failed." }}Image, video, and audio creation are asynchronous. After receiving an asset ID, call GetAsset and use the asset://<ID> reference only when the status is Active.