A collection of custom n8n community nodes for AI-powered text, audio, and document processing.
| Node | Description |
|---|---|
| Piper TTS | Convert text to speech using Piper TTS with multi-language support |
| Whisper | Transcribe audio files using OpenAI Whisper |
| Tesseract OCR | Extract text from PDF files with multi-language OCR support |
- Open your n8n instance
- Go to Settings β Community Nodes
- Click Install a community node
- Enter
n8n-custom-nodesand click Install
npm install n8n-custom-nodesOr install directly into your n8n custom nodes directory:
cd ~/.n8n/custom
npm install n8n-custom-nodesConverts text to speech using Piper TTS, a fast and local neural text-to-speech system.
| Parameter | Description |
|---|---|
| Input Text | The text content to convert to speech |
| Language | Select from Tamil, English, or use a custom model path |
| Custom Model Path | Path to your own .onnx model file (when "Custom" is selected) |
| Output File Path | Where to save the generated .wav audio file |
- Piper TTS installed and available in PATH
- ONNX model files for desired languages
{
"message": "Audio generated successfully",
"outputFilePath": "/path/to/output.wav",
"commandExecuted": "type \"input.txt\" | piper --model \"model.onnx\" --output_file \"output.wav\""
}Transcribes audio files using OpenAI Whisper, supporting multiple models and output formats.
| Parameter | Description |
|---|---|
| Python Path | Path to Python executable (default: python) |
| Input File | Path to the audio file to transcribe |
| Output Directory | Directory to save transcription files |
| Model | Whisper model: tiny, base, small, medium, large, or turbo |
| Language | Language of the audio (e.g., "English", "Tamil") |
| Output Format | txt, vtt, srt, tsv, json, or all |
- Python 3.8+
- OpenAI Whisper installed:
pip install openai-whisper
{
"stdout": "Detected language: English...",
"stderr": "",
"input_dir": "/path/to/audio.wav",
"output_dir": "/path/to/output",
"model": "base",
"language": "English",
"output_format": "txt"
}Extracts text from PDF files using Tesseract.js, with support for multiple languages and page segmentation modes.
| Parameter | Description |
|---|---|
| Input Directory | Directory containing PDF files to process |
| PDF File Pattern | Glob pattern to match files (e.g., *.pdf) |
| From Page / To Page | Page range to process |
| DPI Resolution | Resolution for PDF to image conversion (72-600) |
| Language | OCR language: English, Tamil, Hindi, or combinations |
| Page Segmentation Mode | How Tesseract analyzes page layout |
| Output Options | Save TXT file, output directory, append mode, cleanup temp files |
- pdftoppm (from Poppler) installed and in PATH
- English (
eng) - Tamil (
tam) - Tamil + English (
tam+eng) - Hindi (
hin) - Hindi + English (
hin+eng) - Custom language codes
{
"success": true,
"directory": "/path/to/pdfs/",
"language": "tam+eng",
"psm": "SINGLE_COLUMN",
"dpi": 300,
"fromPage": 1,
"toPage": 5,
"filesProcessed": 2,
"results": [
{
"pdfFile": "document.pdf",
"text": "Extracted text content...",
"outputFile": "/path/to/output/document.txt",
"pages": [1, 2, 3, 4, 5]
}
]
}- Node.js 18+
- pnpm (recommended) or npm
# Clone the repository
git clone https://github.com/JeyaramKumaravel/n8n-custom-nodes.git
cd n8n-custom-nodes
# Install dependencies
npm install
# Build the project
npm run build
# Watch mode for development
npm run build:watch| Script | Description |
|---|---|
npm run build |
Build the nodes for production |
npm run build:watch |
Build in watch mode for development |
npm run dev |
Start development mode |
npm run lint |
Run ESLint |
npm run lint:fix |
Fix ESLint issues automatically |
npm run release |
Create a new release |
Follow these steps to test your custom nodes locally with n8n:
# Navigate to your custom nodes project
cd n8n-custom-nodes
# Install dependencies
npm install
# Build the project
npm run build
# Link the package globally
npm link# Create the custom folder inside .n8n directory
# Windows (PowerShell)
mkdir ~/.n8n/custom
# macOS/Linux
mkdir -p ~/.n8n/custom# Navigate to the custom directory
cd ~/.n8n/custom
# Initialize a new package.json (required for npm link to work)
npm init -y
# Link the custom nodes package
npm link n8n-custom-nodes# Restart n8n to load the new nodes
n8n startNote: After making changes to your nodes, run
npm run buildin your project directory. The linked package will automatically reflect the changes after restarting n8n.
n8n-custom-nodes/
βββ nodes/
β βββ PiperTTS/
β β βββ PiperTTS.node.ts
β β βββ PiperTTS.svg
β βββ Whisper/
β β βββ Whisper.node.ts
β β βββ whisper.svg
β βββ TesseractOCR/
β βββ TesseractOCR.node.ts
β βββ TesseractOCR.svg
βββ icons/
βββ package.json
βββ tsconfig.json
βββ README.md
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Jeyaram Kumaravel
- GitHub: @JeyaramKumaravel
- Email: ramvel2002@gmail.com
- n8n - Workflow automation platform
- Piper TTS - Fast local neural TTS
- OpenAI Whisper - Speech recognition
- Tesseract.js - OCR engine