漫剧动态 AI 视频批量生成完整方案(Python+ComfyUI + 万相 Animate,适配短剧漫剧流水线)

简介: 本文提供一套可部署的AI漫剧自动化生产方案:基于Python调度+ComfyUI+万相Animate模型,实现“分镜图→动态镜头→成片”全流程。支持批量处理、自动拼接与字幕添加,专治闪脸、卡顿、导出低效等痛点,12G显存即可运行。(239字)

前言

当前 AI 漫剧动态视频生产,主流分为两种路线:图片序列帧动画、文生视频连续镜头。漫剧(条漫 / 分镜漫画)的核心痛点是:静态漫画图缺少动态、人物容易闪脸、镜头切换生硬、批量导出效率低。本文给出一套可直接部署的自动化流水线,使用 Python 作为调度脚本,对接 ComfyUI 工作流与万相 Animate 模型,实现批量读取漫画分镜图→生成动态漫镜头→自动拼接成片。

适用场景:漫剧短视频、AI 短剧漫化、条漫动态化;硬件最低要求:显存 12G 以上,推荐 RTX 4090/RTX A6000。

整体架构

  1. 输入目录:存放漫画分镜 PNG(每一张为一个镜头)
  2. Python 调度层:遍历图片、构造 API 请求、调用 ComfyUI 接口、保存输出视频
  3. ComfyUI 后端:加载万相 Animate/AnimateDiff 模型,执行图片驱动动画
  4. 后处理:ffmpeg 合并片段、统一帧率、加字幕轨道
  5. 输出:分段漫剧短片 + 完整成片

环境前置安装

# 基础依赖
pip install requests pillow tqdm
# 视频编码依赖,Windows推荐下载ffmpeg并配置环境变量
# Linux: sudo apt install ffmpeg

完整资源教程:https://pan.quark.cn/s/25a4e2a2fd15

一、Python 核心调度代码(调用 ComfyUI API 批量生成漫剧动态视频)

使用说明:先在 ComfyUI 中搭建好漫剧图生视频工作流,保存为manhua_workflow.json,工作流输入节点 ID 固定为10(图片输入),输出视频节点 ID 为30。

import requests
import json
import os
from PIL import Image
from tqdm import tqdm
# ===================== 配置区,自行修改参数 =====================
COMFYUI_SERVER = "http://127.0.0.1:8188"  # ComfyUI本地服务地址
WORKFLOW_PATH = "./manhua_workflow.json"   # 漫剧工作流JSON
INPUT_IMG_DIR = "./comic_frames/"          # 漫画分镜图片文件夹
OUTPUT_VIDEO_DIR = "./manhua_output/"      # 生成视频保存目录
FPS = 8                                    # 漫剧推荐帧率,不要太高避免闪烁
DURATION = 2.5                             # 单镜头视频时长(秒)
# ==============================================================
os.makedirs(INPUT_IMG_DIR, exist_ok=True)
os.makedirs(OUTPUT_VIDEO_DIR, exist_ok=True)
# 加载ComfyUI工作流
with open(WORKFLOW_PATH, "r", encoding="utf-8") as f:
    workflow = json.load(f)
# 获取ComfyUI上传文件接口
def upload_image(image_path):
    url = f"{COMFYUI_SERVER}/upload/image"
    with open(image_path, "rb") as f:
        res = requests.post(url, files={"image": f})
    return res.json()["name"]
# 提交任务到ComfyUI
def queue_prompt(prompt):
    res = requests.post(f"{COMFYUI_SERVER}/prompt", json={"prompt": prompt})
    return res.json()["prompt_id"]
# 查询任务状态
def get_history(prompt_id):
    url = f"{COMFYUI_SERVER}/history/{prompt_id}"
    return requests.get(url).json()
