Skip to main content

TikTok

TikTok publishing is asynchronous: the Direct Post API accepts a upload and returns a publish_id, then notifies us via webhook when the video actually goes live (or fails). post.buzz handles the pending state and reconciles the post automatically.

Capabilities

Publish✅ Video, Photo mode
Insights
Fetch comments
Reply to comments
Like comments
Send DM
Delete post
Comment automation✅ (reply)

Post types & media limits

Videos

ConstraintValue
Files1 video (required)
Max size1 GB
Resolution360×360 to 4096×4096
Aspect ratio0.01:1 to 10:6
Durationmax 10 min (600 s)

Images (Photo Mode)

ConstraintValue
Files1–10 images
FormatJPG/JPEG/WebP only
Max size20 MB each
Max width1920 px
warning

PNG is not valid for TikTok Photo Mode and will be rejected. Convert PNG assets before targeting a TikTok photo post.

Text limits

  • text: 2,200 characters.

How data arrives

TikTok sends Content Posting API completion/failure events to /api/tiktok/webhook. The handler verifies the TikTok-Signature (HMAC-SHA256 over <timestamp>.<rawBody> keyed with the client secret), flips the matching pending_completion schedule to its terminal state, and reconciles the parent post. The endpoint is idempotent; TikTok retries for 72 h on non-200. See Webhooks.

Connect notes

  • Configure the callback URL <APP_ORIGIN>/api/tiktok/webhook in the Developer Portal under your app's Webhooks product.
  • See Connect a channel.