Upload mode — publishing content

guide publishing

Detailed guide for the Upload mode: what it does, how to configure the template, the settings cards, the step-by-step publishing flow, recommended presets, and a setup checklist.

Before each session. Make sure the iPhone is unlocked, brightness is at 50% or higher, and the phone is charging in portrait orientation (not lying flat). StandBy interrupts uploads — confirm it's off in device setup.

What Upload is

Upload is a content publishing mode for already-logged-in TikTok accounts:

  • takes the next media file from the configured folder
  • (optionally) adds music from a list of links
  • (optionally) sets a description (4 sources to pick from)
  • walks through the full TikTok upload flow
  • waits for the video to process
  • marks the file as used (move to used/ or delete)
  • moves on to the next account

When to use it

  • Accounts already logged in, TikTok installed — you just need to publish at a steady pace
  • You want to automate posting on a schedule or in a cycle
  • Content is ready and lives locally (videos or photos for carousels)

If TikTok has to be installed first, the account logged in, the proxy switched — that's Seeding, not Upload. Upload only works with already-logged-in accounts and an installed TikTok.

Two content types

The template has a Content Type — Video / Carousel toggle. One template is locked to one type.

TypeWhat gets publishedMusic
VideoOne video file (mp4 / mov / m4v / avi / mkv)Optional
CarouselA series of photos (1–35 items, jpg / png / heic)Required for carousels

Template setup

In the UI: Templates → create template → Run Mode = Upload.

The template is built from cards: Content, Music, Description, Publishing, Gallery, Debug. Each card is covered below.

"Content" card — content source

For Video

FieldWhat it controls
Video FolderAbsolute path to the video folder
Video OrderSequential (by name, natural sort) or Random
Move to 'used'After publishing, move the video into a used/ subfolder (on by default)
Delete after uploadDelete the file after publishing (takes priority over "Move to used")

Supported extensions: .mp4, .mov, .m4v, .avi, .mkv.

For Carousel

FieldWhat it controls
Photo FolderAbsolute path to the photo folder
Each subfolder = one carouselIf on: each subfolder = one carousel. If off: photos get sliced into flat blocks of "Photos per carousel"
Photos per carouselHow many photos per carousel in flat mode (1–35)
Move to 'used' / Delete after uploadSame rules as for videos

Supported extensions: .jpg, .jpeg, .png, .heic. For folder layout details see the Folder structure guide.

"Music" card — background music

When it's required

  • For carousels music is required (TikTok requirement). Without music, the thread will fail.
  • For videos music is optional.

Fields

FieldWhat it controlsDefault
Add musicToggle music on/offoff
Music linksList of track links, one per lineempty
Adjust volumeToggle volume adjustmentoff
Music volumeMusic volume 0–10010
Video volumeOriginal audio volume 0–10050
Search results wait timeSeconds to wait after the track search3

Accepted link formats

  • Full TikTok link: https://www.tiktok.com/music/track-name-7123456789012345
  • Deeplink: snssdk1233://music/detail/7123456789012345
  • Just the ID: 7123456789012345

How to get a link: in TikTok open the track → Share → Copy link.

Business accounts. TikTok for Business blocks licensed music (Disney, majors). On a business account only "Recommended sounds" / "Commercial Sounds" are visible. The app detects this automatically and skips music and volume steps. On such accounts prefer commercial-only links or turn off the Add music toggle.

How a track is picked

From the full list, the app picks one randomly per publication. If a link is broken (track removed / not found) — it tries the next one. When all links are exhausted — it publishes without music and returns to the TikTok home screen.

"Description" card

Dedicated guide: Set Description — covers the 4 sources (text / file / json / sidecar), file formats, and pitfalls.

In short:

SourceWhen to pick
TextOne-or-two variants for all posts, separated by ; directly in the template
TXT file10+ simple captions in an external .txt
JSON fileNeed titles (for carousels) or strict sequential order
SidecarEach media file has its own unique caption

For videos the title is ignored — TikTok has no Title field for videos. For carousels the title is filled in if non-empty.

Limit: 2200 characters. Hashtags and mentions go directly inside the description text: "My caption #travel @user".

"Publishing" card — publication parameters

FieldWhat it controlsDefault
Publications per accountHow many publications one account makes per pass. 0 = no limit, until content runs out1
Pause between publicationsPause between publications on the same account (if Publications per account > 1), in seconds0
Wait after publishPause after returning to the home screen — the video is still uploading in the background, in seconds360

Wait after publish is critical. The video is still uploading in the background after Post is tapped. If you switch off TikTok / move to the next account too quickly, the publication gets stuck in "Posting…" and never reaches the feed.

Rule of thumb: 1 minute per 50 MB of file size + a buffer for slow proxy. For a 100 MB video over VPN, set 360–600 seconds.

