Gemini Image 插件
基于 Gemini 模型的图像生成插件,支持文生图和图生图,支持自然语言调用和预设提示词
[!note]
本插件需要 AstrBot 版本 >= v4.5.7
命令
/生图 <提示词或预设名称> [额外提示词]- 生成图片。示例:
/生图 一只可爱的小猫 - 使用预设。示例:
/生图 手办化 - 使用预设并附加额外提示词。示例:
/生图 手办化 蓝色头发 - 如果消息中包含图片、引用包含图片的消息,或@用户,将自动作为参考图进入图生图模式。
- @用户时会获取其头像作为参考图。示例:
/生图 手办化 @用户A
- 生成图片。示例:
/生图模型- 显示可用模型列表和当前使用的模型。
/生图模型 <序号>- 切换到指定序号的模型。
/预设- 显示所有预设列表。
/预设 添加 <预设名:预设内容>- 添加新预设。/预设 删除 <预设名>- 删除指定预设。
功能特性
- ✅ 文生图:根据文字描述生成图片。
- ✅ 图生图:基于参考图片(支持多张)生成新图片。
- ✅ 智能参考图:自动识别消息、引用消息中的图片,以及通过@用户获取其头像作为参考图。
- ✅ LLM 集成:可在对话中由 LLM 自动调用图像生成功能(支持图生图)。
- ✅ 模型管理:通过指令动态查看和切换可用的 Gemini 模型。
- ✅ 强大预设:支持快速调用预定义模板,并可通过指令动态管理(增/删)。
- ✅ 多 API Key 轮询:支持配置多个 API Key,失败或限流时自动切换,提高可用性。
- ✅ 失败重试:在生成失败时自动进行重试。
- ✅ 并发与频率控制:可配置最大并发生成数和用户请求频率,防止滥用。
- ✅ 提供商集成:支持直接使用系统中已配置的提供商,简化 API Key 管理。
配置项
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enable_llm_tool |
boolean | true |
启用后,LLM 可在对话中自动调用此插件的生图功能。 |
use_system_provider |
boolean | true |
优先使用系统“提供商”配置,关闭后需手动填写 API Key 和 Base URL。 |
provider_id |
string | "" |
指定使用的系统提供商ID。 |
api_key |
list | [] |
Gemini API Key 列表,支持多个 key 自动轮询。 (不使用提供商时填写) |
base_url |
string | "https://generativelanguage.googleapis.com" |
API 基础 URL。 (不使用系统提供商时填写) |
proxy |
string | "" |
为 API 请求设置代理,例如 http://127.0.0.1:7890。 |
safety_settings |
string | "BLOCK_NONE" |
Gemini API 的安全过滤级别。 |
model |
string | "gemini-2.5-flash-image-preview" |
选择生图模型,自定义模型时下方配置生效。 |
custom_model |
string | "" |
自定义模型名称,当 model 选为 "自定义模型" 时使用。 |
timeout |
number | 300 |
生图请求的超时时间(秒)。 |
default_aspect_ratio |
string | "1:1" |
使用 /生图 命令时的默认图片宽高比。 |
default_resolution |
string | "1K" |
使用 /生图 命令时的默认分辨率 (仅部分模型支持)。 |
max_concurrent_generations |
number | 3 |
允许同时进行的最大图片生成任务数。 |
max_requests_per_minute |
number | 3 |
单个用户每分钟的最大请求次数,用于频率限制。 |
max_image_size_mb |
number | 10 |
允许作为参考图上传的最大图片大小(MB)。 |
max_retry_attempts |
number | 3 |
API 请求失败时的最大自动重试次数。 |
presets |
list | [...] |
预设提示词列表,格式为 "名称:提示词"。 |
使用示例
基础用法
/生图 一只穿着宇航服的猫在月球上
使用预设
/生图 手办化
使用预设并附加内容
/生图 手办化 蓝色头发,微笑
图生图(引用消息)
[引用一张图片]
/生图 动漫风格
使用@用户头像
/生图 像素艺术风格 @用户A @用户B
模型管理
/生图模型 # 查看可用模型列表
/生图模型 4 # 切换到第4个模型
预设管理
/预设 # 查看所有预设
/预设 添加 像素风:pixel art style # 添加新预设
/预设 删除 像素风 # 删除预设
预设格式
基础格式> 预设名:提示词
Json格式(支持指定比例和分辨率)> 预设名:{"prompt": "提示词", "aspect_ratio": "比例", "resolution": "分辨率"}
支持的比例:["1:1","2:3","3:2","3:4","4:3", "4:5","5:4","9:16","16:9","21:9"]
支持的分辨率(仅Gemini 3 Pro Image Preview):["1K", "2K", "4K"]
LLM 自动调用
用户:把这张图变成梵高风格[引用/发送图片]
LLM:好的,请稍等。
[LLM 自动调用图生图工具]
更新日志
v1.3.1
- 修复openai格式生图时重新解析的问题
- 为llm tool添加获取头像的能力
- 修改配置文件格式,分组配置更加易读
v1.3.0
- 新增 OpenAI 请求格式
- 新增 Zai 请求格式(openai改)
- 添加自动图片比例(由生图模型提供,不再强制指定)
- 使用参考图时,不再传递生图比例,和参考图保持一致
- 优化base url清洗
v1.2
- [修复] @多用户时头像获取问题
- [修复] llm tool图片引用异常
- [新增] 失败重试
- [新增] json格式预设支持,可以在预设中指定图片比例和分辨率
- [修改] 移除部分预设,仅保留部分常用预设,将所有预设放在插件文件夹下的
presets.json中,用户可以自行复制 - [修改] 移除图片缓存系统
- 重构代码实现
v1.1
- 新增
/生图模型指令 - 支持在线查看和切换生图模型 - 新增
/预设指令组 - 支持动态添加/删除预设提示词 - 新增 @用户头像功能 - 支持通过 @用户 获取其QQ头像作为参考图
v1.0
- 正式版发布
- 优化日志输出
beta v1.8
- 添加预设提示词功能
- 指令名称改为
/生图 - 优化内存使用(ImageCache 不再存储完整图片数据)
- 实现基于时间的缓存清理
- 修复图片格式转换逻辑
- 添加图片下载超时控制
- 优化 LLM Tool 调用逻辑
- 清理死代码和冗余代码
beta v1.6
- 修复多个逻辑问题
- 优化错误处理
- 改进日志输出
beta v1.0
- 实现插件基本功能
- 支持文生图和图生图
- 添加图片缓存和并发控制
- 支持多种Gemini模型和配置选项