TikTok
Connection requirements, publishing examples, and limits for TikTok.
Requirements
Use an account connected through TikTok for Business Developers. This names the connection method, not the TikTok account type; Login Kit connections are excluded. Check capabilities.publishPosts and use a confirmed video from the same workspace.
Supported formats
Exactly one account, one video, and one non-empty caption. Use posts together with video. Only privacyLevel: PUBLIC_TO_EVERYONE is accepted. Photo publishing, inbox transfers, and reposting are unsupported.
For formats that need media, complete the upload guide: reserve → PUT → confirm. Only confirmed mediaId values can be published.
Publish a post
Account and media UUIDs are illustrative; replace them with real IDs. Set your API key in the POSTEADY_API_KEY environment variable.
curl --request POST "https://www.posteady.com/api/v1/posts" \
--header "Authorization: Bearer $POSTEADY_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"accountIds": [
"11111111-1111-4111-8111-111111111111"
],
"posts": [
"A look behind the scenes"
],
"video": {
"requestId": "33333333-3333-4333-8333-333333333333",
"mediaId": "22222222-2222-4222-8222-222222222222",
"privacyLevel": "PUBLIC_TO_EVERYONE"
}
}'Confirm success
HTTP 202 means the job was accepted. Store results[0].jobId, then read its status below and wait for status: published. Replace the illustrative ID with the returned value.
curl --request GET "https://www.posteady.com/api/v1/publish-jobs/44444444-4444-4444-8444-444444444444" \
--header "Authorization: Bearer $POSTEADY_API_KEY"Scheduling and related tasks
To schedule, send the same platform input to /scheduled-posts with a future scheduledAt and optional timezone. For asynchronous platforms, generate a UUID requestId per operation and retain it for retries.
Schedule and cancel · Read posts and metrics · Retries · MCP tools
Limits and errors
Captions allow up to 2,200 UTF-16 code units. The public media library accepts MP4/QuickTime videos up to 2 GiB; TikTok performs its own final media validation. Optional video fields are disableComment, disableDuet, disableStitch, brandOrganicToggle, and brandContentToggle. Keep the same request ID when retrying the same input. Synchronized reads can include both video and photo posts even though this API only publishes videos.