ai-image-gen
通用 AI 生图:文生图 / 图生图 / 图像变体。当用户说 AI 生图、AI 画图、文生图、图生图、生成图片、生成配图、图像生成、AI 出图、AI…
文字转语音配音:把文案/脚本合成为 AI 语音口播、旁白、朗读音频。**配了 VOICE_PROVIDER 默认走闭源云 TTS(CosyVoice2 等,有情感、像真人),edge 仅无 key 时兜底**(edge 偏机械/AI 味);同步输出分句 SRT 字幕、mp3/wav/m4a。合成后可与 BGM 混音或加到视频作旁白。当用户说“配音”“文字转语音”“TTS”“AI 配音”“口播语音”“旁白”“朗读”“把这段文字读出来”“生成语音”“语音合成”时使用。
$ npx -y skills add zju-real/easel --skill tts-voiceover --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/tts-voiceoverContext preview
The summary Claude sees to decide when to auto-load this skill.
文字转语音配音:把文案/脚本合成为 AI 语音口播、旁白、朗读音频。**配了 VOICE_PROVIDER 默认走闭源云 TTS(CosyVoice2 等,有情感、像真人),edge 仅无 key 时兜底**(edge 偏机械/AI 味);同步输出分句 SRT 字幕、mp3/wav/m4a。合成后可与 BGM 混音或加到视频作旁白。当用户说“配音”“文字转语音”“TTS”“AI 配音”“口播语音”“旁白”“朗读”“把这段文字读出来”“生成语音”“语音合成”时使用。
name: tts-voiceover description: "文字转语音配音:把文案/脚本合成为 AI 语音口播、旁白、朗读音频。**配了 VOICE_PROVIDER 默认走闭源云 TTS(CosyVoice2 等,有情感、像真人),edge 仅无 key 时兜底**(edge 偏机械/AI 味);同步输出分句 SRT 字幕、mp3/wav/m4a。合成后可与 BGM 混音或加到视频作旁白。当用户说“配音”“文字转语音”“TTS”“AI 配音”“口播语音”“旁白”“朗读”“把这段文字读出来”“生成语音”“语音合成”时使用。" layer: produce
> **配置检查路径铁律**:先 `cd` 到 `AGENTS.md` 末尾给出的 Easel 项目根,确认当前目录有 `.env` 和 `skills/shared/scripts/`。云 TTS 配置只能用项目根的 `model_registry.py configured --group voice --env-file .env` 和 `voice_clone.py check ... --env-file .env` 判断;不得在 workspace 跑 `./shared/scripts/...`,也不得用 `env` / `printenv` 推断 Key/URL 缺失。
把文案 / 脚本合成为 AI 语音(口播、旁白、朗读)。共享脚本 `skills/shared/scripts/tts.py speak`: **默认闭源优先**——配了 `.env` 的 `VOICE_PROVIDER`(+ VOICE_API_KEY) 就走闭源云 TTS(voice_clone, 按句合成+拼接+分句 SRT,有情感、像真人),**没 key 才退 edge**(AI 味、生硬,仅兜底)。 `--engine closed/edge` 可强制;闭源音色用 `--voice` 传 voice-id(如 `FunAudioLLM/CosyVoice2-0.5B:alex`), 旁白默认 alex,可用 `VOICE_NARRATOR_VOICE_ID` 覆盖。合成后语音可交 `audio_ops.py`/`video_ops.py` 混音或加到视频。
| 字段 | 必填 | 说明 | |------|------|------| | text / file | 是 | 待配音的文本,或文本文件路径(长文本推荐 --file) | | voice | 否 | 音色,默认 `zh-CN-XiaoxiaoNeural`(晓晓) | | rate/volume/pitch | 否 | 语速 / 音量 / 音调微调 | | output | 否 | 默认 `outputs/主题名/{name}.mp3` |
edge-tts 调微软在线服务,**必须能访问外网**。内网环境先设代理:
export https_proxy=http://<代理host>:<端口> http_proxy=http://<代理host>:<端口>
脚本会自动读环境变量代理并透传给 edge-tts(也可用 `--proxy` 覆盖)。
脚本路径(相对项目根):`skills/shared/scripts/tts.py`。每个子命令支持 `-h`。
python skills/shared/scripts/tts.py voices # 常用中文音色 + 简介 python skills/shared/scripts/tts.py voices --all # 拉全量 zh- 音色(需外网)
# 最简:一句话 → mp3 python skills/shared/scripts/tts.py speak --text "欢迎来到本期内容" \ -o outputs/主题名/intro.mp3 # 长文本从文件读 + 换音色 + 加速 10% python skills/shared/scripts/tts.py speak --file script.txt \ -o outputs/主题名/narration.mp3 --voice zh-CN-YunxiNeural --rate +10% # 同步出 SRT 字幕(视频烧字幕用) python skills/shared/scripts/tts.py speak --file script.txt \ -o outputs/主题名/vo.mp3 --subtitle outputs/主题名/vo.srt # 输出 wav(需 ffmpeg,便于后续无损处理) python skills/shared/scripts/tts.py speak --text "……" \ -o outputs/主题名/vo.wav --format wav
参数:`--rate +10%`(语速)、`--volume +20%`(音量)、`--pitch +2Hz`(音调)。
配音出来后按需接下游脚本,无需在本 SKILL 重造能力:
# ① 配音 + BGM 混音(原声 1.0 / BGM 0.3)→ 用 audio_ops concat / video_ops bgm python skills/shared/scripts/video_ops.py bgm -i vo.mp3 -o vo_bgm.mp3 \ --music bgm.mp3 --voice-volume 1.0 --music-volume 0.3 # ② 配音音量归一化到社媒响度(-14 LUFS) python skills/shared/scripts/audio_ops.py normalize vo.mp3 -o vo_norm.mp3 # ③ 把配音作为旁白加到视频 python skills/shared/scripts/video_ops.py bgm -i clip.mp4 -o clip_vo.mp4 \ --music vo.mp3 --voice-volume 0.4 --music-volume 1.0
| 音色 | 特点 | |------|------| | `zh-CN-XiaoxiaoNeural` | 晓晓 · 女声,温暖亲和,通用首选(默认) | | `zh-CN-XiaoyiNeural` | 晓伊 · 女声,活泼年轻,口播/种草 | | `zh-CN-YunxiNeural` | 云希 · 男声,清朗自然,旁白/解说 | | `zh-CN-YunyangNeural` | 云扬 · 男声,专业沉稳,新闻/播报 | | `zh-CN-YunjianNeural` | 云健 · 男声,浑厚有力,激情内容 |
粤语用 `zh-HK-HiuMaanNeural`(曉曼),台式用 `zh-TW-HsiaoChenNeural`(曉臻)。
1. **绝不覆盖原始素材** — 只写新文件到 `outputs/主题名/`。 2. **长文本走 --file** — 避免命令行过长 / 换行转义问题。 3. **先设代理** — edge-tts 需外网,网络失败脚本会给明确提示。 4. **不重造能力** — 混音/归一化/加视频旁白复用 audio_ops.py / video_ops.py。 5. **无 Profile 也能用** — 无画像时用默认音色晓晓。
有 Profile 时可读取账号偏好音色 / 语速 / 平台调性(如口播偏活泼晓伊、 知识类偏沉稳云扬)作为默认参数;无 Profile 退到通用默认(晓晓、正常语速)。
An open-source AI agent for social media — discover trends, create content, publish everywhere, and learn what works across Xiaohongshu, Douyin, Zhihu, Bilibili, and more.🎨一个开源的 AI 社交媒体智能体——发现热点趋势、创作内容、一键发布至各大平台,并学习分析哪些内容真正有效,覆盖小红书、抖音、知乎、哔哩哔哩等平台。
Repo: zju-real/easel
通用 AI 生图:文生图 / 图生图 / 图像变体。当用户说 AI 生图、AI 画图、文生图、图生图、生成图片、生成配图、图像生成、AI 出图、AI…
AI 音乐 / BGM 生成:给短视频、社媒内容生成原创背景音乐 / 配乐 / 纯音乐。通过可插拔 provider(阿里 DashScope / Suno 类第三方…
AI 视频生成:文生视频 / 图生视频 / 数字人首帧驱动。通过可插拔 provider(通义万相 Wan / 火山 Seedance / 快手可灵 / OpenAI…
outputs/ 目录下的产物管理:按日期/平台/类型归档、打标签、搜索历史内容、生成素材清单。 当用户说"整理素材"、"归档"、"找之前的内容"、"搜索历史"、"素材管理"、…
音频降噪:去除录音中的背景噪声、电流声、风噪、嗡嗡声,基于 ffmpeg 滤镜链(afftdn/highpass/lowpass)。…
通用音频处理:音频剪辑/裁剪、格式转码(mp3/wav/m4a/aac)、音量归一化、从视频提取音轨、多段拼接、淡入淡出、变速(保音高)。当用户说“剪音频”“裁一段”“转成…