Pixelle-Video 源码解析 #29:本地免费方案:Ollama + ComfyUI 能否零成本跑通?
前面第 25 篇,我们分析了如何接入新的 LLM 模型供应商;第 26 篇分析了如何接入新的图像或视频生成 API;第 28 篇分析了如何把 Pixelle-Video 改造成批量短视频生成工具。
这一篇回到一个很多个人开发者最关心的问题:
Pixelle-Video 能不能完全本地跑?能不能零成本生成短视频?
如果从架构上看,Pixelle-Video 的确预留了一条“本地免费方案”:
LLM:
Ollama 本地大模型
图片 / 视频生成:
本地 ComfyUI selfhost workflow
TTS:
local Edge-TTS 或本地 ComfyUI TTS workflow
模板渲染:
本地 Playwright
视频合成:
本地 ffmpeg
README 中也明确把“Ollama 本地 + ComfyUI 本地部署”描述为“完全免费方案”,但这里的“免费”更准确地说,是不调用付费云 API 的调用成本为 0,不是没有任何成本。你仍然需要电脑、硬盘、内存、显卡、电费、模型下载时间和本地环境维护成本。
这一篇我们就专门分析:
Pixelle-Video 的本地免费方案到底能不能跑通?哪些环节可以本地化?哪些环节会卡住?个人开发者应该怎么选配置?
一、先说结论:可以跑通,但不等于轻松
Pixelle-Video 的本地免费方案理论上可以跑通,但前提是你要接受几个现实:
1. Ollama 可以替代云端 LLM。
2. ComfyUI 可以替代 RunningHub / API 图片视频模型。
3. Edge-TTS 可以作为低成本 TTS 方案。
4. ffmpeg 和 Playwright 都可以在本地跑。
5. 但 AI 图片 / 视频生成对硬件要求最高。
6. 如果没有 GPU,最好先用 static 模板或轻量 image workflow。
也就是说,Pixelle-Video 的本地方案不是:
普通电脑随便点一下,就能快速生成高质量 AI 视频
而更像是:
用本地 LLM + 本地图像生成 + 本地合成工具
搭一条尽量不花 API 费用的视频生成流水线
从源码看,本地化最关键的两个配置是:
llm:
base_url: "http://localhost:11434/v1"
model: "llama3.2"
comfyui:
comfyui_url: http://127.0.0.1:8188
config.example.yaml 中已经把 Ollama 写成 LLM 的本地 preset,并且把 ComfyUI URL 默认设置为 http://127.0.0.1:8188。
二、Pixelle-Video 的生成链路里,哪些东西会花钱?
一条 Pixelle-Video 短视频通常会经过这些阶段:
LLM 文案生成
LLM 标题生成
LLM 图片 / 视频 prompt 生成
TTS 语音生成
AI 图片 / 视频生成
HTML 模板渲染
ffmpeg 合成视频
BGM 混音
如果使用云服务,可能花钱的地方主要是:
LLM API:
GPT、Qwen、DeepSeek、Claude 等
图片 / 视频 API:
OpenAI image、DashScope、Kling、Seedance 等
RunningHub:
云端执行 ComfyUI workflow
TTS:
付费 TTS 或声音克隆服务
如果要尽量免费,就要把这些替换成本地组件:
云端 LLM
↓
Ollama
RunningHub / 图片视频 API
↓
本地 ComfyUI
付费 TTS
↓
Edge-TTS local 或本地 TTS workflow
云端视频合成
↓
本地 ffmpeg
Pixelle-Video 的配置和代码刚好支持这种替换:LLM 层支持 OpenAI-compatible API,Ollama 也提供 OpenAI-compatible 接口;媒体层支持 selfhost/... workflow;视频合成层基于本地 ffmpeg。
三、本地方案的整体架构
如果用本地免费方案,整体架构大概是这样:
Pixelle-Video WebUI
↓
LLMService
↓
Ollama
↓
生成 narration / title / image_prompt
Pixelle-Video MediaService
↓
ComfyUI selfhost workflow
↓
生成 image_path 或 video_path
Pixelle-Video TTSService
↓
local Edge-TTS 或 selfhost TTS workflow
↓
生成 audio_path
HTMLFrameGenerator
↓
Playwright
↓
渲染 composed_image_path
VideoService
↓
ffmpeg
↓
合成 segment / 拼接 final.mp4 / 添加 BGM
这条链路中,Pixelle-Video 本身更像调度器。
它负责把文本、图片、语音、模板、视频合成串起来。真正吃算力的地方主要是:
Ollama:
吃 CPU / GPU / 内存
ComfyUI:
吃 GPU / 显存 / 硬盘
ffmpeg:
吃 CPU,部分场景可用 GPU 编码
Playwright:
吃少量 CPU / 内存
所以“零成本”能不能跑通,核心不是 Pixelle-Video 代码支不支持,而是你的本地环境能不能承担 Ollama 和 ComfyUI。
四、LLM:Ollama 为什么能接入 Pixelle-Video?
Pixelle-Video 的 LLM 层是基于 OpenAI SDK 的统一实现。
LLMService 源码注释写得很明确:它支持 OpenAI SDK compatible providers,其中包括 Ollama,并且 _create_client() 会创建 AsyncOpenAI 客户端。调用时使用的是 client.chat.completions.create()。
Ollama 这边也提供 OpenAI-compatible API。Ollama 官方文档说明,可以通过 http://localhost:11434/v1/ 作为 base URL,使用 OpenAI Chat Completions 风格接口连接本地 Ollama。
所以 Pixelle-Video 接 Ollama 不需要写新 provider。
配置成这样即可:
llm:
api_key: "ollama"
base_url: "http://localhost:11434/v1"
model: "llama3.2"
llm_presets.py 里也内置了 Ollama preset:base_url 是 http://localhost:11434/v1,model 是 llama3.2,并且提供 default_api_key: "ollama",注释说明这个 key 是 OpenAI SDK 需要但 Ollama 会忽略的字段。
五、Ollama 在 Pixelle-Video 中负责哪些内容?
接入 Ollama 后,它主要负责:
1. 根据主题生成旁白 narrations
2. 根据主题或文案生成标题 title
3. 根据旁白生成 image prompts
4. 根据旁白生成 video prompts
5. 把用户风格描述扩展成更完整的 prompt
也就是说,Ollama 决定的是“文本脑力劳动”。
它不会生成图片,也不会生成视频。
在本地免费方案中,Ollama 的质量直接影响:
文案自然不自然
分镜拆得好不好
图片提示词是否具体
JSON 输出是否稳定
中文表达是否适合短视频
这里有一个实际问题:很多本地小模型可以生成普通文本,但未必能稳定输出 Pixelle-Video 需要的结构化 JSON。LLMService 虽然会通过 JSON schema 指令要求模型输出合法 JSON,并且会尝试解析直接 JSON、markdown JSON 代码块和文本中的 JSON 对象,但如果模型完全不按格式输出,仍然会失败。
所以本地方案里,LLM 模型不能只看能不能聊天,还要看:
中文能力
JSON 稳定性
长文本能力
是否容易啰嗦
是否容易输出额外解释
是否能遵守 “只输出 JSON”
六、本地 LLM 模型怎么选?
如果只是测试 Pixelle-Video 本地链路,可以先用较轻模型:
llama3.2
qwen2.5:7b
mistral
gemma
如果你做中文短视频,我更建议优先测试 Qwen 系列本地模型。
原因是:
中文表达更自然
中文标题和短视频口播更好调
生成 image_prompt 时中英混合更可控
不过模型越大,对硬件要求越高。
可以粗略理解为:
7B 级别:
普通本地机器更容易跑,质量够测试。
14B 级别:
质量更好,但更吃内存和显存。
32B 以上:
更适合高配机器,不适合轻量部署。
Pixelle-Video 本身不会限制你用哪个 Ollama 模型,因为它只把 model 名称传给 OpenAI-compatible client。真正能不能跑,取决于 Ollama 本地是否已经 pull 了这个模型。
七、媒体生成:ComfyUI selfhost 是本地方案的关键
LLM 本地化以后,最大成本点就是图片和视频生成。
Pixelle-Video 的媒体层支持三类来源:
selfhost:
本地 ComfyUI
runninghub:
云端 RunningHub workflow
api:
直连图像 / 视频模型 API
MediaService 中,如果 workflow 以 api/ 开头,就转给 direct API media service;否则走 ComfyKit workflow,也就是 selfhost 或 RunningHub workflow。
本地免费方案应该尽量选择:
selfhost/image_xxx.json
selfhost/video_xxx.json
配置示例中也列出:图片 workflow 可以选择 selfhost/image_flux.json,视频 workflow 可以选择 selfhost/video_wan2.1_fusionx.json,但这些都需要本地 ComfyUI 支持。
也就是说,ComfyUI 是本地媒体生成的核心。
八、ComfyUI 本地方案真正难在哪里?
ComfyUI 本身可以本地运行,它是一个基于节点和工作流的生成系统。ComfyUI 官方仓库也说明,它支持本地运行、workflow templates、App Mode 和本地 API,用于把 workflow 集成到应用中。
但难点不在于“启动 ComfyUI 界面”。
难点在于:
1. 本地是否有 GPU。
2. 显存是否够跑对应模型。
3. workflow 里需要的自定义节点是否安装。
4. 模型文件是否下载到正确目录。
5. workflow JSON 是否和你的 ComfyUI 节点版本兼容。
6. Pixelle-Video 能否通过 http://127.0.0.1:8188 访问 ComfyUI。
如果你只是用 ComfyUI 生成静态图片,难度相对低。
如果你要生成 AI 视频,本地难度会明显上升:
视频模型更大
推理时间更长
显存要求更高
workflow 更复杂
失败率更高
所以对个人开发者,我建议本地方案先从 image 模板开始,不要一开始就上 video 模板。
九、最稳的本地路线:先跑 static,再跑 image,最后跑 video
如果你想验证本地方案,不要直接上:
Ollama + ComfyUI 视频工作流 + 声音克隆 + BGM + 批量生成
这样失败点太多。
建议分三步。
第一步:static 模板
Ollama
↓
Edge-TTS
↓
static 模板
↓
ffmpeg
这一步不需要 ComfyUI 生成图片或视频。
它只验证:
Ollama 文案是否可用
TTS 是否可用
Playwright 模板渲染是否可用
ffmpeg 是否可用
第二步:image 模板
Ollama
↓
ComfyUI selfhost image workflow
↓
Edge-TTS
↓
image 模板
↓
ffmpeg
这一步验证本地 ComfyUI 图片生成。
第三步:video 模板
Ollama
↓
ComfyUI selfhost video workflow
↓
TTS
↓
video overlay
↓
ffmpeg
这一步最复杂,最好等前两步稳定后再做。
这样排查问题会清楚很多。
十、TTS:Edge-TTS 算不算本地免费?
Pixelle-Video 的 TTS 有两条路线:
local:
Edge-TTS
comfyui:
ComfyUI TTS workflow,例如 Index-TTS
TTSService.__call__() 会根据 inference_mode 分流:local 模式走 _call_local_tts(),comfyui 模式走 workflow。
如果你追求简单、低成本,建议先用:
tts_inference_mode: local
voice: zh-CN-YunjianNeural
speed: 1.1
Edge-TTS 的优势是:
配置简单
不需要显卡
速度比较快
音色可接受
适合知识类和图文类短视频
但要注意一点:Edge-TTS 虽然在 Pixelle-Video 中属于 local 模式,但它并不是“完全离线本地模型”。它使用的是 Edge-TTS 的语音服务接口,不像 Ollama 那样完整跑在本地。因此如果你严格要求离线,本地 TTS 需要改用 ComfyUI TTS workflow 或其他真正离线 TTS。Pixelle-Video 的 comfyui TTS 分支本身支持把 TTS workflow 交给 ComfyUI 执行。
所以更准确地说:
Edge-TTS:
免费、简单,但不是严格离线。
ComfyUI TTS:
更接近本地化,但配置更复杂。
Index-TTS / 声音克隆:
效果更可控,但需要本地 workflow、模型和算力。
十一、ffmpeg:本地方案必不可少
无论你用云 API 还是本地模型,Pixelle-Video 最终都离不开 ffmpeg。
VideoService 源码注释写明,它是基于 ffmpeg-python 的视频处理服务,负责视频拼接、音视频合并、添加 BGM、图片转视频,并且要求系统安装 FFmpeg。check_ffmpeg() 会检查系统中是否存在 ffmpeg 命令,找不到就抛出安装提示。
本地免费方案中,ffmpeg 负责:
图片 + 音频 → 视频片段
AI 视频 + 字幕 overlay → 视频片段
多个片段 → 最终视频
人声 + BGM → 混音
视频裁剪 / 补长 / 转码
所以本地方案第一步就应该确认:
ffmpeg -version
如果 ffmpeg 没装,即使 Ollama 和 ComfyUI 都正常,最终也无法合成视频。
十二、Playwright:模板渲染也要本地依赖
Pixelle-Video 的 HTML 模板不是直接交给 ffmpeg。
它会先用 Playwright 打开 HTML 模板,替换 {{title}}、{{text}}、{{image}} 等变量,再截图生成 composed_image_path。
所以本地环境还需要:
Playwright
Chromium
字体依赖
中文字体
这部分在前面模板章节已经讲过。
本地方案常见问题是:
模板渲染失败
中文字体缺失
截图空白
video overlay 不透明
它们和 Ollama / ComfyUI 没关系,而是本地浏览器渲染环境问题。
十三、最小本地配置示例
如果只是先跑通静态模板,可以从这个配置开始:
llm:
api_key: "ollama"
base_url: "http://localhost:11434/v1"
model: "llama3.2"
comfyui:
comfyui_url: http://127.0.0.1:8188
comfyui_api_key: ""
tts:
default_workflow: selfhost/tts_edge.json
image:
default_workflow: selfhost/image_flux.json
prompt_prefix: "simple clean illustration, minimal style"
video:
default_workflow: selfhost/video_wan2.1_fusionx.json
prompt_prefix: "simple clean motion, minimal style"
template:
default_template: "1080x1920/static_simple.html"
这里虽然配置了 image 和 video workflow,但第一步建议先选择 static_simple.html 或其他 static 模板。
因为 static 模板不需要 AI 图片 / 视频,可以先验证:
Ollama 是否能生成文案
TTS 是否能生成音频
模板是否能渲染
ffmpeg 是否能合成
config.example.yaml 中也明确写了模板命名规范:static_*.html 是不需要 AI 生成媒体的静态模板,image_*.html 需要 AI 图片,video_*.html 需要 AI 视频。
十四、本地 image 模板配置
当 static 模板跑通后,再切到 image 模板。
示例:
comfyui:
image:
default_workflow: selfhost/image_flux.json
prompt_prefix: "clean minimal illustration, simple composition, high contrast"
template:
default_template: "1080x1920/image_default.html"
WebUI 中对应选择:
媒体来源:
selfhost
图片工作流:
selfhost/image_flux.json
模板类型:
image
模板:
1080x1920/image_default.html
这一步会走:
Ollama 生成 image_prompt
↓
ComfyUI selfhost 生成 image_path
↓
HTML 模板合成 composed_image_path
↓
ffmpeg 生成 segment
如果这一步失败,大概率是 ComfyUI workflow、模型文件、自定义节点或显存问题。
十五、本地 video 模板配置
video 模板是本地免费方案里最难的部分。
示例配置:
comfyui:
video:
default_workflow: selfhost/video_wan2.1_fusionx.json
prompt_prefix: "simple clean cinematic motion, smooth camera movement"
template:
default_template: "1080x1920/video_default.html"
对应链路:
Ollama 生成 video prompt
↓
ComfyUI selfhost 生成 video_path
↓
HTML 模板生成透明 overlay
↓
ffmpeg overlay_image_on_video()
↓
merge_audio_video()
↓
segment.mp4
VideoService.overlay_image_on_video() 会把透明 overlay 叠加到 AI 视频上,并根据 contain、cover、stretch 处理缩放;merge_audio_video() 会把 TTS 旁白合并或替换到视频里。
本地 video 模板最容易卡在:
ComfyUI 视频模型太大
显存不足
生成时间太长
workflow 节点缺失
视频时长和音频时长不匹配
overlay 尺寸不匹配
ffmpeg 重编码慢
所以除非你有比较好的 GPU,否则建议先用 image 模板批量生成,再逐步尝试 video 模板。
十六、什么叫“零成本”?要分三种
讨论“零成本”时,要分清三种成本。
1. API 调用成本
这是本地方案最能省的。
Ollama 替代 LLM API
ComfyUI 替代图片 / 视频 API
本地 ffmpeg 替代云端视频合成
这部分可以做到接近 0。
2. 运行成本
这部分不是 0。
电费
硬件折旧
显卡占用
硬盘空间
下载模型时间
环境维护时间
视频模型本地跑起来时,显卡功耗和等待时间都不低。
3. 时间成本
本地方案通常更慢,尤其是没有高端 GPU 时。
云 API:
花钱,省时间。
本地模型:
省 API 钱,花时间和硬件。
所以本地免费方案更适合:
个人开发者
技术测试
批量低成本内容
不急于实时生成
有本地 GPU 的用户
想控制数据和模型的人
不一定适合:
追求稳定商业交付
没有 GPU
不想折腾环境
需要高质量视频模型
要求快速批量出片
十七、没有 GPU 能不能跑?
可以跑一部分。
没有 GPU 的情况下,建议路线是:
Ollama 小模型:
CPU 可以跑,但速度慢。
static 模板:
不需要 AI 图片 / 视频。
Edge-TTS:
不需要显卡。
ffmpeg:
CPU 可以跑。
Playwright:
CPU 可以跑。
也就是说,没有 GPU 也可以跑:
主题 → 文案 → TTS → static 模板 → 视频
这已经能生成纯文字类短视频,比如:
书摘
语录
知识点
观点类短视频
简单口播卡片
但没有 GPU 不建议跑:
本地 AI 图片
本地 AI 视频
本地声音克隆
本地高质量视频模型
当然,也可以用 CPU 跑极小的图片模型,但速度和体验通常都不理想。
十八、8GB 显存能不能跑?
8GB 显存可以尝试轻量图片生成,但不要期望太高。
比较现实的路线是:
Ollama 7B 量化模型
轻量 SD / Flux workflow
低分辨率图片
image 模板
短视频片段
不太现实的是:
高分辨率视频生成
大模型图生视频
长视频 workflow
多个 frame 并发
声音克隆 + 视频生成一起跑
如果显存较小,建议:
降低 media_width / media_height
减少 n_scenes
使用 image 模板而不是 video 模板
关闭并发
先生成 3 段测试
本地方案最容易因为显存爆掉而失败。
十九、16GB / 24GB 显存会舒服很多
如果有 16GB 或 24GB 显存,本地 ComfyUI 的可玩性会明显提高。
你可以尝试:
更好的图片模型
更高分辨率
图生视频工作流
短视频片段生成
更复杂的 ComfyUI 节点
但即便如此,本地视频生成仍然比图片生成复杂。
建议还是遵循:
先 image
再 i2v
最后 t2v / video template
不要一开始就把所有模块打开。
二十、Docker 场景下的本地访问问题
如果 Pixelle-Video 跑在 Docker 里,而 Ollama 和 ComfyUI 跑在宿主机上,localhost 会有问题。
因为容器里的:
localhost
指向的是容器自己,不是宿主机。
config.example.yaml 中也提醒 Docker 用户:ComfyUI URL 在 Mac / Windows 下可以用 host.docker.internal:8188,Linux 下通常要用宿主机 IP。
所以 Docker 场景应该写成类似:
llm:
base_url: "http://host.docker.internal:11434/v1"
comfyui:
comfyui_url: "http://host.docker.internal:8188"
Linux 服务器上可能要写:
llm:
base_url: "http://192.168.1.100:11434/v1"
comfyui:
comfyui_url: "http://192.168.1.100:8188"
这是本地部署里非常常见的坑。
二十一、如何判断是哪一环坏了?
本地方案最重要的是分段测试。
不要直接点“生成完整视频”后看报错。
建议按下面顺序检查。
1. 检查 Ollama
ollama list
ollama run llama3.2 "用一句话解释什么是短视频自动生成"
再检查 OpenAI-compatible endpoint:
curl http://localhost:11434/v1/models
Ollama 官方文档说明它支持 OpenAI-compatible /v1/chat/completions,Pixelle-Video 也正是通过 OpenAI SDK 访问。
2. 检查 ComfyUI
浏览器打开:
http://127.0.0.1:8188
确认 workflow 可以在 ComfyUI 里单独跑通。
3. 检查 ffmpeg
ffmpeg -version
Pixelle-Video 的 VideoService 会在首次使用时检查 ffmpeg 是否存在。
4. 检查模板渲染
先用 static 模板预览。
如果模板预览失败,问题不在 Ollama 或 ComfyUI,而在 Playwright / 字体 / HTML 模板。
5. 检查 TTS
先用 local TTS preview,确认能生成音频。
6. 检查 image workflow
只生成一张图片,不生成完整视频。
7. 最后再生成完整视频
这样排查最稳。
二十二、本地方案适合哪几种内容?
本地免费方案特别适合这些内容:
书摘语录
知识卡片
健康科普
财经常识
AI 工具介绍
历史冷知识
公众号文章转短视频
简单故事解说
这些内容的特点是:
对画面动态要求不高
可以用 image 模板
TTS 旁白是核心
模板统一即可形成风格
可以批量生成
不太适合:
高质量短剧
真人数字人口播
复杂电影感视频
强动作视频
需要高一致性角色的视频
商业广告级视频
后者通常需要更强的视频模型、更复杂的 workflow,或者付费 API。
二十三、本地方案的最佳实践:先把模板做好
很多人上来就纠结模型,其实本地方案最适合先做好模板。
因为模板决定:
画面风格
字幕可读性
账号识别度
不同素材质量下的兜底效果
本地图片模型不一定每张都很惊艳,但如果模板稳定、字幕清晰、颜色统一,最终视频仍然能看。
建议本地免费方案先做:
一个 static 模板
一个 image 模板
一个固定 TTS 音色
一个固定 prompt prefix
一个低音量 BGM
然后批量测试 20 个选题,从中筛选效果好的。
二十四、本地方案和批量生成的关系
第 28 篇我们讲过,Pixelle-Video 的 batch mode 是多个 topic 共享同一套配置,然后循环调用 generate_video()。
本地方案和 batch mode 很适合结合:
Ollama:
批量生成文案和 prompt
ComfyUI:
批量生成图片
Edge-TTS:
批量生成语音
ffmpeg:
批量合成视频
但也要小心:
本地批量生成会长时间占用机器
ComfyUI 可能显存泄漏或节点失败
Ollama 可能输出格式不稳定
ffmpeg 大量合成会占 CPU
所以本地批量生成建议:
一次先跑 3 条
稳定后跑 10 条
不要一上来跑 100 条
失败后先看 History 和日志
二十五、如果追求真正离线,需要替换 Edge-TTS
严格意义上的本地离线方案应该是:
Ollama:
本地 LLM
ComfyUI:
本地图片 / 视频
本地 TTS:
本地语音模型
ffmpeg:
本地合成
此时 TTS 不应该依赖 Edge-TTS。
Pixelle-Video 支持 ComfyUI TTS workflow:TTSService 在 comfyui 模式下会解析 TTS workflow,并把 text、voice、speed、ref_audio 等参数传给 workflow 执行。
所以真正离线可以考虑:
Index-TTS
CosyVoice
GPT-SoVITS
Fish Speech
F5-TTS
但这部分配置难度会明显高于 Edge-TTS。
因此建议分阶段:
第一阶段:
Edge-TTS,先跑通视频生成
第二阶段:
本地 TTS workflow,替换 Edge-TTS
第三阶段:
声音克隆和固定账号音色
二十六、本地方案的常见错误
1. Ollama 连接失败
常见原因:
Ollama 没启动
base_url 写成了 /api/generate 而不是 /v1
Docker 里 localhost 指向容器自己
模型没有 pull
model 名称写错
Pixelle-Video 需要 OpenAI-compatible base URL,例如 http://localhost:11434/v1。
2. LLM 输出 JSON 失败
常见原因:
本地模型太小
模型不遵守只输出 JSON
temperature 偏高
中文 prompt 下模型输出解释文字
可以换更强模型,或者降低 temperature,或者专门测试结构化输出。
3. ComfyUI workflow not found
检查:
workflow 是否放在 workflows/selfhost/
配置是否写成 selfhost/xxx.json
ComfyUI 是否启动
workflow 依赖节点是否安装
4. ComfyUI 能在网页跑,但 Pixelle-Video 调不通
常见原因:
comfyui_url 写错
Docker 网络问题
ComfyUI 只监听 127.0.0.1
防火墙拦截
API endpoint 不可访问
5. ffmpeg not found
安装 ffmpeg,并确认命令行能运行:
ffmpeg -version
VideoService 找不到 ffmpeg 时会抛出明确安装提示。
6. video 模板生成很慢
这是正常的。
本地 AI 视频生成本来就慢。建议先改用 image 模板,或者降低分辨率和分镜数量。
二十七、本地免费方案的推荐路线
如果你是个人开发者,我建议按这个路线:
阶段 1:
Ollama + static 模板 + Edge-TTS + ffmpeg
阶段 2:
Ollama + image 模板 + ComfyUI image workflow + Edge-TTS
阶段 3:
Ollama + image 模板 + 自定义账号模板 + batch mode
阶段 4:
本地 TTS workflow 替换 Edge-TTS
阶段 5:
尝试 ComfyUI video workflow
阶段 6:
再考虑本地声音克隆、数字人、视频模板
不要一开始就追求“全本地 + 视频生成 + 声音克隆 + 批量”。
最稳的是先跑通:
文本视频
↓
图文视频
↓
批量图文视频
↓
动态视频
二十八、源码阅读建议
如果要阅读 Pixelle-Video 的本地免费方案相关源码,建议按这个顺序:
1. config.example.yaml
看 Ollama、本地 ComfyUI、selfhost workflow、模板默认值。
2. pixelle_video/llm_presets.py
看 Ollama preset 如何配置 base_url、model 和 default_api_key。
3. pixelle_video/services/llm_service.py
看 LLMService 如何用 OpenAI SDK 调用 Ollama。
4. pixelle_video/services/media.py
看 MediaService 如何区分 api workflow 和 ComfyUI / RunningHub workflow。
5. pixelle_video/services/tts_service.py
看 local Edge-TTS 和 comfyui TTS workflow 两条路线。
6. pixelle_video/services/video.py
看 ffmpeg 如何负责图片转视频、音视频合并、拼接和 BGM。
7. pixelle_video/services/frame_html.py
看 HTML 模板如何用 Playwright 渲染成本地图片。
8. pixelle_video/pipelines/standard.py
看 StandardPipeline 如何把 LLM、TTS、媒体、模板、ffmpeg 串起来。
9. web/components/settings.py
看 WebUI 如何配置 LLM、ComfyUI、RunningHub 和 API Provider。
这样读下来,就能完整理解:
Ollama
↓
Pixelle LLMService
↓
ComfyUI selfhost workflow
↓
TTS
↓
HTML 模板
↓
ffmpeg
↓
final.mp4
二十九、总结
这一篇我们分析了 Pixelle-Video 的本地免费方案:Ollama + ComfyUI 能否零成本跑通。
结论是:
可以跑通,但要分阶段。
从源码和配置看,Pixelle-Video 已经具备本地化所需的关键入口:
LLM:
支持 Ollama OpenAI-compatible API
媒体生成:
支持 selfhost ComfyUI workflow
TTS:
支持 local Edge-TTS 和 ComfyUI TTS workflow
模板:
支持本地 HTML / CSS 渲染
视频合成:
基于本地 ffmpeg
批量:
可以用 batch mode 复用本地配置批量生成
但“零成本”不能理解成没有任何代价。
更准确的说法是:
不花云 API 调用费,
但要花本地硬件、显卡、电费、时间和维护成本。
推荐个人开发者的实践路线是:
先用 Ollama + static 模板跑通文本视频
再接 ComfyUI image workflow 跑通图文视频
然后做自定义模板和批量生成
最后再挑战本地视频 workflow、声音克隆和数字人口播
一句话总结:
Pixelle-Video 的本地免费方案,本质是把云端 LLM、云端媒体模型和云端 workflow 换成本地 Ollama 与本地 ComfyUI,再用 Edge-TTS / 本地 TTS、Playwright 和 ffmpeg 完成语音、画面和视频合成;它可以把 API 调用成本降到接近 0,但真正的门槛会转移到本地硬件、模型配置、ComfyUI workflow 兼容性和生成速度上。
更多推荐


所有评论(0)