Problem: nagrywasz rolkę 5 minut, publikujesz 2 godziny
Nagrywam rolkę telefonem. 60 sekund, twarz do kamery, gotowe.
A potem zaczyna się cyrk:
- Transkrypcja - odsłuchujesz i wpisujesz ręcznie, albo wrzucasz do CapCut i poprawiasz błędy
- Napisy - dodajesz je w CapCut albo innej aplikacji, dopasowujesz timing słowo po słowie
- Opisy - piszesz osobny tekst na każdą platformę (inne limity, inne hashtagi)
- Upload - wrzucasz na TikToka, potem na Instagram Reels, potem Facebook Reels, potem YouTube Shorts
- Planowanie - ustawiasz daty publikacji na każdej platformie osobno
Każdy krok to 10-20 minut. W sumie 1.5-2 godziny zanim jedna rolka jest wszędzie. A jak chcesz publikować codziennie? Nie ma szans ogarniać tego ręcznie.
Zbudowałem system który robi to za mnie. Wrzucam plik - reszta dzieje się sama.
Automatyczne napisy do filmów za darmo - jak to działa
Większość ludzi szuka aplikacji do automatycznych napisów (CapCut, InShot, Canva). Problem? Ręcznie klikasz, ręcznie poprawiasz, ręcznie wrzucasz na każdą platformę.
Moje podejście jest inne - pełna automatyzacja od nagrania do publikacji. Zero klikania poza wrzuceniem pliku.
Architektura jest prosta. 6 narzędzi, każde robi jedną rzecz:
Telegram /render
↓
n8n (orkiestracja)
↓
Google Drive → Cloudflare R2
↓
GitHub Actions (Whisper + Claude + Remotion)
↓
n8n → Buffer + YouTube API
↓
4 platformy: TikTok, Instagram, Facebook, YouTube
Krok 1: Wrzucam wideo - i to jedyne co robię ręcznie
Nagrywam telefonem, wrzucam do folderu “shorty” na Google Drive. Potem piszę na Telegramie /render 15.04 15:00 - data i godzina publikacji.
n8n (darmowe narzędzie do automatyzacji) pobiera pliki z folderu, uploaduje na Cloudflare R2 (darmowy hosting plików) i odpala GitHub Actions.
Krok 2: Whisper - automatyczne napisy po polsku za darmo
OpenAI Whisper to model AI do transkrypcji. Używam modelu “small” - zamienia audio na tekst z timestampami per słowo. To kluczowe - potrzebuję dokładnego timingu każdego słowa żeby napisy do rolek były zsynchronizowane.
Dokładność dla polskiego: ~95%. Czasem myli się w imionach własnych albo slangowych wyrażeniach, ale do napisów wystarcza.
Testowałem model “medium” - lepsza jakość, ale na GitHub Actions (CPU, bez GPU) trwa wieczność. “Small” to dobry kompromis między jakością a czasem. Jeśli masz kartę graficzną (np. RTX 4060), możesz spokojnie odpalić “medium” lokalnie.
Whisper jest open-source i darmowy. Żadnych subskrypcji, żadnych limitów. Dlatego automatyczne napisy do filmów za darmo to nie clickbait - naprawdę nic nie płacisz za transkrypcję.
Krok 3: AI generuje dwa style napisów + opisy na każdą platformę
Na podstawie transkrypcji Claude API (AI od Anthropic) robi trzy rzeczy naraz:
Ciągłe napisy (styl TikTok): Słowo po słowie, na dole ekranu. Aktualne słowo podświetlone na żółto, reszta przygaszona. Automatyczne grupowanie - max 3 słowa na linię, nowy ekran po kropce. Dokładnie tak jak w popularnych aplikacjach do napisów, ale bez ręcznego klikania.
Kluczowe momenty (kinetic typography): 4-5 najważniejszych zdań z całego filmu wyświetlonych dużym, animowanym tekstem. Czcionka Anton, 82-115px, efekt blur in/out ze spring animation. To te napisy które “wyskakują” z ekranu i przyciągają uwagę.
Opisy per platforma: Inny tekst na każdą platformę - TikTok (do 2200 znaków), Instagram (do 2200), YouTube (do 5000). Plus hashtagi dopasowane do każdej platformy.
Krok 4: Remotion renderuje wideo z animowanymi napisami
Remotion (framework React do wideo) łączy surowe nagranie z napisami. Dwa systemy napisów nakładają się na siebie:
- ContinuousCaptions na dole - ciągłe napisy, każde słowo pojawia się z animacją spring pop
- BoldCaptions na środku - tylko w kluczowych momentach, duże, animowane
Renderowanie na GitHub Actions (2 CPU, 7 GB RAM) trwa ~15 minut na minutę wideo. Jest darmowe (publiczne repo = nieograniczone minuty) i działa w tle - nie muszę czekać.
Zoptymalizowałem kilka rzeczy po drodze:
- FFmpeg normalizacja (VFR → CFR) - nagrania z telefonu mają zmienny framerate, Remotion tego nie lubi
- CRF 28 - kompresja z 460 MB do ~30-50 MB bez widocznej straty jakości
- OffthreadVideo - naprawia drzenie/jitter na niektórych nagraniach
Krok 5: Automatyczna publikacja na TikTok, Instagram, Facebook i YouTube
Po renderowaniu GitHub Actions wysyła callback do n8n z linkiem do gotowego wideo. n8n robi resztę:
- Instagram Reels + Facebook Reels - planuje posty przez Buffer API
- YouTube Shorts - uploaduje przez YouTube API, ustawia datę publikacji
- TikTok - publikacja przez Buffer API (wcześniej był problem, już naprawiony)
Harmonogram: każdy plik = kolejny dzień o tej samej godzinie. 5 plików = publikacja przez 5 dni. Jedno kliknięcie i masz tydzień contentu rozplanowanego.
Dlaczego nie CapCut albo inna aplikacja do napisów
CapCut, InShot, Canva - to świetne narzędzia do automatycznych napisów. Ale mają wspólny problem: każdy film ręcznie.
| CapCut | Mój system | |
|---|---|---|
| Transkrypcja | Automatyczna | Automatyczna (Whisper) |
| Poprawki napisów | Ręcznie | Nie trzeba (~95% dokładność) |
| Style napisów | Wybierasz z szablonów | 2 style generowane przez AI |
| Opisy na platformy | Piszesz sam | AI generuje per platforma |
| Publikacja | Ręcznie na każdej platformie | Automatyczna na 4 platformy |
| Czas na film | ~30-60 min | ~0 min (system robi w tle) |
| Koszt | Darmowe / Pro ~30 PLN/msc | ~12 groszy za film |
CapCut jest lepszy jeśli chcesz kontrolę nad każdym detalem. Mój system jest lepszy jeśli chcesz publikować codziennie bez poświęcania 2 godzin dziennie.
Realne koszty - automatyczne napisy AI za 12 groszy
To nie clickbait. Oto rozkład:
| Element | Koszt za film | Koszt miesięcznie (1/dzień) |
|---|---|---|
| Whisper (transkrypcja) | ~0.02 PLN | ~0.60 PLN |
| Claude API (napisy + opisy) | ~0.08 PLN | ~2.40 PLN |
| GitHub Actions (render) | 0 PLN | 0 PLN |
| Cloudflare R2 (hosting) | 0 PLN | 0 PLN |
| Buffer (publikacja) | 0 PLN | 0 PLN |
| Suma | ~0.12 PLN | ~3 PLN |
Cały miesiąc codziennego publikowania na 4 platformach za mniej niż 2 suche bułki z rana bez masła.
Dla porównania - ręczna robota to ~2 godziny na film. Przy stawce 50 PLN/h to 100 PLN za film. System oszczędza ~3000 PLN miesięcznie przy codziennym publikowaniu.
Co nie działa (jeszcze)
Nie wszystko jest idealnie:
TikTok API - przez kilka tygodni Buffer nie mógł publikować na TikToka (problem po stronie infrastruktury Oracle). Już naprawione, działa automatycznie jak reszta platform.
Czas renderowania - 15 minut na minutę filmu to sporo. Na lokalnym kompie z GPU (RTX 4060) schodzi do 3-5 minut. Rozważam migrację na AWS Lambda.
Whisper na CPU - model “small” zamiast “medium” bo GitHub Actions nie ma GPU. Tracimy trochę na dokładności, ale różnica jest minimalna dla krótkich filmów.
Ile zajęło zbudowanie tego systemu
Szczerze? Około 2 tygodni pracy wieczorami (jeżdżąc tirem w Niemczech). Oto timeline:
- Dzień 1-2: Research i architektura (Whisper, Remotion, n8n)
- Dzień 3-5: Budowa komponentów napisów (ContinuousCaptions, BoldCaptions, ShineCaption)
- Dzień 6-7: GitHub Actions - debug 7 runów zanim zadziałało
- Dzień 8-9: n8n workflow - Telegram trigger, Buffer API, YouTube API
- Dzień 10-12: Optymalizacja - FFmpeg, kompresja, race conditions
- Dzień 13-14: Testy produkcyjne, TikTok fallback, dokumentacja
Najtrudniejszy moment? Race conditions w n8n - pliki uploadowały się za szybko i GitHub Actions dostawał błąd 403. Rozwiązanie: kolejkowanie z opóźnieniem między plikami.
Następne kroki
Aktualnie pracuję nad:
- Trigger przez Telegram zamiast Google Drive - wrzucam wideo prosto z telefonu
- Szybsze renderowanie - migracja na AWS Lambda (~1-3 minuty zamiast 15)
Podsumowanie
Automatyczne napisy do rolek po polsku za darmo - to możliwe. Whisper transkrybuje, AI generuje napisy i opisy, Remotion renderuje, n8n publikuje. 12 groszy za film, 3 złote za miesiąc codziennego publikowania na TikTok, Instagram, Facebook i YouTube.
Jeśli budujesz coś podobnego albo chcesz wiedzieć jak wdrożyć taki system - zapisz się na newsletter. Opisuję takie rzeczy na bieżąco, bez filtra.