# 遍历漫画图片批量生成
img_list = [f for f in os.listdir(INPUT_IMG_DIR) if f.endswith((".png",".jpg"))]
img_list.sort()
for img_name in tqdm(img_list, desc="漫剧镜头生成"):
    img_full_path = os.path.join(INPUT_IMG_DIR, img_name)
    uploaded_name = upload_image(img_full_path)
    # 覆盖工作流图片输入节点
    workflow["10"]["image"] = uploaded_name
    workflow["10"]["upload"] = "image"
    workflow["20"]["fps"] = FPS
    workflow["20"]["duration"] = DURATION
    prompt_id = queue_prompt(workflow)
    print(f"任务提交: {img_name} | prompt_id: {prompt_id}")
    # 轮询等待任务完成
    while True:
        history_data = get_history(prompt_id)
        if prompt_id in history_data:
            outputs = history_data[prompt_id]["outputs"]
            video_info = outputs["30"]["videos"][0]
            video_filename = video_info["filename"]
            src_video_path = os.path.join(
                "C:/ComfyUI/output/", video_filename
            )
            dst_video_path = os.path.join(OUTPUT_VIDEO_DIR, f"{img_name.split('.')[0]}.mp4")
            # 复制视频到输出目录
            import shutil
            shutil.copy(src_video_path, dst_video_path)
            print(f"✅ {img_name} 动态漫镜头生成完成 -> {dst_video_path}")
            break
# 全部镜头生成完成,调用ffmpeg拼接所有短视频片段
def concat_videos(input_video_folder, out_file):
    list_txt = os.path.join(input_video_folder, "list.txt")
    with open(list_txt, "w", encoding="utf-8") as f:
        for v in sorted(os.listdir(input_video_folder)):
            if v.endswith(".mp4") and not v == out_file:
                f.write(f"file '{v}'\n")
    cmd = f'ffmpeg -y -f concat -safe 0 -i "{list_txt}" -c copy "{out_file}"'
    os.system(cmd)
concat_videos(OUTPUT_VIDEO_DIR, os.path.join(OUTPUT_VIDEO_DIR, "full_manhua_video.mp4"))
print("🎉 全部漫剧视频拼接完成!")

二、ComfyUI 漫剧工作流核心配置(万相 Animate 图生漫)

工作流节点清单(对应代码 ID):

  1. 节点 10:Load Image(图片输入,接收漫画分镜)
  2. 节点 20:万相 Animate 图生视频模型加载器
  • 模型:Wan2.2-ReMixV3 / 万相 Animate
  • 采样器:Euler A
  • 采样步数:20~28 步(漫剧 20 足够,速度更快)
  • CFG Scale:1.5~2.5(数值太高画面容易变形,漫剧建议偏低)
  • 运动幅度:0.35~0.65,不要大于 0.7,否则漫画人物五官崩坏闪烁
  1. 节点 30:Video Combine(视频编码输出 mp4)

关键优化要点: 漫剧条漫最大坑:人物面部闪烁。解决办法:开启参考图固定特征,motion_bucket_id=120,降低运动幅度;不要使用过高帧数,8fps 是漫剧的黄金平衡点。

三、FFmpeg 视频后处理增强脚本(加字幕 + 调色)

保存为post_process.py,在视频生成完成后执行:

import os
# 给成片增加字幕轨道、亮度微调,适合短视频平台
input_video = "./manhua_output/full_manhua_video.mp4"
output_final = "./manhua_output/final_manhua_with_sub.mp4"
subtitle_file = "./subtitle.srt"
ffmpeg_cmd = (
    f'ffmpeg -y -i "{input_video}" '
    f'-vf "subtitles={subtitle_file},eq=brightness=0.05:contrast=1.05" '
    f'-c:a copy "{output_final}"'
)
os.system(ffmpeg_cmd)
print("✅ 字幕+调色完成,最终成品已导出")

字幕文件示例 subtitle.srt:

1
00:00:01,000 --> 00:00:03,000
她攥紧拳头,强压下心底的委屈。
2
00:00:03,500 --> 00:00:06,000
婆家的刁难,从来没有停止过。

四、常见故障排错(漫剧 AI 视频高频问题)

  1. 人物持续闪烁、五官变形
  • 原因:motion 幅度太高,CFG 过高,缺少参考图锁定
  • 修复:motion 降到 0.4 以内,CFG=2,开启 ip-adapter 锁定漫画人物特征
  1. ComfyUI API 提交失败
  • 确认 ComfyUI 启动时开启 API,启动命令:python main.py --enable-cors-header
  1. 显存溢出 OOM
  • 降低输出分辨率,漫剧短视频推荐 720×1280(竖屏短剧尺寸);开启模型 CPU 卸载,分块编码视频
  1. ffmpeg 拼接音频错乱
  • 单镜头生成时统一音频参数,全部镜头采样率 44100,双声道

