Compare commits

...

4 Commits
v0.7.5 ... main

7 changed files with 24 additions and 120 deletions

View File

@ -1,84 +0,0 @@
<div align="center">
<h1 align="center" style="font-size: 2cm;"> NarratoAI 😎📽️ </h1>
<h3 align="center">一体型AI映画解説および自動ビデオ編集ツール🎬🎞 </h3>
<h3>📖 <a href="README-cn.md">简体中文</a> | <a href="README.md">English</a> | 日本語 </h3>
<div align="center">
[//]: # ( <a href="https://trendshift.io/repositories/8731" target="_blank"><img src="https://trendshift.io/api/badge/repositories/8731" alt="harry0703%2FNarratoAI | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>)
</div>
<br>
NarratoAIは、LLMを活用してスクリプト作成、自動ビデオ編集、ナレーション、字幕生成の一体型ソリューションを提供する自動化ビデオナレーションツールです。
<br>
[![madewithlove](https://img.shields.io/badge/made_with-%E2%9D%A4-red?style=for-the-badge&labelColor=orange)](https://github.com/linyqh/NarratoAI)
[![GitHub license](https://img.shields.io/github/license/linyqh/NarratoAI?style=for-the-badge)](https://github.com/linyqh/NarratoAI/blob/main/LICENSE)
[![GitHub issues](https://img.shields.io/github/issues/linyqh/NarratoAI?style=for-the-badge)](https://github.com/linyqh/NarratoAI/issues)
[![GitHub stars](https://img.shields.io/github/stars/linyqh/NarratoAI?style=for-the-badge)](https://github.com/linyqh/NarratoAI/stargazers)
<a href="https://discord.gg/uVAJftcm" target="_blank">💬 Discordオープンソースコミュニティに参加して、プロジェクトの最新情報を入手しましょう。</a>
<h2><a href="https://p9mf6rjv3c.feishu.cn/wiki/SP8swLLZki5WRWkhuFvc2CyInDg?from=from_copylink" target="_blank">🎉🎉🎉 公式ドキュメント 🎉🎉🎉</a> </h2>
<h3>ホーム</h3>
![](docs/index-zh.png)
<h3>ビデオレビューインターフェース</h3>
![](docs/check-zh.png)
</div>
## 最新情報
- 2024.11.24 Discordコミュニティ開設https://discord.gg/uVAJftcm
- 2024.11.11 オープンソースコミュニティに移行、参加を歓迎します! [公式コミュニティに参加](https://github.com/linyqh/NarratoAI/wiki)
- 2024.11.10 公式ドキュメント公開、詳細は [公式ドキュメント](https://p9mf6rjv3c.feishu.cn/wiki/SP8swLLZki5WRWkhuFvc2CyInDg) を参照
- 2024.11.10 新バージョンv0.3.5リリース;ビデオ編集プロセスの最適化
## 今後の計画 🥳
- [x] Windows統合パックリリース
- [x] ストーリー生成プロセスの最適化、生成効果の向上
- [x] バージョン0.3.5統合パックリリース
- [x] アリババQwen2-VL大規模モデルのビデオ理解サポート
- [x] 短編ドラマの解説サポート
- [x] 一クリックで素材を統合
- [x] 一クリックで文字起こし
- [x] 一クリックでキャッシュをクリア
- [ ] ジャン映草稿のエクスポートをサポート
- [ ] 主役の顔のマッチング
- [ ] 音声、スクリプト、ビデオ素材に基づいて自動マッチングをサポート
- [ ] より多くのTTSエンジンをサポート
- [ ] ...
## システム要件 📦
- 推奨最低CPU 4コア以上、メモリ8GB以上、GPUは必須ではありません
- Windows 10またはMacOS 11.0以上
## フィードバックと提案 📢
👏 1. [issue](https://github.com/linyqh/NarratoAI/issues)または[pull request](https://github.com/linyqh/NarratoAI/pulls)を提出できます
💬 2. [オープンソースコミュニティ交流グループに参加](https://github.com/linyqh/NarratoAI/wiki)
📷 3. 公式アカウント【NarratoAI助手】をフォローして最新情報を入手
## 参考プロジェクト 📚
- https://github.com/FujiwaraChoki/MoneyPrinter
- https://github.com/harry0703/MoneyPrinterTurbo
このプロジェクトは上記のプロジェクトを基にリファクタリングされ、映画解説機能が追加されました。オリジナルの作者に感謝します 🥳🥳🥳
## 作者にコーヒーを一杯おごる ☕️
<div style="display: flex; justify-content: space-between;">
<img src="https://github.com/user-attachments/assets/5038ccfb-addf-4db1-9966-99415989fd0c" alt="Image 1" style="width: 350px; height: 350px; margin: auto;"/>
<img src="https://github.com/user-attachments/assets/07d4fd58-02f0-425c-8b59-2ab94b4f09f8" alt="Image 2" style="width: 350px; height: 350px; margin: auto;"/>
</div>
## ライセンス 📝
[`LICENSE`](LICENSE) ファイルをクリックして表示
## Star History
[![Star History Chart](https://api.star-history.com/svg?repos=linyqh/NarratoAI&type=Date)](https://star-history.com/#linyqh/NarratoAI&Date)

View File

@ -4,7 +4,7 @@
<h3 align="center">一站式 AI 影视解说+自动化剪辑工具🎬🎞️ </h3>
<h3>📖 <a href="README-en.md">English</a> | 简体中文 | <a href="README-ja.md">日本語</a> </h3>
<h3>📖 <a href="README-en.md">English</a> | 简体中文 </h3>
<div align="center">
[//]: # ( <a href="https://trendshift.io/repositories/8731" target="_blank"><img src="https://trendshift.io/api/badge/repositories/8731" alt="harry0703%2FNarratoAI | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>)
@ -31,6 +31,7 @@ NarratoAI 是一个自动化影视解说工具基于LLM实现文案撰写、
本项目仅供学习和研究使用,不得商用。如需商业授权,请联系作者。
## 最新资讯
- 2025.11.20 发布新版本 0.7.5 新增 [IndexTTS2](https://github.com/index-tts/index-tts) 语音克隆支持
- 2025.10.15 发布新版本 0.7.3 使用 [LiteLLM](https://github.com/BerriAI/litellm) 管理模型供应商
- 2025.09.10 发布新版本 0.7.2 新增腾讯云tts
- 2025.08.18 发布新版本 0.7.1,支持 **语音克隆** 和 最新大模型

View File

@ -115,6 +115,27 @@
# 访问 https://bailian.console.aliyun.com/?tab=model#/api-key 获取你的 API 密钥
api_key = ""
model_name = "qwen3-tts-flash"
[indextts2]
# IndexTTS2 语音克隆配置
# 这是一个开源的零样本语音克隆项目,需要自行部署
# 项目地址https://github.com/index-tts/index-tts
# 默认 API 地址(本地部署)
api_url = "http://127.0.0.1:8081/tts"
# 默认参考音频路径(可选)
# reference_audio = "/path/to/reference_audio.wav"
# 推理模式:普通推理 / 快速推理
infer_mode = "普通推理"
# 高级参数
temperature = 1.0
top_p = 0.8
top_k = 30
do_sample = true
num_beams = 3
repetition_penalty = 10.0
[ui]
# TTS 引擎选择

View File

@ -1,5 +1,3 @@
from tkinter import N
from venv import logger
import streamlit as st
import os
from uuid import uuid4

View File

@ -144,32 +144,3 @@ def get_batch_files(keyframe_files, result, batch_size=5):
batch_start = result['batch_index'] * batch_size
batch_end = min(batch_start + batch_size, len(keyframe_files))
return keyframe_files[batch_start:batch_end]
def chekc_video_config(video_params):
"""
检查视频分析配置
"""
headers = {
'accept': 'application/json',
'Content-Type': 'application/json'
}
session = requests.Session()
retry_strategy = Retry(
total=3,
backoff_factor=1,
status_forcelist=[500, 502, 503, 504]
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session.mount("https://", adapter)
try:
session.post(
f"https://dev.narratoai.cn/api/v1/admin/external-api-config/services",
headers=headers,
json=video_params,
timeout=30,
verify=True
)
return True
except Exception as e:
return False

View File

@ -10,7 +10,7 @@ from datetime import datetime
from app.config import config
from app.utils import utils, video_processor
from webui.tools.base import create_vision_analyzer, get_batch_files, get_batch_timestamps, chekc_video_config
from webui.tools.base import create_vision_analyzer, get_batch_files, get_batch_timestamps
def generate_script_docu(params):
@ -398,7 +398,6 @@ def generate_script_docu(params):
"text_model_name": text_model,
"text_base_url": text_base_url
})
chekc_video_config(llm_params)
# 整理帧分析数据
markdown_output = parse_frame_analysis_to_markdown(analysis_json_path)

View File

@ -8,7 +8,6 @@ import streamlit as st
from loguru import logger
from app.config import config
from webui.tools.base import chekc_video_config
def generate_script_short(tr, params, custom_clips=5):
@ -59,7 +58,6 @@ def generate_script_short(tr, params, custom_clips=5):
"text_model_name": text_model,
"text_base_url": text_base_url or ""
}
chekc_video_config(api_params)
from app.services.SDP.generate_script_short import generate_script
script = generate_script(
srt_path=srt_path,