Skip to content

My Content Creator is an AI tool to quicky create short videos or analyze videos, powered by Gemini.

Notifications You must be signed in to change notification settings

ayushpaultirkey/my-content-creator

Repository files navigation

My Content Creator

My Content Creator is a AI web application to quickly generate short videos and analyze youtube videos and channel, powered by Google Gemini.

Features

  • Generate video using prompt.
  • Prompt based video editor along with manual editor.
  • Add image, audio and video along with narration and Google Drive import support.
  • Upload video to YouTube and Google Drive.
  • Review the YouTube channel or its video using Gemini.
  • Generate comments.

Table of Contents

Installation

Prerequisites

Steps

  1. Clone the repository:

    git clone https://github.com/ayushpaultirkey/my-content-creator.git
    cd my-content-creator
    
  2. Configure the .env file:

    NODE_ENV="development"
    PIXABAY_API="PIXABAY_KEY_HERE"
    GOOGLE_GEMINI_API="GEMINI_API_KEY_HERE"
    GOOGLE_APPLICATION_CREDENTIALS="src/secret/googlecloud-service.json"
    GOOGLE_OAUTH2_CLIENT="src/secret/googleoauth2-client.json"
    
  3. Place the credential and service files in the src/private folder:

    • src/private/googlecloud-service.json (from the Service Account section)
    • src/private/googleoauth2-client.json (from the OAuth 2.0 Client IDs section)
  4. Install npm modules:

    npm install
    

Running The Application

Windows

  1. Install the fonts: Navigate to /project/.font/static and install all the fonts.

  2. Download the ffmpeg builds:

    • Run the npm run download command to download the ffmpeg builds. The files will be downloaded in the /library folder.
    • (Manual option): If the download fails, you can manually download the ffmpeg build from FFmpeg Releases and place it in the /library folder:
      • /library/ffmpeg.exe
      • /library/ffprobe.exe
  3. Install sharp package:

    npm install sharp@latest
    
  4. Starting the application:

    npm start
    

    Navigate to http://localhost:3000/

Linux (Debian)

  1. Install FFmpeg:

    sudo apt update
    sudo apt install ffmpeg
    
  2. Optional (headless environment): If you don't have a graphical display (e.g., on a server), install these dependencies:

    sudo apt-get install libcairo2-dev libjpeg-dev libpango1.0-dev libgif-dev build-essential g++
    sudo apt-get install libgl1-mesa-dev xvfb libxi-dev libx11-dev 
    
  3. Install sharp package:

    npm install sharp@0.32.6
    
  4. Start the application:

    • With graphical display:
      npm start
      
    • Headless environment:
      xvfb-run -s "-ac -screen 0 1280x1024x24" npm start 
      

    Navigate to http://localhost:3000/

Troubleshooting

  1. API and services:

    • The app can run without the following API and services:

      • Pixabay API: The fallback assets will be used
      • Google Client & Services: Google Drive, Youtube Analytics, TTS etc. wont work.
    • However, the Gemini API Key should be present as it is required for core functionality.

  2. ffmpeg not installed:

    • Make sure that the ffmpeg is installed.
      • For windows run the npm run download command
      • For linux use the sudo apt install ffmpeg
  3. node-canvas error: If you are using Node.js version >20.16.0, you might encounter the following error when trying to install modules:

    Hit response response status error 404 not found canvas-v2.11.2-node-v127-win32-unknown-x64.zip

    Solution: Use the older version of nodejs between v18.17.0 to v20.12.2

  4. sharp version error:

    • Install the correct version of the sharp module for specific platform.
      • Windows: Run npm install sharp@latest
      • Linux: Run npm install sharp@0.32.6

Screenshots

Home:

Home

Dashboard:

Home

Creator:

Home

Editor:

Home

Analytics:

Home

Videos:

Home

Releases

No releases published

Packages

No packages published

Languages