ContentZavod

ContentZavod — SaaS «контент-завод»: от трендов и анализа канала до готовых постов и Reels с публикацией в Telegram, Instagram и YouTube. Продакшен: anapan8n.ru.

1. Обзор

Пользователь создаёт нишу (проект): описание, визуальный стиль, привязки к соцсетям. Запускает задачу (job) вручную или через автозадачу по расписанию. Система собирает тренды, генерирует сценарий/пост (DeepSeek), при необходимости озвучивает и собирает видео (Polza, FFmpeg), затем публикует или отправляет на модерацию в Telegram-бот.

РольОписание
ПользовательНиши, задачи, автозадачи, привязка IG/TG/YouTube, оплата тарифа
АдминистраторПанель /admin: пользователи, тарифы, бан, удаление; без лимита задач
Telegram-ботМодерация публикации, превью, замена картинки, статистика, привязка аккаунта

2. Возможности

Типы контента

Интеллектуальный Telegram

Прочее

3. Архитектура

┌─────────────┐     ┌──────────────────────────────────────────┐
│  Браузер    │────▶│  FastAPI (uvicorn)                        │
│  SPA + API  │     │  • REST /api/*  • Jinja /, /readme        │
└─────────────┘     │  • Scheduler (автозадачи)                 │
                    │  • TG Bot long poll                         │
                    └───────┬────────────────────────────────────┘
                            │
        ┌───────────────────┼───────────────────┐
        ▼                   ▼                   ▼
   SQLite DB          /data/jobs/*        Внешние API
   (users, jobs,      артефакты задач     DeepSeek, Polza,
    projects…)                             Apify, Meta, Google, TG

Стек: Python 3.12, FastAPI, SQLAlchemy, SQLite, Jinja2, vanilla JS (кабинет), FFmpeg, Docker, nginx.

4. Пайплайн задач

Оркестрация: app/services/pipeline.pyrun_job().

ЭтапТекст/картинкаВидео
trendsYouTube + Apify (если включено)то же
scriptDeepSeek → script.json, caption.txtсценарий + сегменты
mediaimage_post → Polza imageTTS → клипы Polza → assemble
publishTG / IG / YT или модерация в ботето же

Артефакты задачи: {DATA_DIR}/jobs/{job_id}/ — script.json, caption.txt, voice.mp3, clips/, final.mp4, post_image.png и др.

Антидубли: topic_memory.py — отпечатки темы и текста; список исключений при генерации; запоминание при отклонении, пропуске и публикации.

5. Telegram

6. Автозадачи

scheduler.py периодически запускает включённые автозадачи с учётом videos_per_day (лимит постов/роликов в сутки на одну автозадачу) и месячной квоты пользователя.

Поля интеллектуального режима: telegram_intelligent, tg_image_posts_per_3, tg_use_trends, tg_emoji_level.

7. Тарифы и доступ

app/services/billing.py — планы free / trial / pro / enterprise, квота задач в месяц, статусы подписки.

8. Админка

Вкладка «Админка» в кабинете (только is_admin):

9. API (кратко)

Авторизация: cookie cz_user (случайный id сессии) после POST /api/auth/login, register или POST /api/auth/telegram (виджет Telegram Login); сессия в БД. POST /api/auth/logout-all — выход на всех устройствах. Для виджета: TELEGRAM_BOT_TOKEN, TELEGRAM_BOT_USERNAME, в BotFather /setdomain.

ГруппаПрефиксПримеры
Auth/api/authlogin, register, me, forgot-password
Projects & Jobs/apiprojects, jobs, settings
Autotasks/api/autotasksCRUD, run
Telegram/api/telegramchannels, publish, bot link
Instagram/api/instagramOAuth, publish, stats
YouTube/api/youtubechannels, publish
Admin/api/adminusers, ban, delete, dashboard
Media/api/jobs/{id}/files/...final.mp4, caption.txt

10. Конфигурация

Переменные окружения — см. .env.example. Ключевые группы:

11. Развёртывание

Локально

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Docker

docker compose up -d --build

БД и jobs монтируются в ./data (в compose: /data).

VPS

./deploy/deploy.sh root@YOUR_HOST

Скрипт: rsync, сохранение SECRET_KEY на сервере, docker compose, nginx + Let's Encrypt (deploy/setup-ssl.sh).

12. Структура репозитория

app/
  main.py              # FastAPI, lifespan, scheduler, bot
  models.py            # SQLAlchemy модели
  database.py          # SQLite, миграции колонок
  auth.py              # Сессии, cookies, права
  routers/             # API и web-страницы
  services/            # Бизнес-логика
    pipeline.py        # Завод задач
    deepseek.py        # Сценарии
    telegram_intelligent.py
    topic_memory.py
    publish_approval.py
    scheduler.py
    telegram_bot/      # Long poll, handlers
  static/              # app.js, app.css, docs.css
  templates/           # index.html, readme, leancanvas
deploy/                # deploy.sh, nginx, ssl
data/                  # БД и jobs (не в git)

Версия приложения: 1.6.0 · Документация на /readme · Lean Canvas