Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/linyqh/NarratoAI
利用AI大模型,一键解说并剪辑视频; Using AI models to automatically provide commentary and edit videos with a single click.
https://github.com/linyqh/NarratoAI
aiagent aiops gemini-api llm moviepy python
Last synced: 2 months ago
JSON representation
利用AI大模型,一键解说并剪辑视频; Using AI models to automatically provide commentary and edit videos with a single click.
- Host: GitHub
- URL: https://github.com/linyqh/NarratoAI
- Owner: linyqh
- License: mit
- Created: 2024-08-12T13:29:01.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-11T03:51:07.000Z (2 months ago)
- Last Synced: 2024-12-11T04:28:13.513Z (2 months ago)
- Topics: aiagent, aiops, gemini-api, llm, moviepy, python
- Language: Python
- Homepage:
- Size: 7.1 MB
- Stars: 2,145
- Watchers: 9
- Forks: 261
- Open Issues: 21
-
Metadata Files:
- Readme: README-cn.md
- Changelog: changelog.py
- License: LICENSE
Awesome Lists containing this project
- awesome-hacking-lists - linyqh/NarratoAI - 利用AI大模型,一键解说并剪辑视频; Using AI models to automatically provide commentary and edit videos with a single click. (Python)
README
NarratoAI 😎📽️
An all-in-one AI-powered tool for film commentary and automated video editing.🎬🎞️
📖 English | 简体中文 | 日本語
NarratoAI is an automated video narration tool that provides an all-in-one solution for script writing, automated video editing, voice-over, and subtitle generation, powered by LLM to enhance efficient content creation.
[](https://github.com/linyqh/NarratoAI)
[](https://github.com/linyqh/NarratoAI/blob/main/LICENSE)
[](https://github.com/linyqh/NarratoAI/issues)
[](https://github.com/linyqh/NarratoAI/stargazers)💬 Join the open source community to get project updates and the latest news.
Home

Video Review Interface

## Future Plans 🥳
- [x] Windows Integration Pack Release
- [ ] Optimized the story generation process and improved the generation effect
- [ ] Support local large model MiniCPM-V
- [ ] Support local large model Qwen2-VL
- [ ] ...## System Requirements 📦
- Recommended minimum: CPU with 4 cores or more, 8GB RAM or more, GPU is not required
- Windows 10 or MacOS 11.0 or above## Quick Start 🚀
### 1. Apply for Google AI Studio Account
1. Visit https://aistudio.google.com/app/prompts/new_chat to apply for an account.
2. Click `Get API Key` to request an API Key.
3. Enter the obtained API Key into the `gemini_api_key` setting in the `config.example.toml` file.### 2. Configure Proxy VPN
> The method to configure VPN is not restricted, as long as you can access Google's network. Here, `clash` is used as an example.
1. Note the port of the clash service, usually `http://127.0.0.1:7890`.
2. If the port is not `7890`, modify the `VPN_PROXY_URL` in the `docker-compose.yml` file to your proxy address.
```yaml
environment:
- "VPN_PROXY_URL=http://host.docker.internal:7890" # Change to your proxy port; host.docker.internal represents the IP of the physical machine.
```3. (Optional) Or modify the `proxy` settings in the `config.example.toml` file.
```toml
[proxy]
### Use a proxy to access the Pexels API
### Format: "http://:@:"
### Example: "http://user:pass@proxy:1234"
### Doc: https://requests.readthedocs.io/en/latest/user/advanced/#proxieshttp = "http://xx.xx.xx.xx:7890"
https = "http://xx.xx.xx.xx:7890"
```### 3. Get Started 📥 with the Modpack (for Windows users)
NarratoAI Modpack v0.1.2 is released 🚀Hurry up and follow the WeChat public account [NarratoAI助手] and reply to the keyword [整合包] to get the latest download link! Give it a try!
Note:
- Currently only available for Windows, Mac version is in development, Linux version will be available in a future release.### 4. Get started 🐳 with docker (for Mac and Linux users)
#### ① clone project, Start Docker
```shell
git clone https://github.com/linyqh/NarratoAI.git
cd NarratoAI
docker-compose up
```
#### ② Access the Web InterfaceOpen your browser and go to http://127.0.0.1:8501
#### ③ Access the API Documentation
Open your browser and go to http://127.0.0.1:8080/docs or http://127.0.0.1:8080/redoc
## Usage
#### 1. Basic Configuration, Select Model, Enter API Key, and Choose Model
> Currently, only the `Gemini` model is supported. Other modes will be added in future updates. Contributions are welcome via [PR](https://github.com/linyqh/NarratoAI/pulls) to join in the development 🎉🎉🎉
![]()
#### 2. Select the Video for Narration and Click to Generate Video Script
> A demo video is included in the platform. To use your own video, place the mp4 file in the `resource/videos` directory and refresh your browser.
> Note: The filename can be anything, but it must not contain Chinese characters, special characters, spaces, backslashes, etc.
![]()
#### 3. Save the Script and Start Editing
> After saving the script, refresh the browser, and the newly generated `.json` script file will appear in the script file dropdown. Select the json file and video to start editing.
![]()
#### 4. Review the Video; if there are segments that don't meet the rules, click to regenerate or manually edit them.
![]()
#### 5. Configure Basic Video Parameters
![]()
#### 6. Start Generating
![]()
#### 7. Video Generation Complete
![]()
## Development 💻
1. Install Dependencies
```shell
conda create -n narratoai python=3.10
conda activate narratoai
cd narratoai
pip install -r requirements.txt
```
2. Install ImageMagick
###### Windows:- Download https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-38-Q16-x64-static.exe
- Install the downloaded ImageMagick, ensuring you do not change the installation path
- Update `imagemagick_path` in the `config.toml` file to your actual installation path (typically `C:\Program Files\ImageMagick-7.1.1-Q16\magick.exe`)###### MacOS:
```shell
brew install imagemagick
````###### Ubuntu
```shell
sudo apt-get install imagemagick
```###### CentOS
```shell
sudo yum install ImageMagick
```3. initiate webui
```shell
streamlit run ./webui/Main.py --browser.serverAddress=127.0.0.1 --server.enableCORS=True --browser.gatherUsageStats=False
```
4. Access http://127.0.0.1:8501## Feedback & Suggestions 📢
### 👏 1. You can submit [issues](https://github.com/linyqh/NarratoAI/issues) or [pull requests](https://github.com/linyqh/NarratoAI/pulls)
### 💬 2. [Join the open source community exchange group]((https://github.com/linyqh/NarratoAI/wiki))
### 👉 3. [frequently asked questions](https://thread-marsupial-df8.notion.site/105866888dab80988650fa063b1df4eb)
## Reference Projects 📚
- https://github.com/FujiwaraChoki/MoneyPrinter
- https://github.com/harry0703/MoneyPrinterTurboThis project was refactored based on the above projects with the addition of video narration features. Thanks to the original authors for their open-source spirit 🥳🥳🥳
## License 📝
Click to view the [`LICENSE`](LICENSE) file
## Star History
[](https://star-history.com/#linyqh/NarratoAI&Date)