How it works
From signing in to a published video, including what happens on the platform side.
1. Signing in
You connect your own accounts once. Both sign-ins happen on the platforms' own pages in your system browser — the app never sees your password and has no login form of its own.
- TikTok — OAuth 2.0 with PKCE. The consent screen lists the permissions, and the app receives only an access token afterwards.
- YouTube — Google OAuth for a desktop application, with the upload scope.
Tokens are written to a file inside the app folder on your computer and refreshed automatically when they expire. Disconnecting an account deletes them from disk.
2. Preparing the post
Before the TikTok part of the composer can be used, the app calls
creator_info and shows what came back: the connected account, the maximum video
duration allowed for it, and the privacy levels it may use. Those are the only options offered —
the app does not invent a default and does not preselect one for you.
If the clip is commercial, the disclosure toggle adds the declaration TikTok requires and shows which label the video will carry. Branded content and a private post are mutually exclusive, so the app refuses that combination at the point of queueing rather than failing later.
3. The scheduler
A background scheduler checks the queue every few seconds and acts when a post is due.
TikTok
video/initwith the file size and chunk plan, carrying the caption, privacy level, interaction settings and disclosure flags.- The file is uploaded in chunks to the URL TikTok returns, with progress shown in the queue.
status/fetchis polled until TikTok reports the post as complete — or returns a reason, which is written into the queue entry as-is.
In draft mode the same clip goes to inbox/video/init instead, and lands in the
TikTok app for you to finish and publish there.
YouTube
The clip is uploaded resumably with a publish time attached, which means YouTube makes it public at that moment on its own. The computer only has to be on during the upload itself.
4. When something goes wrong
Failures fall into two kinds, and the app treats them differently.
| Kind | Examples | What the app does |
|---|---|---|
| Temporary | Network drop, platform timeout | Retries twice with growing pauses |
| Final | Missing file, disconnected account, refusal by the platform | Stops, shows the reason, waits for you |
Everything is recorded in a local log, so a post that did not go out can be explained rather than guessed at.