removedInput schema / $schema
Removed value: -"http://json-schema.org/draft-07/schema#"
addedInput schema / properties / firstComment / description
Added value: +"Comment auto-posted under the post right after publishing. Supported on every platform that has comments, TikTok included. Use `platformOptions.<platform>FirstComment` to override it for one platform."
changedInput schema / properties / platformOptions / description
Previous value: -"Platform-specific overrides as a flat object (camelCase keys), e.g. { tiktokPrivacyLevel: 'PUBLIC_TO_EVERYONE', youtubePrivacyStatus: 'public', youtubePlaylistId: 'PLxxxxxxxxxxxx', facebookPageId: '123' }. `youtubePlaylistId` may also be an array or a comma-separated list of playlist IDs to add the uploaded video to."New value: +"Platform-specific overrides as a flat object (camelCase keys), e.g. { tiktokPrivacyLevel: 'PUBLIC_TO_EVERYONE', youtubePrivacyStatus: 'public', youtubePlaylistId: 'PLxxxxxxxxxxxx', facebookPageId: '123' }. `youtubePlaylistId` may also be an array or a comma-separated list of playlist IDs to add the uploaded video to. The `tiktokMusic*`, `tiktokLocation*`, and `tiktokCoverImageUrl` keys depend on the TikTok connection's `capabilities` (see list_users); discover valid values with tiktok_music_trending and tiktok_location_search. tiktokPostMode=MEDIA_UPLOAD and tiktokUploadToDraft=true are the same draft/inbox flag for every TikTok account."
addedInput schema / properties / platformOptions / properties / replyToId
Added value: +{
+ "description": "Publish as a reply to an existing post (X: tweet ID; Bluesky: post URL or AT-URI). On X's Pay-Per-Use tier a reply to an author the account has not engaged with is rejected with 403.",
+ "type": "string"
+}
addedInput schema / properties / platformOptions / properties / tiktokCoverImageUrl
Added value: +{
+ "description": "Custom cover image URL. Takes priority over tiktokCoverTimestamp. Needs the `cover_image` capability (see tiktokMusicId).",
+ "type": "string"
+}
addedInput schema / properties / platformOptions / properties / tiktokFirstComment
Added value: +{
+ "description": "First comment posted under the TikTok post, overriding the shared `firstComment` for TikTok only. Requires the 'comments' capability on the profile's TikTok account (see the `capabilities` array in list_users).",
+ "type": "string"
+}
addedInput schema / properties / platformOptions / properties / tiktokIsAiGenerated
Added value: +{
+ "description": "Disclose the video as AI-generated content.",
+ "type": "boolean"
+}
addedInput schema / properties / platformOptions / properties / tiktokLocationId
Added value: +{
+ "description": "Location to tag — pass a `location_id` from tiktok_location_search. Must be sent together with tiktokLocationName. Needs the `location` capability (see tiktokMusicId).",
+ "type": "string"
+}
addedInput schema / properties / platformOptions / properties / tiktokLocationName
Added value: +{
+ "description": "Name of the tagged location, from tiktok_location_search. TikTok requires it whenever tiktokLocationId is set.",
+ "type": "string"
+}
addedInput schema / properties / platformOptions / properties / tiktokMusicEnd
Added value: +{
+ "description": "End offset of the music track, in milliseconds.",
+ "minimum": 0,
+ "type": "integer"
+}
addedInput schema / properties / platformOptions / properties / tiktokMusicId
Added value: +{
+ "description": "Commercial Music Library track to add to the video — pass a track `id` from tiktok_music_trending (the `id` field, not `commercial_music_id`). Available on connections that declare the `music` capability (see `capabilities` on the TikTok account in list_users); otherwise the field is ignored, the post still publishes and the response includes a per-field warning — reconnect the TikTok account to enable it.",
+ "type": "string"
+}
addedInput schema / properties / platformOptions / properties / tiktokMusicStart
Added value: +{
+ "description": "Start offset of the music track, in milliseconds.",
+ "minimum": 0,
+ "type": "integer"
+}
addedInput schema / properties / platformOptions / properties / tiktokMusicVolume
Added value: +{
+ "description": "Volume of the added music track, 0-100. Defaults to 50 when music is set.",
+ "maximum": 100,
+ "minimum": 0,
+ "type": "integer"
+}
addedInput schema / properties / platformOptions / properties / tiktokOriginalSoundVolume
Added value: +{
+ "description": "Volume of the video's own audio when music is added, 0-100. Defaults to 50 so the original audio is not muted.",
+ "maximum": 100,
+ "minimum": 0,
+ "type": "integer"
+}
changedInput schema / properties / platformOptions / properties / tiktokPostMode / description
Previous value: -"TikTok post mode. DIRECT_POST publishes straight to the account. MEDIA_UPLOAD (Draft) sends the video to the user's TikTok inbox/drafts to publish from the app — RECOMMENDED for TikTok, as publishing natively from the app tends to get more organic reach. Note: in Draft mode TikTok ignores the title/caption and other metadata sent via API; the user adds them in the app before publishing. Defaults to DIRECT_POST."New value: +"Send to TikTok drafts/inbox. Same flag for every TikTok account; do not pick a different field for Business. MEDIA_UPLOAD (or tiktokUploadToDraft=true) sends the video to drafts/inbox. DIRECT_POST publishes now."
changedInput schema / properties / platformOptions / properties / tiktokPrivacyLevel / description
Previous value: -"TikTok privacy value, e.g. PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, SELF_ONLY."New value: +"TikTok privacy value: PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, SELF_ONLY. TikTok decides per account which of these are available (a private account has no PUBLIC_TO_EVERYONE); asking for another one fails with error_code tiktok_privacy_unavailable listing the allowed ones. Omit it to keep the account's own default."
addedInput schema / properties / platformOptions / properties / tiktokUploadToDraft
Added value: +{
+ "description": "Send to TikTok drafts/inbox. Same flag for every TikTok account; do not pick a different field for Business. Set true, or tiktokPostMode=MEDIA_UPLOAD.",
+ "type": "boolean"
+}
addedInput schema / properties / platformOptions / properties / xReplyToId
Added value: +{
+ "description": "Alias of replyToId, scoped to X: the tweet ID to reply to.",
+ "type": "string"
+}
changedInput schema / properties / platforms / description
Previous value: -"Required array of platform identifiers, e.g. ['instagram']. Never pass a single string."New value: +"Required array of platform identifiers, e.g. ['instagram']. Never pass a single string. Reddit posting is currently unavailable (error_code=reddit_unavailable) until the Reddit app is restored. Do not use reddit as a publish target."
addedInput schema / properties / platforms / items / description
Added value: +"Target social platform. Reddit posting is currently unavailable (error_code=reddit_unavailable) until the Reddit app is restored. Do not use reddit as a publish target."
changedInput schema / properties / videoPathOrUrl / description
Previous value: -"Public/signed HTTPS URL of the video. Absolute local paths are supported only for local/self-hosted MCP clients sharing the same filesystem. Do not pass ChatGPT `/mnt/data` or sandbox paths; use open_upload_studio instead."New value: +"Public/signed HTTPS URL of the video (a staged `media_url` from complete_media_upload also works). Absolute local paths are supported only for local/self-hosted MCP clients sharing the same filesystem. Never pass `/mnt/data`, sandbox, or other mounted attachment paths: the server cannot read them."
removedOutput schema / $schema
Removed value: -"http://json-schema.org/draft-07/schema#"