开源了一个脑洞画布,Cloudflare一键部署

我开源了一个AI脑洞画布,Cloudflare一键部署

这是一个基于 Cloudflare 生态(Pages + Functions + R2 + KV)构建的全栈 AI 文生图应用。它无需服务器,零成本,fork即可部署,非常适合学习练手。

:sparkles: 项目亮点

  • 多风格预设:内置黑板画、云彩、课本铅笔画等风格,支持后台无限扩展。
  • 九宫格选择:直观的缩略图展示,所见即所得。
  • BYOK 模式:支持用户自带 Key (Bring Your Own Key),降低运营成本。
  • 持久化存储:生成的图片自动保存到 Cloudflare R2,永久访问。
  • 可视化后台:内置管理后台,可在线管理提示词、API、缩略图。
  • 极简部署:依托 Cloudflare Pages,无需购买服务器。

:rocket: 部署教程 (保姆级)

只需 10 分钟,你就能拥有自己的 AI 绘图站。

:one: 准备工作

  • 一个 GitHub 账号
  • 一个 Cloudflare 账号 (免费版即可)
  • Google Gemini付费层级 API Key (https://aistudio.google.com/app/api-keys获取)

:two: 获取代码

  1. 访问项目仓库:GitHub - AI-Chalkboard-Art
    https://github.com/keenturbo/AI-Chalkboard-Art
  2. 点击 Fork 叉子按钮,将代码复刻到你的 GitHub 账号下。

:three: 创建 R2 存储桶 (用于存图)

  1. 登录 Cloudflare Dashboard。
  2. 左侧菜单点存储和数据库R2对象存储→概述。
  3. 点击 创建存储桶,起个名字(例如 my-ai-art),点击创建。记住名字。
  4. 进入刚创建的 存储桶,点击 设置公共开发 URL启用
  5. 绑定一个你的二级域名,这很重要,后续图片都通过这个域名访问。自定义域→添加→你托管在Cloudflare上的域名的二级域名(例如 pic.yourdomain.com

:four: 创建 KV 命名空间 (用于存配置)

  1. 左侧菜单点击 存储和数据库Workers KV
  2. 点击右上角 Create instance创建 KV 命名空间。
  3. 起个名字(例如 AI_ART_CONFIG),点击 Add。记住这个名字。

:five: 部署到 Pages

  1. 左侧菜单点击 计算和AIWorkers & Pages创建应用程序

  2. 底部小字Looking to deploy Pages? Get started,点击Get started选择 导入现有 Git 存储库→开始使用。

  3. 选择你刚才 Fork 的仓库,点击 开始设置。你的GitHub 帐户如果还没有关联Cloudflare点击添加帐户

  4. 配置构建设置 (关键步骤):

    • 项目名称: 随便起 (例如 ai-canvas)
    • 生产分支: main (默认不要动)
    • 预设框架: 默认留空
    • 构建命令: (默认留空,不要填!)
    • ** 构建输出目录**: public (必须填这个!):warning:
  5. 保存并部署等待部署完成:white_check_mark:

    • 绑定 R2 和 KV
    • 部署完成后,进入该 Pages 项目的 设置绑定 ,点击添加。
    • 点击 R2 存储桶:
      • 变量名称: R2_BUCKET (必须完全一致)
      • R2 bucket: 选择你在第:three:步创建的 存储桶名字,例如my-ai-art,保存。
    • 回到上一步绑定添加,找到 KV 命名空间 → 点击。
      • 变量名称: ADMIN_KV (必须完全一致)
      • KV 命名空间: 选择你在第:four:步创建的 KV(例如 AI_ART_CONFIG
  6. 配置环境变量 (设置 → 变量和机密):

    • 点击 添加 以下变量。
    • 变量名称: R2_PUBLIC_DOMAIN,下面的值填你在第:three:步绑定的域名 (例如 https://pic.yourdomain.com带上 https://)保存
    • 变量名称 GEMINI_API_KEY: (可选) 填入你的 Google Gemini T1层级API Key,作为公共兜底 Key。如果不填,使用你网站的用户必须自带 Key 才能生成。保存。
  7. 重新部署:

    • 配置完绑定和环境变量后,去 部署 标签页。
    • 点击最新的那次部署右边的三个点 → 重试部署。这样刚刚的绑定(R2、KV、变量和机密)才能生效。
    • 等待部署成功!

:video_game: 如何使用

访问网站

打开 Cloudflare 分配给你的 *.pages.dev 域名,建议你绑定自定义域名。你将看到不同风格选择界面。

点击右上角:gear:进入管理后台

或者直接访问 https://你的域名/admin

  • 默认账号:admin
  • 默认密码:admin
    (强烈建议首次登录后在后台基础设置修改密码)

后台功能

  • 图片管理:可以添加删除网站生成结果区的示例图,这些图片是用户等待生成时随机动态展示用的。

  • API 配置:可以添加第三方 OpenAI 兼容接口(如 Grok, DeepSeek 等)作为绘图源。OpenAI兼容模式的第三方要类型选择Grok

  • 提示词管理:可以修改现有风格的提示词、缩略图 URL,或者添加新风格,全部字段按要求填写。


:light_bulb: 避坑指南

  1. 图片无法显示?

    • 检查环境变量 R2_PUBLIC_DOMAIN 是否配置正确(要有 https://)。
    • 检查 R2 bucket 是否开启了公共开发 URL
  2. 生成失败?

    • 如果环境变量没有配置 GEMINI_API_KEY,用户可在前端点击“添加自己的 Key”填入有效 Key。
    • Gemini 官方接口有时会 503 过载,可以稍后再试。
  3. 九宫格图片不显示?

    • 去后台“提示词管理”,给每个风格填入一个有效的图片 URL ,R2存储桶中查看图片可得到URL,填入(thumbnail_url)。

:handshake: 参与贡献

如果你觉得这个项目好用,欢迎:

  1. Star 本仓库支持一下!
  2. Fork 仓库进行二创。
  3. 提交 PR 分享更多有趣的提示词风格。

Happy Generating! :artist_palette:

21 个赞

佬太强啦 :tieba_087:

1 个赞

有点意思

1 个赞

太强了,感谢大佬

1 个赞

这个gemini key是免费的还是付费的?

2 个赞

太强了,多谢

1 个赞

厉害噢 star一下

1 个赞

厉害厉害

1 个赞

感谢大佬,收藏了,是用大香蕉画图吗

1 个赞

再把 cf 提供的免费 flux 画图集成进来就更 free 了

1 个赞

付费层级的才可以出这样的图

是的,大香蕉非常惊艳~

赞~试着整合整合,试了Grok、大香蕉的匿名访问和Flow~第三方不稳定

非常感谢~

感谢大佬

1 个赞

诶~请大佬多多指点

真是太厉害了

1 个赞

哈哈,也是在努力学习