ComfyUI-Mana-Nodes 插件完全教程
1. 插件简介
插件地址: https://github.com/ForeignGods/ComfyUI-Mana-Nodes
这个插件是什么呢?简单来说,它就像是给ComfyUI装了一个"文字魔法工具箱"!这个插件专门用来处理文字相关的各种任务,让你可以轻松制作动态文字、语音转文字、文字转语音,还能制作带字幕的视频。
能给我们带来什么效果?
- 🎨 动态文字生成:把文字变成漂亮的图片,还能加各种动画效果
- 🎤 语音识别:把录音文件里的话转换成文字
- 📢 语音合成:把文字转换成语音朗读
- 🎬 视频处理:分离视频和音频,或者把图片序列合成视频
- ✨ 文字动画:让文字有颜色变化、大小变化、旋转等各种动画效果
- 📝 字幕制作:自动生成带时间轴的字幕文件
想象一下:你可以制作炫酷的文字动画视频,自动给视频加字幕,或者让电脑朗读你写的文章。这就是这个插件的神奇之处!
2. 如何安装
方法一:ComfyUI Manager安装(推荐)
- 在ComfyUI界面中点击"Manager"按钮
- 搜索"Mana Nodes"
- 点击安装即可
方法二:手动安装
- 打开你的ComfyUI安装目录
- 进入
custom_nodes文件夹 - 在这里打开命令行(终端)
- 输入以下命令:
git clone https://github.com/ForeignGods/ComfyUI-Mana-Nodes.git
cd ComfyUI-Mana-Nodes
pip install -r requirements.txt
重要提醒:
- 安装完成后需要重启ComfyUI
- 第一次使用语音相关功能时会自动下载模型文件,请耐心等待
3. 节点详细解析
3.1 Text to Image Generator 节点 - 文字转图片生成器
这个节点是干嘛的?
这就像是一个"文字变图片的魔法师"!它能把你输入的文字变成漂亮的图片,还能加上各种动画效果。你可以把它想象成一个超级强大的"文字设计工具",比美图秀秀的文字功能强大一万倍!
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| font | font | 字体属性对象 | 连接Font Properties节点 | 这是"字体样式包",决定文字长什么样 | 字体属性配置对象 | 连接Font Properties节点来设置字体 |
| text | text | 多行文本 | "Hello World" | 你想要显示的文字内容 | 要渲染的文本内容 | 输入"欢迎来到我的频道"或JSON格式的时间轴文字 |
| canvas | canvas | 画布属性对象 | 连接Canvas Properties节点 | 这是"画布设置包",决定背景和尺寸 | 画布配置对象 | 连接Canvas Properties节点设置画布 |
| frame_count | frame_count | 整数 | 1 | 要生成多少张图片(帧数) | 输出的图像帧数 | 设置30表示生成30张图片做动画 |
| transcription | transcription | 转录对象 | 可选连接 | 语音识别的结果,用来自动生成字幕 | 语音转文字的结果数据 | 连接Speech Recognition节点的输出 |
| highlight_font | highlight_font | 字体属性对象 | 可选连接 | 高亮文字的特殊字体样式 | 用于突出显示的字体配置 | 连接另一个Font Properties节点 |
| skip_first_frames | skip_first_frames | 整数 | 0 | 跳过开头的几帧不处理 | 跳过的起始帧数 | 设置5表示从第6帧开始处理 |
3.2 Font Properties 节点 - 字体属性设置器
这个节点是干嘛的?
这就像是一个"字体化妆师"!它专门负责设置文字的外观,包括字体、颜色、大小、边框、阴影等等。你可以把它想象成给文字"化妆"的工具箱。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| font_file | font_file | 字体文件名 | 系统字体或自定义字体 | 选择文字的"字体样式",就像选择不同的笔 | 字体文件路径 | 选择"Arial"或上传的自定义字体 |
| font_size | font_size | 整数 | 75 | 文字的"大小",数字越大文字越大 | 字体大小(像素) | 设置50表示中等大小的文字 |
| font_color | font_color | 颜色名称 | white | 文字的"颜色",可以用颜色名或颜色代码 | 字体颜色 | 输入"red"或"#FF0000"表示红色 |
| kerning | kerning | 整数 | 0 | 字母之间的"间距",调节文字的紧密程度 | 字符间距 | 设置5让字母之间更宽松 |
| border_width | border_width | 整数 | 0 | 文字"边框"的粗细程度 | 边框宽度(像素) | 设置3给文字加粗边框 |
| border_color | border_color | 颜色名称 | grey | 文字边框的颜色 | 边框颜色 | 输入"black"给文字加黑色边框 |
| shadow_color | shadow_color | 颜色名称 | grey | 文字"阴影"的颜色 | 阴影颜色 | 输入"gray"给文字加灰色阴影 |
| shadow_offset_x | shadow_offset_x | 整数 | 0 | 阴影在"水平方向"的偏移距离 | 阴影水平偏移量 | 设置5让阴影向右偏移 |
| shadow_offset_y | shadow_offset_y | 整数 | 0 | 阴影在"垂直方向"的偏移距离 | 阴影垂直偏移量 | 设置5让阴影向下偏移 |
| x_offset | x_offset | 整数 | 0 | 文字在"水平方向"的位置调整 | 水平位置偏移量 | 设置10让文字向右移动 |
| y_offset | y_offset | 整数 | 0 | 文字在"垂直方向"的位置调整 | 垂直位置偏移量 | 设置-10让文字向上移动 |
| rotation | rotation | 整数 | 0 | 文字的"旋转角度",让文字倾斜 | 旋转角度(度) | 设置45让文字倾斜45度 |
| rotation_anchor_x | rotation_anchor_x | 整数 | 0 | 旋转"中心点"的水平位置 | 旋转锚点X坐标 | 设置50改变旋转中心点 |
| rotation_anchor_y | rotation_anchor_y | 整数 | 0 | 旋转"中心点"的垂直位置 | 旋转锚点Y坐标 | 设置25改变旋转中心点 |
3.3 Canvas Properties 节点 - 画布属性设置器
这个节点是干嘛的?
这就像是一个"画布准备工"!它负责设置图片的背景、大小、文字对齐方式等基础设置。你可以把它想象成准备一张画纸,决定纸的大小、颜色和文字要放在哪个位置。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| height | height | 整数 | 512 | 图片的"高度",决定图片有多高 | 画布高度(像素) | 设置720制作高清图片 |
| width | width | 整数 | 512 | 图片的"宽度",决定图片有多宽 | 画布宽度(像素) | 设置1280制作宽屏图片 |
| background_color | background_color | 颜色名称 | black | 背景的"颜色",就像纸的颜色 | 背景颜色 | 输入"blue"制作蓝色背景 |
| text_alignment | text_alignment | 对齐选项 | center center | 文字在图片中的"位置",比如居中、靠左等 | 文本对齐方式 | 选择"left top"让文字在左上角 |
| padding | padding | 整数 | 0 | 文字距离边缘的"安全距离" | 内边距(像素) | 设置20让文字不贴边 |
| line_spacing | line_spacing | 整数 | 5 | 多行文字之间的"行距" | 行间距(像素) | 设置10让行与行之间更宽松 |
| images | images | 图片对象 | 可选 | 用图片做背景,而不是纯色背景 | 背景图像 | 连接图片节点作为背景 |
3.4 Scheduled Values 节点 - 数值动画调度器
这个节点是干嘛的?
这就像是一个"动画时间表制作器"!它能让文字的各种属性(大小、位置、旋转等)随时间变化,制作出动画效果。你可以把它想象成一个"动画导演",安排什么时候文字要变大、什么时候要移动。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| frame_count | frame_count | 整数 | 30 | 动画总共有多少"帧"(时间长度) | 动画总帧数 | 设置60制作2秒的动画(30fps) |
| value_range | value_range | 整数 | 15 | 数值变化的"范围",从负数到正数 | 数值变化范围 | 设置100表示数值可以在-100到100之间变化 |
| easing_type | easing_type | 缓动类型 | linear | 动画的"变化方式",是匀速还是先快后慢 | 缓动函数类型 | 选择"easeInOut"让动画更自然 |
| step_mode | step_mode | 步进模式 | single | 时间轴显示的"精细程度" | 时间轴显示模式 | 选择"auto"自动调整显示密度 |
| animation_reset | animation_reset | 重置模式 | word | 动画什么时候"重新开始" | 动画重置条件 | 选择"looped"让动画循环播放 |
| id | id | 整数 | 自动生成 | 节点的"身份证号",用来区分不同的动画 | 节点唯一标识符 | 系统自动生成,不需要手动修改 |
| scheduled_values | scheduled_values | JSON字符串 | [] | 存储动画"关键帧"数据的地方 | 动画关键帧数据 | 通过图表界面添加关键帧点 |
3.5 Preset Color Animations 节点 - 预设颜色动画器
这个节点是干嘛的?
这就像是一个"彩虹调色盘"!它提供了各种预设的颜色变化效果,让文字可以像彩虹一样变色。你可以把它想象成一个"变色魔法棒",一挥就能让文字产生炫酷的颜色动画。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| color_preset | color_preset | 颜色预设 | rainbow | 选择"颜色变化主题",比如彩虹、日落等 | 预设颜色动画类型 | 选择"sunset"制作日落色彩效果 |
| animation_duration | animation_duration | 整数 | 30 | 颜色变化的"持续时间"(帧数) | 动画持续帧数 | 设置60让颜色变化更慢 |
| animation_reset | animation_reset | 重置模式 | word | 颜色动画什么时候"重新开始" | 动画重置条件 | 选择"never"让颜色只变化一次 |
3.6 Speech Recognition 节点 - 语音识别器
这个节点是干嘛的?
这就像是一个"语音转文字的秘书"!它能听懂录音文件里说的话,然后把这些话转换成文字,还能标注每个词是什么时候说的。你可以把它想象成一个"听写员",专门负责把语音变成文字。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| audio_file | audio_file | 音频文件路径 | 必须连接 | 要识别的"录音文件"路径 | 音频文件路径 | 连接音频文件或录音 |
| wav2vec2_model | wav2vec2_model | 模型名称 | jonatasgrosman/wav2vec2-large-xlsr-53-english | 用来识别语音的"AI大脑"模型 | 语音识别模型 | 选择对应语言的模型 |
| spell_check_language | spell_check_language | 语言选项 | English | 用来纠正拼写错误的"语言" | 拼写检查语言 | 选择"Chinese"处理中文 |
| framestamps_max_chars | framestamps_max_chars | 整数 | 25 | 每行字幕最多显示多少个"字符" | 每行最大字符数 | 设置50让每行显示更多文字 |
| fps | fps | 整数 | 30 | 视频的"帧率",用来同步时间 | 视频帧率 | 设置24匹配电影帧率 |
| transcription_mode | transcription_mode | 模式选项 | fill | 字幕显示的"方式":逐词、逐行或填充 | 转录显示模式 | 选择"word"逐词显示 |
| uppercase | uppercase | 布尔值 | True | 是否把识别结果转换成"大写字母" | 是否转换为大写 | 设置False保持原始大小写 |
3.7 Split Video 节点 - 视频分离器
这个节点是干嘛的?
这就像是一个"视频拆解工"!它能把视频文件拆分成一张张图片和音频文件,就像把一本翻页书拆成单独的页面。你可以把它想象成一个"视频解剖师",专门负责把视频分解成各个部分。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| video | video | 视频文件 | 选择视频文件 | 要处理的"视频文件" | 输入视频文件 | 选择"my_video.mp4" |
| frame_limit | frame_limit | 整数 | 16 | 最多提取多少"张图片"(帧) | 最大提取帧数 | 设置100提取更多帧 |
| frame_start | frame_start | 整数 | 0 | 从视频的第几"帧"开始提取 | 起始帧位置 | 设置30从第30帧开始 |
| filename_prefix | filename_prefix | 字符串 | audio\audio | 保存音频文件的"文件名前缀" | 输出文件名前缀 | 输入"extracted_audio"自定义名称 |
3.8 Combine Video 节点 - 视频合成器
这个节点是干嘛的?
这就像是一个"视频组装工"!它能把一系列图片组合成视频,还能加上音频。你可以把它想象成一个"动画制作师",把静态图片变成动态视频。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| images | images | 图片序列 | 必须连接 | 要组合成视频的"图片序列" | 输入图像序列 | 连接一系列图片节点 |
| filename_prefix | filename_prefix | 字符串 | video\video | 保存视频的"文件名前缀" | 输出文件名前缀 | 输入"my_animation"自定义名称 |
| audio_file | audio_file | 音频文件路径 | 可选连接 | 要添加到视频的"背景音乐"或"配音" | 音频文件路径 | 连接音频文件添加声音 |
| fps | fps | 整数 | 30 | 视频的"播放速度"(每秒多少帧) | 视频帧率 | 设置24制作电影风格视频 |
3.9 Generate Audio 节点 - 语音生成器
这个节点是干嘛的?
这就像是一个"AI播音员"!它能把你输入的文字转换成语音,就像有个人在朗读你的文字。你可以把它想象成一个"虚拟主播",专门负责把文字变成声音。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | 多行文本 | 输入要朗读的文字 | 要转换成"语音"的文字内容 | 要合成语音的文本 | 输入"欢迎收听我的播客"生成语音 |
| filename_prefix | filename_prefix | 字符串 | audio\audio | 保存音频文件的"文件名前缀" | 输出文件名前缀 | 输入"speech_output"自定义名称 |
3.10 Save/Preview Text 节点 - 文本保存预览器
这个节点是干嘛的?
这就像是一个"文字记录员"!它能把文字内容保存成文件,同时在界面上显示预览。你可以把它想象成一个"文字存档器",专门负责保存和显示文字内容。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| filename_prefix | filename_prefix | 字符串 | text\text | 保存文本文件的"文件名前缀" | 输出文件名前缀 | 输入"subtitle_output"自定义名称 |
| string | string | 文本内容 | 必须连接 | 要保存的"文字内容" | 要保存的文本数据 | 连接其他节点的文字输出 |
3.11 前端扩展:Scheduled Values 图表界面
这个扩展是干嘛的?
这是一个"动画时间轴编辑器"!它在Scheduled Values节点上添加了一个可视化的图表界面,让你可以用鼠标点击来设置动画关键帧,就像专业的动画软件一样。
功能特点:
- 📊 可视化图表编辑
- 🖱️ 鼠标点击添加关键帧
- ✏️ 双击编辑关键帧数值
- 🗑️ 一键删除关键帧
- 🎯 自动生成中间帧
- 🔄 支持多种缓动效果
3.12 前端扩展:Text Preview 文本预览器
这个扩展是干嘛的?
这是一个"文字预览窗口"!它在Save/Preview Text节点上添加了实时文本预览功能,让你可以直接在节点上看到文字内容,不用打开文件。
功能特点:
- 👀 实时文本预览
- 📝 多行文本显示
- 🔄 自动更新内容
- 📏 自适应窗口大小
3.13 前端扩展:Video Preview 视频预览器
这个扩展是干嘛的?
这是一个"视频播放器"!它在Combine Video节点上添加了视频预览功能,让你可以直接在ComfyUI界面里播放生成的视频,不用跳出去用其他播放器。
功能特点:
- 🎬 内置视频播放器
- 🔄 自动循环播放
- 🔇 静音播放
- 📱 响应式界面
3.14 前端扩展:Video Upload 视频上传器
这个扩展是干嘛的?
这是一个"视频文件管理器"!它在Split Video节点上添加了拖拽上传功能,让你可以直接把视频文件拖到节点上,不用手动复制文件到文件夹。
功能特点:
- 📤 拖拽上传视频
- 🎬 支持多种视频格式
- 👀 上传后自动预览
- 📁 自动文件管理
4. 使用技巧和建议
4.1 新手入门建议
- 从简单开始:先试试基础的文字转图片功能
- 逐步添加效果:熟悉基础功能后再尝试动画效果
- 保存工作流程:把常用的节点组合保存成模板
- 多试验参数:不同的参数组合会产生不同的效果
4.2 进阶使用技巧
-
动画制作:
- 使用Scheduled Values制作数值动画
- 使用Preset Color Animations制作颜色动画
- 合理设置frame_count控制动画长度
-
字幕制作:
- 用Speech Recognition自动生成字幕
- 用Text to Image Generator制作字幕图片
- 用Combine Video合成最终视频
-
性能优化:
- 合理设置图片尺寸,避免过大
- 控制动画帧数,避免过多
- 使用合适的字体文件大小
4.3 创意应用场景
- 社交媒体内容:制作炫酷的文字动画视频
- 教育内容:自动生成带字幕的教学视频
- 播客字幕:自动为音频内容生成可视化字幕
- 广告制作:制作动态文字广告
5. 常见问题解答
Q1:为什么生成的文字图片是空白的?
A: 可能的原因:
- 没有正确连接Font Properties和Canvas Properties节点
- 文字颜色和背景颜色相同
- 字体文件路径不正确
Q2:语音识别不准确怎么办?
A: 解决方法:
- 选择对应语言的模型
- 确保音频质量清晰
- 调整spell_check_language参数
- 使用高质量的录音设备
Q3:动画效果不流畅怎么办?
A: 优化建议:
- 增加frame_count提高动画帧数
- 使用合适的easing_type
- 检查关键帧设置是否合理
- 确保电脑性能足够
Q4:支持哪些字体格式?
A: 支持格式:
- TTF(TrueType字体)
- OTF(OpenType字体)
- WOFF(Web字体)
- WOFF2(Web字体2.0)
Q5:生成的视频没有声音怎么办?
A: 检查项目:
- 确保连接了audio_file参数
- 检查音频文件格式是否支持
- 确认音频文件路径正确
- 检查音频文件是否损坏
6. 工作流程示例
基础文字图片工作流程:
- Canvas Properties → 设置画布大小和背景
- Font Properties → 设置字体样式
- Text to Image Generator → 输入文字,连接上述节点
- 生成静态文字图片
动态文字动画工作流程:
- Canvas Properties → 设置画布
- Font Properties → 设置基础字体
- Scheduled Values → 设置动画关键帧
- Text to Image Generator → 连接所有节点,设置frame_count
- Combine Video → 将图片序列合成视频
自动字幕制作工作流程:
- Split Video → 分离视频和音频
- Speech Recognition → 识别音频生成文字
- Canvas Properties + Font Properties → 设置字幕样式
- Text to Image Generator → 生成字幕图片
- Combine Video → 合成带字幕的视频
语音合成工作流程:
- Generate Audio → 输入文字生成语音
- Canvas Properties + Font Properties → 设置文字样式
- Text to Image Generator → 生成文字图片
- Combine Video → 合成音频和图片
7. 总结
ComfyUI-Mana-Nodes插件是一个功能强大的文字处理工具集,通过14个核心组件,你可以:
- 🎨 制作炫酷的动态文字效果
- 🎤 实现语音和文字的相互转换
- 🎬 制作专业的字幕视频
- ✨ 创造各种创意文字内容
记住:这个插件的核心是"文字",所有功能都围绕着让文字变得更生动、更有趣、更实用。掌握了这些节点的使用方法,你就能创造出令人惊艳的文字作品!
最后提醒:多动手实践,每个参数都试试看,你会发现更多有趣的效果组合。创意无限,技术只是工具,重要的是你的想象力!