Posting rules by platform
One table of what each platform accepts: media, character limits, required settings.
The comparison table
Each platform has different rules. This table covers the essentials. See each platform's page for details.
| Platform | Character limit | Media | Required fields |
|---|---|---|---|
| X (Twitter) | 280 | Up to 4 images, or one video. GIFs are allowed too. | who_can_reply_post |
| no data | Required: at least one image or video. Multiple images become a carousel. | post_type | |
| no data | Image, video, or document. Multiple images can also be turned into a carousel. | none | |
| no data | Image, video, or a text post with no media. | none | |
| TikTok | no data | Required: one video, or one or more images for a photo post. | content_posting_method, privacy_level, duet, stitch, comment, autoAddMusic, brand_content_toggle, brand_organic_toggle |
| YouTube | no data | Required: one video. | title, type |
| 500 | Required: at least one image. Up to 5 images of the same size become a carousel pin. A video pin needs a cover picture as the second attachment. | board | |
| Google Business (coming soon) | no data | Image or video, optional. | none |
| Discord | 1980 | Image or video, optional. | channel |
| Slack | no data | Image or video, optional. | channel |
| Threads | 500 | Image or video, optional. | none |
| Bluesky | 300 | Up to 4 images, or one video. | none |
| Telegram | no data | Image or video, optional. | none |
| Mastodon (beta) | 500 | Up to 4 images, or one video. | none |
| Snapchat (coming soon) | 160 | Required: exactly one file. A Story takes a JPG or PNG picture or an MP4 video; a Spotlight takes one MP4 video of 6 to 60 seconds, at least 540 x 960. | none |
| Pixelfed (beta) | 500 | 1 to 4 photos (JPEG, PNG or GIF). A post without a photo is refused. | none |
| Tumblr (beta) | no data | Up to 10 photos, or one video. | none |
| WordPress (beta) | no data | Only the featured image (main_image) is uploaded. Pictures attached to the post are not sent. | title, type |
| Ghost (beta) | no data | Only the feature image (main_image) is uploaded. Pictures attached to the post are not sent. | title |
| Dev.to (beta) | no data | Only the cover image (main_image) is sent. Pictures attached to the post are not. | title, tags |
| Google Chat (beta) | 4096 | One image, shown as a card below the text. | none |
| Microsoft Teams (beta) | no data | One image, in the card below the text. | none |
| Hashnode (beta) | no data | Only the cover image (main_image) is sent. Pictures attached to the post are not. | title, publication |
| Lemmy (beta) | 10000 | One picture. It becomes the link of the post, or its thumbnail when the community entry has a link. | subreddit |
| Nostr (beta) | no data | Pictures and videos, added to the note as links. | none |
| Dribbble (beta) | no data | Required: exactly one GIF, JPG or PNG picture, up to 8 MB, of 400 x 300 or 800 x 600 pixels. Videos cannot be posted through the Dribbble API. | title |
| Twitch (beta) | 500 | None. Twitch chat takes plain text only. | none |
| Kick (beta) | 500 | None. Kick chat takes plain text only. | none |
| Whop (beta) | no data | Optional: pictures and files, uploaded to Whop with the post. | company, experience |
| Mailchimp (beta) | no data | Pictures go into the e-mail body; a video is added as a link. | audience |
| Kit (beta) | no data | Pictures go into the e-mail body; a video is added as a link. | none |
| Webflow (beta) | no data | The cover is the image setting or the first picture, 4 MB at most (Webflow skips a bigger one). Other pictures follow the text in the body; a video is added as a link. | collection, title |
| Shopify (beta) | no data | The article image is the image setting or the first picture. Other pictures follow the text in the body; a video is added as a link. | blog, title |
| Circle (beta) | no data | The cover is the image setting or the first picture, 10 MB at most. Other pictures and a video are added as links under the text. | space, title |
| listmonk (beta) | no data | Pictures go into the e-mail body; a video is added as a link. | list |
| MailerLite (beta) | no data | Pictures go into the e-mail body; a video is added as a link. | none |
| MailCheap (beta) | no data | Pictures go into the e-mail body; a video is added as a link. | none |
| Brevo (beta) | no data | Pictures go into the e-mail body; a video is added as a link. | lists |
| Buttondown (beta) | no data | Pictures go into the e-mail body; a video is added as a link. | none |
Required fields
If a field is required for a channel, you cannot schedule the post to that channel until you fill it in. The editor tells you what is missing for each channel. You can still schedule the post for the others.
The most common are title and visibility for YouTube, a target channel for Discord and Slack, and visibility and publishing mode for TikTok.
Fetching the schema
The table above describes the rules in plain language. If you work programmatically, you can fetch the schema for the connected channel directly:
GET /public/v1/integration-settings/:id returns the channel's settings schema along with the account-specific character limit. This is the authoritative source because the account type can also affect the limits. For details, see the Channel settings schema endpoint documentation.
When you create a post, these fields go into the settings object, alongside the __type field that identifies the platform. See the Create a post endpoint.