Whisper lokalnie: transkrypcja bez API za 0 PLN, setup w 15 minut
Tutoriale how-to

Whisper lokalnie: transkrypcja bez API za 0 PLN, setup w 15 minut

Transkrypcja audio na twoim serwerze zamiast w chmurze OpenAI to już nie eksperyment. Whisper-large-v3 działa na CPU, zajmuje 5 GB RAM, i kosztuje dokładnie …

AN
Andrzej Niemiec
29 lipca 2026 · 5 min czytania · 984 słów

Transkrypcja audio na twoim serwerze zamiast w chmurze OpenAI to już nie eksperyment. Whisper-large-v3 działa na CPU, zajmuje 5 GB RAM, i kosztuje dokładnie 0 PLN za każdą minutę. Pokażemy, jak to uruchomić w Pythonie bez wysyłania danych do chmury.

Dlaczego lokalnie stało się praktyczne w 2024–2026

Przez lata transkrypcja audio to była domena API — wysyłasz plik, czekasz, płacisz. OpenAI Whisper API kosztuje 0,06 USD za minutę audio [1]. Jeśli transkrybujesz 1000 minut miesięcznie, to 60 USD co miesiąc, czyli 720 PLN rocznie. Lokalnie: zero.

Ale to nie tylko pieniądze. Whisper-large-v3 w float16 transkrybuje 11 sekund audio w około 15 sekund na CPU [1]. Wystarczy 5 GB RAM [1]. Nie potrzebujesz GPU, nie potrzebujesz chmury. Dane nigdy nie opuszczają twojego serwera — ważne dla firm, które mają compliance, lub dla każdego, komu zależy na prywatności.

Ograniczenie: jeśli transkrybujesz ponad 10 000 minut miesięcznie, API może być szybsze. Lokalnie czekasz na CPU, API ma dedykowane serwery. Ale dla większości builderów — <1000 minut/miesiąc — lokalnie wygrywa.

Trzy modele Whisper, które warto znać

Nie ma jednego "Whisper". Są trzy główne ścieżki, każda dla innego scenariusza.

whisper.cpp (ggml-medium): najszybszy na CPU

whisper.cpp to implementacja Whisper w C++, zoptymalizowana dla CPU. Model ggml-medium zajmuje około 150 MB [2]. Transkrybujesz lokalnie, bez Pythona, bez zależności. Idealne, jeśli chcesz minimalistyczne rozwiązanie.

Komenda transkrypcji wygląda tak: konwertujesz audio do WAV 16 kHz mono, potem uruchamiasz main.exe -m models/ggml-medium.bin -f final.wav -otxt [6]. Wynik: plik tekstowy.

Wada: nie ma integracji z Pythonem bez wrappera. Jeśli budujesz aplikację webową, to nie najlepszy wybór.

Faster-Whisper: Python + CUDA, 2–3x szybciej

Faster-Whisper to port Whisper do Pythona z optymalizacją dla CUDA (GPU) i CPU. Instalujesz pip install faster-whisper, pobierasz model, transkrybujesz. Działa 2–3 razy szybciej niż oryginalny Whisper [1].

To nasz rekomendowany punkt wejścia dla builderów. Dlaczego? Bo Python, bo szybko, bo działa offline.

vLLM + whisper-large-v3: serwer HTTP

Red Hat pokazuje, jak uruchomić whisper-large-v3 w float16 przez vLLM jako serwer HTTP [3]. Endpoint /v1/audio/transcriptions jest kompatybilny z OpenAI API [3]. Wysyłasz POST request, dostajesz JSON, tak jak w API — ale wszystko dzieje się lokalnie.

To rozwiązanie dla firm, które chcą drop-in replacement dla OpenAI API bez zmiany kodu aplikacji.

Jak uruchomić Faster-Whisper w Pythonie: 5 kroków

Zaczynamy od zera. Poniżej konkretne komendy, które działają.

Krok 1: Instalacja

pip install faster-whisper

To wszystko. Brak GPU? Nie problem. Faster-Whisper automatycznie używa CPU.

Krok 2: Pobranie modelu

from faster_whisper import WhisperModel

model = WhisperModel("medium", device="cpu", compute_type="int8")

Przy pierwszym uruchomieniu model pobiera się automatycznie (~1.5 GB dla medium). Możesz też wybrać "large-v3" — będzie dokładniejszy, ale wolniejszy.

Krok 3: Konwersja audio do WAV 16 kHz mono

Whisper wymaga WAV 16 kHz mono. Jeśli masz MP3 lub inny format, konwertujesz ffmpegiem:

ffmpeg -i nagranie.mp3 -ar 16000 -ac 1 nagranie.wav

Krok 4: Transkrypcja

segments, info = model.transcribe("nagranie.wav", language="pl", beam_size=5, temperature=0.0)

for segment in segments:
    print(f"{segment.start:.2f}s - {segment.end:.2f}s: {segment.text}")

