API

Posting settings

Configure supported per-platform options for immediate and scheduled posts through the API, MCP, CLI, or SDK.

Pass optional per-platform controls in settings. The same settings work for immediate and scheduled posts. Each platform's options apply to all of its selected destination accounts in the request. Omitted fields keep the usual posting behavior. These options apply only to the requested post.

Options and accepted values depend on the destination platform. Use taisly_platform_schema in MCP or taisly platforms:schema --platform <platform> in the CLI to discover the supported settings for each selected platform. Group them by platform name, such as settings.TikTok or settings.YouTube.

TikTok

Field under settings.TikTokTypeMeaning
statusstringPUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, or SELF_ONLY. Must be permitted by the creator's account.
comment_disabledbooleantrue disables comments.
duet_disabledbooleantrue disables Duet.
stitch_disabledbooleantrue disables Stitch.
brand_organic_togglebooleantrue discloses promotion of the creator's own business.
brand_content_togglebooleantrue discloses a paid partnership promoting a third-party business. Cannot be combined with status: "SELF_ONLY".
is_aigcbooleantrue enables TikTok's native AI-generated content label. Omit for existing behavior, or explicitly pass false.

Both brand switches may be enabled together. A false interaction switch does not override the creator's TikTok account restrictions.

YouTube

Field under settings.YouTubeTypeMeaning
titlestringOptional video title, up to 100 characters. Omit to use the post caption.
statusstringpublic, private, or unlisted.

REST API

Send settings as a JSON-encoded string in the existing multipart /post request:

curl -X POST https://app.taisly.com/api/private/post \
  -H "Authorization: Bearer $TAISLY_API_KEY" \
  -F "video=@./video.mp4" \
  -F 'platforms=["your_tiktok_platform_id","your_youtube_platform_id"]' \
  -F "description=Product walkthrough" \
  -F 'settings={"TikTok":{"status":"PUBLIC_TO_EVERYONE"},"YouTube":{"title":"Product walkthrough","status":"unlisted"}}'

Use exact account IDs returned by Taisly. JSON booleans must be true or false, not strings. Invalid known settings return INVALID_POST_SETTINGS before posting.

MCP

Use settings with taisly_posts_validate and taisly_posts_create. Call taisly_platform_schema for each selected platform to read field descriptions and accepted values. Pass a JSON object, rather than a JSON-encoded string:

{
  "settings": {
    "TikTok": { "status": "PUBLIC_TO_EVERYONE" },
    "YouTube": { "title": "Product walkthrough", "status": "unlisted" }
  }
}

Include the same settings when validating and creating the post, and show the requested settings when confirming the post with the user. Other required fields such as video URL, destination IDs, caption, and confirmation still apply.

For example, tell your agent:

Use my existing Taisly MCP connection. Read the posting schema for each selected
platform and apply the settings I requested. Validate the post and show me the
destination accounts, caption, schedule, and platform settings before publishing.

An existing MCP session may need its tool list refreshed, the connection reopened, or a new conversation, according to the client's refresh controls. Remote MCP does not require installing or upgrading the Taisly CLI package.

CLI and SDK

taisly platforms:schema --platform TikTok
taisly platforms:schema --platform YouTube
taisly posts:create \
  --video ./video.mp4 \
  --platforms your_tiktok_platform_id,your_youtube_platform_id \
  --description "Product walkthrough" \
  --settings '{"TikTok":{"status":"PUBLIC_TO_EVERYONE"},"YouTube":{"title":"Product walkthrough","status":"unlisted"}}'

The same object can be supplied as a settings property in a --json input file, or in SDK client.posts.validate() and client.posts.create() calls. Use the latest @taisly/agent release for CLI, SDK, or local MCP. For remote MCP, refresh or reconnect your existing connection.

On this page