API Reference

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=0dl=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-media with confirm_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.