Parametry:

  • language="pl": jeśli wiesz, że audio jest po polsku, model będzie dokładniejszy
  • beam_size=5: zwiększa dokładność, ale transkrypcja trwa dłużej
  • temperature=0.0: deterministyczne wyniki

Krok 5: Integracja z aplikacją

Najprostszy wrapper:

from faster_whisper import WhisperModel

class Transcriber:
    def __init__(self):
        self.model = WhisperModel("medium", device="cpu", compute_type="int8")
    
    def transcribe(self, audio_path):
        segments, info = self.model.transcribe(audio_path, language="pl")
        return " ".join([segment.text for segment in segments])

transcriber = Transcriber()
result = transcriber.transcribe("meeting.wav")
print(result)

Gotowe. Możesz to teraz zawinąć w Flask, FastAPI, lub użyć jako CLI.

Aplikacje desktopowe: Buzz, WhisperDesk, OpenWhisper

Nie chcesz pisać kodu? Są aplikacje.

Buzz: 100% offline, open-source, zero konfiguracji

Buzz to darmowa, open-source aplikacja do transkrypcji audio [5]. Uruchamiasz, wybierasz plik, czekasz. Wszystko offline, bez API keys, bez internetu [5].

Idealne dla dziennikarzy, badaczy, każdego, kto transkrybuje audio bez chęci programowania.

WhisperDesk: GUI dla Windows/macOS/Linux

WhisperDesk to darmowa aplikacja desktopowa [4]. Pozycjonowana dla confidential meetings — media nigdy nie opuszczają urządzenia [4]. Interfejs graficzny, obsługa video, offline.

Dla kogoś, kto chce "kliknij i transkrybuj", to rozwiązanie.

OpenWhisper: PyQt6, globalne hotkeys, auto-paste

OpenWhisper to aplikacja w PyQt6 z Faster-Whisper [2]. Modele pobierają się przy pierwszym uruchomieniu (~150 MB) [2]. Działa 100% offline [2]. Globalne hotkeys — nagrywasz, puszczasz, wynik trafia do schowka [2].

Dla kogoś, kto chce transkrybować bez otwierania aplikacji, to best-in-class.

Red Hat AI pokazuje, jak skalować

Red Hat opisuje, jak uruchomić whisper-large-v3 w float16 na CPU [3]. Benchmark: 11 sekund audio transkrybuje się w około 15 sekund [3]. Zużycie RAM: 5 GB [3].

Konfiguracja: vLLM + whisper-large-v3, endpoint /v1/audio/transcriptions kompatybilny z OpenAI API [3]. Oznacza to, że możesz zamiast wysyłać do OpenAI, wysyłać do swojego serwera. Kod aplikacji się nie zmienia.

To pokazuje, że lokalnie można skalować. Nie jest to "eksperyment dla hobbyistów" — duże organizacje robią to w produkcji.

Kiedy lokalnie, kiedy API — i jak zacząć dziś

Werdykt zależy od trzech rzeczy: wolumenu, compliance, i latency.

Lokalnie, jeśli:

  • Transkrybujesz <1000 minut miesięcznie (oszczędzasz 720 PLN rocznie)
  • Masz compliance (RODO, dane wrażliwe)
  • Latency <1 sekundy jest ważna

API, jeśli:

  • Transkrybujesz >10 000 minut miesięcznie
  • Potrzebujesz multi-language real-time streaming
  • Nie chcesz zarządzać infrastrukturą

First step: zainstaluj Faster-Whisper, przetestuj na 5 minutach audio

pip install faster-whisper
python -c "
from faster_whisper import WhisperModel
model = WhisperModel('medium', device='cpu', compute_type='int8')
segments, info = model.transcribe('test.wav', language='pl')
for segment in segments:
    print(segment.text)
"

Jeśli to działa, masz baseline. Teraz decydujesz: GUI (Buzz), Python API (Faster-Whisper), czy serwer HTTP (vLLM).

Źródła

[1] Self-Hosted Whisper in 2026: Local AI Transcription Guide — https://www.digitalapplied.com/blog/local-speech-to-text-whisper-self-hosted-transcription-2026

[2] OpenWhisper — Desktop App with Faster-Whisper — https://github.com/Knuckles92/OpenWhisper

[3] Private Speech Transcription with Whisper and Red Hat AI — https://developers.redhat.com/articles/2026/03/06/private-transcription-whisper-red-hat-ai

[4] WhisperDesk — Free Local AI Audio & Video Transcription — https://pvas-development.github.io/whisperdesk/

[5] This Free Whisper App Runs Fully Offline (No Cloud, No API) — https://www.youtube.com/watch?v=-Z-Clxo-v-g

[6] Transcribe Audio & Video 100% Locally With AI (Whisper.cpp Setup 2026) — https://www.youtube.com/watch?v=-yBIGVs0DO0

AN
O autorze
Andrzej Niemiec

Founder Aion Automation. Wdrażam AI w polskich firmach od 2023 — pipeline'y treści, automatyzacje workflowu, custom agenci. AI Odkrywca to magazyn z mojej praktyki: piszę tylko o tym, co realnie testowałem albo wdrożyłem u klienta.