generate-image
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@generate-imageGenerate an image of a futuristic city skyline at sunset"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
generateImage — 腾讯云开发(CloudBase)AI 生图云函数
一个可直接部署的 CloudBase 云函数,把混元生图封装成两种形态:
HTTP 接口 —— 文生图 / 图生图,带 API Key 鉴权与真实 HTTP 状态码
MCP Server —— 可直接接入 Claude Code / Cursor 等标准 MCP 客户端
同时提供一份零框架自建版(selfhosted/),同一套核心逻辑可脱离云函数在普通 Node 进程运行。
特性
能力 | 状态 | 入参 |
文生图 T2I | ✅ |
|
图生图 I2I | ✅ |
|
自定义水印 | ✅ |
|
无水印 | ✅ |
|
参考图自动压缩 | ✅ | 自动触发(>120KB), |
seed 可复现 | ✅ |
|
MCP 协议 | ✅ |
|
API Key 鉴权 | ✅ | fail-closed,环境变量 |
频率限制 | ✅ | 滑动窗口 10/min + 120/h(可配),命中回 429 / JSON-RPC |
HTTP 状态码透传 | ✅ | 200 / 400 / 401 / 422 / 429 / 500 |
Clarity 超分 / 多图 | ❌ | SDK 不支持,需直连腾讯云裸 API |
Related MCP server: universal-image-mcp
目录结构
.
├── index.js # 云函数主逻辑(单文件,无外部框架依赖)
├── package.json # 依赖:@cloudbase/node-sdk + sharp
├── CONVENTIONS.md # ★ 文档与密钥约定(改文档前先读)
├── docs/实测报告.md # ★ 完整技术文档:能力 / 实测 / 踩坑 / 调用示例
├── test/ # 离线单测(自带 SDK 替身,无需 npm install)
└── selfhosted/ # 可脱离云函数运行的自建版
├── server.js # 零框架,仅用 Node 内置 http 模块
├── package.json
├── README.md # 迁移说明:哪些要改、凭证怎么传、差异清单
└── test/快速开始(云函数)
1. 部署
# 依赖 sharp(含原生绑定)建议用云函数层挂载,代码包内不要带 node_modules
# 详见 docs/实测报告.md 第十节部署后在函数配置里设置环境变量:
变量 | 必填 | 说明 |
| ✅ | 对外鉴权 key。fail-closed:不配置则拒绝所有 HTTP 访问 |
| ❌ | 覆盖默认文生图模型 |
| ❌ | 每分钟上限,默认 |
| ❌ | 每小时上限,默认 |
2. 调用
curl -X POST "https://YOUR_ENV_ID-YOUR_APPID.ap-shanghai.app.tcloudbase.com/api/gen-image" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{"prompt":"一只戴着宇航头盔的柴犬,赛博朋克风格","size":"1024x1024"}'3. 接入 MCP 客户端
{
"mcpServers": {
"generate-image": {
"type": "http",
"url": "https://YOUR_ENV_ID-YOUR_APPID.ap-shanghai.app.tcloudbase.com/api/gen-image?mcp=1",
"headers": { "x-api-key": "YOUR_API_KEY" }
}
}
}
type必填 —— 只有url没有type会被客户端当作 stdio 传输,报错。
快速开始(自建版,不用云函数)
cd selfhosted
npm install
CLOUDBASE_ENV=YOUR_ENV_ID \
TENCENTCLOUD_SECRETID=xxx \
TENCENTCLOUD_SECRETKEY=xxx \
API_KEY=your-api-key \
node server.js接口与云函数版完全一致,客户端无需改动。差异与注意事项见 selfhosted/README.md。
临时密钥必须同时传
sessionToken,否则报 HTTP 401。长期密钥(CAM 生成)不需要。
这个项目踩过的坑(都写进文档了)
docs/实测报告.md 是本仓库最有价值的部分,记录了实测过程中发现的真实问题:
★
ai.createImageModel(X)的第一个参数是 provider,不是模型名 —— 传错必 404(本项目最大的坑)★ CloudBase HTTP 网关只返回普通对象时一律回 HTTP 200 —— 错误分支必须返回带
statusCode的结构才能透传真实状态码★ MCP 鉴权:只有
tools/call该校验 key ——initialize/ping/notifications/*等协议层方法必须放行,否则标准客户端连不上★ 用「字段是否为空」判断请求通道是不可靠的 —— 曾因此让普通 HTTP 请求整个绕过鉴权
★
sharp在 CloudBase 上必须用云函数层挂载 —— 本地node_modules会被打包上传,平台不匹配导致require失败
环境要求
Node.js 18+(云函数运行时 Nodejs18.15)
@cloudbase/node-sdk>= 3.18.3(2.x 没有ai()方法,会报app.ai is not a function)sharp^0.33.5
持续集成
仓库自带 GitHub Actions 工作流 .github/workflows/ci.yml,在 push / PR 到 main 时自动执行:
任务 | 内容 |
语法与结构校验 | 在 Node |
单元测试 | 同样三档 Node 下跑全部 3 个测试文件(共 98 项断言) |
敏感信息扫描 | 拦截硬编码密钥( |
设计取舍:
刻意不做
npm install—— 本仓库依赖sharp(含原生绑定)和@cloudbase/node-sdk,在 CI 装它意义不大(真正的运行环境是云函数层挂载的sharp),且会拖慢流水线。单测自带 SDK 替身,所以照样能跑。敏感信息扫描是防回归的,不是替代人工审计 —— 仓库是公开的,任何一次
git push前都会被这道门拦住。三个 Node 版本覆盖了「云函数运行时 18.15」到「最新 LTS」,跨版本语法差异(如较新的内置 API)能被提前发现。
本地想跑同样的检查:
npm run check # 语法
npm test # 单测频率限制
API Key 是一串长期不变的静态密钥,一旦泄露就是无限额度;而每次生成都真实消耗混元计费。 所以除鉴权外还做了一层限流:
窗口 | 默认 | 作用 |
分钟 | 10 次 | 防突发刷量 |
小时 | 120 次 | 防"每分钟刚好不超"的慢速持续薅 |
只对消耗额度的调用计数 —— 普通 HTTP 生成与 MCP
tools/call。initialize/ping/notifications/*等协议层方法不计数,否则客户端握手/探活就把配额吃光。命中时:普通 HTTP 回 429 +
Retry-After;MCP 回 JSON-RPC-32029(不是-32001,避免把排查方向带偏到凭证问题)。限流键是 API Key 的 SHA-256 指纹前 16 位,内存里不留明文。
⚠️ 已知局限:云函数版是实例内存态,多实例并发时实际阈值 ≈ 阈值 × 实例数。 需要严格全局限流时,应把
rateCheck()的记账换成 Redis 或云数据库计数。 自建版(selfhosted/)是长驻进程,内存态即全局,限流是精确的。
测试
单测是离线的 —— 自带 @cloudbase/node-sdk 替身,无需 npm install、无凭证、无网络:
npm test # 全部
node test/index.test.js # 云函数版:鉴权 / MCP 协议 / 状态码 / 水印 / size
node test/rate-limit.test.js # 限流:滑动窗口 / 两层配额 / 协议层豁免
node selfhosted/test/server.test.js # 自建版:鉴权 / 限流 / 状态码映射限流测试通过劫持 Date.now 推进虚拟时间,无需真的 sleep 60 秒就能验证窗口滑动。
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate images with any major model — one API key, one prepaid balance, one MCP.
OAuth-protected ImagineVid MCP for image, video, and music generation.
Multi-model AI image and video generator. 14 models behind one OAuth-secured MCP endpoint.
Generate AI images and videos from any compatible MCP client.
Related MCP Servers
- AlicenseDqualityDmaintenanceIntegrates Jimeng AI image and video generation services through MCP protocol, enabling users to generate high-quality images and videos from text prompts with support for image mixing, reference images, and multiple AI models.39 npm53MIT
- AlicenseAqualityDmaintenanceMCP server for multi-provider AI image generation (AWS Bedrock, OpenAI, Google Gemini) enabling image generation, transformation, and editing through a unified interface.41MIT
- FlicenseNot gradedqualityCmaintenanceProvides MCP interfaces for AI text-to-image, image-to-video, and text-to-video generation using the Doubao API.1-
- AlicenseAqualityBmaintenanceQwen Image API access for AI agents: run image generation operations, poll asynchronous results, and check pricing through one focused MCP server.628 npmApache 2.0