Skip to main content

Video Format Requirements

This document outlines the video format requirements for uploading to various social media platforms via the API.

Automatic Video Transformation​

Our API automatically transforms videos to adapt them to the specifications of each social network. However, if you use this feature, the upload will take longer because the transformation is performed first before uploading to the platforms.

If you prefer faster uploads, you can pre-process your videos according to the specific requirements of each platform outlined in this document.

Video Encoding Compatibility​

Some video creation tools occasionally produce videos with encoding that Meta's systems don't accept. At times, their output needs to be re-encoded for compatibility.

One Solution: Re-encode with FFmpeg​

If your video uploads are failing, try re-encoding the video using FFmpeg, an open-source tool for video processing:

ffmpeg -i your_original_video.mp4 -c:v libx264 -preset medium -profile:v high -level 4.0 -pix_fmt yuv420p -c:a aac -movflags +faststart meta_compatible_video.mp4

This command converts your video to use the widely-compatible H.264 video codec and AAC audio codec, which Meta platforms accept.

Re-encoding "normalizes" your video to use standard encoding parameters that Meta's platforms are designed to process, without sacrificing quality. If you see these errors regularly, this simple step can save you frustration when sharing your creative content.

FFmpeg Installation and Usage​

Installation instructions:

  • macOS: brew install ffmpeg
  • Windows: winget install ffmpeg
  • Linux: sudo apt install ffmpeg (Ubuntu/Debian) or sudo dnf install ffmpeg (Fedora)

Parameters:

  • -c:v libx264: Uses H.264 video codec
  • -preset medium: Balance between encoding speed and quality
  • -profile:v high -level 4.0: Compatibility settings
  • -pix_fmt yuv420p: Standard pixel format for maximum compatibility
  • -b:v 5000k: Video bitrate (adjust as needed for quality)
  • -c:a aac: AAC audio codec
  • -b:a 192k: Audio bitrate
  • -movflags +faststart: Optimizes file for web streaming

TikTok Video Requirements​

  • Supported Formats: MP4 (recommended), WebM, MOV
  • Supported Codecs: H.264 (recommended), H.265, VP8
  • Framerate: Minimum: 23 FPS, Maximum: 60 FPS
  • Picture Size: Minimum: 360 pixels (height and width), Maximum: 4096 pixels (height and width)
  • Duration: Minimum: 3 seconds. Maximum via API: 10 minutes (600 seconds). Users may trim videos in the TikTok app.
  • Size: Maximum: 4 GB (Content Posting). Upload-Post rejects files over 3 GB before rehost (error_code=invalid_video_file). TikTok's own Business documentation states 1 GB; that number is false and is not our cap.
  • Caption: Up to 2,200 characters and 30 mentions
  • Custom cover image (tiktok_cover_image_url): JPG, JPEG, WebP or PNG, max 20 MB
  • Rate limits: 6 posts per minute and 15 posts per day per TikTok account

Instagram Video Requirements​

  • Container Format: MOV or MP4 (MPEG-4 Part 14)
    • No edit lists
    • Moov atom at the head of the file
  • Audio Codec: AAC
    • Maximum sampling rate: 48 kHz
    • 1 or 2 channels (mono or stereo)
    • Audio bitrate: 128 kbps
  • Video Codec: HEVC or H264
    • Progressive scan
    • Closed GOP
    • Chroma subsampling: 4:2:0
    • Video bitrate: VBR, maximum 25 Mbps
  • Frame Rate: 23-60 FPS
  • Image Size:
    • Maximum horizontal pixels: 1,920
    • Aspect ratio: 0.01:1 to 10:1
    • Recommended aspect ratio: 9:16 (to avoid cropping or white space)
  • Duration & Size:
    • Maximum duration: 15 minutes (Instagram increased from 90 seconds)
    • Minimum duration: 3 seconds
    • Maximum file size: 300 MB (feed/Reels). Stories video: 100 MB (error_code=invalid_video_file)

Note: Instagram now supports Reels up to 15 minutes in duration. The previous 90-second limit has been removed.

