turboyap

Platform rules

The slide limits, formats, aspect ratios, caption limits and link cards Turboyap enforces on each platform, generated from its source code.

Turboyap's planner enforces these limits before anything is scheduled. Formats other than the accepted ones are converted automatically. Set fit on create_post to truncate extra slides or pad/crop to a platform's aspect range. Agents get the same data from the get_platform_rules MCP tool or GET /v1/platform-rules.

PlatformPost typeItemsFormatsSizeAspect ratioCaptionLink card
TikTokimage1JPEG, WebP≤ 20 MB, fits 1080×1920any4,000 chars, title 90no
TikTokslideshow1–35JPEG, WebP≤ 20 MB, fits 1080×1920any4,000 chars, title 90no
Instagramimage1JPEG≤ 8 MB, 320–1440px wide4:5 to 1.91:12,200 chars, 30 hashtags, 20 mentionsno
Instagramslideshow2–10JPEG≤ 8 MB, 320–1440px wide4:5 to 1.91:12,200 chars, 30 hashtags, 20 mentionsno
Bluesky (beta)textnone (text only)nonenonenone300 graphemes, 3,000 bytesyes, as app.bsky.embed.external (link card)
Bluesky (beta)image1JPEG, PNG, WebP, GIF≤ 1 MB (1,000,000 bytes), fits 2000×2000any300 graphemes, 3,000 bytesno
Bluesky (beta)slideshow2–4JPEG, PNG, WebP, GIF≤ 1 MB (1,000,000 bytes), fits 2000×2000any300 graphemes, 3,000 bytesno
Telegram (beta)textnone (text only)nonenonenone4,096 charsyes, as link_preview_options.url
Telegram (beta)image1JPEG, PNG, WebP≤ 5 MB (5,000,000 bytes), fits 2560×25601:20 to 20:11,024 charsno
Telegram (beta)slideshow2–10JPEG, PNG, WebP≤ 5 MB (5,000,000 bytes), fits 2560×25601:20 to 20:11,024 charsno
Discord (beta)textnone (text only)nonenonenone2,000 charsyes, as embed (title, url, description)
Discord (beta)image1JPEG, PNG, WebP, GIF≤ 1 MB (1,000,000 bytes), fits 2560×2560any2,000 charsyes, as embed (title, url, description)
Discord (beta)slideshow2–10JPEG, PNG, WebP, GIF≤ 1 MB (1,000,000 bytes), fits 2560×2560any2,000 charsyes, as embed (title, url, description)

Text posts (type: "text") take no media: the caption is the post. Caption limits count UTF-16 code units (JavaScript's string length) unless the table says graphemes, which count what a reader sees as one character, so an emoji with a skin tone is one. A byte limit applies on top, to the UTF-8 text. Where a post type has a link card, pass link on the post; anywhere else Turboyap ignores it with a warning.

TikTok

API guides: TikTok photo post, TikTok slideshow.

Sources: TikTok: photo post reference, TikTok: media transfer guide, developers.tiktok.com: content sharing guidelines.

Instagram

API guides: Instagram image post, Instagram carousel.

Sources: Meta: content publishing, Meta: IG User media reference.

Bluesky (beta)

Beta: you can connect a Bluesky account and post to it through the API in early access today. It hasn't been proven with a real production post yet.

API guides: Bluesky text post, Bluesky image post, Bluesky multi-image post.

Sources: Bluesky: creating a post, Bluesky: post lexicon, Bluesky: posts guide, Bluesky: rate limits, AT Protocol: record keys (TID).

Telegram (beta)

Beta: you can connect a Telegram account and post to it through the API in early access today. It hasn't been proven with a real production post yet.

API guides: Telegram text message, Telegram photo post, Telegram album.

Sources: Telegram Bot API: sendMessage, Telegram Bot API: sendPhoto, Telegram Bot API: sendMediaGroup, Telegram Bot API: sending files, Telegram bots FAQ: hitting limits.

Discord (beta)

Beta: you can connect a Discord account and post to it through the API in early access today. It hasn't been proven with a real production post yet.

API guides: Discord message, Discord image message, Discord multi-image message.

Sources: Discord: execute webhook, Discord: OAuth2 webhooks, Discord: uploading files, Discord: embed limits, Discord: rate limits.

Coming soon: Facebook, Threads, X, LinkedIn, YouTube and Pinterest. Their API limits are in the social media API limits tracker.