应用背景
运营、设计师每天都要为 Midjourney、Stable Diffusion 写提示词?
手动看图、敲字、改格式,平均 5 分钟一张图,100 张图就是一天!
影刀官方流程「main.py + module1.py」直接把“看图写词”压缩到 30 秒,本地跑、不联网、不封号!
需求梳理
- 📁 用户痛点:文件夹里一堆 PNG/JPG,需要批量生成高质量中文提示词
- 🎯 核心诉求:
• 自动读取图片 → 调用 Kimi 大模型 → 输出“主体细节、人物特征、场景氛围、构图、风格、参数”六合一提示词
• 结果直接写进同名 TXT,方便复制粘贴到任何 AI 绘图工具 - ⚙️ 运行环境:Windows 电脑 + 本地文件夹即可
流程开发
- 弹窗交互
- 选择图片文件夹(File_path_list
)
- 输入自定义提示模板(TextArea_tishici
)
- 填入 Kimi API Key(TextBox_kimiapi
) - 图像遍历
- 自动扫描.png
、.jpg
,不递归子目录 - 大模型调用
- 上传图片 → 提取内容文本 → 拼接用户提示 → 请求 Kimi
- 参数固定:temperature=0.6
,模型kimi-k2-0711-preview
- 结果落地
- 每图生成同名.txt
,UTF-8 编码,覆盖写入
流程代码(精简自 main.py & module1.py)
# main.py 关键片段
file_paths = xbot.dir.find_files(path=dialog_result.File_path_list,
patterns="*.png,*.jpg",
find_subdir=False)
for img in file_paths:
# 调 module1 生成提示词
output = module1(img, glv['输入提示词'], glv['api_key_全局'])
# 写入同名 .txt
xbot.file.write(img.parent / f"{img.stem}.txt", output)
# module1.py 核心调用
client = OpenAI(api_key=glv['api_key_全局'],
base_url="https://api.moonshot.cn/v1")
file_obj = client.files.create(file=Path(glv['img_Path']), purpose="file-extract")
content = client.files.content(file_id=file_obj.id).text
messages = [
{"role": "system", "content": "你是 Kimi..."},
{"role": "system", "content": content},
{"role": "user", "content": glv['输入提示词']}
]
completion = client.chat.completions.create(
model="kimi-k2-0711-preview",
messages=messages,
temperature=0.6
)
glv['输出提示词'] = completion.choices[0].message.content
执行效果
- 单张 4K 图平均耗时:28 秒(含上传 + 推理)
- 输出示例:
主体细节: 赛博朋克少女,霓虹短发,机械耳罩
人物特征: 冷酷表情,金属义肢,反光夹克
场景氛围: 雨夜城市,LED 广告牌,雾气弥漫
构图方式: 三分构图,人物居中,前景虚化
艺术风格: 赛博朋克插画,高饱和霓虹配色
图像质量: 8K,超清,电影级光影
参数建议: --ar 16:9 --v 5 --q 2
- 文件夹批量跑:100 张图 = 30 分钟完成
项目总结
影刀把“看图→写词→保存”三步压缩成“弹窗→双击→收TXT”,全程本地跑、无封号风险。
模板已固化,换图换文件夹即可复用,运营、设计、自媒体人手必备!