《【AIGC实战】Python+SDXL批量生成“猫咪英歌舞蛋挞”IP,附保持角色一致性的代码逻辑》

大家好,我是小江。继上一期的"草莓蛋糕"后,今天带来我的"潮汕国潮甜品IP"系列新作------《猫咪英歌舞·霸气长蛋挞》。

很多粉丝问我:"小江,你生成的猫咪和英歌舞小人每次都长得一样,是怎么做到的?难道每次都要抽卡碰运气吗?"

其实,做商业设计,稳定性大于一切。今天这篇,我继续分享底层的自动化逻辑。我们要用 Python + SDXL + ControlNet,把"创意"变成可以批量复制的"生产力"。

看这张图:一只穿着工装的酷萌橘猫,手捧铺满蓝莓草莓的超长拿破仑蛋挞,背景融合了潮汕红桃粿元素。这不仅是一张图,这是一个完整的文创产品概念。

为了实现"猫咪形象统一"且"蛋挞构图多变",我编写了一个 Python 脚本,通过 API 调用 Stable Diffusion WebUI。

import requests

import json

import base64

from PIL import Image

from io import BytesIO

定义批量生成的配置

这里的关键是固定 seed 和 controlnet 参数,确保 IP 不崩坏

BATCH_CONFIG = {

"model": "sdxl_chaoshan_v1.safetensors", # 加载微调过的潮汕模型

"lora": "yingge_cat_character.safetensors", # 挂载英歌舞猫咪LoRA

"controlnet": "openpose_hand_face.json", # 锁定人物姿势

提示词工程:强调细节

"prompts": [

"(masterpiece), cute orange cat wearing vest, holding a long strawberry blueberry tart, chaoshan yingge dance stickers, festive atmosphere, 8k, cinematic lighting",

"(masterpiece), close up of long egg tart, fresh strawberries and blueberries, cream topping, yingge dance totem pattern on crust, delicious food photography"

],

关键参数:固定Seed以保持角色一致性

"seed": 1024,

"cfg_scale": 7.0,

"steps": 30

}

def generate_batch(config):

"""

批量生成函数:循环调用API,自动保存不同变体

"""

url = "http://127.0.0.1:7860/sdapi/v1/txt2img"

for i, prompt in enumerate(config'prompts'):

payload = {

"prompt": prompt,

"negative_prompt": "bad anatomy, extra limbs, ugly",

"seed": config'seed' + i, # 种子递增,保持微调变化但主体不变

"steps": config'steps',

"cfg_scale": config'cfg_scale',

这里可以加入 ControlNet 的参数配置

}

response = requests.post(url, json=payload)

if response.status_code == 200:

r = response.json()

解码并保存图片

image_data = base64.b64decode(r'images'0)

image = Image.open(BytesIO(image_data))

image.save(f"output/tart_cat_{i+1}.png")

print(f"Image {i+1} generated successfully!")

if name == "main":

generate_batch(BATCH_CONFIG)

相关推荐
艾莉丝努力练剑1 小时前
【AI大模型接入SDK】ChatServer HTTP接口模块实现总览
网络·c++·人工智能·网络协议·学习·http·架构
Purple Coder1 小时前
参考论文汇总
人工智能
坤坤子吖1 小时前
Linux 线程概念与控制——线程创建、退出与等待
linux·开发语言·c++·笔记·学习
薛一半1 小时前
Redux实战:组件状态管理全解析
开发语言·前端·javascript·react.js
tq10861 小时前
从信息到生产力
人工智能
袁俪1 小时前
具身智能环境交互
人工智能
weixin_307779131 小时前
C++代码实现MATLAB中的fitnlm函数功能
开发语言·c++·算法·matlab
m4Rk_1 小时前
【论文阅读】Agent 记忆机制(103):Dynamic Coding Memory——记忆为何让 Agent 更可靠,却可能更平庸
论文阅读·人工智能·学习·开源·github