Авто-планировщик TikTok для видео-рецептов
CLI-инструмент, который сопоставляет готовые видео-рецепты с подписями и планирует их в TikTok по одному в день через API PostMyPost.
Проблема
У контент-мейкера была папка на каждый рецепт с сырыми и готовыми клипами и отдельная база рецептов — и он вручную выбирал нужное видео, писал подпись и планировал каждый пост в TikTok, по одному в день.
Результат
Двухшаговый CLI, который сам выбирает готовое видео в каждой папке, нечётко сопоставляет его с рецептом для подписи и планирует весь пакет в TikTok по одному посту в день — с шагом проверки, dry-run, возобновляемым состоянием и настройками TikTok для каждого поста.
Технологии
Обзор
Инструмент командной строки, который превращает беспорядочное дерево папок с рецептами в календарь публикаций TikTok. Он сканирует каждую папку, выбирает готовое видео (игнорируя сырые монтажные клипы), нечётко сопоставляет его с нужной строкой в базе рецептов для подписи и планирует пакет на аккаунт TikTok через API PostMyPost — по одному посту в день, от старого клипа к новому. Каждый пост создаётся с нужными настройками TikTok: публичный, разрешены комментарии / дуэт / stitch.
Проблема
У мейкера была папка на каждый рецепт, где сырой монтажный материал (IMG_*.MOV, Gen_*.mp4) перемешан с одним готовым видео, и отдельная CSV-база рецептов с заголовками и описаниями. Чтобы выложить видео в TikTok, для каждой папки приходилось: найти готовый клип, найти его рецепт, написать подпись и запланировать на ближайший свободный день — и так десятки раз вручную, с реальным риском задвоить пост или пропустить день.
Решение
Инструмент делит работу на два осознанных шага, чтобы человек контролировал, что именно публикуется. Шаг 1 — построение маппинга: офлайн-скан папок, выбор готового видео, нечёткое сопоставление имени файла со строкой рецепта и запись mapping.csv со статусом на строку (OK, REVIEW, AMBIGUOUS, NO_VIDEO, SKIP), оценкой уверенности и редактируемой подписью. Мейкер правит только помеченные строки и свободно редактирует подписи. Шаг 2 — планирование: отправляются только строки OK, от старого видео к новому (чтобы самый свежий клип встал последним), по одному посту в календарный день. Режим dry-run и проверка первого поста --limit 1 позволяют убедиться до отправки всего пакета, а каждая запланированная папка фиксируется в .scheduled_state.json, поэтому повторный запуск не задваивает посты и просто продолжает со следующего свободного дня.
Возможности
- Сам выбирает готовое видео в папке, игнорируя сырые монтажные клипы (
IMG_*,Gen_*) - Нечётко сопоставляет видео со строками рецептов для подписей, с оценкой уверенности и флагами на ручную проверку
- Двухшаговый процесс: проверяемый
mapping.csv, затем планирование только строкOK - По одному посту в день, от старого к новому, с настраиваемой датой старта и временем публикации
- Режимы dry-run и одиночного поста для проверки до планирования всего пакета
- Возобновляемость через
.scheduled_state.json— безопасные повторные запуски, без дублей, продолжает со следующего свободного дня - Настройки TikTok для каждого поста (публичный, комментарии/дуэт/stitch) и команда удаления — всё через переменные окружения
Процесс разработки
Ключевая идея — оставить человеку контрольную точку ровно там, где автоматизация слабее всего: в сопоставлении видео с рецептом. Вместо слепого доверия нечёткому матчингу инструмент показывает свою уверенность и помечает всё сомнительное на проверку — мейкер подтверждает спорные случаи, и ничего не публикуется с неверной подписью. Второй приоритет — идемпотентность: поскольку запуск планирования затрагивает живой соцкалендарь, каждое действие фиксируется, а повторные запуски безопасны по замыслу, с dry-run, чтобы заранее увидеть, что именно произойдёт.
Результаты
- Десятки видео-рецептов запланированы в TikTok одной пакетной командой, по одному в день
- Подписи автоматически сопоставлены с нужным рецептом, ручная проверка — только там, где есть сомнение
- Безопасные, возобновляемые запуски — без дублей и пропущенных дней, продолжает с места остановки
- Полностью настраивается через переменные окружения (проект, даты, время, число постов в день, настройки TikTok)
Выводы
Автоматизация заслуживает доверия, когда честна о своей неуверенности. Показ уверенности сопоставления и обязательный шаг проверки для спорных строк — вместо тихой публикации «лучшей догадки» — именно это сделало пакетный планировщик безопасным для реального публичного аккаунта TikTok. Вместе с сохранением состояния и dry-run скучная работа над надёжностью и позволила отдать весь календарь скрипту.