五、批量生产流水线操作步骤

  1. 把你的漫画分镜图片按顺序命名:001.png,002.png,003.png放入comic_frames文件夹
  2. 在 ComfyUI 导入manhua_workflow.json,加载万相 Animate 模型,测试单张图片能正常出视频
  3. 修改代码配置区路径,运行 python 脚本,自动循环生成每一个镜头
  4. 脚本自动调用 ffmpeg 拼接全部镜头
  5. 运行 post_process.py 添加字幕、微调画面,输出最终可直接发布的漫剧短视频
相关文章
|
8天前
|
云安全 人工智能 运维
当攻击全面Agent化,你的安全防御能否跟上AI Speed?
多起客户侧AK泄露事件应急的真实观察
1320 6
|
6天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
1128 21
|
2天前
|
存储 人工智能 自然语言处理
阿里云千问办公官网登录入口:qwenwork.cn网页版免下载,注册送2000积分、登录每日再送100积分
千问办公(QwenWork)是阿里巴巴推出的一站式AI办公平台,定位"不止于对话,更注重交付"。它基于千问大模型,具备任务拆解与多步骤自动执行能力,用户一句话即可完成PPT生成、数据分析、网页搭建、视频剪辑、信息调研等复杂任务,覆盖网页端、桌面端及钉钉生态。网页版免下载,访问qwenwork.cn注册即得2000积分,每日登录再送100积分。个人版免费起用,另有付费版与企业版可选。
|
11天前
|
存储 人工智能 安全
千问办公官网入口网页版登录:qwenwork.cn 注册送2000积分、登录送100积分
阿里云千问办公(QwenWork)是AI智能工作平台,支持一句话生成PPT、表格、网页、视频及数据分析。个人免费版送2000积分+每日登录赠100分,含1GB存储、5个发布页;企业版198元/席/月起。阿里千问办公QwenWork官网:https://t.aliyun.com/U/0VCTGt 阿里AI工作平台,一句话完成数据分析、PPT 生成、视频剪辑、网页搭建等复杂任务
|
6天前
|
人工智能 开发者
Qoder CN 大使计划正式开启|无限创造,等你一起
全年免费积分、优先内测、活动支持与更多共创机会,邀请用 Qoder 把想法变成现实的你。
567 6
|
1月前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
10037 33
|
7天前
|
安全 Linux 芯片
【万字长文】Ollama下载、安装、配置、使用保姆级教程(2026最新图解)
Ollama 是一款免费开源的本地大模型运行工具,支持 DeepSeek、Qwen 等主流模型,一条命令即可下载运行。2026 最新版 v0.35.1 官方安装包(1.47GB)已提供国内直连下载,纯本地、离线可用、无广告、无隐私泄露风险。
685 1
|
17天前
|
存储 人工智能 并行计算
大模型本地部署终端选型方法论:以 Qwen3.8-27B 为例的四档分层完整流程
本文提出一套大模型本地部署终端选型方法论:定约束、定档位、定框架、定参数四步决策法,配合入门、主力、质量、无损四档分层模型。以 Qwen3.8-27B 实测数据为例,逐环节解读显存、带宽、存储、散热、系统、预算等要素,给出面向不同预算的优选方案、决策自查清单与市场观察框架。文末前瞻 AI 笔记本的 CPU+GPU 与统一内存两条路线,论证四步决策法在新品类上的延续性。
|
8天前
|
Web App开发 人工智能 JavaScript
太猛了,一个月干到15W+,给大家推荐一个最近爆火的开源逆向工具:REA
REA(Reverse Engineer Anything)是近期爆火的开源AI逆向工具,4月发布,1个月内斩获15万+ Star。它让AI Agent无需源码即可分析二进制、APK、JS/Electron、HAR包等17类目标,自动反编译、生成可运行代码,并强制返回带证据与局限的结论。全本地执行,MIT协议,支持Hopper/Ghidra/IDA等引擎,一行命令即可上手。
794 2
太猛了,一个月干到15W+,给大家推荐一个最近爆火的开源逆向工具:REA