Skip to content

0Shark/ShortGPT

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Upload Automation

  1. Authentication (client-secrets.json from Google API console)
  • Head to the Google API Console at https://console.cloud.google.com/ and create a project.
  • In the marketplace (search bar), find 'YouTube v3 API' and enable it.
  • After redirect, click on Oauth Screen and create.
  • Add google.com as the authorized domain.
  • Add scopes for the YouTube v3 API.
  • Add the channel's email as the test user (in most cases, the email the channel was registered with).
  • Create Credentials (OAuth Client ID) in the Credentials Menu and select Web App.
  • For Authorized Redirect URIs, use:
    1. http://localhost:8080
    2. http://localhost:8080/
    3. http://localhost:8090
    4. http://localhost:8090/
  • Finish up with downloading the .JSON file and put it inside this repository's directory.
  1. Oauth2.json (within the repo itself)
  • Once a valid client_secrets.json is present in the directory, run python3 upload.py and follow further instructions. After successful authentication, an oauth2.json file will be created inside the directory.

Note: You can avoid quota bottlenecks by stacking up projects in the google console and repeat steps before

  1. Automation

Once valid oauth2 credentials exist in the directory you can let this run 100% on autopilot.

  • ultra.py is the main script to direct the video production pipeling
  • upload.py sets the backbone for youtube's v3 api to upload to YouTube without further authentification
  • final_upload.py combines the finsished product and uploads it to YouTube (title, description, tags get parsed automatically)

Just craft your own bash script or use automate.sh

Upgrades

  • access YouTube as provider of video assets, surpassing stock footage by large
  • avoids bans by using download streams with PyTube
  • avoids YouTube v3 API's rate limit and auth
  • avoids Pexels hard rate limit

Features

Inside api_utils functions provide utility for working with different APIs. Files: image_api.py, pexels_api.py, youtube_api.py and eleven_api.py. We added youtube_api.py to source video assets directly from YouTube. Feel free to modify the _generateVideoUrls function for the hierachy of video asset sources.

  • search_videos_YouTube(query_string)

    The search_videos_YouTube function takes a query string as input and searches for a video on YouTube based on that query. It returns the URL of the first search result if found, or None if no video is found.

    Integration of shortGPT.api_utils.youtube_api, which serves as an additional source for gathering footage based on the queried keyword. This is particularly useful when dealing with niche / comedy / meme topics where stock footage is not available. If nothing matches we backtrack to the pexels API.

About

ShortGPT + gpt4free 😉

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Languages

  • Python 52.1%
  • Jupyter Notebook 47.6%
  • Other 0.3%