Просмотр исходного кода

docs: 修正 TTS 能力描述——本地 edge-tts 在云环境实测被 403 拦截

- capability-matrix.md / SKILL.md:edge-tts 由「推荐·装完即用」改为
  「部分云环境 403,需备 FEME_TTS_ENDPOINT 外部接口」
- 依据:本容器 2026-10-13 实测 edge-tts 7.2.8 最新版调用
  wss://speech.platform.bing.com 返回 403 HandshakeError
FmodeAgent 5 часов назад
Родитель
Сommit
43b3d6546e
2 измененных файлов с 5 добавлено и 5 удалено
  1. 2 2
      SKILL.md
  2. 3 3
      references/capability-matrix.md

+ 2 - 2
SKILL.md

@@ -76,7 +76,7 @@ fmode-mv talk "三分钟讲清楚什么是多租户数据隔离" --duration 90
 | AI 音乐 | `POST /suno/submit/music` + `POST /suno/fetch` | ⚠️ **端点存在,渠道未开通** | 实测提交返回 503 `Task request failed` |
 | AI 音乐 | `POST /suno/submit/music` + `POST /suno/fetch` | ⚠️ **端点存在,渠道未开通** | 实测提交返回 503 `Task request failed` |
 | 图生视频 | `POST /v1/video/generations` | ⚠️ **无可用渠道** | 实测 503 `No available channel for model doubao-seedance-1-0-pro` |
 | 图生视频 | `POST /v1/video/generations` | ⚠️ **无可用渠道** | 实测 503 `No available channel for model doubao-seedance-1-0-pro` |
 | 唇形驱动 | — | ⚠️ **平台暂无通道** | 网关无该路由(返回前端兜底页) |
 | 唇形驱动 | — | ⚠️ **平台暂无通道** | 网关无该路由(返回前端兜底页) |
-| TTS 口播配音 | `/v1/audio/speech` | ⚠️ **平台暂无通道** | 网关无该路由;**本地装 edge-tts 即可用** |
+| TTS 口播配音 | `/v1/audio/speech` | ⚠️ **平台暂无通道** | 网关无该路由;本地 edge-tts 在**部分云环境被 403 拦截**(本容器实测),需备 `FEME_TTS_ENDPOINT` |
 | 音轨分离 | 本地 | ◐ ffmpeg 相位兜底 / demucs 可选 | 需要真·分离请装 demucs |
 | 音轨分离 | 本地 | ◐ ffmpeg 相位兜底 / demucs 可选 | 需要真·分离请装 demucs |
 | 剪辑 / 合成 | 本地 ffmpeg | ✅ **可用** | 拼接 / 混音 / 字幕 / 卡点 / 响度归一化 |
 | 剪辑 / 合成 | 本地 ffmpeg | ✅ **可用** | 拼接 / 混音 / 字幕 / 卡点 / 响度归一化 |
 
 
@@ -98,7 +98,7 @@ fmode-mv talk "三分钟讲清楚什么是多租户数据隔离" --duration 90
 | AI 音乐 | 自备音频 `--music your-song.mp3`;等渠道开通后原样重跑 |
 | AI 音乐 | 自备音频 `--music your-song.mp3`;等渠道开通后原样重跑 |
 | 图生视频 | 自动 Ken Burns 兜底,先出片后替换;或 `FEME_VIDEO_MODEL` 换已开通模型 |
 | 图生视频 | 自动 Ken Burns 兜底,先出片后替换;或 `FEME_VIDEO_MODEL` 换已开通模型 |
 | 唇形驱动 | 自建 Wav2Lip/SadTalker + `FEME_LIPSYNC_ENDPOINT`;或改用表情微动镜头;或纯空镜+字幕 |
 | 唇形驱动 | 自建 Wav2Lip/SadTalker + `FEME_LIPSYNC_ENDPOINT`;或改用表情微动镜头;或纯空镜+字幕 |
