Video Uploads
File sizes, formats, upload methods
Upload Methods
Drag & Drop (File Upload)
Files upload directly to CDN via presigned URL. No file size limit — even 2.5GB videos work seamlessly.
Browser → Presigned URL → R2 CDN (direct upload)URL Input
Enter a public video URL. The system handles it differently based on scheduling:
- Immediate publish: URL used directly (no CDN copy, zero cost)
- Scheduled publish: Downloaded to CDN first (URL may expire before publish date)
API Upload
# Upload file
curl -X POST https://api.codivupload.com/v1/upload-media \
-H "Authorization: Bearer YOUR_KEY" \
-F "file=@video.mp4" \
-F "profile_name=my_brand"
# Or provide URL
curl -X POST https://api.codivupload.com/v1/upload-media \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/video.mp4", "profile_name": "my_brand"}'YouTube Shorts
YouTube automatically classifies a video as a Short if:
- Duration ≤ 60 seconds
- Aspect ratio is vertical (9:16) or square (1:1)
You can also explicitly set youtube_type: "shorts" or include #shorts in the title.
Note: Custom thumbnails are not supported for Shorts.
Google Drive & Dropbox URLs
CodivUpload automatically converts sharing URLs to direct download links:
- Google Drive:
drive.google.com/file/d/ID/view→ direct download - Dropbox:
dl=0→dl=1
Make sure the file is shared as "Anyone with the link".
Video Codec Requirements
CodivUpload does not transcode videos. Your file is sent to platforms exactly as uploaded — ensure it meets each platform's codec requirements before uploading.
- Container: MP4 is accepted by all 12 platforms. WebM is accepted by TikTok and YouTube only.
- Video codec: H.264 (AVC) is the safest choice across all platforms. TikTok also accepts VP9 (WebM).
- Audio codec: AAC recommended. MP3 is accepted by most platforms but may be rejected by TikTok.
- Frame rate: 24, 25, or 30 fps. Some platforms accept up to 60 fps for Shorts/Reels.
No transcoding: If a platform rejects your video due to codec incompatibility, re-encode locally before uploading. Tools like HandBrake (free) can convert to H.264/AAC MP4.
Processing & CDN
Uploaded files are stored on Cloudflare R2 CDN and served via edge nodes globally. Key behaviors:
- Files remain accessible for 30 days after last access. Accessing a file resets the timer.
- Presigned upload URLs expire after 15 minutes — start your upload promptly after requesting one.
- CodivUpload does not transcode videos — they are sent to platforms as-is.
- Scheduled posts keep the CDN URL alive until publish time. If you delete the file from R2 manually, the scheduled post will fail.
Troubleshooting
- Video stuck on "processing": Check that the file is a supported format (MP4/H.264) and within platform size limits. Large files (>500MB) may take several minutes to finalize. If it remains stuck after 10 minutes, re-upload.
- Upload timeout on large files: For files over 100MB, use the presigned URL flow (
POST /v1/upload-mediawithconfirm_upload) rather than direct multipart upload. This bypasses the 30-second API gateway timeout. - Platform rejected the video: The post status will show an error message with the platform's rejection reason. Common causes: wrong aspect ratio, file too large, unsupported codec, or audio missing.
See Platform Limits for maximum file sizes and durations per platform.