AI Agents & AutomationBackend APIs & Payments
Personalised Consultation Videos from Psychometric Test Results
A job service that turns a test-result PDF into a NotebookLM video explainer, delivered through n8n.
- Request
- Payment
- Deploy
- Event
- AI
Context
Satu Persen sells psychometric tests; customers receive a PDF report that is dense to read on their own.
Problem
Explaining each report personally took staff time. NotebookLM produces a good video overview from a PDF, but it has no official API, so it could not be plugged into an automated flow as is.
What I did
- Built a FastAPI service with a PostgreSQL job store: POST /generate returns a job ID immediately, and a background task downloads the PDF from Google Drive, generates the video in NotebookLM, and uploads the MP4 back to Drive.
- Exposed progress stages (downloading, generating, uploading) on a status endpoint that the n8n workflow polls before emailing the customer the video link.
- Made it resilient: a retry endpoint for failed jobs, stuck jobs reset on startup, a 30-minute generation timeout, temp files always cleaned up, and rate limiting.
- Kept the unofficial NotebookLM session alive by re-minting cookies from a stored token, with a Lark alert to the team when the session expires.
- Added API-key and JWT auth plus a Nuxt 3 admin dashboard for job stats, failed-job retries, users, and session upload; deployed to k3s through the shared pipeline.
Next case study
Real-Time Session Tracker (Chrome Extension + CMS)