"Gallery" card — device gallery handling

iPhone stores TikTok-uploaded media in its photo gallery. Options:

FieldWhat it doesDefault
Clear before uploadDelete ALL photos/videos from the device gallery before uploading new contentoff
Delete after uploadDelete the just-published media from the galleryoff

For carousels we recommend turning Clear before upload on — otherwise old photos blend with new ones during gallery selection, and TikTok will assemble the wrong carousel.

During cleanup iOS shows a system dialog "Allow … to delete N photos?" — the app accepts it automatically.

"Debug" card — diagnostics

FieldWhat it does
Save screenshotsSave screenshots at each automation step into debug_screenshots/ for error analysis and support bundles

On by default — critical for support. Disk is auto-managed: cleaned at > 7 days or > 1 GB (oldest first).

What's set in the thread, not the template

Some parameters live in the Threads → Add Configuration tab:

FieldWhere it livesWhat it controls
Account ListThread configList of accounts to publish on
DevicesThread configOne or more devices
ProxyThread configNone / Manual / Stash / Happ / System
Cyclic UploadThread configLooped run (after going through all accounts — start over)
Pause between accountsThread configSeconds to wait between accounts
Pause between cyclesThread configMinutes to wait between cycles
Reupload CyclesThread configHow many times to re-publish the same content across new cycles
ScheduleThread configScheduled run (tied to the target region's time zone)

Double-publish protection across multiple devices

You can safely run 5–25 devices off the same content folder — the app coordinates them through a hidden .publish_history.json file next to the media, and each file goes to TikTok exactly once. Don't delete that file manually — already-published content may otherwise get re-uploaded.

Common errors

SymptomCauseSolution
"TikTok not installed"No TikTok on the deviceInstall TikTok via App Store, restart. Upload doesn't install — that's Seeding's job
"No content" at startFolder empty or all files already publishedAdd files or delete .publish_history.json
"Outdated client app"Clout App on the iPhone is older than requiredOn the Devices page, reinstall Clout App via Xcode
Publications stuck in "Posting…""Wait after publish" too smallPush to 360–600 sec for large files over VPN
Carousel uses the wrong photosOld photos in the device galleryTurn on Clear before upload in the Gallery card
Music not picked up on a business accountTikTok Business blocks licensed musicUse commercial tracks or turn off Add music. Business accounts are auto-detected
Caption truncated> 2200 charactersTrim it; see the Set Description guide
One file goes to multiple devicesWiped or corrupt .publish_history.jsonDon't delete it manually; let the app rebuild it. Make sure the folder is the same across devices
Thread fails on "Edit Profile did not load"Multi-device + slow proxy + missing settleA short settle pause is already built in — check the device-recovery logs
"Proxy error"Proxy not assigned / unreachable / droppedCheck Stash API / Happ / System VPN profile

Recommended presets

"Safe stream on 1 device, 3 accounts"

Content: Video, Move to used = on
Music: on, 3–5 links
Description: TXT file, 20–30 variants
Publications per account: 1
Wait after publish: 360 sec
Gallery: Delete after upload
Pause between accounts: 60 sec
Cyclic Upload: off

"Carousels at a calm pace"

Content Type: Carousel
Photo Folder: subfolders, Each subfolder = one carousel = on
Music: on (required for carousels)
Description: Sidecar (content.json in each subfolder), fallback = none
Publications per account: 1
Wait after publish: 480 sec (photos process slower)
Gallery: Clear before upload = on  (required for carousels)
Cyclic Upload: off

"Multi-device stream from one folder"

Content: Video, Move to used = on
Description: JSON file with 200+ variants, content_order = random
Music: on, 10+ links (so the track rotates)
Publications per account: 1
Wait after publish: 420 sec (slow-proxy buffer)
Pause between accounts: 30 sec
Reupload Cycles: 0
Cyclic Upload: on
Pause between cycles: 30 minutes

.publish_history.json guarantees one file goes to exactly one device.

"Upload configured correctly" checklist

  • Template created with Run Mode = Upload
  • Content Type picked: Video or Carousel
  • Absolute path to media folder set
  • Files in the folder are in supported formats (video/photo extensions from the list)
  • Move to used on (so the same file isn't reused)
  • For carousels: Music on and filled; Clear gallery before upload on
  • Description configured for the right source (see the Set Description guide)
  • Wait after publish ≥ 240 sec (or higher for large files / slow proxies)
  • Accounts in Account List already logged into TikTok on the device
  • TikTok installed on the device (Upload doesn't install it)
  • (Optional) proxy attached
  • (Optional) schedule

Related guides

Ready to scale TikTok publishing across your iOS fleet?

Get early access to Clout Uploader — content operations platform for TikTok creators and agencies.

Get Early Access