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.
Supported formats: You must upload a valid video file. Currently supported formats: avi, mp4, mov, webm. Uploading other formats may cause task processing to fail after submission.
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
identityvalue asvideo_urlin subsequent API calls
Get Upload URL
Request a temporary upload URL for a local file.
POST https://wayinvideo-api.wayin.ai/api/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/api/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
{
"data": {
"upload_url": "https://storage.example.com/upload/presigned-url...",
"identity": "file_abc123"
}
}
| Field | Type | Description |
|---|---|---|
upload_url | string | Pre-signed URL for uploading the file. This URL expires after 1 hour — please complete the upload within that time. If it expires, request a new URL. |
identity | 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
Note: If you upload again using the same
upload_url, the new file will overwrite the previous one. Each single file must not exceed 5 GB.
Use the Uploaded File
After uploading, pass the identity value as the video_url when submitting tasks.
Note: Each
identityis valid for 24 hours. When you have sufficient quota, you can use the sameidentityto submit multiple tasks within 24 hours.
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/clips \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-d '{
"video_url": "THE_IDENTITY_VALUE",
"enable_export": false
}'