Mindket

Online course writer with research, scripts and images

Newversion 1 · updated

Overview

An n8n workflow that drafts an online course from a topic, a module count and a word count. Tavily researches it, OpenAI writes the modules and a voice-over script into two Google Docs, and a second form turns the script into gpt-image-1 pictures in Drive.

Online course writer with research, scripts and images is an n8n workflow in the Productivity category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud or your own server: import the file and publish it, then open the two forms from their addresses
  • Google Docs: one doc for the course and one for the voice-over script, both named after the topic
  • Google Drive: a folder of web images for each course, and a folder of AI pictures for each picture run
  • A narration tool: the script is written for text-to-speech or a human voice, with H1 module titles and H2 subheadings

Platform

Connects 4 apps

How it works

Trigger

Two forms

The course form starts the writing, and a second form starts the pictures later. The course form asks for:

  • Course Topic
  • No of module: 4, 5 or 6
  • Word count for each module

Actions

  1. gpt-4.1-mini writes instructions for the outline, the modules and the voice-over
  2. Tavily researches the topic, and gpt-4o-mini plans the modules
  3. Each module gets its own Tavily search and is written with web image links
  4. The course and a voice-over script become two Google Docs through your converter, and the web images go to a Drive folder
  5. The picture form turns the script into prompts, and gpt-image-1 draws each one into Drive

Result

A drafted course and its voice-over script in Google Docs, with web and AI pictures in Drive

Integrations

What you need before you start.

OpenAI

Language and image models

Runs gpt-4.1-mini and gpt-4o-mini for the instructions, outline, modules, script and picture prompts, and gpt-image-1 for the pictures.

NeedsOpenAI API key

Tavily

Web research

Searches the topic and each module title, and returns page text and image addresses.

NeedsTavily API key

Google Docs

Documents

Gives the converter access to create the course doc and the voice-over doc in your account.

NeedsA Google Docs OAuth2 credential, and a converter or Google Docs nodes

Google Drive

File storage

Holds a folder of web images for each course and a folder of AI pictures for each picture run.

NeedsA Google Drive OAuth2 credential

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
23 steps, starting on a form
AI
6 steps call an AI model: Instruction Generator, Course Outline, Course content, Voice over script , Image Prompts1 and 1 more
Sign-ins
Signs in to: Google Drive, Google Docs, OpenAI and Tavily
API keys
No API key is left in the file; 1 blank in it for your own key
Step types
Mindket’s checker reads all 8 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow drafts an online course from three answers on a form: the topic, the number of modules and the words per module. A first model turns those answers into writing instructions, Tavily researches the topic, and gpt-4o-mini plans the modules. Each module then gets its own search and its own text, with links to pictures found on the web under the lines they fit. The modules become one Google Doc and a voice-over script a second, and the web pictures are saved to a Drive folder. A second form, used later, takes the script and draws pictures for each module with gpt-image-1.

  1. You send the course form: topic, modules, words
  2. gpt-4.1-mini writes instructions, Tavily researches
  3. gpt-4o-mini plans the modules, each with its own search
  4. The modules become a Google Doc, web images go to Drive
  5. A voice-over script becomes a second doc
  6. A second form turns the script into gpt-image-1 pictures

Who it suits

Course creators, trainers and coaches who want a first draft of a course to edit, with a script ready for narration. It suits someone who will check every fact and picture before teaching. Skip it if you need material you can publish as it comes. The text comes from web pages through a model, and the pictures it links belong to other sites.

Who uses it, and how
IndustryWho uses itHow they use itExample
Online coursesCreators who sell video coursesDraft the modules and the narration for a new course in one runA creator enters home composting with five modules of 500 words and edits the two docs over a weekend.
Corporate trainingLearning and development teamsDraft a module set on a new policy or tool, then add company detailA training lead drafts six modules on data privacy basics and adds the company’s own rules.
CoachingCoaches who run workshopsTurn a workshop topic into handouts and a talk trackA career coach turns interview preparation into four modules and a script to record.
Educational videoChannels that teach in seriesPlan a series from the module titles and read the script on cameraA science channel films the six modules as six episodes.

