Media Upload API
Upload images, videos, and audio files to WaveSpeedAI for use in generation tasks. Returns a URL that can be passed to models accepting media inputs.
Endpoint
POST https://api.wavespeed.ai/api/v3/media/upload/binarySupported Formats
| Type | Formats |
|---|---|
| Images | JPG, JPEG, PNG, WebP, GIF, BMP, TIFF |
| Videos | MP4, AVI, MOV, WMV, FLV, WebM, MKV, 3GP, OGV |
| Audio | MP3, WAV, OGG, AAC, FLAC, WebM, M4A, Opus |
Note: The API accepts files up to 200 MB. For large files, a URL input is usually more reliable and avoids a long multipart upload.
Request
curl --fail-with-body --connect-timeout 10 --max-time 300 \
-X POST "https://api.wavespeed.ai/api/v3/media/upload/binary" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-F "file=@/path/to/your/image.png"
Response
{
"code": 200,
"message": "success",
"data": {
"type": "image",
"download_url": "https://...",
"filename": "image.png",
"size": 1024000
}
}Parameters
Request
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | Yes | Binary file to upload (image, video, or audio) |
Response
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (200 for success) |
| message | string | Status message |
| data.type | string | File type (image, video, or audio) |
| data.download_url | string | URL to use in generation requests |
| data.filename | string | Original filename |
| data.size | number | File size in bytes |
Upload Quota and Acceptable Use
Upload allowance is managed per account or organization and scales with legitimate WaveSpeedAI inference activity. Normal workflows that upload media and use it in WaveSpeedAI model requests should not be affected.
This endpoint and its returned URLs are provided only for WaveSpeedAI inference inputs. They must not be used as general-purpose storage or a CDN, for unrelated file distribution, or to host inputs for other AI platforms, including competing services. Excessive uploads without corresponding WaveSpeedAI inference may be rate limited or rejected, and repeated or deliberate abuse may result in suspension of upload or API access.