Low-code Front-end Design & Development Platform
시각적 빌더와 헤드리스 콘텐츠 모델링을 지원하는 프론트엔드 개발 플랫폼, 정적 사이트와 UI 개발 도구 제공
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A simplified AIGC workbench for image, 3D, and video generation.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
AIGC Studio 是给设计师和美术同学使用的 AIGC 作品网站。使用者用 GitHub 登录(优先) 或 Google / Gmail 登录,选择图片、3D、视频入口,填写文字描述,然后在个人作品库查看云端生成的结果。 提交后,任务记录会先写进数据库,再交给部署同学选定的云端生成服务。使用者重新打开网站时会检查自己的任务;两条 Vercel Cron 每天分别做任务对账与删除队列清理。作品只有成功保存到 Cloudflare R2 后,才会出现在个人作品库。 1. 配置 GitHub 与 Google / Gmail 登录 登录由 Supabase Auth 统一处理。GitHub 是页面第一入口;Google / Gmail 是备用入口,二者没有自动切换关系。README 전문 보기 ↗
AIGC Studio 是给设计师和美术同学使用的 AIGC 作品网站。使用者用 GitHub 登录(优先) 或 Google / Gmail 登录,选择图片、3D、视频入口,填写文字描述,然后在个人作品库查看云端生成的结果。
术语说明:
- AIGC:用 AI 生成图片、3D 模型、视频等内容。
- prompt:给 AI 的文字描述,例如“赛博朋克风格的狐狸角色设定图”。
- 工作流:预设好的创作方法;使用者只选名称,不需要接触底层工具。
GitHub 登录(优先)/ Google-Gmail 登录
→ 图片 / 3D / 视频三入口
→ 选择预设工作流并填写 prompt
→ 云端服务器后台生成
→ 网站检查任务状态
→ 完成作品进入个人作品库
提交后,任务记录会先写进数据库,再交给部署同学选定的云端生成服务。使用者重新打开网站时会检查自己的任务;两条 Vercel Cron 每天分别做任务对账与删除队列清理。作品只有成功保存到 Cloudflare R2 后,才会出现在个人作品库。
| 角色 | 负责什么 | 不需要做什么 |
|---|---|---|
| 部署 / 运营同学 | 配置 Supabase 登录、Vercel、R2、生成服务与后台检查 | 不把任何密钥发给普通用户 |
| 美术 / 设计使用同学 | 登录、选择入口和工作流、填写 prompt、查看作品 | 不安装底层生成工具,不配置后台参数 |
浏览器
├─ GitHub / Google 登录
│ → Supabase Auth
│ → /api/auth/callback
└─ /portal 创作工作台
├─ 图片 → 部署者选定的图片服务
├─ 3D / 视频 → fal 或 Modal Bridge(部署者选)
├─ 任务状态 → Supabase
└─ 个人作品库 → Cloudflare R2
Vercel Cron
├─ 每天 03:30 /api/jobs/reconcile 检查未完成任务
└─ 每天 04:00 /api/assets/cleanup 清理删除队列
登录由 Supabase Auth 统一处理。GitHub 是页面第一入口;Google / Gmail 是备用入口,二者没有自动切换关系。
https://studio.example.com;https://你的域名/api/auth/callback。本地开发另加 http://localhost:3000/api/auth/callback。https://<你的 Supabase Project Ref>.supabase.co/auth/v1/callback。同一个人若分别用 GitHub 和 Google 登录,Supabase 默认会把它们视为两个账号、两个作品库。团队应统一优先使用 GitHub;Google / Gmail 只作为备用登录方法。
官方说明:GitHub 登录、Google 登录、回调地址。
生产环境在 Vercel Project → Settings → Environment Variables 配置。本地可运行 bash scripts/setup-env.sh 写入 .env.local;脚本不会替你写线上变量。真实密钥不能提交到 git、截图或对话记录。
| 变量 | 用途 |
|---|---|
NEXT_PUBLIC_SITE_URL | 稳定网站地址,例如 https://studio.example.com |
NEXT_PUBLIC_SUPABASE_URL | Supabase Project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase 登录所需的公开 anon key;不是 service role key |
SUPABASE_SERVICE_ROLE_KEY | 仅服务端访问任务与作品表的密钥 |
CRON_SECRET | 每天后台检查任务的专用口令 |
R2_ACCOUNT_ID / R2_ACCESS_KEY_ID / R2_SECRET_ACCESS_KEY / R2_BUCKET | Cloudflare R2 私有作品库 |
AIGC_IMAGE_PROVIDER | 图片服务开关:modal-bridge / modal / openrouter / fal / comfyui |
AIGC_VIDEO_PROVIDER / AIGC_MODEL3D_PROVIDER | 视频 / 3D 服务开关:fal(默认)或 modal-bridge |
MODAL_BRIDGE_ENDPOINT_BASE / MODAL_BRIDGE_API_KEY / BRIDGE_DELIVERY_TOKEN_SECRET | 选 modal-bridge 时填写(comfyui_modal_bridge 的 aigc-r2 交付) |
VERCEL_AUTOMATION_BYPASS_SECRET | 可选;生产域名开 Deployment Protection 时,让 Bridge 回调内部 endpoint |
MODAL_ENDPOINT_BASE / MODAL_KEY / MODAL_SECRET | 遗留 modal 图片服务时填写 |
OPENROUTER_API_KEY / OPENROUTER_IMAGE_MODEL | 图片服务选择 OpenRouter 时填写 |
FAL_KEY | 视频/3D 默认后端;图片服务选择 fal 时也使用 |
FAL_IMAGE_ENDPOINT | 图片服务选择 fal 时填写 endpoint 路径 |
COMFYUI_BASE_URL | 图片服务选择自建 ComfyUI 时填写服务地址 |
COMFY_ORG_API_KEY | 工作流含 ComfyUI 付费 API 节点时填写;只在服务端传给 ComfyUI(Bridge 侧对应 Modal Secret 的 COMFY_API_KEY_COMFY_ORG) |
AIGC_IMAGE_PROVIDER 是部署者的快速切换开关。当前推荐顺序是 OpenRouter → fal,但它不是自动备用:切换后要重新部署,并保留旧服务的配置直到旧任务全部结束。
新建数据库在 Supabase SQL Editor 依次执行:
supabase/migrations/0001_gallery_items.sql
supabase/migrations/0002_aigc_jobs_generations_assets.sql
supabase/migrations/0003_rename_legacy_user_columns.sql
supabase/migrations/0004_aigc_job_uploads.sql
supabase/migrations/0005_finalize_job_assets.sql
supabase/migrations/0006_harden_finalize_job_assets.sql
supabase/migrations/0007_pin_workflow_job_revision.sql
supabase/migrations/0008_require_workflow_job_snapshot.sql
supabase/migrations/0009_aigc_asset_deletion.sql
supabase/migrations/0010_asset_delete_operations.sql
当前流程使用 aigc_jobs、aigc_generations、aigc_assets 三张表,以 Supabase 登录用户的 user_id 做作品归属;0004 增加上传台账,0005-0006 增加并加固原子 finalize RPC,0007-0008 固定并强制 Job workflow snapshot,0009 增加原子作品 tombstone 与 fenced R2 删除队列,0010 增加仅运维可用的死信重驱动、不可变审计与聚合 backlog。已有旧版数据库不要重新执行历史 migration;先备份,只补执行未跑过的 migration,具体滚动顺序和上线门禁见 docs/HANDOFF.md。
Cloudflare R2 是正式作品库。生成服务返回的文件会先安全地存入 R2,再进入个人作品库。图片可选 Modal、OpenRouter、fal 或自建 ComfyUI;3D 与视频使用 fal。普通使用者不会看到、更不能选择这些服务。
NEXT_PUBLIC_SITE_URL、两项 Supabase key、R2 与 CRON_SECRET。0001→0010;旧库按 docs/HANDOFF.md 的滚动顺序升级。vercel.json 有两个适配 Vercel Hobby 的每日 Cron:03:30 /api/jobs/reconcile 与 04:00 /api/assets/cleanup。| 路由 | 说明 |
|---|---|
GET /api/auth/github/login | 开始 GitHub 登录 |
GET /api/auth/google/login | 开始 Google / Gmail 登录 |
GET /api/auth/callback | 完成 Supabase 登录并进入作品门户 |
POST /api/auth/logout | 退出登录 |
POST /api/generate/image / model3d / video | 提交生成任务 |
GET /api/jobs / GET /api/jobs/[id] | 读取当前用户自己的任务与状态 |
GET /api/assets/cleanup | Cron-only 清理用户删除后的 R2 资产队列,需要 CRON_SECRET |
GET /api/library | 读取当前用户自己的个人作品库 |
DELETE /api/library/[id] | owner-only 隐藏作品并把 R2 资产送入 fenced 删除队列 |
user_id 过滤。SUPABASE_SERVICE_ROLE_KEY、R2、生成服务与 CRON_SECRET 只在服务端使用。| 状态 | 含义 |
|---|---|
| 排队中 | 已提交,等待云端服务器处理 |
| 生成中 | 云端服务器正在生成 |
| 已完成 | 作品已保存到个人作品库 |
| 失败 | 保存截图、入口类型、prompt 和时间,交给部署 / 运营同学排查 |
使用同学不需要安装或打开任何底层工具,也不需要知道服务商、密钥或后台配置。
截图和验收材料统一放在:/workspace/documents/screenshot。