Generate structured exams from PDFs with OpenAI GPT-4o and HTML to PDF

πŸš€ ExamForge AI Automated PDF to Structured Exam Generator (MCQ + Essay + Answer Key)

Generate structured exams automatically from text-based PDF materials using AI.

ExamForge AI is a production-ready n8n workflow that transforms educational content into multiple-choice and essay questions with customizable difficulty and automatic answer key generation.

✨ Features

πŸ“„ Upload PDF via Webhook βœ… File size validation (default: max 5MB) 🧹 Automatic text cleaning πŸ“ Token length estimation & safety control 🎯 Customizable MCQ & Essay count 🧠 Difficulty selection (easy / medium / hard) 🌍 Language selection πŸ“¦ Structured JSON AI output πŸ“ Separate Exam PDF & Answer Key PDF πŸ“² Telegram delivery support (optional) πŸ”’ Parameter validation with structured error responses

🧠 What This Workflow Does

Accepts PDF upload via Webhook Validates file size Extracts and cleans text content Estimates text length to prevent token overflow Validates required parameters: mcq_count essay_count difficulty language Sends structured prompt to OpenAI Parses JSON response Formats exam and answer key separately Converts both into PDF Sends results via Telegram or Webhook response

βš™οΈ Requirements

Accounts Required

OpenAI account (API key required) Telegram Bot (optional) PDF Munk (API key required)

Environment

n8n (self-hosted or cloud) Node version compatible with your n8n installation

πŸ”‘ Credentials Setup

1️⃣ OpenAI

Add OpenAI credentials inside n8n Insert your API key Select preferred model (e.g., GPT-4o / GPT-4)

2️⃣ Telegram (Optional)

Create a Telegram Bot via BotFather Insert Bot Token into Telegram node Add your Chat ID

πŸ›  Webhook Configuration

Method: POST
Content-Type: multipart/form-data

Required Parameters

| Parameter | Type | Required | Description | |--------------|--------|----------|-------------| | file | File | Yes | PDF document | | mcq_count | Number | Yes | Number of multiple-choice questions | | essay_count | Number | Yes | Number of essay questions | | difficulty | String | Yes | easy / medium / hard | | language | String | Yes | Output language |

πŸ“₯ Example Request

curl -X POST https://your-n8n-domain/webhook/examforge
-F "file=@document.pdf"
-F "mcq_count=20"
-F "essay_count=5"
-F "difficulty=medium"
-F "language=Indonesian"

0
Downloads
2
Views
8.11
Quality Score
beginner
Complexity
Created:2/26/2026
Updated:4/13/2026

πŸ”’ Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments