Video Posts

Dynamic, high-impact video content for social networks. Video posts drive significantly more views and shares than static media, and the Publer API makes it easy to upload, configure, and schedule videos across multiple platforms.

Overview

Programmatically create and schedule video content—standard uploads, short-form (Reels/Shorts/Stories), and rich metadata (titles, descriptions, custom thumbnails)—while meeting each network’s format rules and size limits.

Key Capabilities

  • Cross-Platform Publishing One API call to distribute videos to Facebook, Instagram, YouTube, TikTok, LinkedIn, and more.

  • Format Versatility Support for standard videos, short-form (Reels, Shorts), and Stories.

  • Rich Metadata Attach titles, captions, and custom thumbnail selections.

  • Advanced Scheduling Schedule per time zone or publish immediately; poll job status for completion.

Platform Support & Specifications

Network
Video Types
Duration
Size Limit
Aspect Ratio
Additional Features

Facebook

Standard, Reels, Story

Standard: up to 5 h Reels: 3–90 s Stories: ≤60 s

< 2 GB

Flexible

Auto-captions, premiere scheduling

Instagram

Feed, Reels, Story

Feed: any Reels: 3 s–15 min Stories: ≤60 s

< 1 GB

1.91:1–4:5 (feed) 9:16 (Reels/Stories)

Location tagging, first comment

YouTube

Standard, Shorts

Standard: up to 12 h Shorts: up to 3 min

< 2 GB

16:9 (standard) 9:16 (Shorts)

Custom thumbnails, tags, categories

TikTok

Standard

3 s–10 min

< 2 GB

9:16 (recommended)

Sound attribution

LinkedIn

Standard

3 s–15 min

< 2 GB

1:2.4–2.4:1

Native profile/page posting

Pinterest

Standard

4 s–15 min

< 2 GB

Twitter/X

Standard

Up to 10 min

< 512 MB

Flexible

Alt text support

Telegram

Standard

Unlimited

< 50 MB

Flexible

Mastodon

Standard

Unlimited

< 40 MB

Up to 1920×1200 px

Threads

Standard

Up to 5 min

< 1 GB

Flexible

Bluesky

Standard

Up to 3 min

< 50 MB

Flexible

Request Structure

Schedule a video post using the unified scheduling endpoint:

{
  "bulk": {
    "state": "scheduled",
    "posts": [
      {
        "networks": {
          "facebook": {
            "type": "video",
            "media": [
              {
                "id": "67da8532075cdb33821384c4",
                "thumbnails": [
                  {
                    "id": "67da852b075cdb33821384ba",
                    "small": "https://.../thumb_67da852b075cdb33821384ba.jpg",
                    "real":  "https://.../67da852b075cdb33821384ba.jpg"
                  },
                  {
                    "id": "67da852c075cdb33821384bb",
                    "small": "https://.../thumb_67da852c075cdb33821384bb.jpg",
                    "real":  "https://.../67da852c075cdb33821384bb.jpg"
                  }
                ],
                "title": "My Video Title",
                "default_thumbnail": 1
              }
            ],
            "text": "Optional description or caption"
          }
        },
        "accounts": [
          {
            "id": "YOUR_ACCOUNT_ID",
            "scheduled_at": "2025-05-24T23:07:00+02:00"
          }
        ]
      }
    ]
  }
}

Required Parameters

Field
Description

bulk.state

Must be "scheduled".

networks.{provider}.type

Set to "video".

networks.{provider}.media

Array of video metadata objects.

networks.{provider}.media[].id

ID returned by the Media Upload endpoint.

networks.{provider}.media[].thumbnails

Array of thumbnail objects with id, small, and real URLs.

networks.{provider}.media[].default_thumbnail

1-based index to select default thumbnail.

networks.{provider}.text

Optional caption or description.

accounts[].id

Target social media account ID.

accounts[].scheduled_at*

ISO 8601 timestamp (omit for immediate publishing).

* Optional if you publish immediately via /posts/schedule/publish.

Workflow for Creating Video Posts

  1. Upload Video Use the Media Handling endpoint to upload your video.

  2. Receive Media ID Note the returned id for referencing in your post payload.

  3. Configure Thumbnails Upload or select thumbnail images and include their IDs/URLs.

  4. Compose & Schedule Build your post object, set state and scheduled_at, then send to /posts/schedule.

  5. Monitor Job Poll /api/v1/job_status/{job_id} until status is completed.

Best Practices

  • Select Engaging Thumbnails Choose a frame or custom image that drives clicks.

  • Provide Clear Titles & Descriptions Improve accessibility and SEO with detailed metadata.

  • Validate Platform Requirements Confirm aspect ratio, encoding, and file format (MP4/H.264 recommended).

Last updated

Was this helpful?