Provider Options
Provider-specific fields and current implementation limits for each supported PostMantis provider.
Use provider_options when a post needs provider-specific behavior. It does not select destinations — that is what profiles is for.
{
"post": { "body": "New video" },
"profiles": ["9aa032e9-bf7d-4355-b4c1-96f191c2f7ee", "4339a6bc-9cd3-455e-8f91-df8bc63f12d7"],
"media": [{ "asset_id": "8f5f3f18-3cf7-4aa8-a0ea-6fd204d4c4f1" }],
"provider_options": {
"youtube": { "title": "New video", "privacy_status": "public" },
"tiktok": { "format": "video", "privacy_status": "PUBLIC_TO_EVERYONE" }
}
}Mental model
profiles answers where should this post go? — provider_options answers how should a
provider handle it?
This page reflects the current PostMantis implementation
The fields and limits below describe what the current publish code actually supports. They do not try to mirror every capability each provider platform offers.
Provider identifiers
The provider field on a profile object and the key inside the provider_options request object use these provider identifiers:
| Provider | Identifier |
|---|---|
facebook | |
instagram | |
| TikTok | tiktok |
linkedin | |
| YouTube | youtube |
| X | x |
| Threads | threads |
pinterest |
Current implementation
- feed posts only
- text-only posts supported
- one uploaded image also supported
provider_options.facebook.formatmay be omitted or set to"post"
Media limits in the current implementation
- max 1 image
- no reels
- no stories
- no mixed media
Notes
Other Facebook-specific fields in the transport schema are not applied by the current publish path.
{ "provider_options": { "facebook": { "format": "post" } } }Current implementation
- feed image posts only
- requires exactly one uploaded JPEG image
- caption comes from
post.body - alt text comes from
media[n].alt
Media limits in the current implementation
- max 1 image
- JPEG only
- no reels
- no stories
- no carousel
Notes
Instagram-specific fields such as collaborators, cover, audio_name, and thumb_offset are present in the transport schema but are not applied by the current publish path.
TikTok
Supported fields
| Field | Type | Notes |
|---|---|---|
format | string | video (default) or image |
privacy_status | string | Must be available for the connected account |
photo_cover_index | integer | Photo posts only |
auto_add_music | boolean | Photo posts only |
disable_duet | boolean | Video posts only |
disable_stitch | boolean | Video posts only |
made_with_ai | boolean | Video posts only |
brand_content_toggle | boolean | Supported |
brand_organic_toggle | boolean | Supported |
Media limits in the current implementation
| Format | Current implementation |
|---|---|
| Video | exactly 1 uploaded video (mp4, mov, or webm), up to 64 MB |
| Image | 1 to 35 uploaded images (jpeg or webp), up to 20 MB each |
Notes
- video captions support up to 2,200 characters
- photo descriptions support up to 4,000 characters
- some requested options can still be rejected if the account does not allow them
Current implementation
- text-only posts only
- media publishing is not implemented yet
Notes
organization_id exists in the transport schema, but the current publish path does not apply it.
YouTube
Supported fields
| Field | Type | Notes |
|---|---|---|
title | string | Optional. Defaults to the first line of post.body or a generated title |
privacy_status | string | public, private, or unlisted |
cover | object | Optional thumbnail asset. Accepts { asset_id } or { url } |
made_for_kids | boolean | Optional |
tags | string[] | Optional, up to 50 tags |
Media limits in the current implementation
- exactly 1 uploaded video
- optional thumbnail image in JPEG or PNG, up to 2 MB
X
Supported fields
| Field | Type | Notes |
|---|---|---|
who_can_reply | string | everyone, following, mentioned_users, or subscribers |
Media limits in the current implementation
- text-only posts supported
- one uploaded image also supported
- no multi-image posts
- no thread-style multi-post write contract
Threads
Threads has no provider-specific parameters.
Current implementation
- text-only posts only
- media publishing is not implemented yet
Supported fields
| Field | Type | Notes |
|---|---|---|
title | string | Optional, max 100 characters |
destination_link | string | Optional |
cover | object | Optional video cover asset. Accepts { asset_id } or { url } |
Media limits in the current implementation
- exactly 1 uploaded image or video per pin
- no mixed media
Notes
The selected profile determines the destination board. board_id and thumb_offset exist in the transport schema, but the current publish path does not apply them.