Upload

March 10, 2026

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

  1. Request a pre-signed upload URL by providing file metadata
  2. Upload the file directly to the pre-signed URL using a PUT request
  3. Use the returned identity value as video_url in 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

ParameterTypeRequiredDefaultDescription
namestringYesFile 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"
  }
}
FieldTypeDescription
upload_urlstringPre-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.
identitystringFile 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 identity is valid for 24 hours. When you have sufficient quota, you can use the same identity to 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
  }'