You need some n8n: two forms, two Google credentials and a converter for the docs, or two Google Docs nodes in its place. Its author puts setup at about 18 minutes, not counting the converter.

Where to use it

Any n8n that can reach OpenAI, Tavily and Google will run it. Everything it makes lands in your Google account.

  • n8n Cloud or your own server: import the file and publish it, then open the two forms from their addresses
  • Google Docs: one doc for the course and one for the voice-over script, both named after the topic
  • Google Drive: a folder of web images for each course, and a folder of AI pictures for each picture run
  • A narration tool: the script is written for text-to-speech or a human voice, with H1 module titles and H2 subheadings

Setup

Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. The docs step calls a converter that is not in the file, so decide first how the docs get made.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
OpenAIAn API key, for gpt-4.1-mini, gpt-4o-mini and gpt-image-1
TavilyAn API key, for one search per course and one per module
GoogleAn account, with a Google Drive and a Google Docs OAuth2 credential
A converterA service that builds a Google Doc from Markdown, or two Google Docs nodes in its place
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add an OpenAI credential and select it in the five OpenAI Chat Model nodes and in Generate image1.
  3. In Tavily web search and Tavily web search1, replace <YOUR_TAVILY_API_KEY> with your key, brackets included.
  4. Add a Google Drive credential in Create a Folder, Upload to Folder, Create folder and Upload file.
  5. In Format and Update to Doc and Format and Update Doc, put your converter’s address in place of YOUR_CONVERTER_URL and select a Google Docs credential, or replace both with Google Docs nodes.
  6. Save, send the course form once from its test address with four modules of 300 words, then press Publish.

The two converter nodes post the Markdown and a file name, and n8n adds your Google Docs token to the request. The original copy pointed them at a converter on its author’s own server. The README lists the fields, and shows how to build the docs with Google Docs nodes so no outside service sees your token.

How to use it

Send the course form. It thanks you at once, and the two docs and the web image folder appear in Drive as the run reaches them. Read the docs. When you want pictures, open the second form, give the course title, paste the voice-over script and pick 5, 10 or 15 pictures per module.

What to change for a different result
To changeWhere
Course structureThe prompt in Instruction Generator: H1 titles, H2 subheadings, and 800 words a module when no count is given
Number of modulesThe dropdown in On form submission, and the six-module example in Structured Output Parser
Writing modelsgpt-4.1-mini in OpenAI Chat Model3, gpt-4o-mini in the other four
ResearchThe bodies of Tavily web search and Tavily web search1
PicturesSize and quality in Generate image1, and the counts in On form submission2

Example

You send home composting, 4 modules and 400 words. Course Outline returns the plan in this shape, trimmed:

{
  "module 1": { "title": "…", "description": "…" },
  "module 2": { "title": "…", "description": "…" },
  "module 3": { "title": "…", "description": "…" },
  "module 4": { "title": "…", "description": "…" }
}

Four module searches follow. The doc Course content : home composting holds the four modules, each opening with its number and title, with an Image: line and a web address under the passages they illustrate. Voice over script : home composting holds the spoken version. A Drive folder named after the topic, ending in Web images, fills with the pictures those searches found.

For newcomers and experts

If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This canvas holds two separate rows, each starting at its own form. The boxes hanging under the writing steps are the models they use. A credential is a key n8n keeps for you. Try a small course first. Each node then shows what it received and sent, which is where a missing key or a failed converter call turns up.

For experts. Five chains share the writing. Only the outline has a parser.

The model behind each step
StepModelWhat to know
Instruction Generatorgpt-4.1-miniReturns three instruction strings as JSON text, which the later prompts quote whole
Course Outlinegpt-4o-mini, with Structured Output ParserReturns an object of modules, and Split Out makes an item of each
Course contentgpt-4o-miniRuns once per module, with that module’s search results and image addresses
Voice over scriptgpt-4o-miniReads the merged course text and keeps the image links clickable
Image Prompts1gpt-4o-miniWrites the picture prompts that Split prompts1 parses from a fenced JSON block
Generate image1gpt-image-1, high quality, 1536x1024One call per prompt, inside a loop

