Overview
Generate a secure, time-limited upload URL for video files. This endpoint creates a presigned URL that allows you to upload files directly to our storage service. After uploading, you can immediately use the upload ID in project creation - validation happens automatically when the file is first used.
Request Body
Name of the file to upload (must include file extension)
File Requirements
Supported Formats MP4 and MOV files only
File Size Maximum: 5 GB per file
Filename Length Maximum: 1000 characters
Content Validation Files are validated when first used in a project
Response
Presigned URL for uploading the file (expires after a limited time)
Unique identifier for this upload
Name of the file as it will be stored
Type of file (“video”, “audio”, or “image”)
Size of the file in bytes (null until upload completes)
MIME type of the file (null until upload completes)
Current status of the upload (“upload”, “verified”, or “rejected”)
Unix timestamp when the upload record was created
Unix timestamp when the upload record was last updated
Example Request
cURL
JavaScript
Python
PHP
Go
Java
curl -X POST "https://public.reap.video/api/v1/automation/get-upload-url" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "my-presentation.mp4"
}'
Example Response
Upload Process
After receiving the upload URL, follow these steps:
1. Upload Your File
Use the provided uploadUrl to upload your video file:
cURL
Python
JavaScript
PHP
Go
Java
curl -X PUT "UPLOAD_URL_FROM_RESPONSE" \
-H "Content-Type: video/mp4" \
--data-binary @/path/to/your/video.mp4
The upload URL expires after a limited time. Upload your file immediately after receiving the URL.
2. Use in Projects
After uploading, you can immediately use the upload ID in project creation endpoints like:
File Validation
Files are validated when first used in a project. The validation process checks:
File Format Must be MP4 or MOV format with valid video streams
File Size Maximum size of 5 GB per file
Duration Limits Varies by project type (see individual project endpoints)
Video Quality Must contain valid video and audio streams
Upload Status Flow
“upload” - Initial status after file upload
“verified” - File validated successfully when first used in a project
“rejected” - File failed validation when first used in a project
Files remain in “upload” status until they are used in a project for the first time. Only then are they validated and marked as “verified” or “rejected”.
Rate Limiting
This endpoint is subject to the standard rate limit of 10 requests per minute .
Best Practices
You can use upload IDs immediately after uploading - no need to wait for verification
Use descriptive filenames to help identify uploads later
Keep track of upload IDs for future reference
Handle upload failures gracefully by requesting new upload URLs
To reuse files, use uploads with “verified” status from the Get All Uploads endpoint
Next Steps
After uploading your file:
Create a project using the upload ID (validation happens automatically):
For reusing files, check Get All Uploads for uploads with “verified” status