Media rules
Composer media and caption rules for social channels — and how directory launch limits differ on My Products.
Connect your agent today
Draft from chat, review in your calendar, and publish only what you approve.
Media rules
Social posting caps in the composer — not directory form fields on My Products.
The composer blocks a post that breaks these rules before it reaches the platform. File size and MIME limits are separate. See Media → Limits and formats.
Social posting — media and character caps
The Characters column is the main caption or body. The same cap applies to each follow-up row and to thread finisher text where that feature is supported.
| Display name | Channel key | Main-post media | Characters |
|---|---|---|---|
| X | x | Text-only OK; ≤4 images or one video (never mixed); video ≤140 seconds | 280 or 4,000 |
| Threads | threads | Text-only OK; one attachment or a carousel | 500 |
| Facebook Page | Text-only OK; photos and/or video; optional link URL in Settings on text-only posts | 63,206 | |
| Instagram (Business) | instagram-business | ≥1 attachment required when scheduled; story or trial reel = 1 item; carousel ≤10; story video ≤60 s; reel video ≤180 s | 2,200 |
| Instagram (Standalone) | instagram-standalone | Same media rules as Instagram (Business) | 2,200 |
| Text-only OK; one video attachment; image carousel = ≥2 images, no video (published as a PDF document — you attach images, not a PDF file) | 3,000 | ||
| LinkedIn Page | linkedin-page | Same media rules as LinkedIn | 3,000 |
| YouTube | youtube | Exactly one MP4 video | 5,000 (description) |
| TikTok | tiktok | ≥1 attachment; one MP4 or 1–35 JPEG/PNG/WEBP photos (never mixed) | 2,000 |
| Dev.to | devto | Markdown body; optional cover image in Settings (not required on the media strip) | 100,000 (body) |
| Bluesky | bluesky | Text-only OK; up to 4 images or 1 MP4 (never mixed; MP4 max 300 MB, 10 min) | 300 graphemes |
| Skool | skool | Text-only OK; images on the media strip (uploaded to Skool at publish); no native video on the OpenQuok path | 5,000 |
| Text-only OK; images on the media strip via upload / media[].path — OpenQuok stores files for handoff; the extension can Download at due time; no server upload to Reddit’s API | 10,000 (body) |
Note
On X, the limit depends on the post type: 280 characters for a standard post, 4,000 when the connected account is verified, and up to 100,000 in long-form article mode on the platform. OpenQuok schedules standard and verified posts only — it uses the 280 or 4,000 cap from the table.
Warning
OpenQuok does not ship article mode. The post editor uses weighted counting, while links and mentions can cost more than one character. See Writing the post → Character count.
Tip
In Global mode, one shared media list must satisfy every selected network. Unlock a channel to give it its own attachments. See Global vs per-channel.
Connect methods are in Connect rules. Extra length limits in Settings are in Per-channel settings — for example YouTube title (2–100 characters), Dev.to title (at least 2 characters), TikTok photo carousel title (up to 90 characters), Skool title (at least 1 character) plus category for the target group, and Reddit title (1–300 characters) when subreddit or title Settings are in use.
Note
Reddit rows stay awaiting member at due time — OpenQuok does not publish media or body to Reddit from the backend. Attachments are for your handoff workflow (dashboard copy and optional extension download). See Reddit setup.
| Where you work | Length check |
|---|---|
| Dashboard | The counter blocks over-limit text when you schedule. Drafts may save longer copy until you shorten it. |
| API, CLI, MCP | status: scheduled / -t schedule uses the same caps. status: draft / -t draft may store longer text until you schedule. |
Media on follow-up comments
| Channel key | Media on follow-ups |
|---|---|
| threads, x, bluesky | Yes |
| instagram-business, instagram-standalone, linkedin, linkedin-page | Text only |
| One image per follow-up (no video) | |
| youtube, tiktok, devto | Follow-ups not supported |
| skool | Yes (same upload rules as the main post) |
| Follow-ups not supported |
Terminology for thread replies vs comments is in Platforms overview. Composer steps are in Threads and comments.
Settings-only media
| Channel key | Setting | Purpose |
|---|---|---|
| youtube | Custom thumbnail | Optional still image for the video |
| devto | Cover image | Optional hero image for the article |
Social posting — caption editors
Each channel uses one caption editor mode when you unlock it in per-channel mode. Global mode always uses the Standard plain textarea.
| Editor | Channel keys |
|---|---|
| Standard | threads, facebook, instagram-business, instagram-standalone, linkedin, linkedin-page, youtube, tiktok, bluesky, skool |
| Markdown | devto, reddit |
| HTML | x (published as plain text after strip) |
Directory launch — profile and form limits
Directory destinations (PeerPush, Uneed, …) do not use the post composer, caption editors, or follow-up rows in this doc.
| Topic | Social posting (tables above) | Directory launch |
|---|---|---|
| Where limits apply | Composer before POST /public/posts | Product profile on My Products and each directory’s submit form |
| What OpenQuok enforces | Character counts, attachment count, MIME types | Required profile fields, listing readiness, variant copy per directorySiteKey |
| Who sets hard caps | Network APIs (X, Instagram, …) | Each directory site (PeerPush categories, Uneed fields, …) |
OpenQuok maps your profile to directory forms with the browser extension. You still respect each site’s own max lengths and required fields when you submit.
Workflow: Directory submission. Per-site notes: Directory integration (PeerPush, Uneed). Variants: Profile variants.