Post Types
Supported platforms, post types, and media/caption/title limits.
Post types tell PowerPost which platform surface you are targeting — for example instagram-reel vs instagram-feed. You pass them when generating captions and when creating posts.
Multiple post types from the same platform (e.g. instagram-reel and instagram-feed) produce one shared caption for that platform. The post type still matters for publishing, because media and field rules differ.
Supported post types
| Platform | Post Types |
|---|---|
instagram-feed, instagram-reel, instagram-story | |
| TikTok | tiktok-video, tiktok-photos |
| YouTube | youtube-video, youtube-short |
| X | x-post |
facebook-post, facebook-reel, facebook-story | |
linkedin-post | |
| Threads | threads-post |
Media, Caption, and Title Limits
Each post_type has its own media, caption, and title rules. Missing required media, fewer than the minimum media count, and a caption or title over its max length (or a missing required title) all return a 400 VALIDATION_ERROR on create, publish, and schedule — except Stories, where content is ignored if present (see footnote). Caption length is measured the same way the target platform does (see footnotes). Stay within these limits so publish doesn't fail on the platform side.
| Post Type | Media | Caption Max | Title | Hashtags |
|---|---|---|---|---|
instagram-feed | Required, 1–10 images/videos (can mix as a carousel) | 2,200 | Not supported | 30 |
instagram-reel | Required, exactly 1 video | 2,200 | Not supported | 30 |
instagram-story | Required, exactly 1 image or video | Not supported**** | Not supported | — |
tiktok-video | Required, exactly 1 video | 2,200 | Not supported | No limit |
tiktok-photos | Required, 1–35 images | 4,000 | Optional, max 90 chars | No limit |
youtube-video | Required, exactly 1 video | 5,000 bytes* | Required, max 100 chars | 60** |
youtube-short | Required, exactly 1 video | 5,000 bytes* | Required, max 100 chars | 60** |
x-post | Optional, up to 4 images, or 1 video, or 1 GIF (not mixed) | 280*** | Not supported | No limit |
facebook-post | Optional, up to 10 images, or 1 video (not mixed) | 63,206 | Not supported | No limit |
facebook-reel | Required, exactly 1 video | 63,206 | Not supported | No limit |
facebook-story | Required, exactly 1 image or video | Not supported**** | Not supported | — |
linkedin-post | Optional, up to 1 image or video, or 2–20 images (MultiImage) | 3,000 | Not supported | No limit |
threads-post | Optional. Text only, 1 image or video, or a 2–20 item carousel (images and videos can mix) | 500***** | Not supported | One topic tag |
* YouTube description limit is 5,000 UTF-8 bytes (not characters). Emoji and non-Latin text use more than one unit each toward the cap.
** YouTube ignores every hashtag in the title and description if their combined count goes over 60.
*** X free/Basic: 280. Premium and Premium+: up to 25,000. Length is weighted the same way X counts posts (emoji and CJK count as 2; every URL counts as 23).
**** Instagram and Facebook Stories are media-only in the platform APIs (no caption field on story publish). content is optional for those post types, and anything you send is ignored rather than rejected.
***** Threads counts 500 characters. Emoji count as UTF-8 bytes (one emoji can use several units). Regular letters, including non-Latin, count as 1. At most 5 unique URLs in the text (https://… or www.…). More than 5 fails on create.
Related
- Generate content —
post_typeson caption generation - Create post — items use
post_type - Publish settings — TikTok/YouTube privacy, Threads who-can-reply