Tavily web search1 asks for each result’s raw page text, so the module prompts can run long. The web image branch starts from the same searches as the module writing. Get images and Upload to Folder carry on after an error, so a picture that will not download is skipped.

Good to know

The pictures need the most thought, for their cost and for their rights.

  • Picture costs: each AI picture is one high-quality gpt-image-1 call at 1536x1024, and six modules at 15 pictures make 90 calls, so try 5 first
  • Web pictures: the docs link to pictures from other people’s sites and Drive keeps copies, so check the rights before you publish
  • Unchecked text: modules and script come from a model reading web pages, so check facts before you teach them
  • The converter: until you set it, a run stops at Format and Update to Doc, before the voice-over
  • Picture prompts: Split prompts1 needs the answer as a list in a fenced JSON block, and the prompt asks for neither, so add that line if the step fails
  • Open forms: anyone with a form’s address can start a run on your OpenAI and Tavily keys
  • Billing: a course run makes three chat calls plus one per module, and one Tavily search plus one per module
  • Where data goes: the topic and module titles go to Tavily, the research and texts to OpenAI, the docs through your converter, and the pictures into your Google Drive
  • The original copy: two Code nodes had lost their backslashes, and this one has them back
  • Credentials: the JSON holds none, and nothing from its author’s Drive

README and files

README

Online course writer with research, scripts and images

An n8n workflow in two parts. The first form takes a course topic, a module count and a word count. Tavily researches
the topic, OpenAI writes the modules and a voice-over script, and both become Google Docs while the web images found
along the way go to Google Drive. A second form takes the script and draws pictures for each module with gpt-image-1.

What is inside

  • workflow.json: the workflow as n8n exports it, 31 nodes in two parts, each starting at its own form, and two of the
    nodes are sticky notes. It holds no credential. The two Tavily keys and the address of the Markdown-to-Google-Docs
    converter are placeholders.
  • README.md: these notes.

Before you start

  • An n8n instance, on n8n Cloud or your own server.
  • An OpenAI API key. Your OpenAI organization may need to be verified before gpt-image-1 answers.
  • A Tavily API key.
  • A Google account, connected to n8n through a Google Drive and a Google Docs credential.
  • A converter that builds a Google Doc from Markdown, or the Google Docs nodes that can stand in for it (below).

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Add an OpenAI credential and select it in OpenAI Chat Model, OpenAI Chat Model1, OpenAI Chat Model2,
    OpenAI Chat Model3, OpenAI Chat Model4 and Generate image1.
  3. In Tavily web search and Tavily web search1, replace <YOUR_TAVILY_API_KEY> in the Authorization header with
    your key. The brackets go too, so the value reads Bearer, a space and the key.
  4. Add a Google Drive OAuth2 credential and select it in Create a Folder, Upload to Folder, Create folder and
    Upload file.
  5. Set up the two converter nodes, Format and Update to Doc and Format and Update Doc, as the next section explains.
  6. Save, send the course form once from its test address with four modules of 300 words, then press Publish.

The converter it calls

The file does not include it. Format and Update to Doc and Format and Update Doc each post a JSON body with two
fields to YOUR_CONVERTER_URL, and they expect a service that answers by making a Google Doc.

| Field | What the node sends |
|---|---|
| output | A short JSON text holding the Markdown and the course topic |
| fileName | Course content : <topic> from the first node, Voice over script : <topic> from the second |

Both nodes authenticate with a Google Docs credential, so n8n adds its access token to the request. The original copy
sent them to a converter on its author's own server. You have two choices:

  • Run a converter of your own, put its address in both nodes and select your Google Docs credential in each.
  • Or delete each node and put two Google Docs nodes in its place: one set to Create, with the file name above as the
    title, then one set to Update that inserts the text. The Markdown headings then stay as plain text, but no outside
    service sees your token.

Until you do one or the other, a run stops at Format and Update to Doc, before the voice-over script is written.

How a course run goes

