Check out these examples of videos generated using QuickClipAI (by CurioBurstz):
QuickClipAI is a tool that uses AI to automatically create engaging YouTube shorts and videos from text inputs.
Sit back and relax while QuickClipAI boosts your productivity!
Introduction • Features • Installation • Usage • Credits • License
👋 This is a very early release and lots more documentation and functionality is currently being added.
Welcome to the QuickClipAI Project! This project aims to provide an efficient and powerful AI-driven tool for generating engaging YouTube shorts and videos automatically. Whether you're a content creator, marketer, or just someone looking to boost your online presence, QuickClipAI offers a seamless and creative video generation solution.
- AI-Driven Content Generation: Leverages advanced AI algorithms to automatically create engaging YouTube shorts and videos from text inputs.
- Customizable Video Settings: Allows users to adjust various parameters such as length, style, and theme to suit their content needs.
- High-Quality Output: Ensures videos are generated with professional quality, ready for upload to YouTube or other platforms.
- Clone the Repository: Clone the repository to your local machine using:
git clone https://github.com/AppSolves/QuickClipAI.git- Install Dependencies: Navigate to the root directory and install the required libraries using:
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt- Install
Fooocus: Download the latest release of Fooocus for your operating system and specify it's path withinmain.pybefore any other function calls:
⚠️ IMPORTANT: This project was developed and tested usingFooocusversion2.5.5. If you encounter any issues with other versions, please install the specified version.
# Running this will save the path to the `config/config.json` file.
# Once the path is saved, you can and should run the script without those lines.
settings_manager = SettingsManager()
settings_manager.set(
"fooocus_path",
{
"interpreter": r"path\to\fooocus\embeded\python\interpreter", # Can be 'python3' on Unix systems, while Windows systems require the full path to the embedded interpreter.
"script": r"path\to\fooocus\launch.py",
},
encrypt=False, # You can set this to True if you want to encrypt sensitive data.
)-
Install
ffmpeg: Download and installffmpegfrom the official website. Make sure to add the binary to your system'sPATHvariable. -
Install
ImageMagick: Download and installImageMagickfrom the official website as well. Make sure to tick both boxes that
- add the binary to your system's
PATHvariable. - install the legacy utilities (e.g.
convert.exe).
- Install
Chrome:ChromeandChromeDriverare necessary if you would like to use background music from Bensound (refer to theBensoundBackgroundMusicclass) or make automatic uploads to Instagram and TikTok. Make sure to download the latest version of Chrome and the ChromeDriver respectively. Make sure to add theChromeDriverbinary to your system'sPATHvariable.
- You need to obtain an API key from ElevenLabs (they have a free plan) to be able to generate automatic voiceovers. You can set this key in the same
.envfile as above by adding theELEVENLABS_API_KEYkey or by setting it using theSettingsManagerclass:
# Again, you may remove these lines after executing the script once.
settings_manager = SettingsManager()
settings_manager.set(
"elevenlabs_api_key",
"<your_api_key>",
encrypt=True, # Encryption is recommended for sensitive data.
)You can also set the API key using the command line interface (CLI) as follows (better for shorter data):
python main.py settings set "elevenlabs_api_key" "<your_api_key>" -e- In order to generate text, the
G4FAPIusesg4f.Provider.OpenaiChatas the default provider. You can change this by passing a custom provider to theG4FAPIclass. The setup of.harfiles is necessary for authentication. You can set these files in theconfig/har_and_cookiesdirectory and theG4FAPIclass will automatically use them:
⚠️ IMPORTANT: In order to function correctly, some providers, e.g. "you.com", require cookies to be set. You can set these cookies by generating a.harfile for the provider's website using your browser's developer tools and placing it in theconfig/har_and_cookiesdirectory. IfENCRYPTION_KEYis set, the.harfile will be encrypted when the program is run for the first time and only decrypted during runtime.
Source: Official gpt4free repository. Example for chatgpt.com and g4f.Provider.OpenaiChat respectively:
To utilize the OpenaiChat provider, a .har file is required from https://chatgpt.com/. Follow the steps below to create a valid .har file:
- Navigate to https://chatgpt.com/ using your preferred web browser and log in with your credentials.
- Access the Developer Tools in your browser. This can typically be done by right-clicking the page and selecting "Inspect," or by pressing F12 or Ctrl+Shift+I (Cmd+Option+I on a Mac).
- With the Developer Tools open, switch to the "Network" tab.
- Reload the website to capture the loading process within the Network tab.
- Initiate an action in the chat which can be captured in the .har file.
- Right-click any of the network activities listed and select "Save all as HAR with content" to export the .har file.
In order to make use of the automatic upload features, you need to add your YouTube credentials to the config/config.json file using the SettingsManager class. The UploadAPI class will automatically use these credentials to upload the generated video to the respective platform:
# You SHOULD remove these lines after executing the script once.
settings_manager = SettingsManager()
settings_manager.set(
"publisher",
{
"youtube": {
"installed": {
"client_id": "<some-id>.apps.googleusercontent.com",
"project_id": "<some-name>",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_secret": "<some-secret>",
"redirect_uris": ["http://localhost"],
}
},
},
encrypt=True, # You should definitely encrypt sensitive data.
)
⚠️ IMPORTANT: For Instagram and TikTok, you only have to be logged in to the respective platform in your chrome browser.It may be necessary to occasionally resolve captchas on TikTok when using the TikTok provider until a more permanent solution is found (e.g. automatic captcha solving).
Follow these guides to setup the publisher credentials:
- Set up a Google Cloud Project for YouTube
QuickClipAI offers a range of customization options to tailor the generated videos to your specific needs. By now, you can adjust all prompts in the prompts folder to tweak the generated content, add custom background music in the assets/project/music folder and add custom fonts in the assets/project/fonts folder. More customization options will be added in future releases.
⚠️ IMPORTANT: By now, only.ttffonts are supported. Make sure to add your custom fonts in theassets/project/fontsfolder and run the following command in admin mode to register them:captametropolis register_font "assets\project\fonts\your_font.ttf" -qr # If not run in admin mode, the command will ask for admin permissions.This will register the font in the system and make it available for use in the video generation process. Make sure to not change the font name or location after registering it.
ℹ️ NOTE: You can easily add your own background music by placing the file in the
assets/project/musicfolder and using thebackground_musicparameter in theMoviepyAPI().generate_video()function:moviepy_api = MoviepyAPI() moviepy_api.generate_video( ..., background_music=BackgroundMusic( r"assets\project\music\your_music.mp3", start_sec=0, volume_factor=0.2, credits="Credits to song artist", # Optional ), )You can even use sound driectly from Bensound using the
BensoundBackgroundMusicclass, it will automatically generate the credits for you:moviepy_api.generate_video( ..., background_music=BensoundBackgroundMusic( "the lounge", # Search query for the song start_sec=0, volume_factor=0.2, ), )
If you would like to use encryption features for the storage of configuration files, you can enable them by creating a .env file in the config directory and adding the ENCRYPTION_KEY key along with your password. The SettingsManager class currently supports encryption for str, bytes, dict, and list types. You can set the key in the .env file as follows:
ENCRYPTION_KEY=your_encryption_keyYou can easily upload your generated videos to YouTube and Instagram automatically using the UploadAPI class. You can set the youtube parameter to True to upload the video to YouTube, and the instagram and tiktok parameters to True to upload the video to Instagram and TikTok respectively.
You can then use the UploadAPI class to upload the video:
upload_api = UploadAPI()
upload_api.upload_video(
session_id="...", # The session ID of the video to upload (will be displayed in the console after generating the video). Leave `None` to use the last session ID.
youtube=True,
instagram=True,
tiktok=True,
)- Activate Virtual Environment: Navigate to the root directory and activate the virtual environment using:
source venv/bin/activate- Configure VPN: If you are using a VPN, make sure to switch the location/server regularly to avoid being blocked by the
g4f.Provider. If you encounter any issues with the provider, you can set theproviderparameter in theG4FAPIclass toNone, which will force the API to choose the best provider available automatically:
g4f_api = G4FAPI(provider=None)- Run the Script: Run the main script using:
python main.pyThis project was developed and is maintained by AppSolves.
Also, check out CurioBurstz on YouTube, Instagram, and TikTok for more content created using QuickClipAI.
This project is licensed under a custom license with All Rights Reserved.
No use, distribution, or modification is allowed without explicit permission from the author.
For more information, please see the LICENSE file.
QuickClipAI © 2024 by Kaan Gönüldinc
Thank you for checking out QuickClipAI! We hope you find this tool useful for your content creation needs. If you have any questions, feedback, or suggestions, please feel free to reach out to us.