YouTube API: posting reference
YouTube support is limited to YouTube Shorts. OmniSocials does not publish regular long-form videos, community posts or playlists. Connect with Google and keep all requested YouTube permissions ticked on Google's consent screen; the connect is refused when one is missing. Brand and managed channels work: when the Google account reaches several channels, you pick one while connecting, and after every upload OmniSocials checks the video landed on that channel. An upload that landed on another channel is deleted and the post fails.
For an overview and use cases, see YouTube API.
Channel ID: youtube
Supported content types
| Type | Supported | Notes |
|---|---|---|
| Feed post | - | Not supported |
| Story | - | Not supported |
| Reel (Short) | ✅ | Vertical video, up to 3 minutes |
Minimal example
YouTube posts must be type: "reel" and must include a single vertical video.
Terminal
Platform-specific options
| Field | Type | Description |
|---|---|---|
youtube.title | string | Video title, max 100 characters. When omitted, the first line of the caption is used (cut at a word to 100 characters); "YouTube Short" only when there is no caption either. |
youtube.tags | array of strings | Tags for discovery. Max 500 characters total across all tags. |
youtube.privacy_status | string | public, private, or unlisted. Defaults to public. |
youtube.category_id | string | YouTube category ID. Defaults to "22" (People & Blogs). |
youtube.made_for_kids | boolean | Mark as made-for-kids content under COPPA. Defaults to false. |
youtube.notify_subscribers | boolean | Send subscription notification when published. Defaults to false. |
youtube.contains_synthetic_media | boolean | Disclose that the video contains AI-generated content. Defaults to false. |
youtube.first_comment | string | Text auto-posted as the first comment on the video right after it publishes (max 10000 characters). The video must have comments enabled. |
The caption (content) becomes the video description, cut to 5,000 characters at publish. A custom cover goes in the top-level video_cover.
The composer in the OmniSocials dashboard has a few more YouTube options: License, Language, Audio language, Allow embedding and Show view counts. These are not in the API.
Media requirements
| Requirement | Value |
|---|---|
| Format | MP4, MOV, or WebM |
| Aspect ratio | 9:16 (vertical) recommended |
| Duration | Up to 3 minutes |
| File size | Up to 1 GB for media added by URL, 100 MB for direct file uploads (OmniSocials upload ceiling; YouTube itself allows far larger) |
| Resolution | 1080 × 1920 recommended |
Of these, OmniSocials checks only the length: a video over 3 minutes is refused at create/schedule time. The file goes out untouched, with no conversion or trimming step, so a video that is not 9:16 plays with bars.
Social Inbox
Comments on your Shorts land in the Social Inbox; the standard YouTube connection already covers them. YouTube has no comment webhooks, so OmniSocials checks each channel for new comments once a day, and a new comment can take up to a day to arrive.
- Reply as the channel (refused when YouTube does not allow replies on that comment).
- Hide or unhide through YouTube's moderation status (
POST /inbox/messages/{id}/hide). Deleting or liking comments is not supported. - YouTube has no DMs.
Analytics
| Level | Metrics |
|---|---|
| Per Short | views, likes, comments, duration |
| Channel | subscribers, total_views (lifetime), total_videos |
Watch time, average view duration, shares, traffic sources and subscribers gained or lost are not reported.
Limitations
- Only Shorts are supported. OmniSocials caps YouTube videos at 3 minutes and does not publish regular long-form videos.
- YouTube's API enforces a daily quota, shared by all OmniSocials customers. When it runs out, the post fails with a message to retry later; retry it with
POST /posts/:id/retry. - A custom thumbnail (
video_cover) shows on Shorts only on channels where YouTube has enabled custom Shorts thumbnails (rolling out since July 2026, YouTube Partner Program channels first). On other channels YouTube stores it but displays a frame from the video on the Shorts tab and in the Shorts feed. made_for_kids: truedisables most interaction features (comments, community tab, end screens) on the resulting Short.