Stable Diffusion【ControlNet】:使用InstantID插件实现人物角色一致性
from diffusers import StableDiffusionPipeline
from diffusers.utils import set_seeds
from diffusers.controlnet.instant_id import InstantID
# 设置随机种子以获得可重复的结果
set_seeds(0)
# 加载Stable Diffusion模型和InstantID插件
pipe = StableDiffusionPipeline.from_pretrained(
"CompVis/stable-diffusion-v1-4",
revision="ff576924bffa696942774ff98a5ce59380c9729b", # 使用特定的模型版本
controlnet_config="controlnet,instant_id:1", # 启用InstantID插件
)
# 准备输入图像和提示词
prompt = "A photo of a woman wearing a crown and a cape, with a bright background"
# 使用InstantID插件进行角色一致性生成
in_path = "instant_id_input.png" # 输入图像路径,包含人物角色信息
out_path = "instant_id_output.png" # 输出图像路径
instant_id = InstantID(pipe)
instant_id.generate(prompt, in_path, out_path)
这段代码展示了如何使用InstantID插件与ControlNet一起工作,以保持生成图像中的人物角色一致性。首先,我们设置了随机种子以确保结果的可重复性。然后,我们加载了Stable Diffusion模型并启用了InstantID插件。最后,我们使用提供的提示词和输入图像路径来生成一个保持角色一致性的新图像。
评论已关闭