🎉 限时特惠活动公告、获取优惠码、最高立减3200元
server/app/common/service/draw/engine/DrawGemini.php - Gemini 绘画引擎server/app/common/enum/draw/DrawEnum.phpAPI_GEMINI = 'gemini' 常量getAiModelName() 方法getDrawChannel() 方法server/app/common/service/draw/DrawDriver.phpdrawGeminiConfig() 方法server/app/common/service/draw/QueueService.phppushGemini() 方法GEMINI_JOB 常量server/app/queue/GeminiQueueJob.php - Gemini 队列处理任务server/app/api/logic/draw/DrawLogic.phpdrawImagineHandle() 方法的 match 语句notifyGemini() 回调处理方法pc/src/pages/draw/enums/DrawEnum.tsGEMINI = 'gemini' 枚举值DrawLink 路由映射pc/src/pages/draw/gemini.vue - Gemini 绘画主页面pc/src/pages/draw/components/gemini/gemini-style.vue - 风格选择pc/src/pages/draw/components/gemini/gemini-picture-size.vue - 尺寸选择cw_key_pool 表中添加 Gemini API Key:type: 2 表示绘画类型platform: 'gemini'status: 1 表示启用https://generativelanguage.googleapis.com/v1beta/models/imagen-3.0-generate-001:predict{
"instances": [
{
"prompt": "提示词",
"image": {
"bytesBase64Encoded": "base64图片" // 图生图时使用
}
}
],
"parameters": {
"sampleCount": 1,
"aspectRatio": "1024x1024",
"negativePrompt": "反向提示词",
"mode": "foreground", // 可选: foreground, background, product
"safetySetting": "block_some"
}
}{
"predictions": [
{
"bytesBase64Encoded": "base64编码的图片数据",
"mimeType": "image/png"
}
]
}用户提交绘画请求
↓
DrawController::drawing()
↓
DrawLogic::draw()
├→ 参数验证
├→ 敏感词检测
├→ 提示词翻译
├→ 创建记录
├→ 扣除电量
└→ 提交队列
↓
QueueService::pushGemini()
↓
GeminiQueueJob::fire()
↓
DrawDriver::imagine()
↓
DrawGemini::imagine()
├→ 构建请求参数
├→ 调用 Gemini API
└→ 返回响应
↓
DrawLogic::notifyGemini()
├→ 解析 Base64 图片
├→ 保存到本地
├→ 上传到云存储
├→ 生成缩略图
├→ 内容审核
└→ 更新记录状态
↓
前端轮询获取结果/draw/geminifail_reason 字段safetySetting: 'block_some' 安全过滤