TikTok unaudited_client_can_only_post_to_private_accounts
TikTok returns a 403 when an unaudited client posts to a non-private account. Test with private posts until the audit passes; Sume only supplies the file.

unaudited_client_can_only_post_to_private_accounts is a 403 from TikTok's Direct Post API. TikTok restricts everything an unaudited client posts to private viewing, and the publish call to /publish/video/init/ is blocked when the account is not private. Until your client passes TikTok's audit, test against a private account; Sume cannot lift this, because posting is your own call to TikTok.
TikTok's text is from its Direct Post reference; Sume's job flow from Video generation and Bulk runs, read 2026-10-01.
What does TikTok say about unaudited clients?
The reference notes that all content posted by unaudited clients is restricted to private viewing mode, and that once you have tested the integration, your API client must undergo an audit to lift the restriction. The error table lists this code under 403: unaudited clients can only post to a private account, and the attempt is blocked when calling /publish/video/init/.
What is Sume's part in a TikTok post?
Sume makes the video; it does not call TikTok for you. The video docs' flow is to submit, poll the job, then download the video from the content URL. You then send those bytes or a URL to TikTok yourself, with your own TikTok credentials. The result's durable media.sume.com URL has a null expires_at, so the file will still be there when your audit clears.
How do I test before the audit?
| Step | What to do |
|---|---|
| Account | Post to a private TikTok account only |
| Volume | Queue a small test batch; a bulk run takes 1-100 items |
| Source | Generate once with Sume, keep the durable URL |
| Check | Expect private visibility, not public reach |
| After audit | Re-run the same publish with your chosen privacy level |
Will a small Sume batch help?
A bulk queue takes between 1 and 100 items and concurrency between 1 and 16. For an audit demo, a handful of items is enough to show your upload flow end to end. The queue has no webhook, so poll its status URL, and remember that completed means every item is terminal, not that every item succeeded.
For file formats and sizes TikTok accepts, see TikTok video specs for API upload.
Sources
Related posts
More in Developers
- TikTok url_ownership_unverified with a media.sume.com URL
PULL_FROM_URL needs a TikTok-verified domain or prefix, so a media.sume.com URL fails with 403. Upload the bytes with FILE_UPLOAD or host a copy on your domain.
- TikTok photo post API: 35 image URLs, PULL_FROM_URL, cover index
TikTok's photo post endpoint takes up to 35 public image URLs by PULL_FROM_URL and a photo_cover_index. How to plan the generated-image batches that feed it.
- TikTok photo post API: is_aigc label and auto_add_music
Set is_aigc to true on a TikTok photo post of generated images to add the AI-generated tag. auto_add_music is direct post only. And the audit rule.
- TikTok photo post title length: 90 runes, description 4000
TikTok's photo post API caps the title at 90 UTF-16 runes and the description at 4000, unlike video posts. How to count them and where Sume fits in.
Written by Sume