Skip to content

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

n8n Custom Nodes

A collection of custom n8n community nodes for AI-powered text, audio, and document processing.

npm version License: MIT

πŸ“¦ Included Nodes

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

πŸš€ Installation

Community Installation (Recommended)

  1. Open your n8n instance
  2. Go to Settings β†’ Community Nodes
  3. Click Install a community node
  4. Enter n8n-custom-nodes and click Install

Manual Installation

npm install n8n-custom-nodes

Or install directly into your n8n custom nodes directory:

cd ~/.n8n/custom
npm install n8n-custom-nodes

πŸ“– Node Documentation

πŸ”Š Piper TTS

Converts text to speech using Piper TTS, a fast and local neural text-to-speech system.

Parameters

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

Prerequisites

  • Piper TTS installed and available in PATH
  • ONNX model files for desired languages

Example Output

{
  "message": "Audio generated successfully",
  "outputFilePath": "/path/to/output.wav",
  "commandExecuted": "type \"input.txt\" | piper --model \"model.onnx\" --output_file \"output.wav\""
}

πŸŽ™οΈ Whisper

Transcribes audio files using OpenAI Whisper, supporting multiple models and output formats.

Parameters

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

Prerequisites

  • Python 3.8+
  • OpenAI Whisper installed: pip install openai-whisper

Example Output

{
  "stdout": "Detected language: English...",
  "stderr": "",
  "input_dir": "/path/to/audio.wav",
  "output_dir": "/path/to/output",
  "model": "base",
  "language": "English",
  "output_format": "txt"
}

πŸ“„ Tesseract OCR

Extracts text from PDF files using Tesseract.js, with support for multiple languages and page segmentation modes.

Parameters

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

Prerequisites

  • pdftoppm (from Poppler) installed and in PATH

Supported Languages

  • English (eng)
  • Tamil (tam)
  • Tamil + English (tam+eng)
  • Hindi (hin)
  • Hindi + English (hin+eng)
  • Custom language codes

Example Output

{
  "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]
    }
  ]
}

πŸ› οΈ Development

Prerequisites

  • Node.js 18+
  • pnpm (recommended) or npm

Setup

# 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

Available Scripts

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

Testing Locally with n8n

Follow these steps to test your custom nodes locally with n8n:

Step 1: Build and Link the Package

# 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

Step 2: Create the n8n Custom Nodes Directory

# Create the custom folder inside .n8n directory
# Windows (PowerShell)
mkdir ~/.n8n/custom

# macOS/Linux
mkdir -p ~/.n8n/custom

Step 3: Initialize and Link in the Custom Directory

# 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

Step 4: Restart n8n

# Restart n8n to load the new nodes
n8n start

Note: After making changes to your nodes, run npm run build in your project directory. The linked package will automatically reflect the changes after restarting n8n.


πŸ“ Project Structure

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

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‘¨β€πŸ’» Author

Jeyaram Kumaravel


πŸ™ Acknowledgements

About

A collection of custom n8n community nodes for AI-powered text, audio, and document processing.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages