logo
0
0
Login
feat: 添加权限设置和后台静默执行功能

绘简-云雾AI图像生成服务

一个基于FastAPI的云原生AI图像生成服务,完全适配绘简统一生成接口规范。支持文本生成图像和参考图像生成图像两种模式,使用Yunwu.ai的gemini-2.5-flash-image模型。

云雾API注册地址: https://yunwu.ai/register?aff=MxBT

📋 项目概述

  • 服务名称: 绘简-云雾AI图像生成服务
  • 技术栈: FastAPI + Uvicorn + Yunwu.ai API
  • 支持模式: 文生图、图生图
  • 接口规范: 完全兼容绘简统一生成接口
  • 部署方式: Docker容器化部署

===================================================

🚀 快速开始

环境要求

  • Python 3.8+

【一键启动】在终端中输入 y 后回车输入API_KEY即可启动,点击弹出通知打开绘简-云雾AI图像生成服务

手动更改.env文件内的API_KEY使用命令启动服务:

API_KEY=your_yunwu_api_key_here BASE_URL=https://yunwu.ai MODEL=gemini-2.5-flash-image

启动服务

# 交互式启动 bash assets/start.sh # 直接启动(需要已配置.env文件) bash assets/start.sh --start

修改后文化必须要执行命令同步到仓库:

bash /workspace/git-push.sh

终端启动命令(备用):

bash /workspace/assets/start.sh

4. 验证服务

访问健康检查接口:

curl http://localhost:8000/health

📖 API接口文档

核心接口

POST /generate

图像生成主接口,支持文生图和图生图模式。

请求体 (application/json):

{ "prompt": "一只可爱的猫咪在花园里玩耍", "reference_images_b64": ["base64_encoded_image_data"], "aspect_ratio": "1:1" }

参数说明:

  • prompt (必需): 图片描述,最大4000字符
  • reference_images_b64 (可选): Base64编码的参考图片数组,用于图生图模式
  • aspect_ratio (可选): 图片宽高比,支持:auto、1:1、16:9、9:16、4:3、3:4、3:2、2:3、5:4、4:5、21:9

响应示例 (成功):

{ "success": true, "task_id": "uuid-string", "message": "图片生成成功", "generated_images": ["base64_image_data_1", "base64_image_data_2"], "ai_text_response": "AI响应文本" }

响应示例 (失败):

{ "success": false, "task_id": "uuid-string", "message": "错误信息", "generated_images": [], "ai_text_response": "错误描述" }

GET /health

服务健康检查接口。

响应:

{ "status": "healthy", "service": "huijian-yunwu-image-service", "api_configured": true, "model": "gemini-2.5-flash-image", "base_url": "https://yunwu.ai" }

⚙️ 配置说明

环境变量配置

必需配置

API_KEY=your_yunwu_api_key_here BASE_URL=https://yunwu.ai MODEL=gemini-2.5-flash-image

可选配置

# 服务基础配置 HOST=0.0.0.0 PORT=8000 LOG_LEVEL=info DEBUG=false # 性能配置 MAX_WORKERS=4 REQUEST_TIMEOUT=180 MAX_RETRIES=2 # 功能配置 ENABLE_CORS=true ENABLE_HEALTH_CHECK=true ENABLE_RATE_LIMIT=false # 安全配置 ALLOWED_ORIGINS=*

兼容性配置

支持旧版本环境变量名:

YUNWU_API_KEY=your_api_key YUNWU_BASE_URL=https://yunwu.ai YUNWU_MODEL=gemini-2.5-flash-image

实用脚本

启动服务

bash assets/start.sh # 选项: # --edit 编辑配置文件 # --start 直接启动服务 # --check 检查配置 # --help 显示帮助信息

检查服务状态

bash assets/status.sh

停止服务

bash assets/stop.sh

开发环境包含的工具

  • Python开发: Python 3.12, pip, uv, poetry
  • 构建工具: build, twine, cmake, clang
  • 开发工具: git, curl, wget, vim, htop
  • VS Code扩展: Python全套扩展、代码格式化、调试工具

🛠️ 故障排除

常见问题

1. API Key验证失败

症状: 服务启动但无法生成图像 解决方案: 检查.env文件中的API_KEY配置是否正确

2. 服务端口被占用

症状: 服务启动失败 解决方案: 修改.env文件中的PORT配置或停止占用端口的进程

3. 依赖安装失败

症状: Python包安装错误 解决方案: 使用uv工具加速安装:uv pip install -r requirements.txt

4. Docker构建失败

症状: Docker镜像构建错误 解决方案: 检查网络连接,确保Docker daemon正常运行

调试模式

启用调试模式获取详细日志:

DEBUG=true LOG_LEVEL=debug

📞 技术支持

  • API文档: 访问 /docs 查看交互式API文档
  • 健康检查: 访问 /health 检查服务状态
  • 日志查看: 查看容器日志 docker logs <container_id>

📄 许可证

本项目采用MIT许可证。

🤝 贡献指南

欢迎提交Issue和Pull Request来改进这个项目。

===================================================

注意: 使用前请确保您已获取有效的Yunwu.ai API密钥,并遵守相关服务条款。