Upload
The Upload API lets you upload local video or audio files to WayinVideo. After uploading, use the returned file identifier as the video_url in other API endpoints (AI Clipping, Find Moments, Video Summarization, Video Transcription).
Subscription Required: Local file upload requires a Standard plan or above. Different subscription plans have limits on individual file size and total storage. See the Subscription Plans page for details.
File Size Limit: Single file size limit for local uploads: 5 GB. If you need a higher limit, please contact us at wayinvideo@wayin.ai.
Upload Flow
- Request a pre-signed upload URL by providing file metadata
- Upload the file directly to the pre-signed URL using a
PUTrequest - Use the returned
identifyvalue asvideo_urlin subsequent API calls
Get Upload URL
Request a temporary upload URL for a local file.
POST https://wayinvideo-api.wayin.ai/open/v2/upload/single-file
Request Body
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | — | File name with extension (e.g. "my-video.mp4") |
Example Request
curl -X POST https://wayinvideo-api.wayin.ai/open/v2/upload/single-file \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-d '{
"name": "sample-video.mp4"
}'
Response
{
"code": "0",
"data": {
"upload_url": "https://storage.example.com/upload/presigned-url...",
"identify": "file_abc123"
},
"message": "success"
}
| Field | Type | Description |
|---|---|---|
upload_url | string | Pre-signed URL for uploading the file |
identify | string | File identifier to use as video_url in other APIs |
Upload the File
Use the upload_url to upload your file with a PUT request. The @ in --data-binary is followed by the local file path:
curl -X PUT "https://storage.example.com/upload/presigned-url..." \
-H "Content-Type: video/mp4" \
--data-binary @/Users/me/Videos/sample-video.mp4
Use the Uploaded File
After uploading, pass the identify value as the video_url when submitting tasks.
Note: Each
identifyvalue is single-use — it becomes invalid once a task is submitted. To submit another task for the same file, you need to upload it again to obtain a newidentify.
curl -X POST https://wayinvideo-api.wayin.ai/open/v2/clips \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-d '{
"video_url": "THE_IDENTIFY_VALUE",
"enable_export": false
}'
Note: Pre-signed upload URLs expire after a limited time. Request a new URL if the upload is not completed promptly.