🎬 Professional TikTok video generator transforming classic literature into engaging short-form content for Polish youth
37degrees (@37stopni - "gorączka czytania") to zaawansowany system generowania pionowych filmów TikTok (1080x1920) promujących klasyczną literaturę wśród polskiej młodzieży w wieku 12-25 lat. System generuje 25 scenicznych ilustracji AI dla każdej książki, które można wykorzystać do tworzenia angażujących materiałów wizualnych przedstawiających klasyczne dzieła dla pokolenia Z.
- Kompleksowy pipeline video: Od konfiguracji książki → AI scene → AI images → montaż wideo
- 25 scenicznych ilustracji: Różne struktury w zależności od typu generatora (narrative, flexible, podcast, atmospheric, emotional)
- Niefotorealistyczny styl: Dziecięce ilustracje zoptymalizowane pod kąt TikToka
- 8 wyspecjalizowanych agentów badawczych działających w skoordynowanej sekwencji
- Dynamiczne odkrywanie agentów - rozszerzalna architektura poprzez konfigurację plikową
- Kontrola liczby zadań - konfigurowalne min/max zadań na typ agenta
- System analizy luk - agent deep-research wypełnia braki informacyjne
- GPU-accelerated rendering z NVENC FFmpeg
- Ken Burns effects i płynne przejścia
- Animacje tekstowe z różnymi metodami nakładania
- Safe zone compliance dla elementów UI TikToka
- Integracja z Perplexity AI i Google Search
- Automatyczne generowanie recenzji w języku polskim
- Cache'owanie odpowiedzi dla minimalizacji kosztów API
- System walidacji źródeł i kompilacji bibliografii
- Python 3.12+
- uv package manager (zamiast pip)
- FFmpeg z obsługą NVENC (opcjonalnie, dla GPU acceleration)
- InvokeAI lub ComfyUI (do generowania AI)
# Sklonuj repozytorium
git clone [email protected]:user/37degrees.git
cd 37degrees
# Skopiuj i skonfiguruj środowisko
cp .env.example .env
# Edytuj .env z właściwymi kluczami API
# Zainstaluj zależności przez uv
uv pip install -r requirements.txt
# Aktywuj wirtualne środowisko (jeśli potrzebne)
source .venv/bin/activate# Wyświetl wszystkie dostępne kolekcje
python main.py collections
# Wyświetl książki w kolekcji klasyki
python main.py list classics
# Testuj generowanie bez GPU (mock generator)
python main.py ai 17 --generator mock
# Wygeneruj kompletny film dla Małego Księcia
python main.py generate 17python main.py collections # Lista wszystkich kolekcji
python main.py list classics # Książki w kolekcji "classics"
python main.py list # Wszystkie książki w projekcie# Generowanie filmów
python main.py video 17 # Film dla książki #17
python main.py video little_prince # Film według nazwy książki
python main.py video classics # Filmy dla całej kolekcji
# Generowanie obrazów AI
python main.py ai 17 # Obrazy AI dla książki #17
python main.py ai 17 --generator comfyui # Wybór generatora
python main.py ai classics # Obrazy dla całej kolekcji
# Kompleksowe generowanie (AI + video)
python main.py generate 17 # Wszystko dla książki #17
python main.py generate classics # Wszystko dla kolekcji# Generowanie treści badawczych AI
python main.py research 17 --provider perplexity # Perplexity AI
python main.py research 17 --provider google # Google Search
python main.py research classics --provider mock # Testowanie
# Regenerowanie promptów (po edycji book.yaml)
python main.py prompts 17
python main.py prompts little_princepython main.py site # Kompletna strona
python main.py site 17 # Strona pojedynczej książki
python main.py site classics # Strony kolekcji# Główny przepływ badawczy używający 8 wyspecjalizowanych agentów
/37d-research "Tytuł Książki"
# Eksport kompletnego systemu agentów
./scripts/export-37d-system.sh- 37d-facts-hunter: Fakty historyczne, szczegóły biograficzne (8-14 zadań)
- 37d-culture-impact: Adaptacje kulturowe, filmy, trendy TikTok (6-10 zadań)
- 37d-symbol-analyst: Analiza symboliki literackiej (4-8 zadań)
- 37d-polish-specialist: Polskie tłumaczenia, kontekst edukacyjny (7-12 zadań)
- 37d-youth-connector: Relevantność dla Gen Z, hacki nauki (4-8 zadań)
- 37d-source-validator: Weryfikacja integralności badań (0-0 zadań)
- 37d-bibliography-manager: Kompilacja cytowań (0-0 zadań)
- 37d-deep-research: Analiza luk, rozwiązywanie sprzeczności (0-5 zadań)
- Auto-odkrywanie: Nowi agenci automatycznie wykrywani z
.claude/agents/37d-*.md - YAML frontmatter:
todo_list,min_tasks,max_tasks,execution_order - Równoległa egzekucja: Agenci grupowani wg
execution_order, grupy wykonywane sekwencyjnie, agenci w grupach równolegle - Wyjście badań: Wszystkie ustalenia zapisywane do
books/NNNN_book/docs/findings/
# Nadpisanie pojedynczych parametrów
python main.py --set video.fps=60 video 17
python main.py --set development.debug=true --no-banner ai 17
# Użycie niestandardowego pliku konfiguracji
python main.py --config production.yaml video 17# Generowanie nowych opisów scen
/37d-s1-gen-scenes "Mały Książę" "Saint-Exupéry" narrative
/37d-s1-gen-scenes "Wyspa Skarbów" "Stevenson" flexible
/37d-s1-gen-scenes "Wichrowe Wzgórza" "Emily Brontë" emotional
# Aplikowanie stylów wizualnych do scen
/37d-s2-apply-style "Tytuł Książki" "Autor" [nazwa_stylu]
# Wybór konkretnego stylu
/37d-s2-apply-style "Mały Książę" "Saint-Exupéry" watercolor
/37d-s2-apply-style "1984" "Orwell" constructivist-propagandabook.yaml → Generator Scen → Sceny YAML → Aplikacja Stylu → Prompty AI
↓
Strona HTML ← Plik Video ← Renderowanie Klatek ← Obrazy AI ← Generator AI
# Przepływ Badań Agentów 37d (Opcjonalny):
/37d-research → Odkrywanie Agentów → Generowanie TODO → Sekwencyjna Egzekucja
↓
books/docs/findings/ ← Kontrola Jakości ← Bibliografia ← Wyniki Badań
- BaseImageGenerator - abstrakcyjna klasa definiująca interfejs
- Wzorzec Registry - dynamiczne odkrywanie generatorów
- Generatory: InvokeAI (główny), ComfyUI, Mock (testowanie)
- Proces dwustopniowy: Opisy scen → Aplikacja stylu
- 5 typów generatorów z różnymi strukturami narracyjnymi:
narrative: 3 akty (ekspozycja 1-8, rozwój 9-18, finał 19-25)flexible: 5 sekcji (opening 1-3, wprowadzenie 4-8, rozwój 9-15, kulminacja 16-20, zakończenie 21-25)podcast: podział funkcjonalny (20% atmosfera, 32% postacie, 28% fabuła, 20% symbolika)atmospheric: fokus na nastroju i klimacieemotional: podróż emocjonalna bohaterów
- Pliki scen:
books/*/prompts/scenes/[type]/scene_XX.yaml - Biblioteka stylów: 34 profesjonalne style graficzne w
config/prompt/graphics-styles/
Style klasyczne:
children-book-illustration- ciepłe ilustracje książkowe, styl Quentin Blakewatercolor- akwarele z przezroczystymi plamami i miękkie krawędzieoil-painting- klasyczne malarstwo olejne z bogatymi teksturamipencil-sketch- szkice ołówkowe z organicznymi liniami
Style nowoczesne:
flat-design- minimalistyczny design z geometrycznymi kształtami3d-clay-render- plastyczne renderowanie z miękkimi formamiglitch-art- cyfrowe zniekształcenia i artefaktyisometric-blue-line-urban- izometryczne miasta w stylu blueprint
Style artystyczne:
art-nouveau- secesyjne ozdoby i organiczne formyexpressionist- intensywne kolory i emocjonalne przedstawieniasurrealist-dreamlike- surrealistyczne kompozycje i oniryczne scenyconstructivist-propaganda- geometryczne plakaty w stylu konstruktywizmu
Style specjalistyczne:
anime-style- japońska animacja z charakterystycznymi cechamicomic-book- komiksowy styl z dynamicznymi kadraminoir-pulp-fiction- czarno-biały klimat noir z kontrastamivintage-travel-poster- retro plakaty podróżnicze
Każdy styl zawiera:
- Szczegółowe prompty AI i słowa kluczowe
- Paletę kolorów z instrukcjami nasycenia
- Specyfikacje oświetlenia i renderowania
- Wzorce artystyczne i referencje
- Scentralizowane ustawienia z
config/settings.yaml - Nadpisywanie zmiennymi środowiskowymi via
.env - Nadpisywanie runtime z flagą
--set
- OptimizedVideoGenerator - równoległe renderowanie klatek
- SlideRenderer - efekty Ken Burns i przejścia
- TextAnimator - animacje wejścia/wyjścia tekstu
- Akceleracja GPU FFmpeg z NVENC
- Wzorzec Provider dla rozszerzalności
- Implementacje: Perplexity AI, Google Search
- Automatyczne generowanie review.md w języku polskim
- Interaktywny HTML dla eksploracji książek
- Wizualizacje timeline i organizacja kolekcji
- Szablony w
shared_assets/templates/
37degrees/
├── books/ # Katalog książek (NNNN_nazwa/ format)
│ └── 0017_little_prince/
│ ├── book.yaml # Konfiguracja książki
│ ├── docs/ # Dokumentacja i badania
│ ├── generated/ # Wygenerowane obrazy AI (25 scen)
│ └── prompts/ # Prompty dla scen
├── collections/ # System kolekcji książek
│ └── classics.yaml # Kolekcja "Klasyka Światowa" (37 książek)
├── config/ # Główna konfiguracja systemu
│ ├── settings.yaml # Centralne ustawienia
│ └── prompt/ # Szablony promptów i stylów
├── src/ # Kod źródłowy
│ ├── cli/ # Moduły CLI
│ ├── generators/ # Generatory obrazów AI
│ ├── research/ # System badawczy
│ └── site_generator/ # Generator strony statycznej
├── output/ # Wygenerowane filmy
├── site/ # Wygenerowana strona HTML
└── main.py # Główny punkt wejścia
Kolekcje to tematyczne grupowania książek z metadanymi i konfiguracją serii.
books:
- order: 1 # Kolejność w serii
path: books/0017_little_prince/book.yaml # Ścieżka do konfiguracji książki
tags: # Tagi tematyczne
- filozofia
- baśń
- klasyka XX wieku
series: # Metadane serii
name: "Klasyka Światowa" # Nazwa kolekcji
description: "Najważniejsze dzieła literatury światowej w formie angażujących TikToków"
target_audience: "10-20 lat" # Grupa docelowa
language: "pl" # Język
hashtags: # Hashtagi TikTok
- '#37stopni'
- '#klasyka'
- '#booktok'37 najważniejszych dzieł literatury światowej pogrupowanych tematycznie:
Fantasy i Baśnie:
- Mały Książę, Władca Pierścieni, Harry Potter, Hobbit, Alicja w Krainie Czarów, Narnia
Dystopie i Science Fiction:
- 1984, Brave New World, Fahrenheit 451, Duna, Solaris
Klasyka Polska:
- Lalka, Pan Tadeusz, Quo Vadis, Chłopi, Solaris
Literatura Młodzieżowa:
- Harry Potter, Hobbit, Tom Sawyer, Wyspa Skarbów
Każda książka zawiera:
- Tagi tematyczne - dla łatwego filtrowania i grupowania
- Kolejność serii - dla systematycznego publikowania
- Ścieżka do konfiguracji - łączenie z systemem książek
# Przeglądanie kolekcji
python main.py collections # Lista wszystkich kolekcji
python main.py list classics # Książki w kolekcji "classics"
# Przetwarzanie całej kolekcji
python main.py ai classics # Generuj AI dla wszystkich książek
python main.py video classics # Twórz filmy dla całej kolekcji
python main.py research classics # Badania dla całej serii- Registry Pattern: Dynamiczne odkrywanie generatorów
- Abstract Factory: Tworzenie generatorów obrazów
- Template Method: Proces generowania scen
- Strategy Pattern: Metody nakładania tekstu
- Provider Pattern: Abstrakcja API badawczego
- Grupa docelowa: Polska młodzież na TikToku (12-25 lat)
- Nazwa konta: @37stopni (37 stopni - "gorączka czytania")
- Focus serii: Klasyka światowa adaptowana dla młodych czytelników
- Format video: Format pionowy 1080x1920, 25 scen na książkę
- Styl artystyczny: Niefotorealistyczne, dziecięce ilustracje
- Rozdzielczość finalna: 1080x1920 przy 30fps
- Rozszerzalna architektura: Nowi agenci auto-wykrywani z
.claude/agents/37d-*.md - Konfiguracja YAML frontmatter:
todo_list,min_tasks,max_tasks,execution_order - Równoległa egzekucja: Agenci grupowani wg
execution_order, grupy wykonywane sekwencyjnie, agenci w grupach równolegle - Kontrola jakości: Walidacja źródeł i kompilacja bibliografii wbudowane
- Integracja hook-ów: Wyniki wyszukiwań automatycznie zapisywane via Claude Code hooks
- Minimalizm: Rób tylko to, o co proszono; nic więcej, nic mniej
- Edycja przed tworzeniem: ZAWSZE preferuj edycję istniejących plików nad tworzeniem nowych
- Brak proaktywnej dokumentacji: NIGDY nie twórz plików dokumentacji (*.md) lub README chyba, że wyraźnie o to poproszono
- Język polski: Zawsze używaj polskiego dla treści specyficznych dla Polski
- Format 24-godzinny: Dla wszystkich timestamp-ów
- Bezpieczeństwo danych: Nigdy nie commituj prawdziwych loginów, URL-i, danych osobowych
- Zarządzanie czasem: Przy pracy z datami/SQL zawsze uwzględniaj UTC vs. czas lokalny
- GitHub SSH: Przy dodawaniu integracji z GitHub używaj SSH zamiast HTTPS
# Testuj z mock generatorem (bez AI)
python main.py ai 17 --generator mock
# Testuj generowanie video bez AI (wymaga istniejących obrazów)
python main.py video 17
# Debug mode
python main.py --set development.debug=true ai 17# Skrypt batch dla badań
./scripts/export-37d-system.sh
# Utilities
python src/prompt_builder.py books/0017_little_prince/book.yaml- Stwórz klasę dziedziczącą z
BaseImageGenerator - Zaimplementuj wymagane metody
- Generator zostanie automatycznie wykryty przez Registry
- Stwórz plik
.claude/agents/37d-nazwa-agenta.md - Dodaj YAML frontmatter z konfiguracją
- Agent zostanie automatycznie odkryty i włączony
- Dziedzicz z
BaseResearchProvider - Zaimplementuj wymagane metody API
- Dodaj konfigurację do
settings.yaml
Ten projekt jest licencjonowany na warunkach licencji CC0 1.0 Universal (CC0 1.0) Public Domain Dedication - szczegóły w pliku LICENSE.
- Dokumentacja: Pełna dokumentacja w katalogu
/docs - Issues: Zgłoś problemy przez GitHub Issues
- Development: Sprawdź
/docs/STRUCTURE.mddla szczegółów architektury
🎬 Stwórz angażujące TikToki z klasycznej literatury i zaraź młodzież gorączką czytania! 📚