# 文生图简单教程 **建议添加一个对AI隐藏img标签的正则,** 防止AI后续生成不存在的img标签内容:[正则设置](#可选设置) ## Stable Diffusion 1.部署Stable Diffusion并打开监听端口,建议使用([stable-diffusion-webui-forge](https://github.com/lllyasviel/stable-diffusion-webui-forge)),下载秋葉aaaki的整合包([B站链接](https://www.bilibili.com/video/BV1rc6nYNEYo)),请参考相关教程,这里不再过多介绍。*暂不支持填写API key,请勿设置密码* 2.打开forksilly,点击右上角🔧,选择文生图,进入文生图设置。 点击`API管理`标签,添加你部署好的Stable Diffusion的地址并保存: 3.点击`预设管理`标签,添加一个预设,随意填写一些预定义的提示词,例如high quality,点击保存: 4.点击“生成设置”,选择刚才保存的API配置,然后在下方的生成参数中填写你的模型使用的参数,并点击“保存到当前API配置”。点击保存按钮后,界面参数可能会恢复原始值,返回重新进入该设置界面即可。你也可以在这里测试图片生成是否正常: ## 通用设置 5.点击`触发标签`选项卡,打开“启用触发功能”开关,然后点击保存。你也可以自行填写喜欢的触发标签,不修改则默认是"gen_image". 6.在llm的预设或世界书中新增条目,填写文生图提示词,指导AI使用正确格式输出关键词,例如: ``` 请在每次回复的正文后调用文生图工具,以可用于Stable Diffusion的关键词格式输出。根据角色、地点、情境等,只使用一张图片,关键词需要足够详细。 调用格式: keyword1, keyword2, keyword3, ... ``` 将``改成你自己设置的触发标签。 7.到这里已经设置完毕。如果在第四点生成设置中测试能正常生成图片,则已经可以正常使用。 参考效果图: ## 其它图片生成方式 * 使用内置工具调用生图api: 可通过在api设置中(聊天模型的api设置界面)导入api模板来使用其它常见的生图模型,例如openai的图片生成api,详情参请查看[API模板引擎的文档](https://github.com/fatsnk/APItemplateV2)。配合内置工具“内容追加”,也可以在RP对话中调用这些api进行配图,可自行探索。 * 使用novelAI:添加文生图API配置时,长按“添加新API配置”弹窗的标题文字,便可选择novelAI类型(仅支持4和4.5,可能不会兼容后续新模型)。novelAI的url需填写完整url。 * 要使用comfyui,请查看关联项目[comfyui2A1111](https://github.com/fatsnk/Comfyui2A1111)或[ChatAndImage](https://github.com/fatsnk/Chat_And_Image/releases): 将comfyui和novelAI的接口转换为更通用的api(openai兼容和A1111),配置后便可接入forksilly或其它平台使用。 ### Pollinations [Pollinations.AI](https://pollinations.ai/):官方称提供简单易用的文本和图像生成API,~~每天有一定免费额度~~现已收费,不再推荐使用。 打开forksilly,点击右上角🔧,选择文生图,进入文生图设置。 切换到`API管理`标签页,选择API类型为“Pollinations”,获取模型名称(flux或turbo等,现在有大香蕉、seedream、Zimage等新模型,可以点击get models查看)并保存,点击设为默认按钮。 前往[管理页面](https://enter.pollinations.ai/) 登录你的GitHub账号,并生成API密钥,填写到文生图的APi设置中。 然后前往预设管理页面随便添加一个预设保存并设为默认。 接下来,切换到生成设置标签页,填写你喜欢的参数,然后点击下方的保存到预设。 注意参数以API中保存的为准,所以建议先点击保存到当前预设,然后再点击保存到当前API设置,这里的模型(model)也会覆盖API管理中的设置。 *(Zimage性价比最高。turbo模型似乎对非正方形比例支持较好,flux有时会拉伸图像;其余模型消耗积分很多,一天用不了几次,请自行检查官方的priceing。Pollinations的图像有缓存,因此重新生成是不会改变图片的,需要手动修改种子。)* 在聊天中启用文生图,请阅读后续的[通用设置](#通用设置) ## 查看大图 聊天中有图片时,点击聊天气泡下方菜单中的🖼️按钮,或长按🎨按钮(触发文生图时使用),可放大图片。 ## 可选设置 隐藏生成图片的img标签和原始文生图标签,避免影响AI回复,节省tokens。 在全局正则中添加以下两个正则: `/<\s*gen_image\s*>([^<]*)<\/\s*gen_image\s*>(?!.*<\s*gen_image)/i` gen_image改成你自定义的触发标签。最小深度可以设置为3,为AI保留前一个回复的触发标签。 `]*?\ssrc\s*=\s*(?:"([^"]*)"|'([^']*)'|([^'"\s>]+))[^>]*?\salt\s*=\s*(?:"([^"]*)"|'([^']*)'|([^'"\s>]+))[^>]*?>` 删除所有img标签,避免AI学习。注意不要打开修改聊天显示的开关,否则自己也看不到图片了。 9.公网使用 a. 使用frp工具将webui服务暴露到公网,或者使用zerotier等内网穿透工具将你的手机和电脑连接到同一局域网。 b. 使用cloudflare tunnel(可能很慢,建议优先使用上面提到的服务) 参考教程: https://github.com/cloudflare/cloudflared/releases/latest 下载 cloudflared-windows-amd64.exe,重命名成 cloudflared.exe,放到任意目录,加入 PATH 就好。 #### 方法1 临时地址(无需登录cloudflare):cloudflared tunnel --url http://localhost:7860 稍等几秒,终端会输出类似: Your quick Tunnel has been created! Visit it at (it may take some time to be reachable): https://proud-tiger-sunrise-abc123.trycloudflare.com 可以直接使用,重启后需要重新执行命令,地址会变成一个全新的随机地址,旧地址直接失效。 #### 方法2 永久地址(需登录cloudflare且有托管的域名): 1. 创建 Tunnel 登录并创建 Tunnel cloudflared tunnel login 这步会在浏览器打开cloudflare进行登录并授权tunnel的域名,注意你的网络环境需要能访问cloudflare。 cloudflared tunnel create my-tunnel 这个命令会生成一个 Tunnel ID,记下来。 2. 写配置文件 在 C:\Users\你Windows系统的登录用户名\.cloudflared\config.yml 创建: ``` yamltunnel: credentials-file: C:\Users\你Windows系统的登录用户名\.cloudflared\.json ingress: - hostname: 98793930-9d18-45a1-b043-49f5aae68768.yourdomain.com service: http://localhost:7860 - service: http_status:404 ``` 替换、credentials-file路径、hostname、service为你自己的。 请将hostname替换成你自己在cloudflare托管的域名,不要直接复制!建议子域名使用uuid例如98793930-9d18-45a1-b043-49f5aae68768防止被别人使用。 3. 在 Cloudflare DNS 添加记录 cloudflared tunnel route dns my-tunnel 98793930-9d18-45a1-b043-49f5aae68768 这一步会自动在 Cloudflare 的 DNS 里加 CNAME,不用手动去控制台操作。 4. 启动 cloudflared tunnel run my-tunnel 最终url就是你上面填写的: https://98793930-9d18-45a1-b043-49f5aae68768.yourdomain.com https是自动的,无需额外操作。