feat(#1196): /voices?type=clone从克隆音色档案读取(智能剪辑配音可选克隆音色) #1202
Reference in New Issue
Block a user
Delete Branch "feat/voices-clone-from-profile-1196"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
智能剪辑配音选不到克隆音色。根因:
/voices?type=clone之前从 voice_library(配音库)读取,而配音库存的是「已合成的配音作品」,不是「可用的克隆音色选项」。修复
克隆音色改为从
voice_clone_profile读取 ready 状态 的音色模型,符合「音色列表」的语义。变更
_clone_profile_to_unified_response转换函数status=all或具体状态过滤前端对接说明
voice_clone_profile_id字段,可用于调用/voice-clones/{id}/preview试听voice_id字段可直接用于 TTS 合成配音audio_url为空(克隆音色是音色模型,没有预合成音频),试听请用 preview 接口测试
本地12个单测 + 74个原有 voice_clone 测试,共86个全绿。
🚀 预览环境已部署
e039287016toa7fe0efc24代码审查结果 - PR #1202
⚠️ 问题(0个需要修改)
💡 建议(2个可选)
apps/api/app/api/routes/voices.py和tests/unit/test_voices_clone_from_profile.py被修改为可执行权限(100755)。Python 源文件通常不需要可执行权限,建议保持默认的644权限,以符合规范并避免不必要的 Git diff 噪音。apps/api/app/api/routes/voices.py的_clone_profile_to_unified_response函数中,voice_provider和language的默认值使用了硬编码字符串("cosyvoice"和"zh-CN")。建议将这些魔法字符串提取为常量或配置项,以便于后续维护和多语言/多模型支持。✅ 格式检查通过 | ✅ 逻辑审查需修改 | ✅ 建议关注性能
🤖 由 AI 代码审查机器人自动生成 | 2026-07-30 06:43:48 | 模型:
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🗑️ 预览环境已清理
PR #1202 已关闭或合并,对应的预览环境已被清理。