Doc

Platform settings

Supported targets.settings fields for the Social Service publish API

targets[].settings is optional. If it is omitted, the service uses the platform defaults below and maps content from draft.title, draft.text, and draft.assets.

The target platform is resolved from targets[].channelId. Send only the settings fields for that channel's platform.

Common Media Override

Several platforms support mediaOverrides. If present, those media items replace the media selected from draft.assets for that target.

{
  "mediaOverrides": [
    {
      "type": "image",
      "source": "https://files.example.com/image.png",
      "sourceType": "url",
      "mimeType": "image/png",
      "order": 0
    }
  ]
}

Media override fields:

assetId     Optional string.
type        Required. "image" | "video" | "document". Documents are only supported by LinkedIn.
source      Required. Remote URL, base64 data URL, or blob preview URL in local UI contexts.
sourceType  Optional. "url" | "base64" | "blob".
mimeType    Optional MIME type.
order       Optional sort order.
thumbnail   Optional thumbnail URL.
metadata    Optional object.

For public API calls, remote URLs are recommended. For local files, first use /api/social/v1/media/upload, upload the bytes, then use the returned temporaryUrl.url.

X

Defaults:

{
  "threadMode": false,
  "paidPartnership": false,
  "madeWithAi": false,
  "replyVisibility": "everyone",
  "mediaOverrides": []
}

Fields:

FieldTypeValid valuesDefaultNotes
mediaOverridesarrayimage or video media items[]Optional X media override. X supports up to 4 images or 1 video.
threadModebooleantrue, falsefalseLong text is split into multiple tweets when enabled.
paidPartnershipbooleantrue, falsefalseMarks the post as a paid partnership disclosure.
madeWithAibooleantrue, falsefalseMarks the post as containing AI-generated media.
replyVisibilitystringeveryone, mentionedUsers, followingeveryoneControls who can reply to the first tweet.

Example:

{
  "channelId": "sch_x_123",
  "settings": {
    "threadMode": true,
    "replyVisibility": "everyone"
  }
}

YouTube

Defaults:

{
  "title": "",
  "description": "",
  "privacyStatus": "private",
  "tags": [],
  "madeForKids": false,
  "notifySubscribers": true,
  "videoSource": "",
  "thumbnailSource": ""
}

Fields:

FieldTypeValid valuesDefaultNotes
titlestringmax 100 chars""Visible video title. Falls back to draft.title when empty.
descriptionstringmax 5000 chars""Falls back to draft.text when empty.
privacyStatusstringprivate, public, unlistedprivateYouTube privacy status.
tagsstring arrayup to 20 tags, each max 30 chars[]Combined tag length should stay within 500 chars.
madeForKidsbooleantrue, falsefalseMaps to YouTube self declared made for kids.
notifySubscribersbooleantrue, falsetrueWhether subscribers should be notified.
videoSourcestringURL, base64 data URL, or blob preview URL""Optional video override. If empty, the first draft video is used.
thumbnailSourcestringURL, base64 data URL, or blob preview URL""Optional thumbnail override.

Example:

{
  "channelId": "sch_youtube_123",
  "settings": {
    "title": "Product demo",
    "privacyStatus": "unlisted",
    "tags": ["demo", "launch"],
    "notifySubscribers": false,
    "thumbnailSource": "https://files.example.com/thumb.jpg"
  }
}

TikTok

Defaults:

{
  "contentType": "auto",
  "postMode": "DIRECT_POST",
  "title": "",
  "description": "",
  "privacyLevel": "SELF_ONLY",
  "disableComment": false,
  "disableDuet": false,
  "disableStitch": false,
  "autoAddMusic": true,
  "brandContentToggle": false,
  "brandOrganicToggle": false,
  "isAigc": false,
  "videoTransferMethod": "FILE_UPLOAD",
  "videoCoverTimestampMs": "",
  "photoCoverIndex": "0",
  "mediaOverrides": []
}

Fields:

FieldTypeValid valuesDefaultNotes
mediaOverridesarrayimage or video media items[]Use one video or up to 35 photos.
contentTypestringauto, video, photoautoAuto uses the first video when present, otherwise photos.
postModestringDIRECT_POST, MEDIA_UPLOADDIRECT_POSTDirect Post publishes immediately. Media Upload sends media to TikTok for completion in the app.
titlestringvideo caption or photo title""Video caption max is 2200 chars. Photo title max is 90 chars.
descriptionstringphoto description""Photo description max is 4000 chars. Falls back to draft.text when empty.
privacyLevelstringPUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, SELF_ONLYSELF_ONLYMust be allowed by the connected TikTok account.
disableCommentbooleantrue, falsefalseDisables comments.
disableDuetbooleantrue, falsefalseDisables duets.
disableStitchbooleantrue, falsefalseDisables stitch.
autoAddMusicbooleantrue, falsetrueApplies to photo posts.
brandContentTogglebooleantrue, falsefalseBranded content disclosure.
brandOrganicTogglebooleantrue, falsefalseBrand organic disclosure.
isAigcbooleantrue, falsefalseLabels supported video content as AI generated.
videoTransferMethodstringFILE_UPLOAD, PULL_FROM_URLFILE_UPLOADPull from URL requires a TikTok verified URL prefix or domain.
videoCoverTimestampMsstringnon-negative integer string""Optional cover frame timestamp in milliseconds.
photoCoverIndexstringnon-negative integer string"0"Zero-based photo cover index.

