Перейти к содержимому
PD
Автоматизация

Авто-планировщик TikTok для видео-рецептов

CLI-инструмент, который сопоставляет готовые видео-рецепты с подписями и планирует их в TikTok по одному в день через API PostMyPost.

Проблема

У контент-мейкера была папка на каждый рецепт с сырыми и готовыми клипами и отдельная база рецептов - и он вручную выбирал нужное видео, писал подпись и планировал каждый пост в TikTok, по одному в день.

Результат

Двухшаговый CLI, который сам выбирает готовое видео в каждой папке, нечётко сопоставляет его с рецептом для подписи и планирует весь пакет в TikTok по одному посту в день - с шагом проверки, dry-run, возобновляемым состоянием и настройками TikTok для каждого поста.

Технологии

PythonPostMyPost APITikTokrequestsНечёткое сопоставлениеCSV

Обзор

Инструмент командной строки, который превращает беспорядочное дерево папок с рецептами в календарь публикаций 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 скучная работа над надёжностью и позволила отдать весь календарь скрипту.

Услуги в этом проекте

Похожие кейсы

Нужна похожая система?

Расскажите о своей задаче - я предложу архитектуру и кратчайший путь к рабочему продукту.