用 CloudBase 云函数代理 fal.ai FLUX 图片生成
一句话定义:用
@fal-ai/client在 CloudBase 云函数里调 FLUX schnell 模型出图,通过fetch把生成的图片二进制拉回云函数,用@cloudbase/node-sdk写到云存储,前端通过getTempFileURL拿临时链接展示。预计耗时:25 分钟 | 难度:入门
适用场景
- 小程序/Web 想要 AI 出图(头像、商品图、营销素材、占位插画),不想自己跑模型
- fal.ai 的 key 不能放前端,但又不想在前端和 fal 之间架一 个独立服务器
- 生成的图片想沉淀到自己的云存储,而不是只拿一个 fal CDN 链接(那个链接会过期或被清理)
- 同一个云函数环境里,接下来还要把图片做后处理(裁剪、加水印、写库)
不适用:
- 需要超低延迟、用户对生成时间敏感(本篇用同步
subscribe,一次出图通常 3-15 秒,云函数同步等待) - 一次出图量大(批量超过几十张),建议改 fal 的 queue 模式 + 数据库状态机,本文不展开
- 想直接在浏览器里跑模型(WebGPU),那是另一条路线,不需要云函数
环境要求
| 依赖 | 版本 |
|---|---|
| Node.js(云函数运行时) | ≥ 18(自带 fetch,老版本要装 node-fetch) |
@fal-ai/client | ^1.10.1(注意:@fal-ai/serverless-client 已 deprecated,不要用) |
@cloudbase/node-sdk | ^3.18.1 |
@cloudbase/cli | latest |
| 云函数类型 | HTTP 触发(--httpFn) |
| 公网出口 | 调 fal.ai 需要公网,控制台「网络 → 公网访问」确认已开 |
需要准备:
- 一个 fal.ai 账号,在 fal.ai dashboard 拿一个 API key
- 一个 CloudBase 环境 ID,且开通了云函数和云存储