ComfyUI_Streamv2v_Plus 插件完整教程
1. 插件简介
ComfyUI_Streamv2v_Plus 是一个专门为ComfyUI设计的插件,让你能够在ComfyUI中使用强大的Streamv2v和StreamDiffusion技术。
插件地址: https://github.com/smthemex/ComfyUI_Streamv2v_Plus
插件能做什么?
- 文字生成图片:就像对着电脑说"给我画一个小猫",它就能画出来
- 摄像头实时生图:打开摄像头,实时把你的样子变成动漫风格或其他风格
- 图片转图片:把一张普通照片变成油画风格、动漫风格等
- 视频转绘:把整个视频的风格都改变,比如把真人视频变成动漫视频
这个插件最厉害的地方是速度超快,几乎能做到实时处理,就像开了美颜相机一样流畅。
2. 如何安装
方法一:使用ComfyUI管理器安装(推荐)
- 打开ComfyUI管理器
- 搜索"ComfyUI_Streamv2v_Plus"
- 点击安装
方法二:手动安装
- 打开你的ComfyUI文件夹
- 找到
custom_nodes文件夹 - 在这个文件夹里打开命令行窗口
- 输入以下命令:
git clone https://github.com/smthemex/ComfyUI_Streamv2v_Plus.git
cd ComfyUI_Streamv2v_Plus
pip install -r requirements.txt
安装后的额外步骤
如果遇到PEFT相关错误,需要更新一些组件:
pip install -U PEFT transformers
3. 节点详解
3.1 Stream_Model_Loader 节点 - 模型加载器
这个节点是干嘛的?
就像一个万能的工具箱管理员,专门负责准备和加载各种AI模型。你告诉它你想要什么风格、什么效果,它就帮你准备好相应的工具。
参数详解:
| 参数名 (界面显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 基础模型 | base_model | 文本输入 | SDXL或SD1.5模型路径 | 就像选择画笔的类型,是用水彩笔还是油画笔 | 指定底层的扩散模型,决定生成质量和兼容性 | 填入:stabilityai/stable-diffusion-xl-base-1.0 |
| VAE模型 | vae_model | 文本输入 | madebyollin/sdxl-vae-fp16-fix | 就像选择画布的材质,决定最终成品的质感 | 变分自编码器,负责图像的编码和解码 | SDXL必须用:madebyollin/sdxl-vae-fp16-fix |
| LCM Lora | lcm_lora | 文本输入 | latent-consistency/lcm-lora-sdxl | 就像给画笔装上加速器,让画得更快 | 潜在一致性模型,用于加速生成过程 | SD1.5用:latent-consistency/lcm-lora-sdv1-5 |
| 风格Lora | style_lora | 文本输入 | 你喜欢的风格lora路径 | 就像选择画画的风格,是要画成动漫风还是油画风 | 控制生成图像的艺术风格 | 比如:某个动漫风格的lora文件路径 |
| 功能模式 | mode | 下拉菜单 | txt2img | 就像选择相机的拍摄模式,是拍照还是录像 | 选择生成模式:文生图、图生图、视频转绘等 | 新手建议从txt2img开始 |
| 加速步数 | inference_steps | 数字 | 1-4 | 就像调节画画的精细程度,数字越大画得越细致但越慢 | 扩散模型的推理步数,影响质量和速度 | SDXL turbo用1,普通SDXL用4 |
| 引导强度 | guidance_scale | 数字 | 1.0-2.0 | 就像调节"听话程度",数字越大越严格按照你的要求画 | 控制生成图像对提示词的遵循程度 | 建议1.0-1.5,太高可能过度 |
| 图像尺寸 | image_size | 数字 | 512或1024 | 就像选择画布大小,512是小画布,1024是大画布 | 生成图像的分辨率 | SD1.5用512,SDXL用1024 |
| 设备类型 | device | 下拉菜单 | cuda | 就像选择用电脑还是手机画画,cuda是高性能电脑 | 指定运行设备类型 | 有显卡选cuda,没有选cpu |
3.2 Stream_txt2img 节点 - 文字生成图片
这个节点是干嘛的?
就像一个神奇的画家,你用文字描述你想要的图片,它就能画出来。比如你说"一只可爱的小猫在花园里",它就能画出这样的图片。
参数详解:
| 参数名 (界面显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型管线 | model_pipeline | 连接输入 | 来自Stream_Model_Loader | 就像接收画家的工具箱 | 接收加载好的模型管线 | 连接上一个节点的输出 |
| 提示词 | prompt | 文本输入 | 描述图片的文字 | 就像给画家下指令,告诉他你想要什么 | 正向提示词,描述想要生成的内容 | "a cute cat in the garden" |
| 负面提示词 | negative_prompt | 文本输入 | 不想要的内容 | 就像告诉画家"不要画这些东西" | 负向提示词,描述不想要的内容 | "blurry, ugly, deformed" |
| 随机种子 | seed | 数字 | -1或具体数字 | 就像画画的起始点,同样的种子会画出相似的图 | 控制随机性的数值 | -1表示随机,固定数字可复现 |
| 批次数量 | batch_size | 数字 | 1-4 | 就像一次画几张图,数字越大一次画的越多 | 一次生成的图像数量 | 显存够用可以设置2-4 |
| 采样器 | sampler | 下拉菜单 | euler_a | 就像选择画笔的笔触方式 | 扩散模型的采样算法 | euler_a比较万能,新手推荐 |
| 调度器 | scheduler | 下拉菜单 | normal | 就像选择画画的节奏,是快画还是慢画 | 控制去噪过程的时间表 | normal就够用了 |
3.3 Stream_img2img 节点 - 图片转图片
这个节点是干嘛的?
就像一个神奇的图片美化师,你给它一张图片,告诉它你想要什么效果,它就能把原图改成你想要的样子。比如把照片变成油画风格。
参数详解:
| 参数名 (界面显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型管线 | model_pipeline | 连接输入 | 来自Stream_Model_Loader | 就像接收画家的工具箱 | 接收加载好的模型管线 | 连接上一个节点的输出 |
| 输入图片 | input_image | 连接输入 | 图片 | 就像给画家一张参考图 | 作为转换基础的原始图像 | 连接Load Image节点 |
| 提示词 | prompt | 文本输入 | 描述想要的效果 | 告诉画家你想要什么风格 | 正向提示词,描述转换目标 | "oil painting style" |
| 负面提示词 | negative_prompt | 文本输入 | 不想要的效果 | 告诉画家不要什么效果 | 负向提示词,避免不良效果 | "blurry, distorted" |
| 强度 | strength | 数字 | 0.3-0.8 | 就像调节"改变程度",数字越大改变越大 | 控制对原图的修改程度 | 0.5是个不错的起点 |
| 随机种子 | seed | 数字 | -1或具体数字 | 就像画画的起始点 | 控制随机性的数值 | -1表示随机 |
| 批次数量 | batch_size | 数字 | 1-4 | 一次处理几张图 | 一次生成的图像数量 | 1-2比较稳定 |
| 采样器 | sampler | 下拉菜单 | euler_a | 选择画笔的笔触方式 | 扩散模型的采样算法 | euler_a比较万能 |
| 调度器 | scheduler | 下拉菜单 | normal | 选择画画的节奏 | 控制去噪过程的时间表 | normal就够用了 |
3.4 Stream_webcam2img 节点 - 摄像头实时生图
这个节点是干嘛的?
就像一个实时美颜相机,但比美颜更厉害。它能实时把你的摄像头画面变成各种风格,比如动漫风格、油画风格等。就像开了一个魔法滤镜。
参数详解:
| 参数名 (界面显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型管线 | model_pipeline | 连接输入 | 来自Stream_Model_Loader | 接收画家的工具箱 | 接收加载好的模型管线 | 连接上一个节点的输出 |
| 摄像头设备 | camera_device | 数字 | 0 | 就像选择用哪个摄像头,0是默认的 | 指定摄像头设备编号 | 0是内置摄像头,1是外接摄像头 |
| 提示词 | prompt | 文本输入 | 描述想要的风格 | 告诉它你想要什么效果 | 正向提示词,描述转换目标 | "anime style portrait" |
| 负面提示词 | negative_prompt | 文本输入 | 不想要的效果 | 告诉它不要什么效果 | 负向提示词,避免不良效果 | "blurry, distorted" |
| 帧率 | fps | 数字 | 10-30 | 就像调节相机的流畅度,数字越大越流畅但越耗电 | 每秒处理的帧数 | 15-20比较合适 |
| 强度 | strength | 数字 | 0.3-0.7 | 调节"变化程度",太高会看不出是你 | 控制对原图的修改程度 | 0.4-0.6比较自然 |
| 缓冲区大小 | buffer_size | 数字 | 1-3 | 就像相机的缓存,数字越大越稳定但延迟越高 | 帧缓冲区大小 | 2比较平衡 |
| 启用镜像 | mirror | 布尔值 | True | 就像照镜子一样,True表示左右翻转 | 是否水平翻转摄像头画面 | True比较符合习惯 |
3.5 Stream_video2video 节点 - 视频转绘
这个节点是干嘛的?
就像一个视频魔法师,能把整个视频的风格都改变。比如把真人视频变成动漫风格的视频,或者把普通视频变成油画风格的艺术视频。
参数详解:
| 参数名 (界面显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型管线 | model_pipeline | 连接输入 | 来自Stream_Model_Loader | 接收画家的工具箱 | 接收加载好的模型管线 | 连接上一个节点的输出 |
| 输入视频 | input_video | 文件路径 | 视频文件路径 | 就像给魔法师一个要变魔法的视频 | 需要转换的原始视频文件 | "path/to/your/video.mp4" |
| 提示词 | prompt | 文本输入 | 描述想要的风格 | 告诉魔法师你想要什么效果 | 正向提示词,描述转换目标 | "animation style, colorful" |
| 负面提示词 | negative_prompt | 文本输入 | 不想要的效果 | 告诉魔法师不要什么效果 | 负向提示词,避免不良效果 | "blurry, inconsistent" |
| 强度 | strength | 数字 | 0.3-0.8 | 调节"变化程度",太高会失去原视频的连贯性 | 控制对原视频的修改程度 | 0.5是个好起点 |
| 帧间一致性 | frame_consistency | 数字 | 0.8-1.0 | 就像调节视频的"连贯性",越高越不会闪烁 | 控制相邻帧之间的一致性 | 0.9比较好 |
| 输出帧率 | output_fps | 数字 | 15-30 | 就像调节输出视频的流畅度 | 输出视频的每秒帧数 | 24或30比较标准 |
| 批处理大小 | batch_size | 数字 | 1-4 | 一次处理几帧,数字越大越快但越耗内存 | 一次处理的帧数 | 显存够用可以设2-4 |
| 开始帧 | start_frame | 数字 | 0 | 从视频的第几帧开始处理 | 视频处理的起始帧号 | 0表示从头开始 |
| 结束帧 | end_frame | 数字 | -1 | 处理到视频的第几帧结束 | 视频处理的结束帧号 | -1表示处理到结尾 |
4. 使用技巧和建议
4.1 新手入门建议
- 先从文生图开始:Stream_txt2img节点最容易上手,建议新手先熟悉这个
- 模型选择:刚开始建议使用SD1.5模型,比较稳定且资源消耗小
- 参数调节:不要一次性调太多参数,一个一个来试验效果
4.2 性能优化技巧
- 显存管理:如果显存不够,把batch_size设为1
- 速度优化:使用SDXL turbo模型可以获得更快的速度
- 质量平衡:inference_steps建议不要超过4,太高性价比不高
4.3 实际应用场景
- 实时直播:使用webcam2img节点可以做实时换脸直播
- 视频制作:video2video节点可以批量处理视频素材
- 图片批处理:img2img节点可以批量转换图片风格
4.4 风格搭配建议
- 动漫风格:搭配动漫类的style lora效果最好
- 写实风格:使用较低的strength值(0.3-0.5)
- 艺术风格:可以使用较高的strength值(0.6-0.8)
5. 常见问题解答
Q1: 安装后节点不显示怎么办?
A: 重启ComfyUI,检查插件是否正确安装在custom_nodes文件夹中。
Q2: 生成速度很慢怎么办?
A:
- 检查是否使用了cuda设备
- 降低batch_size
- 使用turbo模型
- 减少inference_steps
Q3: 摄像头节点无法使用怎么办?
A:
- 检查摄像头是否被其他软件占用
- 尝试更改camera_device参数(0、1、2等)
- 检查摄像头权限设置
Q4: 视频处理出现卡顿怎么办?
A:
- 降低输出帧率
- 减少batch_size
- 检查硬盘空间是否充足
- 尝试处理较短的视频片段
Q5: 生成的图片质量不好怎么办?
A:
- 优化提示词,更具体描述想要的效果
- 调整guidance_scale参数
- 尝试不同的采样器
- 检查模型是否匹配
Q6: 内存不够用怎么办?
A:
- 关闭其他占用内存的软件
- 降低图像尺寸
- 减少batch_size
- 使用较小的模型
6. 进阶使用建议
6.1 工作流组合
- 完整的图片生成流程:Stream_Model_Loader → Stream_txt2img → Save Image
- 图片风格转换流程:Load Image → Stream_Model_Loader → Stream_img2img → Save Image
- 实时摄像头效果:Stream_Model_Loader → Stream_webcam2img → Preview Image
6.2 模型推荐
- SD1.5系列:适合新手,资源消耗小,效果稳定
- SDXL系列:画质更好,但需要更多显存
- Turbo系列:速度更快,适合实时应用
6.3 提示词优化
- 使用具体的描述而不是模糊的词汇
- 合理使用负面提示词排除不想要的效果
- 根据选择的style lora调整关键词
这个插件的核心价值在于实时性和高效性,特别适合需要快速生成和实时交互的场景。通过合理的参数调节和模型选择,可以在质量和速度之间找到最佳平衡点。