Example:

{
  "channelId": "sch_tiktok_123",
  "settings": {
    "contentType": "video",
    "privacyLevel": "SELF_ONLY",
    "disableComment": true,
    "isAigc": true,
    "videoCoverTimestampMs": "1000"
  }
}

Facebook

Defaults:

{
  "message": "",
  "linkUrl": "",
  "mediaOverrides": []
}

Fields:

FieldTypeValid valuesDefaultNotes
mediaOverridesarrayimage or video media items[]Use up to 10 photos or 1 video.
messagestringmax 63206 chars""Falls back to draft.title and draft.text when empty.
linkUrlstringhttp:// or https:// URL""Optional link for text or link posts. Ignored when media is selected.

Example:

{
  "channelId": "sch_facebook_123",
  "settings": {
    "message": "Facebook-specific post text",
    "linkUrl": "https://example.com"
  }
}

Instagram

Defaults:

{
  "caption": "",
  "contentType": "auto",
  "imageProcessingMode": "auto",
  "shareToFeed": true,
  "thumbOffsetMs": "",
  "coverSource": "",
  "mediaOverrides": []
}

Fields:

FieldTypeValid valuesDefaultNotes
mediaOverridesarrayimage or video media items[]Use one image, one video, or 2-10 carousel images.
captionstringmax 2200 chars""Falls back to draft.title and draft.text when empty.
contentTypestringauto, image, carousel, reelautoAuto publishes the first video as a Reel, otherwise multiple images become a carousel.
imageProcessingModestringauto, 1:1, 4:5, 16:9autoInvalid image ratios are center-cropped to Auto 1:1 or the selected ratio.
shareToFeedbooleantrue, falsetrueApplies to Reel publishing.
thumbOffsetMsstringnon-negative integer string""Optional Reel thumbnail timestamp in milliseconds.
coverSourcestringURL, base64 data URL, or blob preview URL""Optional Reel cover image.

Example:

{
  "channelId": "sch_instagram_123",
  "settings": {
    "contentType": "reel",
    "caption": "Instagram-specific caption",
    "shareToFeed": true,
    "coverSource": "https://files.example.com/reel-cover.jpg"
  }
}

LinkedIn

Defaults:

{
  "contentType": "auto",
  "commentary": "",
  "articleUrl": "",
  "articleTitle": "",
  "articleDescription": "",
  "documentTitle": "",
  "mediaOverrides": []
}

Fields:

FieldTypeValid valuesDefaultNotes
mediaOverridesarrayimage, video, or document media items[]Use up to 20 images, one MP4 video, or one document.
contentTypestringauto, text, article, image, multiImage, video, documentautoAuto chooses document, video, multi-image, image, article, then text.
commentarystringtext""Falls back to draft.title and draft.text when empty.
articleUrlstringhttp:// or https:// URL""Required for article posts.
articleTitlestringtext""Falls back to draft.title or URL host.
articleDescriptionstringtext""Falls back to draft.text.
documentTitlestringtext""Used for document posts. Falls back to file name or draft title.

Example:

{
  "channelId": "sch_linkedin_123",
  "settings": {
    "contentType": "article",
    "commentary": "LinkedIn-specific post text",
    "articleUrl": "https://example.com/report",
    "articleTitle": "Report title"
  }
}

Document example:

{
  "channelId": "sch_linkedin_123",
  "settings": {
    "contentType": "document",
    "documentTitle": "Product overview"
  }
}

Pinterest

Defaults:

{
  "contentType": "auto",
  "title": "",
  "description": "",
  "link": "",
  "altText": "",
  "coverSource": "",
  "mediaOverrides": []
}

Fields:

FieldTypeValid valuesDefaultNotes
mediaOverridesarrayimage or video media items[]Use one video, one image, or 2-5 images.
contentTypestringauto, image, multiImage, videoautoAuto uses the first video when present, otherwise 2-5 images become a multi-image Pin.
titlestringmax 100 chars""Falls back to draft.title when empty.
descriptionstringmax 800 chars""Falls back to draft.text when empty.
linkstringhttp:// or https:// URL, max 2048 chars""Optional destination URL.
altTextstringmax 500 chars""Optional image alt text.
coverSourcestringURL, base64 data URL, or blob preview URL""Required for video Pins when the video has no thumbnail.

Example:

{
  "channelId": "sch_pinterest_123",
  "settings": {
    "contentType": "image",
    "title": "Pin title",
    "description": "Pin description",
    "link": "https://example.com",
    "altText": "Product photo"
  }
}

Video example:

{
  "channelId": "sch_pinterest_123",
  "settings": {
    "contentType": "video",
    "title": "Video Pin",
    "coverSource": "https://files.example.com/video-cover.jpg"
  }
}