mirror of
https://github.com/linyqh/NarratoAI.git
synced 2026-08-01 02:45:54 +00:00
在 #270 配乐模式基础上新增可选的 "AI 音效(Sonilo)":将合并后的成片 上传到 Sonilo API(POST /v1/video-to-sfx,异步任务管线),根据画面内容 生成音效,再用 ffmpeg 混在成片现有音轨之下(视频流直接复制,不重编码 画面)。解说配音在后续合成步骤中单独混入,音量策略不受影响。生成的 音效为免版税素材。 - 复用 #270 的 sonilo_api_key 配置与 app/services/sonilo.py 模块, 新增音效任务管线(提交 / 轮询 / 预签名 URL 下载) - 上传前 ffprobe 本地校验时长(音效接口上限 3 分钟),避免白传计费 - 轮询是免费幂等 GET:网络抖动与 5xx 在截止时间内重试,不报废已计费任务 - 任何失败(超时、HTTP 错误、任务失败、混音失败)只记录日志并沿用 原视频,绝不中断成片任务 - WebUI 音频设置新增独立开关面板(默认关闭),选项处提示视频将上传至 Sonilo API - 现有 BGM / 合成逻辑不做任何改动,未勾选时行为与 main 完全一致