| Stage | Nodes | What happens |
|---|---|---|
| Instructions | On form submission, Instruction Generator | gpt-4.1-mini writes three sets of instructions from your answers: for the outline, the modules and the voice-over |
| Research | Tavily web search | One search on the topic, with a short answer and image addresses |
| Outline | Course Outline, Structured Output Parser, Split Out | gpt-4o-mini plans the modules, each with a title and a description, and each module becomes an item |
| Module research | Tavily web search1 | One search per module title, with the pages' full text and images |
| Modules | Course content, Merge the content | gpt-4o-mini writes each module with image links under the lines they fit, and the modules are joined into one text |
| Course doc | Format and Update to Doc | The converter makes Course content : <topic> |
| Voice-over | Voice over script, Format and Update Doc | gpt-4o-mini rewrites the course to be spoken aloud, and the converter makes Voice over script : <topic> |
| Web images | Create a Folder, Code, Get images, Upload to Folder | Every image address from the module searches is downloaded into a Drive folder named <topic> - Web images |

Get images and Upload to Folder carry on after an error, so a picture that will not download is skipped.

The picture run

The second part starts at On form submission2, its own form, once the voice-over script exists.

  1. Open the form, enter the course title, paste the whole voice-over script and choose 5, 10 or 15 pictures per module.
  2. Create folder makes a Drive folder whose name is the title followed by AI Images.
  3. Image Prompts1, on gpt-4o-mini, writes that many picture prompts for each module.
  4. Split prompts1 turns them into one item per prompt. Generate image1 draws each with gpt-image-1 at 1536x1024 and
    high quality, and Upload file saves it as <module>-<prompt key>.

Split prompts1 looks for a fenced block marked json that holds a list of modules. The prompt's example shows a single
module and asks for neither the fence nor a list. If the step stops with No valid JSON block, add a line to
Image Prompts1 asking for the answer as a JSON array inside such a block.

Change the result

  • Course shape: the prompt in Instruction Generator. It asks for H1 module titles and H2 subheadings, and allows up to
    800 words a module when the form gives no count.
  • Number of modules: the dropdown in On form submission offers 4, 5 or 6. The example in Structured Output Parser
    lists six modules, so if a run with 4 or 5 comes back with six, trim the example.
  • Models: gpt-4.1-mini in OpenAI Chat Model3, and gpt-4o-mini in the other four chat model nodes.
  • Research depth: the bodies of Tavily web search and Tavily web search1. The second asks for each page's raw text,
    which makes the module prompts long.
  • Pictures: the size and quality in Generate image1, and the choices in On form submission2.

Good to know

  • Picture costs: every AI picture is one high-quality gpt-image-1 call at 1536x1024, and six modules at 15 pictures make
    90 of them. Try 5 first.
  • Web pictures: the docs link to pictures from other people's sites, and the Drive folder keeps copies. Check the rights
    to each before you publish a course with them.
  • Unchecked text: the modules and the script come from a model reading web pages. Check the facts before you teach them.
  • Open forms: once the workflow is published, anyone with a form's address can start a run on your OpenAI and Tavily
    keys.
  • Costs of a course run: three chat model calls plus one per module, and one Tavily search plus one per module.
  • Where the data goes: the topic and the module titles go to Tavily, the research and the texts go to OpenAI, the docs
    go through your converter, and the pictures land in your Google Drive.
  • The original copy: two Code nodes had lost their backslashes. Merge the content joined the modules with nn where
    two line breaks were meant, and the pattern in Split prompts1 read s* and [sS] where \s* and [\s\S] were
    meant. This copy has \n\n, \s* and [\s\S] back.
Files
README.md  7 KB
workflow.json  31 KB

2 files, 38 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-03

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New

Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…

New

ACE-Step 1.5 XL SFT

ACE-Step · Kit

Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…

New

Similar in Productivity

See all in Productivity

Guizang PPT Skill

op7418 · Skill

Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…

New29.8k

Frontend Slides

zarazhangrui · Skill

Builds HTML presentations from scratch or from a PowerPoint file and shows visual style previews to pick from, for people who want web slides with no CSS or Ja…

New32.3k

IPTV

iptv-org · Kit

Collects publicly available live TV channels from many countries into playlists that any video player with live streaming can open. Made for viewers and for de…

New144k