# Режим Upload — публикация контента (https://clout.wtf/guide/ru/upload-guide/)



> **Note:** **Перед каждой сессией.** Убедись, что iPhone разблокирован, яркость 50% или выше, телефон заряжается **вертикально** (не лёжа на боку). StandBy прерывает upload — проверь, что он отключён, в [подготовке устройств](https://clout.wtf/guide/ru/device-setup/).

## Что такое Upload

Upload — режим **публикации контента** в TikTok с уже залогиненных аккаунтов:

* берёт следующий медиа-файл из заданной папки
* (опционально) добавляет музыку из ссылок
* (опционально) ставит описание (4 источника на выбор)
* проходит весь сценарий загрузки в TikTok
* ждёт, пока видео обработается
* помечает файл как использованный (move в `used/` либо delete)
* переходит к следующему аккаунту

### Когда использовать

* Аккаунты уже залогинены, TikTok установлен — нужно публиковать в темпе
* Хочется автоматизировать постинг по расписанию или в цикле
* Контент готов и лежит локально (видео или фото для каруселей)

> **Note:** Если TikTok нужно сначала установить, аккаунт залогинить, прокси переключить — это **Seeding**, не Upload. Upload работает только с уже залогиненными аккаунтами и установленным TikTok.

## Два типа контента

В шаблоне есть переключатель **Content Type — Video / Carousel**. На один шаблон фиксируется один тип.

| Тип          | Что публикуется                               | Музыка                        |
| ------------ | --------------------------------------------- | ----------------------------- |
| **Video**    | Один видео-файл (mp4 / mov / m4v / avi / mkv) | Опционально                   |
| **Carousel** | Серия фото (1–35 штук, jpg / png / heic)      | **Обязательна** для каруселей |

## Настройка шаблона

В UI: **Templates → создать шаблон → Run Mode = Upload**.

Шаблон собирается из карточек: **Content**, **Music**, **Description**, **Publishing**, **Gallery**, **Debug**. Дальше — каждая карточка отдельно.

### Карточка «Content» — источник контента

#### Для Video

| Поле                    | Что задаёт                                                                       |
| ----------------------- | -------------------------------------------------------------------------------- |
| **Video Folder**        | Абсолютный путь к папке с видео                                                  |
| **Video Order**         | `Sequential` (по имени, естественная сортировка) или `Random`                    |
| **Move to 'used'**      | После публикации перемещать видео в подпапку `used/` (по умолчанию **включено**) |
| **Delete after upload** | Удалять файл после публикации (приоритет над «Move to used»)                     |

Поддерживаемые расширения: `.mp4`, `.mov`, `.m4v`, `.avi`, `.mkv`.

#### Для Carousel

| Поле                                         | Что задаёт                                                                                                                |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| **Photo Folder**                             | Абсолютный путь к папке с фото                                                                                            |
| **Each subfolder = one carousel**            | Если включено: каждая подпапка = одна карусель. Если выключено: фото нарезаются плоскими блоками по «Photos per carousel» |
| **Photos per carousel**                      | Сколько фото на одну карусель в плоском режиме (1–35)                                                                     |
| **Move to 'used'** / **Delete after upload** | Те же правила, что для видео                                                                                              |

Поддерживаемые расширения: `.jpg`, `.jpeg`, `.png`, `.heic`. Подробнее о структуре папок — гайд [«Структура папок»](https://clout.wtf/guide/ru/folder-structure-guide/).

### Карточка «Music» — фоновая музыка

#### Когда обязательна

* Для **карусели музыка обязательна** (это требование TikTok). Без музыки тред упадёт.
* Для **видео музыка опциональна**.

#### Поля

| Поле                         | Что задаёт                                 | Дефолт |
| ---------------------------- | ------------------------------------------ | ------ |
| **Add music**                | Включить/выключить добавление музыки       | off    |
| **Music links**              | Список ссылок на треки, по одной на строку | пусто  |
| **Adjust volume**            | Включить регулировку громкости             | off    |
| **Music volume**             | Громкость музыки 0–100                     | 10     |
| **Video volume**             | Громкость оригинального аудио 0–100        | 50     |
| **Search results wait time** | Сколько секунд ждать после поиска трека    | 3      |

#### Допустимые форматы ссылок

* Полная ссылка TikTok: `https://www.tiktok.com/music/track-name-7123456789012345`
* Ссылка на трек в формате приложения: `snssdk1233://music/detail/7123456789012345`
* Просто ID: `7123456789012345`

> **Note:** **Как получить ссылку:** в TikTok открой трек → Share → Copy link.
> **Бизнес-аккаунты.** TikTok для Business блокирует лицензированную музыку (Disney, мейджоры). На бизнес-аккаунте видна только секция «Recommended sounds» / «Commercial Sounds». Приложение это **определяет автоматически** и пропускает шаги работы с музыкой и громкостью. На таком аккаунте лучше держать только «коммерческие» ссылки или отключить переключатель **Add music**.

#### Как выбирается трек

Из всего списка приложение **случайно выбирает один** на каждую публикацию. Если ссылка не работает (трек удалён / не найден) — пробует следующую. Когда все ссылки кончились — публикует без музыки и возвращается на главный экран TikTok.

### Карточка «Description» — описание

Отдельный гайд: [Set Description](https://clout.wtf/guide/ru/set-description-guide/) — там детально про 4 источника (text / file / json / sidecar), форматы файлов и подводные камни.

Кратко:

| Источник      | Когда выбирать                                                 |
| ------------- | -------------------------------------------------------------- |
| **Text**      | Один-два варианта на все посты, через `;` прямо в шаблоне      |
| **TXT file**  | 10+ простых описаний во внешнем `.txt`                         |
| **JSON file** | Нужны заголовки (для каруселей) или жёсткий sequential-порядок |
| **Sidecar**   | Каждый медиа-файл имеет своё уникальное описание               |

> **Note:** Для **видео** заголовок (Title) **игнорируется** — у видео в TikTok нет поля Title. Для **карусели** заголовок заполняется, если он непустой.
> **Лимит: 2200 символов.** Хэштеги и упоминания пишутся **прямо в текст** описания: `"My caption #travel @user"`.

### Карточка «Publishing» — параметры публикации

| Поле                           | Что задаёт                                                                                  | Дефолт |
| ------------------------------ | ------------------------------------------------------------------------------------------- | ------ |
| **Publications per account**   | Сколько публикаций сделает один аккаунт за один проход. `0` = без лимита, пока есть контент | 1      |
| **Pause between publications** | Пауза между публикациями на одном аккаунте (если Publications per account > 1), в секундах  | 0      |
| **Wait after publish**         | Пауза после возврата на главный экран — видео ещё догружается в фоне, в секундах            | 360    |

> **Note:** **Wait after publish** — критичный параметр. Видео в TikTok догружается в фоне после нажатия Post. Если выключить TikTok / переключиться на следующий аккаунт слишком быстро — публикация зависнет в статусе «Posting…» и не дойдёт до ленты.
> **Эмпирическое правило:** 1 минута на каждые 50 МБ файла + запас на медленный прокси. Для 100 MB видео через VPN ставь 360–600 сек.

### Карточка «Gallery» — работа с галереей устройства

iPhone складывает загруженные TikTok медиа в свою галерею. Опции:

| Поле                    | Что делает                                                                   | Дефолт |
| ----------------------- | ---------------------------------------------------------------------------- | ------ |
| **Clear before upload** | Удалить ВСЕ фото/видео из галереи устройства перед загрузкой нового контента | off    |
| **Delete after upload** | Удалить только что опубликованный медиа из галереи                           | off    |

> **Note:** Для **каруселей рекомендуется включить Clear before upload** — иначе старые фото перемешаются с новыми при выборе из галереи, и TikTok соберёт «не ту» карусель.
> При очистке iOS показывает системный диалог «Allow … to delete N photos?» — приложение его автоматически принимает.

### Карточка «Debug» — диагностика

| Поле                 | Что делает                                                                                                   |
| -------------------- | ------------------------------------------------------------------------------------------------------------ |
| **Save screenshots** | Сохранять скриншоты на каждом шаге автоматизации в `debug_screenshots/` для разбора ошибок и саппорт-бандлов |

> **Note:** По умолчанию **включено** — это критично для саппорта. Диск управляется автоматически: чистится при > 7 дней или > 1 ГБ (старые удаляются первыми).

## Что задаётся не в шаблоне, а в треде

Часть параметров живёт во вкладке **Threads → Add Configuration**:

| Поле                       | Где живёт    | Что задаёт                                                            |
| -------------------------- | ------------ | --------------------------------------------------------------------- |
| **Account List**           | Конфиг треда | Список аккаунтов, на которых публиковать                              |
| **Devices**                | Конфиг треда | Одно или несколько устройств                                          |
| **Proxy**                  | Конфиг треда | None / Manual / Stash / Happ / System                                 |
| **Cyclic Upload**          | Конфиг треда | Зацикленный прогон (после прохода по всем аккаунтам — снова с начала) |
| **Pause between accounts** | Конфиг треда | Сколько секунд ждать между аккаунтами                                 |
| **Pause between cycles**   | Конфиг треда | Сколько минут ждать между циклами                                     |
| **Reupload Cycles**        | Конфиг треда | Сколько раз перезаливать тот же контент в новых циклах                |
| **Schedule**               | Конфиг треда | Запуск по расписанию (с привязкой к таймзоне target-региона)          |

## Защита от двойных публикаций при работе нескольких устройств

Можно **спокойно запускать 5–25 устройств с одной и той же папкой контента** — приложение координирует их через скрытый файл `.publish_history.json` рядом с медиа, и каждый файл уйдёт в TikTok ровно один раз. **Не удаляй этот файл вручную** — иначе уже опубликованное может уйти повторно.

## Типичные ошибки

| Симптом                                     | Причина                                          | Решение                                                                                           |
| ------------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| «TikTok not installed»                      | На устройстве нет TikTok                         | Поставь TikTok через App Store, перезапусти. Upload не ставит сам — это делает Seeding            |
| «No content» при старте                     | Папка пустая или все файлы уже опубликованы      | Добавь файлы или удали `.publish_history.json`                                                    |
| «Outdated client app»                       | Версия Clout App на iPhone старее, чем нужно     | На странице Devices переустанови Clout App через Xcode                                            |
| Публикации зависают в «Posting…»            | «Wait after publish» слишком маленький           | Подними до 360–600 сек для больших файлов через VPN                                               |
| Карусель собирается из не тех фото          | Старые фото в галерее устройства                 | Включи **Clear before upload** в карточке Gallery                                                 |
| Музыка не подхватывается на бизнес-аккаунте | TikTok Business блокирует лицензированную музыку | Используй коммерческие треки или отключи **Add music**. Бизнес-аккаунт определяется автоматически |
| Описание обрезано                           | > 2200 символов                                  | Сократи; см. гайд [Set Description](https://clout.wtf/guide/ru/set-description-guide/)            |
| Один файл уходит на несколько устройств     | Стертый или повреждённый `.publish_history.json` | Не удаляй вручную, дай приложению пересоздать; убедись, что папка единая для всех устройств       |
| Тред падает на «Edit Profile did not load»  | Multi-device + slow proxy + missing settle       | Защитная пауза уже зашита, проверь логи восстановления соединения с устройством                   |
| Ошибка прокси                               | Прокси не назначен / недоступен / отвалился      | Проверь Stash API / Happ / System VPN profile                                                     |

## Рекомендованные пресеты

### «Безопасный поток на 1 устройство, 3 аккаунта»

```
Content: Video, Move to used = on
Music: on, 3–5 ссылок
Description: TXT file, 20–30 вариантов
Publications per account: 1
Wait after publish: 360 сек
Gallery: Delete after upload
Pause between accounts: 60 сек
Cyclic Upload: off
```

### «Карусели в спокойном темпе»

```
Content Type: Carousel
Photo Folder: с подпапками, Each subfolder = one carousel = on
Music: on (обязательно для каруселей)
Description: Sidecar (content.json в каждой подпапке), fallback = none
Publications per account: 1
Wait after publish: 480 сек (фото обрабатываются медленнее)
Gallery: Clear before upload = on  (обязательно для каруселей)
Cyclic Upload: off
```

### «Многоустройственный поток с одной папкой»

```
Content: Video, Move to used = on
Description: JSON file с 200+ вариантами, content_order = random
Music: on, 10+ ссылок (чтобы трек ротировался)
Publications per account: 1
Wait after publish: 420 сек (запас на slow proxy)
Pause between accounts: 30 сек
Reupload Cycles: 0
Cyclic Upload: on
Pause between cycles: 30 минут
```

`.publish_history.json` гарантирует, что один файл уйдёт ровно на одно устройство.

## Чек-лист «правильно настроил Upload»

* [ ] Создан шаблон с Run Mode = **Upload**
* [ ] Выбран Content Type: Video или Carousel
* [ ] Указан абсолютный путь к папке с медиа
* [ ] Файлы в папке нужного формата (видео/фото-расширения из списка)
* [ ] Move to used **включено** (чтобы не публиковать одно и то же)
* [ ] Для **карусели**: Music включена и заполнена; Clear gallery before upload включено
* [ ] Description настроена под нужный источник (см. гайд [Set Description](https://clout.wtf/guide/ru/set-description-guide/))
* [ ] Wait after publish ≥ 240 сек (или больше для больших файлов / медленного прокси)
* [ ] Аккаунты в Account List уже залогинены в TikTok на устройстве
* [ ] TikTok установлен на устройстве (Upload не ставит сам)
* [ ] (Опционально) подключён прокси
* [ ] (Опционально) расписание

## Связанные гайды

* [Структура папок](https://clout.wtf/guide/ru/folder-structure-guide/) — структура папок для Upload (видео, карусели в подпапках или плоские).
* [Set Description](https://clout.wtf/guide/ru/set-description-guide/) — детально про описания (text / file / json / sidecar).
* [Прогрев аккаунта](https://clout.wtf/guide/ru/warmup-guide/) — режим прогрева перед Upload.

## FAQ

### Clout Uploader публикует через API TikTok?

Нет. Публикация идёт на физическом iPhone: приложение проходит тот же сценарий загрузки, что и человек, в настоящем приложении TikTok. Никаких API-загрузок.

### Какие типы контента можно публиковать?

Видео (mp4 / mov / m4v / avi / mkv) и фото-карусели из 1–35 изображений (jpg / png / heic). Один шаблон закреплён за одним типом контента; для каруселей обязательна музыка.

### Могут ли несколько устройств публиковать из одной папки?

Да — 5–25 устройств спокойно работают с одной папкой. История публикаций координируется через скрытый файл рядом с медиа, каждый файл уходит в TikTok ровно один раз.

### Как работает публикация по расписанию?

Шаблон отвечает за то, *что* публиковать; поток — за то, *когда* и *для кого*: аккаунты, устройство и цикл запуска. Настрой расписание потока — и Upload заполняет его без ручных запусков.

## Читать в блоге

* [Как массово загружать видео в TikTok: инструменты, лимиты и обходные пути](https://clout.wtf/blog/ru/tiktok-bulk-upload-videos/)
* [Seeding Mode — пошаговая инструкция по массовой публикации в TikTok](https://clout.wtf/blog/ru/seeding-mode-guide/)