-| TTS | `pip install edge-tts`(免费本地,本技能自动探测);或 `FEME_TTS_ENDPOINT` 对接外部服务 |
+| TTS | 优先本地 edge-tts(`pip install edge-tts`,自动探测);⚠️ 若被 403 拦截(部分云环境)则用 `FEME_TTS_ENDPOINT` 对接外部服务 |
 
 
 ## 四、安装
 ## 四、安装
 
 

+ 3 - 3
references/capability-matrix.md

@@ -21,7 +21,7 @@
 | AI 音乐 | `POST /suno/submit/music` + `POST /suno/fetch` | ⚠️ **端点存在,渠道未开通** | `POST` 返回 `503 {"code":"server_error","message":"Task request failed"}` |
 | AI 音乐 | `POST /suno/submit/music` + `POST /suno/fetch` | ⚠️ **端点存在,渠道未开通** | `POST` 返回 `503 {"code":"server_error","message":"Task request failed"}` |
 | 图生视频 | `POST /v1/video/generations` | ⚠️ **无可用渠道** | `503 {"code":"model_not_found","message":"No available channel for model doubao-seedance-1-0-pro ..."}` |
 | 图生视频 | `POST /v1/video/generations` | ⚠️ **无可用渠道** | `503 {"code":"model_not_found","message":"No available channel for model doubao-seedance-1-0-pro ..."}` |
 | 唇形驱动 | — | ⚠️ **平台无此路由** | 网关返回前端兜底页(`HTTP 200` + `text/html`) |
 | 唇形驱动 | — | ⚠️ **平台无此路由** | 网关返回前端兜底页(`HTTP 200` + `text/html`) |
-| TTS 口播配音 | `/v1/audio/speech` | ⚠️ **平台无此路由** | 同上;但**本地 edge-tts 可替代** |
+| TTS 口播配音 | `/v1/audio/speech` | ⚠️ **平台无此路由** | 同上;本地 edge-tts 在**部分云环境被 403 拦截**(本容器实测),需备外部接口 |
 | 音轨分离 | 本地 | ◐ **ffmpeg 近似 / demucs 可选** | 单声道素材无法分离;立体声可做相位近似 |
 | 音轨分离 | 本地 | ◐ **ffmpeg 近似 / demucs 可选** | 单声道素材无法分离;立体声可做相位近似 |
 
 
 **汇总:2 条平台通道可用(chat / image)+ 本地剪辑可用。**
 **汇总:2 条平台通道可用(chat / image)+ 本地剪辑可用。**
@@ -138,8 +138,8 @@ Authorization: Bearer <token>
 
 
 | 方案 | 操作 | 说明 |
 | 方案 | 操作 | 说明 |
 |---|---|---|
 |---|---|---|
-| **A. 本地 edge-tts**(推荐) | `pip install edge-tts` | **免费**,中文音色多。技能**自动探测**,装完即用,无需配置 |
-| B. 对接外部 | `export FEME_TTS_ENDPOINT=https://your-host/v1/audio/speech` | OpenAI 兼容接口 |
+| **A. 本地 edge-tts** | `pip install edge-tts` | **免费**,中文音色多,技能**自动探测**。⚠️ 但**部分云环境会失败**:调用 `wss://speech.platform.bing.com` 返回 **403 HandshakeError**(本容器 2026-10-13 实测 edge-tts 7.2.8 最新版亦被拦)—— 命中则该方案不可用,改走 B |
+| B. 对接外部 | `export FEME_TTS_ENDPOINT=https://your-host/v1/audio/speech` | OpenAI 兼容接口。**云环境推荐**;DashScope/百炼 `cosyvoice`、火山、MiniMax 均可自建转发 |
 | C. 自备配音 | `--voice my.mp3` | 真人录音也行 |
 | C. 自备配音 | `--voice my.mp3` | 真人录音也行 |
 
 
 **探测优先级**(`tts.probe()`):**本地 edge-tts 优先**,其次才探网关。
 **探测优先级**(`tts.probe()`):**本地 edge-tts 优先**,其次才探网关。