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.

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 identify 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/open/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/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"
}
FieldTypeDescription
upload_urlstringPre-signed URL for uploading the file
identifystringFile 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 identify value 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 new identify.

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.