• Stars
    star
    232
  • Rank 172,847 (Top 4 %)
  • Language
    JavaScript
  • License
    The Unlicense
  • Created over 1 year ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Create AI-Generated Video Tutorials with Character Animation and Slides!

AI-Generated Video Tutorials with Character Animation and Slides! ๐ŸŽฅ๐Ÿค–๐Ÿ“๐ŸŽจ

This AI tool helps you create captivating and informative AI-generated video tutorials on any topic! With a charming character featuring facial animation and informative slides, it can explain any topic with ease. The best part? You have full control over the tutorial's creativity, humor, level of explanation, character appearance, and voice. โค๏ธโœจ

Give it a try for free! ๐Ÿ”ฅ It leverages the powerful capabilities of various tools.

๐Ÿš€ Features

  • ๐Ÿง  The script is generated using Cohere's language model. (You can obtain a trial API key for free!)
  • ๐Ÿ—ฃ๏ธ Seamless integration with Edge TTS for high-quality voiceovers.
  • ๐Ÿ˜„ Engaging facial animation powered by SadTalker.
  • ๐Ÿ–ผ๏ธ Eye-catching and relevant images from Google for slides.
  • ๐ŸŽจ Customizable creativity, humor, explanation level, character appearance, and voice.

โœจ Quick Demo

quick_demo_compressed.mp4

โœจ Full Demo

Sophia_compressed.mp4
Benjamin_compressed.mp4

๐Ÿšจ Requirements

Open up a terminal and go to backend directory

For Windows

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt

For Linux or Mac

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Also install sadtalker(https://github.com/OpenTalker/SadTalker#%EF%B8%8F-1-installation), the sadtalker directory must be inside backend. Run the sadtalker webui once so that the venv environment is created.

Add your Cohere API key to backend/apikeys.json

๐Ÿ”Œ How to use

Open up a terminal and go to frontend/topic2explanation

npm run dev

Open up another terminal and go to backend

uvicorn main:app

๐ŸŽจ Customizability

To change the character and voice, you need to put your desired character in characters directory. It must be in 640x720 resolution and for the voice you can choose a voice from the voice list which can be seen using this command.

edge-tts --list-voices

Once you find a voice you like add it in the create_audio_image function

character_dict = {'Benjamin': "en-GB-RyanNeural",
                  'Sophia': 'en-IE-EmilyNeural'}

๐Ÿ“ How it works

โœจ It all starts with the creation of a script using the create_script function. ๐Ÿ“œ This function takes various parameters such as topic, level of explanation, target audience age, creativity, and humor. ๐ŸŽญ With these parameters in mind, the script is carefully crafted to explain the chosen topic. To accomplish this, we leverage the power of the Cohere API and Langchain. ๐Ÿค

๐ŸŽ™๏ธ Once the script is ready, we move on to the create_audio_image function. This function splits the script into smaller sentences, which are then used to generate audio dialogues using Microsoft's Edge Text-to-Speech (TTS) service. ๐Ÿ—ฃ๏ธ In parallel, we generate a search query for each sentence using Cohere and Langchain once again. These search queries help us retrieve relevant images from Google, which will be used as slides in the presentation. ๐Ÿ–ผ๏ธ

๐ŸŽฅ With the audio files and character images in place, we proceed to create the videos using the Sadtalker library. ๐ŸŽฌ First, we generate videos for the character animations, and then we transform the still images from Google into slide videos. ๐ŸŽž๏ธ These slide videos will be seamlessly integrated into the final video presentation. To add an element of randomness, we assign a random number to each video and slide pair. Based on this number, we position the slides and talking character either to the left or right, or even use the image as the background. The talking character may appear in the bottom left or right corner of the screen. ๐ŸŽฏ

๐Ÿ“ผ Finally, we save the completed video, combining the slide videos and character animation videos. The resulting video is now ready to be shared! ๐ŸŽ‰ To bring it all together, we rely on FastAPI for the backend, and for the frontend, we utilize Next.js and Tailwind CSS. ๐Ÿš€

โค๏ธ Thanks

If you found this interesting check out Alystria AI for more fun projects

https://www.linkedin.com/company/alystria-ai

More Repositories

1

Interactive-LLM-Powered-NPCs

Interactive LLM Powered NPCs, is an open-source project that completely transforms your interaction with non-player characters (NPCs) in any game! ๐ŸŽฎ๐Ÿค–๐Ÿš€
Python
507
star
2

CUPCAKEAGI

๐Ÿง๐Ÿ‘‹ Welcome to CupcakeAGI, where we bake up some sweet and creamy AGI goodness! ๐Ÿฐ๐Ÿค–
Python
128
star
3

AI-NPCs-that-can-Control-their-Actions-along-with-Dialogue

AI NPCs that can control their actions along with dialogue. For instance, if I ask an NPC to tell me its favorite magic spell, it not only tells me the spell but also performs it!
Python
38
star
4

AI-Plays-God-of-War

LLM Agent paired with Image Captioning and Yolov8 models plays God of War
Python
34
star
5

Clara-AI

Embarking on a new project is always exciting, but this one had me buzzing with anticipation! I decided to take on the challenge of creating a customized version of Bing's AI, a chatbot powered by none other than ChatGPT with added capabilities of searching the web.
Python
8
star
6

AI-starter-project-collection

A collection of some of my old starter AI mini projects.
2
star
7

twitter-arxiv-news-summary-report-generator

Python
1
star
8

Chatbot-using-OpenAI-Gpt-3

I used OpenAI's Gpt-3 with a speech to text and text to speech module to make a chatbot that can voice chat.
Python
1
star
9

AI-Twitter

Like Twitter but everyone is an AI using LLM and Stable Diffusion
Jupyter Notebook
1
star
10

TransparencyApp

An app to make windows transparent, tested on Windows 11
Python
1
star
11

Real-or-AI

Participants in this competition will be challenged to create a model that can classify AI & Human generated images.
Jupyter Notebook
1
star
12

Sciantia-AI

Sciantia AI is a tool that enables you to ask questions directly to YouTube videos using the advanced capabilities of OpenAIโ€™s LLM.
1
star