![ValueError: [Errno 22] Invalid argument; last error log: [pad] Failed to configure input pad on pad](https://www.chat-gpts.plus/wp-content/uploads/2026/06/14483-74416a64.jpg)
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(用于视频/图片解码)
解决步骤
- 检查图片尺寸:确认图片宽度是否是 32 的倍数,高度是否为偶数。如果是,可能不是此问题触发条件。
- 转换图片格式:将有损 WebP/JPEG 转换为无损 WebP 或其他格式(如 PNG),或调整图片尺寸满足
width % 32 == 0且高度为偶数。 - 可优先尝试:使用以下 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) # 保存为无损格式 - 等待修复:该 Issue 已被标记为
Potential Bug,可关注 Comfy-Org/ComfyUI 仓库的后续修复更新,可能涉及Load Image节点或 PyAV 的解码逻辑。 - 回退版本:如果确认是 commit a1d95f3f 引入的问题,可暂时回退到该提交之前的 ComfyUI 版本。
验证方法
加载调整后的图片(宽度为 32 的倍数、高度为偶数),或加载无问题的图片(如 PNG、无损 WebP),观察是否还出现同样的报错。如果不再出现,说明问题已解决。



