Setup (Clout Uploader)
Folder structure for each mode
Where to put videos, photos, and captions, how to name folders, and what the app does with content after publishing in Upload, Warm-up, and Seeding modes.
This is a short reference: which modes exist, which file extensions are supported, how to lay out videos and photos, what happens after publishing, and a self-check checklist before you launch.
What modes are there
The app has 3 modes, selected in a template via the Run Mode toggle:
| Mode | What it does | Media files needed? |
|---|---|---|
| Upload | Posts videos or carousels to logged-in accounts | Yes |
| Warm-up | In-app warm-up: scrolls the feed, likes, searches by keywords, watches results | No |
| Seeding | Full mass-seeding cycle on fresh accounts: TikTok reinstall → fingerprint reset → proxy rotation → login → upload | Yes |
The content type inside Upload and Seeding is selected separately:
video— regular videoscarousel— photo carousel
Supported file formats
| Type | Extensions |
|---|---|
| Video | .mp4, .mov, .m4v, .avi, .mkv |
| Photo (carousel) | .jpg, .jpeg, .png, .heic |
| Captions (sidecar) | .json next to media |
Any other extensions are ignored.
Mode 1. Upload — Video
Template fields
- Video folder — absolute path to the folder
- Order —
Sequential(by name, natural sort) orRandom(shuffled) - Move used files — into a
used/subfolder (on by default) - Delete after publishing — takes priority over "move"
Folder layout
Natural sort applies: 1, 2, 10 — not 1, 10, 2. The used/ folder is created automatically after the first successful upload.
What happens after publishing
- If "move" is on → the file goes into
used/inside the same folder - If "delete" is on → the file is permanently deleted (
used/is never created) - The sidecar
.jsonwith the caption is moved / deleted together with the video
Multi-device mode
If multiple devices run with the same folder, a hidden .publish_history.json file is created next to the media — it guarantees the same file isn't uploaded twice by different devices (claim TTL is 30 minutes).
Mode 1. Upload — Carousel (recommended: subfolders)
When to use
When you have "packaged" content — each carousel already laid out into its own folder with a clear photo order.
Template fields
- Photo folder — absolute path
- Each subfolder = one carousel — turn on
Folder layout
One subfolder = one carousel; photo order inside — by filename. content.json is the optional caption for that specific carousel. After publishing, the entire subfolder moves into used/ as a unit.
Rules
- The subfolder name
used(any case) is reserved. It's never scanned. Don't name your carousels that way. - Inside a subfolder, photos are sorted naturally:
1, 2, 10— not1, 10, 2. - Subfolders themselves are published in the same natural order of names.
- TikTok accepts 1 to 35 photos per carousel. Anything above nine is selected in batches of nine inside the picker, and each extra batch adds about 30 seconds to the post.
What happens after publishing
The entire subfolder moves into used/ as a unit (or is deleted). The sidecar inside goes along.
Mode 1. Upload — Carousel (flat mode)
When to use
When you don't want to group photos into subfolders — all images sit "loose" in one folder.
Template fields
- Photo folder
- Each subfolder = one carousel — turn off
- Photos per carousel — how many images per carousel (1 to 35)
Folder layout
photos/
├── img_01.jpg ┐
├── img_02.jpg │ carousel #1 (if photo_count=5)
├── img_03.jpg │
├── img_04.jpg │
├── img_05.jpg ┘
├── img_06.jpg ┐
├── img_07.jpg │ carousel #2
├── img_08.jpg │
├── img_09.jpg │
├── img_10.jpg ┘
└── used/
├── img_01.jpg
└── ...Rules
- All photos are sorted naturally by name and chunked into blocks of the configured size.
- Sidecar captions don't work in flat mode — there's no unambiguous photo-to-group binding. If you need per-carousel captions, switch to subfolder mode.
Mode 2. Warm-up
What it does
- Launches TikTok
- Scrolls the feed: views N videos, occasionally likes, may follow
- Searches by configured keywords, watches the results
- Doesn't upload or touch any files
Folder structure
No media folders are needed. The video / photo folder fields in a warm-up template are ignored.
What's configured
A warm-up template configures behavior parameters:
- How many videos to scroll in the feed, how many seconds each
- Like / follow / save probability
- List of search keywords (one per line)
- How many videos to watch in the search results
Mode 3. Seeding (mass-seeding)
What it does
For each account in turn: reinstalls TikTok with a clean fingerprint → switches to a proxy from the rotation → logs in with the provided credentials → (optionally) runs a short warm-up → publishes the content → moves on. Camera and microphone permissions are granted automatically in Settings.
Content folder structure
Same as Upload mode — the same video folders or carousel folders. In the template pick Run Mode = Seeding; the Seeding fields use their own path and carousel options.
Content is reused across accounts
Unlike Upload, Seeding intentionally uploads the same content to multiple fresh accounts — that's the whole point of seeding. Publish history is tracked per-account.
Account file format
One account per line. Three formats are supported (auto-detected):
| Format | Pattern |
|---|---|
| Pipe (recommended) | email|email_pass|username|tiktok_pass[|refresh_token][|client_id] |
| Colon (legacy) | username:password:email[:totp_or_refresh][:refresh_or_client_id] |
| Old colon | email:password[:totp] |
Example (pipe):
[email protected]|GmailPass123|cooluser1|TikTokPass!
[email protected]|OutlookPass|bestchannel|SecretPass!|1.ARw...refresh_tokenHeads up: if your TikTok password contains a : character, use the pipe format only. Colon parsing will break.
Shared protection: publish history
In every content folder, the app creates a hidden .publish_history.json file. It protects against double-publishing when the same folder is used by multiple devices at once — each file goes to TikTok exactly once. Don't delete that file manually — already-published content may otherwise get re-uploaded.
"Folders prepared correctly" checklist
For Upload — Video
- All videos in one folder, extensions from the supported list (
mp4,mov,m4v,avi,mkv) - Filenames sorted as you want (natural sort is used)
- No
used/subfolder yet (it'll be created automatically) or it's empty - If you need per-file captions — a
<name>.jsonsidecar lives next to each video (see the Set Description guide)
For Upload — Carousel (subfolders)
- Each carousel = a separate subfolder
- Photos inside are numbered or named so natural sort gives the desired order
- No subfolders named
used(reserved) - The "Each subfolder = one carousel" toggle is on
- If a per-carousel caption is needed — a
content.json(ordescription.json/caption.json) lives inside the subfolder
For Upload — Carousel (flat)
- All photos in one folder, sorted by name
- Photo count is a multiple of "Photos per carousel" (otherwise the tail won't form a full carousel)
- Sidecar captions are not used — pick one of the global caption sources instead
For Seeding
- Folder structure same as Upload
- Account file in pipe format (
email|email_pass|username|tiktok_pass) - Proxies assigned (Stash / Happ / System) — DIRECT is not allowed for Seeding
Posting schedule
Set up what to publish (template) and when (thread): auto schedule, cyclic upload, posts per day, monitoring, logs, and Telegram notifications in Clout Uploader.
Set Description
Set Description reference for Upload and Seeding templates: inline text, .txt, .json and sidecar — which source to pick, formats, and pitfalls.