Documentation / User guide
Create locally. Share deliberately.
Follow the actual desktop workflow, including the steps that still require your action.
1. Open the local Studio
The current release runs from a Windows source installation with Node.js 24 and its dependencies. A public installer is not currently provided. For access or installation help, contact nuiprono1@gmail.com.
cd D:\tiktok
npm.cmd run build
npm.cmd run studioOpen http://localhost:3200/admin/content-studio on the same computer. This local address is the application, not the public website. If another Studio process already owns the port, close that process normally before starting another.
2. Create, watch and approve
- In Experiment Lab, choose an existing template and review the battle conditions.
- Run the experiment and wait for the local recording/render worker.
- In Video Studio, watch the MP4 and review its caption.
- Approve only the version you intend to share. Edits or a rebuilt file require review again.
- Export the MP4 and caption for a manual upload whenever you prefer.
For API transfer, the current validator requires H.264 video/AAC audio, 23–60 FPS, 360–4096 pixels per dimension, a valid duration and size within Studio and TikTok limits. A 15 FPS local export must be rendered again at 24 or 30 FPS before API transfer.
3. Authorize the TikTok Inbox workflow
This step requires a TikTok Developer application with Login Kit and Content Posting API access for user.info.basic and video.upload, plus the target user’s authorization. Without it, the Studio shows NOT_AUTHORIZED. This website does not provide those permissions.
- Register the Desktop Login Kit callback
http://localhost:3200/api/admin/studio/tiktok/callbackwith TikTok. Use the same hostname when opening the Studio. - Configure the client key, client secret, redirect URI and a 32-byte encryption key in the local backend’s environment. Never place secrets in this static website.
- Use the Inbox-only scope configuration
user.info.basic,video.uploadand keep Direct Post disabled. - In Publishing, select Connect TikTok using OAuth. Sign in only on TikTok’s official page and review the requested permissions.
- Return to Publishing and check the account and actual scopes returned by TikTok.
- Select an approved video, choose TikTok Inbox, review the account and confirm the transfer. Enable the confirmed send schedule before sending.
- When TikTok sends an Inbox notification, open it in TikTok, review/edit the draft, paste your exported caption, choose privacy and finish posting.
Do not substitute a public website URL for the Desktop loopback callback. Do not add video.publish for this Inbox-only review setup.
4. Read the status correctly
| Status | Meaning |
|---|---|
| NOT_AUTHORIZED | Missing configuration, authorization or required scope. Export manually or complete legitimate setup. |
| Queued / uploading | Waiting locally or transferring. Keep Studio running. |
| Inbox | TikTok notified you. You must finish posting in the TikTok app. |
| Published | TikTok reports PUBLISH_COMPLETE. This alone does not establish public visibility. |
| Unknown / failed | Inspect the error and TikTok Inbox before taking action. Do not blindly initialize another transfer. |
5. Disconnect and manage local records
In Publishing, choose Disconnect. The Studio pauses future queued sends, removes local OAuth credentials and pending authorization state, and attempts to revoke the connection at TikTok. If remote revocation cannot be confirmed, revoke the app in TikTok’s account settings too.
Disconnect does not delete MP4s, captions, queue/history records, backups, uploads already sent or posts on TikTok. There is currently no in-app erase-all-data control. See Privacy / deletion for the actual local-data procedure.
6. Where to ask for help
Use the Support page. Send only non-sensitive error codes and a description of the step that failed, not tokens, secrets, passwords or database files.