This workflow automatically transforms video recordings of meetings into structured, professional meeting minutes in Notion. It uses local AI models (Whisper for transcription and Ollama for summarization) to ensure privacy and cost efficiency, while uploading the original video to Google Drive for safekeeping. Ideal for creative teams, production reviews, or any scenario where visual context is as important as the spoken word.
.mkv
video file is added, it waits until the file has finished copying..wav
audio file optimized for transcription (under 25 MB with high clarity).openai-whisper
, ffmpeg-python
).gpt-oss:20b
, llama3
, mistral
).wait-for-file.ps1
, create_wav.py
, transcribe_return.py
) in the respective "Execute Command" nodes.G:\OBS\videos
) in the "File" node to your own recording directory.💡 Note: Detailed instructions for each step, including error handling and variable setup, are documented in the Sticky Notes within the workflow itself.
wait-for-file.ps1
A PowerShell script that checks if a file is still being written to (i.e., locked by another process). It returns 0
if the file is free and 1
if it is still locked.
Usage:
.\wait-for-file.ps1 -FilePath "C:\path\to\your\file.mkv"
create_wav.py
A Python script that converts a video file into a .wav audio file. It automatically calculates the necessary audio bitrate to keep the output file under 25 MB—a common requirement for many transcription services.
Usage:
python create_wav.py "C:\path\to\your\file.mkv"
transcribe_return.py
A Python script that uses a local Whisper model to transcribe an audio file. It can auto-detect the language or use a language code specified in the filename (e.g., meeting.en.mkv for English, meeting.es.mkv for Spanish). The transcript is printed directly to stdout with timestamps, which is then captured by the n8n workflow.
Usage:
# Auto-detect language
python transcribe_return.py "C:\path\to\your\file.mkv"
# Force language via filename
python transcribe_return.py "C:\path\to\your\file.es.mkv"