
很多刚入坑ComfyUI的朋友装好整合包或官方版之后面对那一堆文件夹第一反应都是懵的。models、output、custom_nodes……这些目录到底是干什么的自己刚下载的几个GB大模型到底该塞到哪里更烦的是明明照着教程放进了对应目录前端下拉列表里却刷不出来或者加载模型时直接给你报一个“model not found”。这篇文章我就把ComfyUI的目录结构从头到尾翻一遍重点拆解models大文件夹里面每一个子目录该放什么模型以及模型放进去之后为什么有时候不生效。不管你用的是官方版还是秋叶整合包看完都能对着目录直接操作不再瞎猜。1. 装好ComfyUI后面对一堆文件夹先分清谁管模型、谁管工作流、谁管临时文件1.1 根目录下一眼看去models是模型的“仓库”其它目录各司其职完整安装好ComfyUI之后根目录下一般会有这么几个核心目录models所有AI绘图用到的权重文件几乎都放在这里不管是大模型、LoRA、VAE还是ControlNet全都在这个仓库里归类存放。后面我会重点讲它。custom_nodes自定义节点扩展目录。你下载的各种插件、节点包说白了就是把整个文件夹丢进这个目录里重启ComfyUI后就能识别到。output输出目录。生成的所有图片默认保存在这里ComfyUI会按日期和运行时间自动分文件夹方便你按批次查找。input输入目录。工作流里用到的参考图、图生图的底图或者任何需要手动指定图片路径的节点默认都会在这个目录里找文件。user用户目录。保存个人的工作流、快捷键设置、用户配置等。不同用户之间互相独立如果是自己一个人用一般不用管。web前端页面代码目录。ComfyUI的网页界面就在这里属于程序自身的一部分日常使用不要动它。temp临时文件目录。程序运行时的中间数据、缓存文件会放在这里清空也不会影响核心使用但正在运行的任务别去删。很多人会把output目录当临时文件夹顺手清理结果辛辛苦苦出的图全没了这种情况我见过太多次。建议你安装完之后第一时间在ComfyUI的设置里把output目录改到一个自己习惯的磁盘位置至少不要放在C盘系统盘不然时间一长几个G的图片堆在那里C盘早晚爆掉。1.2 秋叶整合包的中文目录是复制还是替身经常有人在群里问我明明把模型放到了models/checkpoints可秋叶启动器里显示的却是Stable-diffusion文件夹是不是放错了其实秋叶整合包对ComfyUI的原始目录做了一套“镜像映射”它把默认的模型搜索路径映射到了中文或拼音命名的文件夹上。比如models/checkpoints在实际操作中可能对应models/Stable-diffusionmodels/loras可能对应models/Lora。这套映射关系是在启动器配置或extra_model_paths.yaml文件里写死的所以只要你把模型放进映射后的目录ComfyUI底层依然能通过models/checkpoints这个逻辑路径找到文件。这里可以打一个比方你租房时物管告诉你的信箱是A-101但快递柜上标的是“1栋1单元1号”地址指的都是同一个柜子只是叫法不同。秋叶包之所以要这么折腾纯粹是为了照顾国内用户的使用习惯让大家看到熟悉的“Stable-diffusion”和“Lora”目录名降低上手门槛。如果你用的是官方版那目录就是标准的英文结构不存在这层映射。下面是两者的对应关系速览目录用途官方版默认路径秋叶包常见映射路径说明大模型主目录modelsmodels所有模型的顶层仓库大模型checkpointmodels/checkpointsmodels/Stable-diffusion体积最大、最常用的模型LoRA模型models/lorasmodels/Lora风格微调模型VAE模型models/vaemodels/VAE图片解码器放大模型models/upscale_modelsmodels/ESRGAN或Upscale超分模型ControlNet模型models/controlnetmodels/ControlNet控制类模型这里要特别提醒一句具体映射到什么路径取决于你用的整合包版本和设置不同版本之间可能有差异。所以最靠谱的判断方法不是看文件夹叫什么名字而是看ComfyUI前端加载节点下拉列表里能不能刷出这个模型。只要前端能看到路径就对了。2. models目录全拆解大模型、LoRA、VAE、ControlNet分别放哪2.1 checkpoints子目录稳放我们最常说的SD大模型这是最常用也是最重要的目录。日常我们说的SD1.5、SDXL、Illustrious系模型以及各种基于这些底模训练的大模型全都是“能直接加载”的单文件大模型几乎全部放在这个目录下。一个checkpoint文件通常包含三大部分text encoder文本编码器、UNet去噪网络、VAE图片解码器等于一张“全家福”加载最方便丢进目录就能用。从文件后缀来看.safetensors是主流推荐格式它只存权重数据不存在嵌入恶意代码的可能加载速度也更快.ckpt是早期格式虽然也能用但安全性上不如safetensors能选safetensors就尽量选。文件大小方面SD1.5模型通常2到7GBSDXL模型通常在3.5到7GB而FLUX系列某些单文件模型能到11GB以上占空间非常厉害建议提前规划好硬盘。实操上官方版就直接放到ComfyUI\models\checkpoints秋叶整合包按前面的映射关系丢到models\Stable-diffusion目录即可。如果在启动器里自定义过模型目录那以你自定义的路径为准。2.2 diffusion_models、unet、text_encoders和clip新拆分模型放这里Flux、SD3、HunyuanVideo这些新架构模型经常会把一个大模型拆成三四个独立文件。为什么要拆因为单文件动辄十几GB甚至几十GB拆开之后可以按需下载、灵活组合比如你可以换不同的文本编码器来调整提示词理解能力。这种拆分模式下放置规则就变了FLUX.1-schnell这类主模型FP8版本一般放到models/diffusion_modelsFLUX用到的CLIP模型比如clip_l.safetensors和t5xxl_fp8_e4m3fn.safetensors放到models/text_encoders或models/clip如果是独立的融合模型UNet部分某些框架版本会优先从models/unet读取单独的VAE文件放到models/vae。新手最容易犯的错误就是把Flux主模型直接丢到checkpoints目录里然后用普通加载检查点节点去加载结果要么刷不出来要么加载时报类似“Config not found”的错误。其实区分方法很简单加载checkpoint的节点下拉列表展示的是checkpoints目录里的文件加载diffusion model的节点下拉列表展示的是diffusion_models或unet目录里的文件。你用的节点类型决定了该去哪个目录找模型这一点一定要记住。2.3 loras、vae、controlnet、upscale_models附属模型别放乱LoRA模型放到models/loras工作流里的LoraLoader节点才能在下拉列表里看到。文件名最好保持简短英文不要带一堆奇怪符号不然前端列表显示混乱还会出现选择后加载失败的问题。后面第3部分我会细说原因。VAE模型放到models/vae。但注意如果checkpoint里已经内置了VAE一般不需要单独放除非你想微调解码效果才需要额外指定一个独立VAE文件并挂载到工作流里。ControlNet模型放到models/controlnet。新版ControlNeXt格式的文件也放这里。有些控制类插件会自带模型目录但通用规则仍然是由ControlNetLoader节点去models/controlnet里读取。Upscale模型放到models/upscale_models。4x-UltraSharp、ESRGAN系列这类放大模型都放这里在upscale节点里选择。另外还有几个容易被忽略的目录models/clip_visionIPAdapter和InstantID这类工作流会用到models/style_models用于IPAdapter的风格迁移models/embeddings用于负面提示词嵌入放错的话运行时会提示“embedding file not found”。把常用模型目录整理成一张表方便你对照放置模型类型放置目录前端对应节点/加载分类备注大模型checkpointmodels/checkpoints 或 models/Stable-diffusionLoad Checkpoint最常用Flux/SD3主模型models/diffusion_modelsLoad Diffusion Model新架构拆分模型UNet部分models/unetLoad Diffusion Model部分版本优先读取文本编码器models/text_encoders 或 models/clipCLIPLoader配套主模型使用LoRAmodels/loras 或 models/LoraLoraLoader文件名尽量简短VAEmodels/vae 或 models/VAEVAELoader大多数时候checkpoint自带ControlNetmodels/controlnet 或 models/ControlNetControlNetLoader兼容ControlNeXt格式放大模型models/upscale_modelsUpscale ModelESRGAN等Embeddingmodels/embeddings直接写在prompt里负面提示词常用CLIP Visionmodels/clip_visionCLIPVisionLoaderIPAdapter类工作流风格模型models/style_modelsStyleModelLoaderIPAdapter风格迁移2.4 其它容易忽略的子目录classifiers、gligen、photomaker等有些模型目录平时用不到但遇到特定工作流时又会突然冒出来。比如models/classifiers主要用于透明背景抠图models/gligen用于特定位置的生成控制models/photomaker用于人像一致性生成。这些目录大多是安装对应插件后自动创建的或者插件文档让你手动放置的你不需要提前建好等真要用到某个功能时再按插件说明放模型即可。还有一个容易忽略的点models目录本身只是一个顶层文件夹ComfyUI扫描模型时不仅会扫描顶层子目录还会递归扫描子目录下的子文件夹。比如你在models/loras下面建一个sdxl文件夹把XL用的LoRA放进去前端下拉列表一样能显示只是文件名前面会带上子目录路径。利用这个特性你可以按照“底模系列”“画风系列”“角色系列”来给模型归类文件夹管理起来会清晰很多。但如果目录层级太深有些节点可能显示不全所以建议最多建一层子目录不要套娃太多层。3. 模型放好了却刷不出来加载路径与排查要点3.1 ComfyUI怎么找模型路径扫描与下拉列表的来源ComfyUI启动时会扫描models下各个子目录的文件并把文件名显示成对应节点的下拉列表选项。所以“文件在不在目录里”直接决定了“节点下拉列表里有没有”。你明明放了文件却看不到常见原因无非这么几个第一放错了目录。比如把LoRA放到了vae下面那LoraLoader节点自然刷不出来。第二放到了映射前的目录但实际生效的是映射后的目录多见于秋叶整合包用户。第三文件名有问题比如包含中文、空格或特殊符号导致前端列表显示异常或加载失败。第四前端缓存没有刷新。有些版本的ComfyUI不会实时检测新文件需要你点击下拉框里的刷新按钮或者重启服务。我个人的排查习惯是先看节点类型确认这个节点应该读哪个目录再去对应目录看文件是否存在然后看文件名是否符合规范最后刷新或重启。按这个顺序查90%的“刷不出来”问题都能解决。3.2 用文件类型与前端的对应关系来验证节点决定读取路径很多人把“前端能不能刷出来”当作唯一标准这其实很聪明但也要注意节点本身可能有多个“加载方式”。比如在ComfyUI里加载checkpoint的节点叫“Load Checkpoint”加载LoRA的节点叫“LoRA Loader”加载VAE叫“VAE Loader”。你往models/checkpoints里放的模型只有在你拖入“Load Checkpoint”节点时才会出现在下拉列表里如果拖的是“Load LoRA”那自然看不到。新手常见的迷惑操作是把大模型放好后拖一个LoRA加载节点发现列表里没有大模型就以为模型没放对地方。其实不是是你节点的类型不对。这一点想明白了目录结构马上就通了一半。另外GGUF格式的量化模型比较特殊。它不是标准的.safetensors文件普通加载节点刷不出来必须额外安装ComfyUI-GGUF这类自定义节点再用专门的GGUF加载节点去读取。如果你下载的是GGUF量化版Flux或Qwen模型一定要先装对应插件否则就算文件放进了diffusion_models目录前端也照样不显示。3.3 官方版与整合包的路径差异别把两套路径混用我自己早期就犯过这个错同时装了官方版和秋叶整包把模型放到了官方版的models/checkpoints里然后用秋叶启动器启动怎么刷都看不到。原因就是秋叶包启动器把模型路径映射到了自己安装目录下的models/Stable-diffusion和官方版的models/checkpoints根本不是同一个物理位置。解决办法有两个。第一把模型统一放到当前启动器映射的目录里。第二利用extra_model_paths.yaml配置文件把模型路径指到同一个外部目录这样两套环境就能共用同一批模型不用重复下载给硬盘省下大量空间。配置文件本质上就是告诉ComfyUI“除了默认目录再去这些地方找模型”。这种做法特别适合那些同时玩SD和Flux、模型文件动辄几十GB的重度用户。注意一个细节修改extra_model_paths.yaml之后必须重启ComfyUI才能生效不是保存就能立刻看到。我见过有人改完配置在界面上点了半天刷新模型就是不出来重启之后一切正常。4. 常见问题与踩坑实录模型放对了还是报错怎么办4.1 模型目录为什么和教程里长得不一样别被目录名吓到很多教程的截图是官方版的英文目录结构而你的秋叶整合包里却是一堆中文或拼音目录于是你开始怀疑自己是不是装了个假ComfyUI。其实不用慌这一节前面已经解释过这是整合包做路径映射的结果。目录长什么样不重要关键是加载节点下拉列表里有没有这个模型。如果你不放心可以直接在models目录里搜索你刚下载的文件名看它实际落在哪个子目录再用前端节点验证一次两分钟就能确认。还要提醒一点不要因为看了某个教程就手动把models目录里的中文文件夹删掉换成官方版英文命名。删除映射目录可能导致ComfyUI按默认路径去读取结果什么都加载不出来到时候再恢复就麻烦了。既然整合包能用就按它的规则来不要没事找事改底层结构。4.2 模型加载报错常见错误信息与定位思路模型放对了目录不代表问题就结束了。加载时各种报错照样会把你折磨得够呛。我把实际踩过的坑整理成一份速查表报错现象可能原因处理办法model file not found文件路径不对或映射路径失效检查模型实际存放位置重启ComfyUImodel could not be loaded下载文件不完整、文件损坏重新下载优先选择镜像源KeyError: xxx加载权重时缺少对应键值多把拆分模型放错目录检查主模型路径Config not found拆分模型缺配置文件或路径不对把Flux等模型文件放到diffusion_models并补齐CLIPNo module named xxx缺少对应自定义节点安装提示的插件并重启embedding file not foundembedding文件放错位置检查models/embeddings目录CUDA out of memory显存不足降低分辨率、开FP8或更换小模型这里重点说一下“model could not be loaded”和“Config not found”的区别。前者通常是下载过程中断导致文件损坏重新下载就行后者往往是拆分模型时缺少sidecar配置文件或者模型放错了目录ComfyUI按照错误的方式去读取权重自然就报错了。遇到这类问题先看报错信息里提示的文件名是什么再去对应目录检查这个文件是否存在、是否完整。如果文件名出现在models/checkpoints下但你实际下载的是diffusion模型那就要看加载节点是否匹配。4.3 硬盘空间与文件夹管理的个人建议模型越玩越多硬盘迟早不够用。我建议从一开始就做好规划别等C盘满了才动手。几种方案供参考第一把整个模型目录软链接到其他盘。Windows下可以用mklink /J命令创建目录联接让ComfyUI的models目录指向D盘或E盘的实际文件夹C盘就不会被撑爆。这个操作对官方版和整合包都适用。第二定期清理output目录和temp目录。output里全是你试生成的废图时间一长几个G都很正常用日期筛选删除旧批次就行。temp目录是临时缓存ComfyUI正常运行时会自动写入清理时最好退出程序后再删。第三给模型文件做好分类。文件命名尽量保持简短英文并在models目录下放一个说明.txt记录每个模型的来源、适用底模和常用参数。不要觉得这是多此一举模型超过10个之后你一定会感谢当初自己写下的这些备注。最后再分享一个个人习惯下载那种“主模型CLIPVAE”三件套的Flux模型时最好一次性把所有配套文件全部放到位再重启ComfyUI。很多人图省事先把主模型拖下来跑了一下发现报错再慢慢补CLIP和VAE结果每一个环节都在排查反而更浪费时间。一次性放好把报错风险降到最低这才是真正能提高出图效率的做法。装好ComfyUI之后先把文件夹结构和模型放置规则摸清楚后面无论是套用别人的工作流还是自己搭节点都能少走很多弯路。希望这篇目录拆解能帮你把ComfyUI安排得明明白白。