ValueError: [Errno 22] Invalid argument; last error log: [pad] Failed to configure input pad on pad

用户在 ComfyUI 中通过 Load Image 节点加载一张 有损 WebP 图片 (例如尺寸 904x927),触发崩溃。此问题在 commit a1d95f3f 之后出现,且与自定义节点无关(已确认禁用后仍复现)。

ValueError: [Errno 22] Invalid argument; last error log: [pad] Failed to configure input pad on pad

ValueError: [Errno 22] Invalid argument; last error log: [pad] Failed to configure input pad on pad

快速结论:该报错通常出现在 ComfyUI 的 Load Image 节点加载 有损 WebP/JPEG 格式图片时,如果图片的宽度不是 32 的倍数且高度为奇数,PyAV 的滤镜图配置会失败。优先检查图片尺寸是否满足 width % 32 == 0 或高度为偶数。

问题场景

用户在 ComfyUI 中通过 Load Image 节点加载一张 有损 WebP 图片(例如尺寸 904×927),触发崩溃。此问题在 commit a1d95f3f 之后出现,且与自定义节点无关(已确认禁用后仍复现)。

报错原文

av.error.ValueError: [Errno 22] Invalid argument; last error log: [pad] Failed to configure input pad on pad
[ERROR] Padded dimensions cannot be smaller than input dimensions.
[ERROR] Failed to configure input pad on pad

原因分析

可能原因:ComfyUI 内部处理视频/图片解码时,对宽度不是 32 的倍数的帧进行补齐(pad)操作。补齐后的宽度(pad_w)通过 ((width + 31) // 32) * 32 计算,例如 904 → 928。但高度保持原样(如 927)。当原始高度为奇数时,补齐后的高度(奇数)与补齐后的宽度(偶数)组合,可能触发 PyAV 滤镜 Padded dimensions cannot be smaller than input dimensions 的错误——即补齐后的尺寸不能小于输入尺寸,但奇数高度在某些编码格式(如 yuv420p)下可能需要偶数对齐。

Issue 中提供了一个独立复现脚本,无需 ComfyUI 即可重现此问题,确认问题出在 PyAV 的滤镜图配置阶段。

环境排查

  • ComfyUI 版本:在 commit a1d95f3f 之后
  • Python 版本:未明确说明,但 PyAV 环境正常
  • PyTorch 版本:2.9.1+cu130(从日志中获取)
  • 显卡:NVIDIA GeForce RTX 5090(VRAM 32109 MB)
  • 图片格式:有损 WebP(lossy WebP),宽度非 32 的倍数,高度为奇数
  • 其他依赖:PyAV(用于视频/图片解码)

解决步骤

  1. 检查图片尺寸:确认图片宽度是否是 32 的倍数,高度是否为偶数。如果是,可能不是此问题触发条件。
  2. 转换图片格式:将有损 WebP/JPEG 转换为无损 WebP 或其他格式(如 PNG),或调整图片尺寸满足 width % 32 == 0 且高度为偶数。
  3. 可优先尝试:使用以下 Python 脚本对图片进行预调整:
    from PIL import Image
    img = Image.open("your_image.webp")
    # 调整宽度为 32 的倍数,高度调整为偶数
    new_w = ((img.width + 31) // 32) * 32
    new_h = img.height if img.height % 2 == 0 else img.height + 1
    img_resized = img.resize((new_w, new_h), Image.LANCZOS)
    img_resized.save("fixed_image.webp", lossless=True)  # 保存为无损格式
  4. 等待修复:该 Issue 已被标记为 Potential Bug,可关注 Comfy-Org/ComfyUI 仓库的后续修复更新,可能涉及 Load Image 节点或 PyAV 的解码逻辑。
  5. 回退版本:如果确认是 commit a1d95f3f 引入的问题,可暂时回退到该提交之前的 ComfyUI 版本。

验证方法

加载调整后的图片(宽度为 32 的倍数、高度为偶数),或加载无问题的图片(如 PNG、无损 WebP),观察是否还出现同样的报错。如果不再出现,说明问题已解决。

参考来源

Comfy-Org/ComfyUI #14483

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 8937

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注