How to use the ChatGPT API to improve your online course
While this course is about LearnDash, and this lesson also applies to LearnDash, I will now explain how you can use the ChatGPT API to improve any online course. In other words, these tips will work no matter which LMS you use for your online courses.
I think most people are aware that the tips I am giving here are possible, but I also provide a few specific tips which can make the features even better.
Sample Video
This is the sample video used for the rest of this lesson.
I chose this video because it discusses some technical concepts, and also has some incorrectly transcribed words which helps me explain the limitations of this approach.
1 Convert your videos into mp3 files
The most popular video format for online courses is mp4.
And there are some free tools available which can convert them into mp3 files for free .
For example, for the Mac, you can use the Free MP4 Converter, which allows you to bulk convert a folder full of mp4 files into mp3 files pretty fast.

Alternatively you can also write a Python script to do this conversion.
This step is important because you should first convert your video to audio format before using the automatic transcription libraries.
2 Use Whisper API to get an autogenerated transcript
You can then use the Whisper API to automatically transcribe the audio file and convert it into text.
Note I will suppose that since this is an online course, there is only one speaker. If there are multiple speakers, you also need diarization (identifying which speaker spoke the words) which is not quite as mature.
Interestingly, the free open source library Whisper (which the API uses under the hood) is actually good enough for online course creators.
As of Nov 2023, I don’t see the Whisper API (which is paid) as providing much better output compared to the Whisper library (which is free) for a video which has only one speaker.
There are some additional benefits to using the free Whisper library such as timestamps, and I will explain that later in this lesson.
Here is an example transcript I generated using the Whisper library
One of the most important aspects of any CRM, not just Zoho but any CRM is the fact that you can easily add additional fields for each of these modules. So to do that in the case of Zoho what you will do is you go to this gear icon which is sort of the universal settings icon and go to this customization, I guess you can call this customization card and click on modules and fields. Now you see that you have all your modules listed here and let's say we want to add something to the leads module and here you can see that there are different layouts. Layouts are sort of like views and right now we only have the standard layout, I am not going to add anything but I am going to go into the standard layout and what the standard layout is going to allow you to do is this is sort of the default view, okay that's why it's called the standard layout. Now you can notice that I have all these types of fields that I can add so let me just add I am looking for something which is easy to explain, let's see. So you have let's see user, look at the list. So let's just go with the multi-select field, okay and let's just say now that these are people let's say I am talking about my business which is portfolio and I have the software as a service. So let's say that I have the tools that they are interested in. So the BotFlow app itself is a collection of tools and one of them will be FAQ bot generator and second one would be custom payload generator. You don't have to understand what these things are just know that there are set of tools and users who are using my app could be interested in multiple tools of not just one but many of these tools. So search 2 something like that, okay. So I have added these three options and now it's a multi-select pick list which means that people could be interested in more than one of these and you have this option to choose select a default value and just make it a FAQ bot generator. Again this has no meaning and just doing it just for this demonstration and you can make it a required parameter I will not or you can you don't have to you can add a tool tip which provides some information if people hover over that and it also gives you the option to create the same field into the other modules we have which is account contact and deal and I'm not going to do that I'm just going to go ahead and save it. So let's say done and save the field. Now it's not a required field so I'm going to exit this module I'm going to go back to the leads here and I'm just going to create a new lead, okay. So I'm not going to fill out anything but I'm just coming down to this field called tools and notice that you can add multiple of these tools which this is sort of like the lead is interested in these tools that's what I'm trying to represent and then you save it and you can see that these fields some fields are not allowed to be empty so I'm just going to call it test company and then you can see that that's just a test last name something right I'm just putting information in to make sure that I can save this. So I've saved this lead now let's go back to the leads view and you can see at the top you have this lead called test last name and click into it and details okay so you have to click on this show details that's why. So there's your tools and you have the FAQ box this is all the tools that we just selected I can go ahead and remove something from this and re-save it and that's now saved you don't have to do any update it's just as soon as you exit this focus that if you remove focus out of this whichever you know information you're editing it does an auto save that is Zoho automatically saves it so if you want to just type something here 3333333333 okay so this is how you can add custom fields into existing modules.
3 Use GPT4 API to clean up and format the transcript
Another very useful feature of the GPT4 API is the ability to clean up and format the transcript (adding punctuations etc).
Since Large Language Models like GPT work by predicting the next word, it should not be much of a surprise to see that GPT can do such a good job of adding punctuations.
For example, I was able to convert the raw transcript above into a well formatted and nicely punctuated transcript like below. Notice that
a) the text is almost verbatim
b) the punctuations are actually helpful
c) filler words (e.g. OK) are removed
One of the most important aspects of any CRM, not just Zoho, but any CRM, is the fact that you can easily add additional fields for each of these modules. So, to do that in the case of Zoho, what you will do is you go to this gear icon, which is sort of the universal settings icon, and go to this customization. I guess you can call this a customization card and click on modules and fields. Now you see that you have all your modules listed here and let's say we want to add something to the leads module. Here you can see that there are different layouts. Layouts are sort of like views and right now we only have the standard layout. I'm not going to add anything but I'm going to go into the standard layout and what the standard layout is going to allow you to do is this is sort of the default view. Now you can notice that I have all these types of fields that I can add. So let me just add something which is easy to explain. So you have user, so let's just go with the multi-select field. Let's just say now that these are people. Let's say I'm talking about my business which is Spot Flow and I have the software as a service. So let's say that I have the tools that they are interested in, so the Spot Flow app itself is a collection of tools and one of them will be FAQ bot generator and the second one would be custom payload generator. You don't have to understand what these things are, just know that there are a set of tools and users who are using my app could be interested in multiple tools, not just one but many of these tools. So search for something like that. So I have added these three options and now it's a multi-select pick list which means that people could be interested in more than one of these and you have this option to choose a default value. I'll just make it an FAQ bot generator, again this has no meaning I'm just doing it just for this demonstration and you can make it a required parameter. I will not, or you can, you don't have to, you can add a tooltip which provides some information if people hover over that and it also gives you the option to create the same field into the other modules we have which is account, contact, and deal and I'm not going to do that I'm just going to go ahead and save it. So let's say done and save the field. Now it's not a required field so I'm going to exit this module, I'm going to go back to the leads here and I'm just going to create a new lead. So I'm not going to fill out anything but I'm just coming down to this field called tools and notice that you can add multiple of these tools which this is sort of like the lead is interested in these tools that's what I'm trying to represent and then you save it and you can see that these fields, some fields are not allowed to be empty so I'm just going to call it test company and then you can see that it's just a test last name something right I'm just putting information in to make sure that I can save this. So I've saved this lead now let's go back to the leads view and you can see at the top you have this lead called test last name and click into it and details. So you have to click on this show details. So there's your tools and you have the FAQ box, these are all the tools that we just selected and I can go ahead and remove something from this and re-save it and that's now saved. You don't have to do any update it's just as soon as you exit this focus that if you remove focus out of this whichever information you're editing it does an auto save that is Zoho automatically saves it. So if you want to just type something here 33333333. So this is how you can add custom fields into existing modules.
Notice that there is a small problem with asking GPT4 to clean up your raw transcript. Sometimes it changes the words to the ones which it thinks work better (e.g. it changed BotFlow app, which itself is wrongly spelt, to Spot Flow app, which is even worse).
There are some ways to improve this – for example, you can add a prompt which tells GPT4 what special nouns to expect. These would be context and domain specific.
It can be a bit of a chicken-and-egg though, because you might not know which words it will wrongly spell until you see the output. So you might need two passes to get it right.
4 Use GPT4 API to generate subheadings for the formatted transcript
You can also use the GPT4 API to generate subheadings for the formatted transcript.
For example, here are the subheadings it generated for the formatted transcript from the previous step:
Introduction to CRM Customization
One of the most important aspects of any CRM, not just Zoho, but any CRM, is the fact that you can easily add additional fields for each of these modules. So, to do that in the case of Zoho, what you will do is you go to this gear icon, which is sort of the universal settings icon, and go to this customization. I guess you can call this a customization card and click on modules and fields.
Adding Fields to Modules
Now you see that you have all your modules listed here and let’s say we want to add something to the leads module. Here you can see that there are different layouts. Layouts are sort of like views and right now we only have the standard layout. I’m not going to add anything but I’m going to go into the standard layout and what the standard layout is going to allow you to do is this is sort of the default view.
Creating a Multi-Select Field
Now you can notice that I have all these types of fields that I can add. So let me just add something which is easy to explain. So you have user, so let’s just go with the multi-select field. Let’s just say now that these are people. Let’s say I’m talking about my business which is Spot Flow and I have the software as a service. So let’s say that I have the tools that they are interested in, so the Spot Flow app itself is a collection of tools and one of them will be FAQ bot generator and the second one would be custom payload generator.
Saving and Testing the New Field
You don’t have to understand what these things are, just know that there are a set of tools and users who are using my app could be interested in multiple tools, not just one but many of these tools. So search for something like that. So I have added these three options and now it’s a multi-select pick list which means that people could be interested in more than one of these and you have this option to choose a default value. I’ll just make it an FAQ bot generator, again this has no meaning I’m just doing it just for this demonstration and you can make it a required parameter. I will not, or you can, you don’t have to, you can add a tooltip which provides some information if people hover over that and it also gives you the option to create the same field into the other modules we have which is account, contact, and deal and I’m not going to do that I’m just going to go ahead and save it. So let’s say done and save the field. Now it’s not a required field so I’m going to exit this module, I’m going to go back to the leads here and I’m just going to create a new lead. So I’m not going to fill out anything but I’m just coming down to this field called tools and notice that you can add multiple of these tools which this is sort of like the lead is interested in these tools that’s what I’m trying to represent and then you save it and you can see that these fields, some fields are not allowed to be empty so I’m just going to call it test company and then you can see that it’s just a test last name something right I’m just putting information in to make sure that I can save this.
Reviewing and Editing the New Field
So I’ve saved this lead now let’s go back to the leads view and you can see at the top you have this lead called test last name and click into it and details. So you have to click on this show details. So there’s your tools and you have the FAQ box, these are all the tools that we just selected and I can go ahead and remove something from this and re-save it and that’s now saved. You don’t have to do any update it’s just as soon as you exit this focus that if you remove focus out of this whichever information you’re editing it does an auto save that is Zoho automatically saves it. So if you want to just type something here 33333333. So this is how you can add custom fields into existing modules.
As you can see, GPT4 was able to generate very useful subheadings.
And adding subheadings also makes the video transcript much more readable
5 Add subheading timestamps using spaCy
I mentioned earlier that using the Whisper library directly is better than using the Whisper API.
There are two reasons for this:
- the Whisper library is free to use
- it provides timestamps for word segments
If you have timestamps for word segments, you can use it to align those timestamps into the formatted transcript from the previous step.
This will in turn make it even easier for your students to follow the lessons.
Here is what the output will look like once you add the timestamps:
[00:00:00] Introduction to CRM Customization
One of the most important aspects of any CRM, not just Zoho, but any CRM, is the fact that you can easily add additional fields for each of these modules. So, to do that in the case of Zoho, what you will do is you go to this gear icon, which is sort of the universal settings icon, and go to this customization. I guess you can call this a customization card and click on modules and fields.
[00:00:33] Adding Fields to Modules
Now you see that you have all your modules listed here and let’s say we want to add something to the leads module. Here you can see that there are different layouts. Layouts are sort of like views and right now we only have the standard layout. I’m not going to add anything but I’m going to go into the standard layout and what the standard layout is going to allow you to do is this is sort of the default view.
[00:01:04] Creating a Multi-Select Field
Now you can notice that I have all these types of fields that I can add. So let me just add something which is easy to explain. So you have user, so let’s just go with the multi-select field. Let’s just say now that these are people. Let’s say I’m talking about my business which is Spot Flow and I have the software as a service. So let’s say that I have the tools that they are interested in, so the Spot Flow app itself is a collection of tools and one of them will be FAQ bot generator and the second one would be custom payload generator.
[00:02:03] Saving and Testing the New Field
You don’t have to understand what these things are, just know that there are a set of tools and users who are using my app could be interested in multiple tools, not just one but many of these tools. So search for something like that. So I have added these three options and now it’s a multi-select pick list which means that people could be interested in more than one of these and you have this option to choose a default value. I’ll just make it an FAQ bot generator, again this has no meaning I’m just doing it just for this demonstration and you can make it a required parameter. I will not, or you can, you don’t have to, you can add a tooltip which provides some information if people hover over that and it also gives you the option to create the same field into the other modules we have which is account, contact, and deal and I’m not going to do that I’m just going to go ahead and save it. So let’s say done and save the field. Now it’s not a required field so I’m going to exit this module, I’m going to go back to the leads here and I’m just going to create a new lead. So I’m not going to fill out anything but I’m just coming down to this field called tools and notice that you can add multiple of these tools which this is sort of like the lead is interested in these tools that’s what I’m trying to represent and then you save it and you can see that these fields, some fields are not allowed to be empty so I’m just going to call it test company and then you can see that it’s just a test last name something right I’m just putting information in to make sure that I can save this.
[00:03:59] Reviewing and Editing the New Field
So I’ve saved this lead now let’s go back to the leads view and you can see at the top you have this lead called test last name and click into it and details. So you have to click on this show details. So there’s your tools and you have the FAQ box, these are all the tools that we just selected and I can go ahead and remove something from this and re-save it and that’s now saved. You don’t have to do any update it’s just as soon as you exit this focus that if you remove focus out of this whichever information you’re editing it does an auto save that is Zoho automatically saves it. So if you want to just type something here 33333333. So this is how you can add custom fields into existing modules.
As you can see, the transcript subheadings act like video chapters because they also have a timestamp associated with them. In other words, depending on where you host your videos, you might be able to add these as chapters and make it easier for people to click and jump to the specific topic being discussed.
For example bunny.net which I use for hosting my videos not only supports video chapters, but it is also possible to add them automatically using the API.
In case you are wondering, till now I have not been able to successfully align the subheading (which is generated based on the text of the transcript) automatically with the correct timestamp by changing the prompt I send to the GPT4 API. I still need to use spaCy for this alignment task.
Summary
Let us do a side-by-side comparison between what we started with – a raw transcript created using either the Whisper API or the Whisper library (both of them produce nearly the same results) – and what we have after doing the spaCy and GPT4 post-processing:
One of the most important aspects of any CRM, not just Zoho but any CRM is the fact that you can easily add additional fields for each of these modules. So to do that in the case of Zoho what you will do is you go to this gear icon which is sort of the universal settings icon and go to this customization, I guess you can call this customization card and click on modules and fields. Now you see that you have all your modules listed here and let's say we want to add something to the leads module and here you can see that there are different layouts. Layouts are sort of like views and right now we only have the standard layout, I am not going to add anything but I am going to go into the standard layout and what the standard layout is going to allow you to do is this is sort of the default view, okay that's why it's called the standard layout. Now you can notice that I have all these types of fields that I can add so let me just add I am looking for something which is easy to explain, let's see. So you have let's see user, look at the list. So let's just go with the multi-select field, okay and let's just say now that these are people let's say I am talking about my business which is portfolio and I have the software as a service. So let's say that I have the tools that they are interested in. So the BotFlow app itself is a collection of tools and one of them will be FAQ bot generator and second one would be custom payload generator. You don't have to understand what these things are just know that there are set of tools and users who are using my app could be interested in multiple tools of not just one but many of these tools. So search 2 something like that, okay. So I have added these three options and now it's a multi-select pick list which means that people could be interested in more than one of these and you have this option to choose select a default value and just make it a FAQ bot generator. Again this has no meaning and just doing it just for this demonstration and you can make it a required parameter I will not or you can you don't have to you can add a tool tip which provides some information if people hover over that and it also gives you the option to create the same field into the other modules we have which is account contact and deal and I'm not going to do that I'm just going to go ahead and save it. So let's say done and save the field. Now it's not a required field so I'm going to exit this module I'm going to go back to the leads here and I'm just going to create a new lead, okay. So I'm not going to fill out anything but I'm just coming down to this field called tools and notice that you can add multiple of these tools which this is sort of like the lead is interested in these tools that's what I'm trying to represent and then you save it and you can see that these fields some fields are not allowed to be empty so I'm just going to call it test company and then you can see that that's just a test last name something right I'm just putting information in to make sure that I can save this. So I've saved this lead now let's go back to the leads view and you can see at the top you have this lead called test last name and click into it and details okay so you have to click on this show details that's why. So there's your tools and you have the FAQ box this is all the tools that we just selected I can go ahead and remove something from this and re-save it and that's now saved you don't have to do any update it's just as soon as you exit this focus that if you remove focus out of this whichever you know information you're editing it does an auto save that is Zoho automatically saves it so if you want to just type something here 3333333333 okay so this is how you can add custom fields into existing modules.
[00:00:00] Introduction to CRM Customization
One of the most important aspects of any CRM, not just Zoho, but any CRM, is the fact that you can easily add additional fields for each of these modules. So, to do that in the case of Zoho, what you will do is you go to this gear icon, which is sort of the universal settings icon, and go to this customization. I guess you can call this a customization card and click on modules and fields.
[00:00:33] Adding Fields to Modules
Now you see that you have all your modules listed here and let’s say we want to add something to the leads module. Here you can see that there are different layouts. Layouts are sort of like views and right now we only have the standard layout. I’m not going to add anything but I’m going to go into the standard layout and what the standard layout is going to allow you to do is this is sort of the default view.
[00:01:04] Creating a Multi-Select Field
Now you can notice that I have all these types of fields that I can add. So let me just add something which is easy to explain. So you have user, so let’s just go with the multi-select field. Let’s just say now that these are people. Let’s say I’m talking about my business which is Spot Flow and I have the software as a service. So let’s say that I have the tools that they are interested in, so the Spot Flow app itself is a collection of tools and one of them will be FAQ bot generator and the second one would be custom payload generator.
[00:02:03] Saving and Testing the New Field
You don’t have to understand what these things are, just know that there are a set of tools and users who are using my app could be interested in multiple tools, not just one but many of these tools. So search for something like that. So I have added these three options and now it’s a multi-select pick list which means that people could be interested in more than one of these and you have this option to choose a default value. I’ll just make it an FAQ bot generator, again this has no meaning I’m just doing it just for this demonstration and you can make it a required parameter. I will not, or you can, you don’t have to, you can add a tooltip which provides some information if people hover over that and it also gives you the option to create the same field into the other modules we have which is account, contact, and deal and I’m not going to do that I’m just going to go ahead and save it. So let’s say done and save the field. Now it’s not a required field so I’m going to exit this module, I’m going to go back to the leads here and I’m just going to create a new lead. So I’m not going to fill out anything but I’m just coming down to this field called tools and notice that you can add multiple of these tools which this is sort of like the lead is interested in these tools that’s what I’m trying to represent and then you save it and you can see that these fields, some fields are not allowed to be empty so I’m just going to call it test company and then you can see that it’s just a test last name something right I’m just putting information in to make sure that I can save this.
[00:03:59] Reviewing and Editing the New Field
So I’ve saved this lead now let’s go back to the leads view and you can see at the top you have this lead called test last name and click into it and details. So you have to click on this show details. So there’s your tools and you have the FAQ box, these are all the tools that we just selected and I can go ahead and remove something from this and re-save it and that’s now saved. You don’t have to do any update it’s just as soon as you exit this focus that if you remove focus out of this whichever information you’re editing it does an auto save that is Zoho automatically saves it. So if you want to just type something here 33333333. So this is how you can add custom fields into existing modules.
As you can see, the transcript as well as the video itself becomes much easier to follow after you do these steps.
About this website BotFlo1 was created by Aravind Mohanoor as a website which provided training and tools for non-programmers who were2 building Dialogflow chatbots. This website has now expanded into other topics in Natural Language Processing, including the recent Large Language Models (GPT etc.) with a special focus on helping non-programmers identify and use the right tool for their specific NLP task. For example, when not to use GPT 1 BotFlo was previously called MiningBusinessData. That is why you see that name in many videos 2 And still are building Dialogflow chatbots. Dialogflow ES first evolved into Dialogflow CX, and Dialogflow CX itself evolved to add Generative AI features in mid-2023
You must be logged in to post a comment.