How to Upload Files
Upload images, videos, and audio files for use with WaveSpeedAI models.
Overview
Many models require input files (images for I2V, audio for lip sync, etc.). Upload your files to get URLs that can be used in API requests.
Upload Endpoint
POST https://api.wavespeed.ai/api/v3/media/upload/binarySupported File Types
| 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 |
Upload Methods
cURL
curl --fail-with-body --connect-timeout 10 --max-time 300 --request POST 'https://api.wavespeed.ai/api/v3/media/upload/binary' \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--form 'file=@"/path/to/your/image.png"'Response
{
"code": 200,
"message": "success",
"data": {
"url": "https://..."
}
}Using Uploaded Files
Use the returned URL in your model requests:
curl --fail-with-body --connect-timeout 10 --max-time 300 --request POST 'https://api.wavespeed.ai/api/v3/wavespeed-ai/wan-2.1-i2v-720p' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"prompt": "A cat walking",
"image": "https://...your-uploaded-image..."
}'Use the exact input field shown in the selected model’s schema. Image-to-video models generally use image, while other models may define a different media field.
File Size Limits
| Upload | Max Size |
|---|---|
| Single file | 1 GB |
Retention
Uploaded files are stored for 7 days and then automatically deleted.
Upload Quota and Acceptable Use
The upload service is intended only for files used as inputs to WaveSpeedAI inference workflows. Upload allowance is managed per account or organization and scales with legitimate inference activity. Normal upload-then-infer usage should not be affected by these limits.
Do not use the upload endpoint or returned URLs:
- As general-purpose file storage, hosting, or a CDN
- To distribute files unrelated to WaveSpeedAI inference
- To provide hosted inputs to other AI platforms, including competing services
Upload traffic that is excessive, automated without corresponding WaveSpeedAI inference, or otherwise inconsistent with this purpose may be rate limited or rejected. Repeated or deliberate abuse may result in suspension of upload or API access.
Tips
- Upload files before starting a generation workflow
- Use the returned URL immediately or store it for later use
- For large files, ensure stable network connection
API Reference
See How to Upload Files (API) for complete API documentation.