This is a demo app that uses OpenAI Whisper and ChatGPT, Daily's video APIs, and Node mailer to automatically transcribe a meeting and generate a meeting summary.
To get started, clone this repository and set the following environment variables copy Sample.env
and change it to .env.local
:
DAILY_API_KEY
: Your Daily API keyNEXT_PUBLIC_ROOM_URL
: The URL of the Daily room where the meeting will be heldOPENAI_API_KEY
: Your OpenAI API keySMTP_SERVER
: The SMTP server from your email serviceSMTP_PORT
: The SMTP port from your email serviceSMTP_LOGIN
: The SMTP login from your email serviceSMTP_PASSWORD
: The SMTP password from your email serviceEMAIL_SUMMARY
: The email address where the meeting summary will be sent
- Install dependencies with
yarn
. - Download FFmpeg onto your computer if you don't already have it installed
- Start the app by running
yarn dev
. - The app should now be running on
http://localhost:3000
. - Join the Daily room using the
NEXT_PUBLIC_ROOM_URL
environment variable. - Select the recording button to begin recording. OpenAI's whisper model has a 25MB file limit. In this demo recording longer meetings will result in an error.
- Once the recording is stopped the app will automatically transcribe the meeting using OpenAI Whisper and ChatGPT.
- After the meeting, the app will generate a meeting summary and send an email to the
EMAIL_SUMMARY
environment variable.
To obtain your Daily API credentials, follow these steps:
- Go to https://dashboard.daily.co/developers.
- Sign up for a Daily account if you haven't already.
- Create a new API key.
- Copy the API key and use it as the
DAILY_API_KEY
environment variable.
To obtain your OpenAI API credentials, follow these steps:
- Go to https://beta.openai.com/signup/.
- Sign up for an OpenAI account if you haven't already.
- Create a new API key.
- Copy the API key and use it as the
OPENAI_API_KEY
environment variable.
To obtain SMTP credentials from Sendinblue, follow the below steps. Note that you can use any SMTP service you desire, but Sendinblue has a generous free plan that works well for demoing the repo.
- Go to Sendinblue and create an account or Log in.
- In the dashboard, click on the "SMTP & API" tab in the left sidebar.
- Click on the SMTP & API and then click on the "Create a new SMTP key" button.
- Enter a name for your SMTP key and click on the "Create" button.
- Once your SMTP key is created, you can view the SMTP server, SMTP port, SMTP login, and SMTP password by clicking on the "View" button next to your key name.
This app is licensed under the MIT license. See the LICENSE
file for more details