You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从CivitAI获取model_index.json?解决StableDiffusion运行报错

解决CivitAI模型在Diffusers中缺少model_index.json的问题

问题根源

CivitAI上下载的.safetensors模型属于Checkpoint格式,是为Stable Diffusion WebUI这类工具设计的;而你用的diffusers库默认需要Diffusers格式的模型(必须包含model_index.json等配置文件),直接加载自然会报错。

两种实用解决方法

方法1:转换Checkpoint为Diffusers格式

用diffusers官方脚本把单文件模型转换成标准Diffusers格式,步骤如下:

  1. 确保依赖齐全:
    pip install diffusers transformers accelerate safetensors
    
  2. 运行转换命令(替换路径为你的实际文件路径):
    python -m diffusers.pipelines.stable_diffusion.convert_from_ckpt \
      --checkpoint_path ./model/your-model.safetensors \
      --dump_path ./converted-model \
      --from_safetensors True
    
  3. 修改代码指向转换后的文件夹:
    from diffusers import StableDiffusionPipeline
    import torch
    
    pipe = StableDiffusionPipeline.from_pretrained(
        "./converted-model", torch_dtype=torch.float16, use_safetensors=True
    )
    
    prompt = "cat"
    image = pipe(prompt).images[0]
    image.save("output_image.png")
    

方法2:直接加载单文件模型(无需转换)

用from_single_file方法直接读取.safetensors文件,省去转换步骤,代码修改如下:

from diffusers import StableDiffusionPipeline
import torch

# 直接指向你的.safetensors文件路径
pipe = StableDiffusionPipeline.from_single_file(
    "./model/your-model.safetensors", torch_dtype=torch.float16, use_safetensors=True
)

prompt = "cat"
image = pipe(prompt).images[0]
image.save("output_image.png")

注意:替换代码中的./model/your-model.safetensors为你实际下载的模型文件路径。

额外优化提示

  • 如果GPU显存不足,可添加以下代码减少显存占用:
    pipe.enable_attention_slicing()  # 轻量显存优化
    # 或更彻底的CPU卸载(适合低显存显卡)
    # pipe.enable_model_cpu_offload()
    
  • 若生成图片颜色异常,可单独下载对应模型的VAE并加载:
    from diffusers import AutoencoderKL
    vae = AutoencoderKL.from_pretrained("path/to/your-vae.safetensors", use_safetensors=True)
    pipe.vae = vae
    

内容的提问来源于stack exchange,提问作者Pradip Sodha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 12:12:38