YouTube Video Requirements​

  • File Size: Maximum: 256 GB
  • Accepted MIME Types: video/*, application/octet-stream

Important: Custom thumbnails are not supported for YouTube Shorts; they only apply to standard YouTube videos.

LinkedIn Video Requirements​

  • File Size: Minimum: 75 KB, Maximum: 500 MB
  • Duration: Minimum: 3 seconds, Maximum: 30 minutes
  • Resolution:
    • Range: 256 x 144 to 4,096 x 2,304
    • Aspect ratio: 1:2.4 to 2.4:1
  • Technical Specs:
    • Frame rate: 10-60 fps
    • Bitrate: 192 kbps - 30 Mbps
  • Supported Formats: AAC, ASF, FLV, MP3, MP4, MPEG-1, MPEG-4, MKV, WebM, H264/AVC, Vorbis, VP8, VP9, WMV2, WMV3

Facebook Video Requirements​

Reels​

  • File Format: MP4 (recommended)
  • Resolution & Aspect Ratio:
    • Recommended: 1080 x 1920 pixels
    • Minimum: 540 x 960 pixels
    • Aspect ratio: 9:16
  • Duration:
    • 3-90 seconds
    • Maximum 60 seconds for page stories
  • Video Settings:
    • Frame rate: 24-60 fps
    • Chroma subsampling: 4:2:0
    • Closed GOP (2-5 seconds)
    • Compression: H.264, H.265, VP9, AV1
    • Progressive scan
  • Audio Settings:
    • Bitrate: 128 kbps+
    • Channels: Stereo
    • Codec: AAC (low complexity)
    • Sample rate: 48 kHz

Normal Page Videos​

Use facebook_media_type=VIDEO to upload regular videos to a Facebook Page. Normal page videos have more permissive requirements than Reels:

  • File Format: MP4 (recommended), MOV, AVI, and other common formats
  • Resolution: Up to 4096x4096 pixels, any aspect ratio
  • Duration: Up to 4 hours
  • File Size: Up to 10 GB
  • Thumbnails: Custom thumbnails are supported for Page videos (facebook_media_type=VIDEO) via the facebook_thumbnail file or the thumbnail_url parameter. See the Facebook Video Thumbnails API.

X (Twitter) Video Requirements​

  • Recommended Codec & Profile:
    • Video: H264 High Profile
    • Audio: AAC LC (Low Complexity)
  • Frame Rates:
    • Recommended: 30 FPS, 60 FPS
    • Maximum: 60 FPS
  • Resolution:
    • Recommended: 1280x720 (landscape), 720x1280 (portrait), 720x720 (square)
    • Dimensions: 32x32 to 1920x1920
  • Bitrate:
    • Minimum Video: 5,000 kbps
    • Minimum Audio: 128 kbps
  • Aspect Ratio:
    • Recommended: 16:9 (landscape/portrait), 1:1 (square)
    • Range: 1:3 to 3:1
    • Pixel Aspect Ratio: 1:1
  • Duration & File Size:
    • Standard accounts: up to 20 minutes / 8 GB
    • Premium / Premium Plus: up to 125 minutes / 16 GB
  • Technical Video Specs:
    • Pixel Format: YUV 4:2:0
    • GOP: Must not be open
    • Scan Type: Progressive scan
  • Technical Audio Specs:
    • Channels: Mono or Stereo (not 5.1 or greater)
    • High-Efficiency AAC: Not supported
  • Custom Thumbnails: Supported for Premium/Amplify users

Threads Video Requirements​

  • Container: MOV or MP4
    • No edit lists
    • moov atom at the front
  • Audio Codec: AAC
    • 48kHz sample rate maximum
    • 1 or 2 channels (mono/stereo)
    • Bitrate: 128 kbps
  • Video Codec: HEVC or H264
    • Progressive scan
    • Closed GOP
    • 4:2:0 chroma subsampling
  • Frame Rate: 23-60 FPS
  • Picture Size:
    • Max columns (horizontal pixels): 1920
    • Aspect ratio: 0.01:1 to 10:1 (9:16 recommended)
  • Video Bitrate: VBR, 100 Mbps maximum
  • Duration:
    • Max: 300 seconds (5 minutes)
    • Min: > 0 seconds
  • File Size: 1 GB maximum

Pinterest Video Requirements​

  • File Size: Maximum: 2 GB
  • Supported Formats: MP4, MOV, M4V
  • Duration: Minimum: 4 seconds, Maximum: 15 minutes
  • Aspect Ratio: Taller than 1.91:1 and shorter than 1:2. Recommended for standard video: 1:1 (square) or 2:3, 4:5 or 9:16 (vertical)

Reddit Video Requirements​

Reddit posting is currently unavailable. Uploads with platform[]=reddit return HTTP 503 error_code: "reddit_unavailable".

Bluesky Video Requirements​

  • File Size: Maximum: 300 MB
  • Supported Formats: MP4, MPEG, WebM, MOV
  • Duration: Minimum: 1 second, Maximum: 10 minutes
  • Frame Rate: 10-60 FPS
  • Resolution: Minimum: 360x360 px, Maximum: 1920x1920 px
  • Aspect Ratio: Automatically detected and passed as metadata
  • Daily video quota: 25 videos / 10 GB per day

Google Business Profile Video Requirements​

  • Duration: Maximum 30 seconds
  • File Size: Maximum 28 MB
  • Videos above ~12 MB are re-encoded. Above 28 MB / 30 s the upload is refused (MEDIA_LIMITS).

Discord Video Requirements​

  • Supported Formats: MP4, MOV, WebM (any video type Discord accepts)
  • Caption: Up to 2,000 characters, applied as the message content
  • Max File Size: Bounded by the upload limit of the target Discord server. The video is sent as a single message attachment.

Telegram Video Requirements​

  • Supported Formats: MP4, MOV (any video type Telegram accepts)
  • Caption: Up to 1,024 characters
  • Delivery: Sent via sendVideo by your connected bot. File size is bounded by the Telegram Bot API upload limit.

Google Business Profile Video Requirements​

  • Supported Formats: MP4 (H.264 video, AAC audio)
  • Duration: Up to 30 seconds. Longer clips are rejected with error_code: MEDIA_LIMITS.
  • File Size: Google documents 75 MB, but its API refuses much smaller files with an opaque internal error. Videos above 12 MB are re-encoded automatically (target ≈10 MB) before publishing, and the platform result carries a warnings entry when that happens. Anything still above 28 MB after the re-encode is rejected with error_code: MEDIA_LIMITS and a message naming the size.
  • Resolution: 720p or higher.
  • Tip: Export at a moderate bitrate. A 20-second clip at 15 Mbps is about 39 MB, which Google will not accept; the same clip at 4 Mbps is about 10 MB and publishes immediately, without the re-encode step.
  • Why the low ceiling: measured in production on 2026-09-06 — every hosted video of 30.9 MB or more was refused (38 of 38) and every one of 12.5 MB or less published (6 of 6), with identical container, codec and overlapping durations.