Skip to content

backearth1/minimax-tools

Repository files navigation

MiniMax Tools

基于 MiniMax API 的一站式工具集合,包含音乐生成、图片生成、图像分析和语音设计四大功能。

🌟 功能特性

  • 🎵 音乐生成:根据文本提示和歌词生成音乐
  • 🖼️ 图片生成:基于文本描述生成高质量图片
  • 👁️ 图像分析:使用视觉语言模型分析图片内容
  • 🔊 语音设计:根据描述设计个性化语音
  • 📊 统一监控:实时查看使用统计和性能指标
  • 🔒 数据安全:用户数据自动清理,无长期存储
  • ⚡ 限流保护:内置限流机制,防止API过度调用

🚀 快速开始

1. 启动服务

# 一键启动
./start.sh

# 或手动启动
sudo docker compose up -d --build

2. 访问应用

3. 使用说明

  1. 访问对应功能页面
  2. 输入您的 MiniMax API Key
  3. 填写相关参数
  4. 提交请求即可

📁 项目结构

minimax-tools/
├── app/                    # 应用主目录
│   ├── main.py            # FastAPI 主应用
│   ├── routes/            # 路由模块
│   │   ├── music.py       # 音乐生成
│   │   ├── image_generation.py# 图片生成
│   │   ├── vlm.py         # 图像分析
│   │   └── voice_design.py# 语音设计
│   ├── utils/             # 工具模块
│   │   ├── monitor.py     # 监控统计
│   │   ├── rate_limiter.py# 限流控制
│   │   └── cleanup.py     # 数据清理
│   └── templates/         # HTML 模板
├── tmp/                   # 临时文件目录
├── data/                  # 数据目录
├── Dockerfile             # Docker 配置
├── docker-compose.yml     # 容器编排
├── requirements.txt       # Python 依赖
└── start.sh              # 启动脚本

⚙️ 配置说明

环境变量 (可选)

# 限流配置
DEFAULT_RATE_LIMIT_REQUESTS=10    # 默认限流请求数
DEFAULT_RATE_LIMIT_WINDOW=60      # 限流时间窗口(秒)

# 清理配置  
CLEANUP_INTERVAL_MINUTES=15       # 清理间隔(分钟)
FILE_RETENTION_HOURS=1            # 文件保留时间(小时)

限流策略

  • 音乐生成: 5分钟5次
  • 图片生成: 5分钟5次
  • 图像分析: 5分钟10次
  • 语音设计: 5分钟5次

🔧 管理命令

# 查看日志
sudo docker compose logs -f

# 停止服务
sudo docker compose down

# 重启服务
sudo docker compose restart

# 清理所有数据
sudo docker compose down -v

🛡️ 数据安全

  • 用户上传的文件在1小时后自动删除
  • 不存储用户的API Key
  • 仅保留API调用统计数据
  • 所有临时数据定期清理

📋 API端点

  • GET / - 主页
  • GET /music - 音乐生成页面
  • POST /music/generate - 生成音乐
  • GET /image-generation - 图片生成页面
  • POST /image-generation/generate - 生成图片
  • GET /vlm - 图像分析页面
  • POST /vlm/analyze - 分析图像
  • GET /voice-design - 语音设计页面
  • POST /voice-design/design - 设计语音
  • GET /admin - 监控面板

🆘 常见问题

Q: 如何获取 MiniMax API Key?

A: 访问 MiniMax 官网 注册账户并获取 API Key。

Q: 文件上传失败怎么办?

A: 检查文件格式是否正确,确保网络连接稳定。

Q: API 调用被限流怎么办?

A: 等待限流时间窗口结束,或联系管理员调整限流策略。

Q: 如何扩展新功能?

A: 在 routes/ 目录添加新路由,在 templates/ 添加对应模板。

📄 License

MIT License

About

image generation, voice design,vllm,music generation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published