Open Generative AI 完整指南:600+ 模型的免费自托管 AI 图像与视频生成工作室
【免费下载链接】Open-Generative-AIUnrestricted Open-source alternative to AI video platforms — Free AI image & video generation studio with 600+ models (Flux, Midjourney, Kling, Sora, Veo). No content filters. Self-hosted, MIT licensed.项目地址: https://gitcode.com/GitHub_Trending/ch/Open-Generative-AI
Open Generative AI 是一个 MIT 许可的开源自托管生成式 AI 工作室:用一套界面聚合 600+ 个图像与视频模型(Flux、Midjourney、Kling、Sora、Veo 均在目录内),内置 16 个创作工作室,不做内容过滤,Web、桌面、Docker 三种形态任选。桌面版还额外内置 sd.cpp 与 Wan2GP 两套本地推理引擎,不花一分钱 API 钱也能出图。本文按"先跑起来、再玩功能、后读源码"的顺序讲透安装、核心玩法、本地推理配置与二次开发入口。
三种方式跑起来:先对比再动手
结论:只想要桌面出图体验选预编译安装包,想贡献代码选源码,要长期服务选 Docker。三条路径共用同一套工作室界面,差别在运行位置、依赖成本和能不能跑本地推理。
| 维度 | 源码 Web 版 | 桌面版(Electron 2.0.0) | Docker 自托管 |
|---|---|---|---|
| 本地推理(sd.cpp / Wan2GP) | 无,始终走云端 API | 有,Settings → Local Models 配置 | 无(容器内无 GPU 上下文) |
| 依赖 | Node.js v18+,需构建工作区 | 零依赖,下载安装包即可 | 只需 Docker |
| 数据位置 | 浏览器 localStorage | 本机应用数据目录 | 你自己机器的容器里 |
| 适合谁 | 贡献者、想改 UI 的人 | 创作者,尤其想零 API Key 本地出图 | 需要多设备访问、可审计的团队 |
桌面版:唯一能本地推理的形态
从 Releases 下载 2.0.0 对应系统的安装包:macOS 有 Apple Silicon(arm64)与 Intel(x64)两个 DMG,Windows 是 x64 的.exe,Linux 提供.AppImage和.deb。全程不需要 Node.js。
⚠️ 两个平台都会触发安全拦截,处理方式如下:
- macOS 首次启动被 Gatekeeper 拦截(应用未经 Apple 公证):把应用拖进
/Applications后,在 Terminal 执行xattr -cr "/Applications/Open Generative AI.app"清除隔离属性,再右键应用选 Open。嫌麻烦也可以打开后去 系统设置 → 隐私与安全性 点 "Open Anyway"。只需做一次。 - Windows SmartScreen 黄色警告(安装包未做代码签名):点 More info → Run anyway,应用会静默装到
%LocalAppData%并建好开始菜单快捷方式。 - Ubuntu 24.04+ 上 AppImage 静默崩溃:新版内核的
apparmor_restrict_unprivileged_userns策略会挡住 Chromium 沙箱。推荐直接装.deb(包内自带 AppArmor profile);坚持用 AppImage 则临时执行sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0(重启失效,需写入/etc/sysctl.d/99-userns.conf才永久)。
源码 Web 版:一条 setup 命令省掉多数坑
需要 Node.js v18+ 和一个 Muapi.ai access key(把 key 的值粘进应用,别填 key 的名称;只用本地模型可跳过)。克隆时必须带子模块参数,否则 workflow 与 agent 两个工作区包是空的:
git clone --recurse-submodules https://gitcode.com/GitHub_Trending/ch/Open-Generative-AI cd Open-Generative-AI && npm run setupnpm run setup实际执行三件事(见 package.json 的 scripts):git submodule update --init --recursive+npm install+ 构建全部 workspace 包。只跑npm install不够,子包不构建后面两个启动脚本都会报错。然后二选一:
npm run electron:dev # 桌面开发版(Electron + Vite) npm run dev # Web 版(Next.js),访问 http://localhost:3000⚠️症状:npm run dev报 "Couldn't find a 'pages' directory"。原因:Next.js 找不到app/目录,通常是没在仓库根目录执行,或子模块没拉全。修法:确认你在含app/、package.json、next.config.mjs的那一层;若packages/Vibe-Workflow或 agents 包为空,重跑一遍npm run setup。
Docker:一条命令起长期服务
docker-compose.yml 把宿主3001映射到容器内3000,NODE_ENV=production、restart: unless-stopped,docker compose up -d后访问http://localhost:3001。Dockerfile 是多阶段构建:先只拷各 workspace 子包的package*.json装依赖,再构建子包与 Next.js,最终运行阶段基于node:22-alpine只拷.next、public、node_modules,镜像里不含开发依赖。
第一张图与第一条视频:双模式是怎么切档的
出图:上传参考图会自动换一套模型,不用你切模式
Image Studio 的核心机制是自动双模式切换:不上传参考图时是文生图(50+ 个 t2i 模型,Flux、Nano Banana 2、Seedream 5.0、Midjourney 等,提示词必填);一旦上传参考图,模型集合自动换成 55+ 个图生图/编辑模型(Kontext、Nano Banana 2 Edit、Seedream 5.0 Edit 等),提示词变为可选。
选中支持多图输入的编辑模型时,上传入口切成多选:带顺序编号的复选框(图片按你勾选的顺序发给模型)、批量上传、剩余槽位+徽标,最后点 "Use Selected" 确认。各模型上限不同——Nano Banana 2 Edit 收 14 张,Nano Banana Edit、Flux Kontext Dev I2I、GPT-4o Edit 各收 10 张,Flux 2 Flex/Pro Edit 收 8 张,Vidu Q2 收 7 张,Flux Kontext Pro/Max I2I 只收 2 张。历史上传过的图以缩略图存在localStorage(三列网格),跨会话直接点选复用,不用重复上传。
出视频:同一套切换逻辑,控件随模型能力显隐
Video Studio 默认文生视频(40+ 个 t2v 模型:Kling、Sora、Veo、Wan、Seedance 2.0、Hailuo、Runway),上传首帧后切换到 60+ 个图生视频模型。宽高比、时长、质量控件会随所选模型动态显隐。以 Seedance 2.0 为例:4 种宽高比、5/10/15 秒三档时长、basic/high 两档质量;Seedance 2.0 Extend 还能续接既有生成,保留风格、运动与音频。生成历史存在浏览器存储里,可回看、可一键重下。
让人像说话:Lip Sync 两条输入路线
Lip Sync Studio 有 9 个专用模型,操作固定五步:切模式 → 传图或传视频 → 传音频 → 可选填提示词引导动作风格 → 选模型与分辨率点 Generate。
| 模式 | 输入 | 模型与分辨率 |
|---|---|---|
| Portrait Image(默认) | 人像图 + 音频 | Infinite Talk、Wan 2.2 Speech to Video(480p/720p)、LTX 2.3 Lipsync、LTX 2 19B Lipsync(最高 1080p) |
| Video | 既有视频 + 音频 | Sync、LatentSync、Creatify、Veed、Infinite Talk V2V(480p/720p) |
唇形同步的历史独立存在lipsync_history键里,页面刷新后挂起的任务会自动恢复。
把创作变成流水线:Workflow、Agent 与 Cinema 三个方向
- Workflow Studio:节点式可视化编辑器把图像/视频/音频模型连成多步流水线。可从预置模板起步、保存"我的工作流"、浏览社区共享流;Playground 表单可交互运行,每个工作流还能通过 Muapi API 调用——适合把重复创作固化成管道。
- Agent Studio:多轮对话式创意代理,用对话规划并执行生成任务,不用自己一步步点按钮。Design Agent Studio 则提供画布式的自主设计代理。
- Cinema Studio:把虚拟相机参数翻译成优化过的提示词修饰符——6 款相机(Modular 8K Digital、Full-Frame Cine Digital、Grand Format 70mm Film 等)、11 款镜头(Swirl Bokeh Portrait、Halation Diffusion、70s Cinema Prime 等)、焦距从 8mm 超广角到 85mm 特写、光圈三档 f/1.4 / f/4 / f/11。想要"电影感"但不想手写长提示词,用这个最直接。
- Marketing Studio:从单一输入生成广告/营销创意变体,一次出多个版本。Body Swap(Recast)做图像/视频中的人体重铸,AI Influencer 用于维持风格一致的虚拟人内容。
本地推理:sd.cpp 与 Wan2GP 的分工、配置与验证
本地推理只在桌面版可用,在 Settings → Local Models 里分别配置两套互相独立的引擎。托管 Web 版与 Docker 形态永远走云端 API。
| 引擎 | 本质 | 硬件门槛 | 能跑什么 |
|---|---|---|---|
| sd.cpp(内置) | stable-diffusion.cpp 的 C++ 引擎,与应用同机运行;Apple Silicon 走 Metal GPU,Linux/Windows 支持 CUDA/Vulkan/ROCm | 全平台可纯 CPU 跑;Z-Image 建议 16 GB 内存 | 纯图像模型:SD 1.5(Dreamshaper 8、Realistic Vision v5.1、Anything v5,各约 2.1 GB)、SDXL Base 1.0(6.9 GB)、Z-Image Turbo/Base |
| Wan2GP(自装) | 指向你自己部署的 Wan2GP 的客户端;服务器端 Python + PyTorch | 服务器需 NVIDIA/AMD GPU(CUDA 或 ROCm);桌面端本身可以就是台 Mac | 视频模型(Wan 2.1/2.2、Hunyuan、LTX-2)与大型图像模型(Flux.1 Dev、Qwen Image 20B) |
sd.cpp 用法:Settings → Local Models 一键安装引擎(自动下载)→ 下载模型 → 在 Image Studio 模型选择器旁点 ⚡ Local 开关 → 选本地模型生成,不需要 API Key。Z-Image 两个模型共享两个只下载一次的辅助文件:Qwen3-4B 文本编码器(2.4 GB)与 FLUX VAE(335 MB)。
⚠️硬件红线:8 GB 的基础款 M 系列 Mac 上 Z-Image 已知会挂起系统,请选 SD 1.5。SD 1.5 在 M2 上 Metal 生效时约 1–2 秒/步;若实测约 10 秒/步,说明二进制回退到了 CPU。
引擎、权重与临时文件默认存在 Electron 应用数据目录(macOS 为~/Library/Application Support/open-generative-ai/local-ai,Windows 为%APPDATA%\open-generative-ai\local-ai,Linux 为~/.config/open-generative-ai/local-ai)。数 GB 权重想放别的盘,启动前设置环境变量OPEN_GENERATIVE_AI_LOCAL_AI_DIR,应用会在那下面自动建bin/、models/、tmp/三个子目录,Settings 里会显示解析后的路径。解析逻辑见 electron/lib/localInferencePaths.js。需要引擎日志时,从 Terminal 或 PowerShell 启动应用即可在控制台看到下载与推理输出。
Mac 最快验证法:绕过 UI 直接驱动 sd-cli
应用调用的就是sd-cli这个二进制,直接命令行跑一次是最快的健康检查。先确认目录布局:
APP_DATA="${OPEN_GENERATIVE_AI_LOCAL_AI_DIR:-$HOME/Library/Application Support/open-generative-ai/local-ai}" ls "$APP_DATA/bin" # 应有 sd-cli 与 libstable-diffusion.dylib ls "$APP_DATA/models" # 已下载的模型手动放一个约 2 GB 的 SD 1.5 模型进去做对照,再跑一次 512×512、12 步推理:
curl -L --fail --progress-bar \ -o "$APP_DATA/models/DreamShaper_8_pruned.safetensors" \ "https://huggingface.co/Lykon/DreamShaper/resolve/main/DreamShaper_8_pruned.safetensors" DYLD_LIBRARY_PATH="$APP_DATA/bin" "$APP_DATA/bin/sd-cli" \ -m "$APP_DATA/models/DreamShaper_8_pruned.safetensors" \ -p "a serene mountain lake at sunrise, oil painting" \ -o /tmp/sd15-test.png \ --steps 12 -H 512 -W 512 --cfg-scale 7.5 --seed 42 \ --sampling-method euler_a健康的 Apple Silicon 运行会打印total params memory size = 1969.78MB (VRAM 1969.78MB, RAM 0.00MB)(Metal 后端)并产出一张连贯 PNG。如果VRAM显示0.00MB,说明动态库是纯 CPU 版——用otool -L "$APP_DATA/bin/libstable-diffusion.dylib" | grep -i metal检查,缺 Metal 就在 Settings → Local Models 重装引擎。
Wan2GP:为什么官方推荐"Mac 当 UI + 局域网 GPU 机器当算力"
应用不内置Wan2GP 的 Python 运行时和权重。Wan2GP 的注意力与量化内核(Sage attention、flash-attn、AWQ/GGUF)只支持 CUDA/ROCm,没有 Apple Silicon 路径——这就是它被拆成远程服务器的原因。两种接法:
- 同机:Settings → Local Models → Wan2GP 填 Wan2GP 安装目录(Python 默认
<目录>/venv/bin/python),点 Save 再 Check,它会对一个测试任务跑wgp.py --dry-run。每次生成都走 Wan2GP 的无头 CLI,权重首次用到时自动下载并在进度条可见。 - 另一台机器:在 GPU 机器上启动 Wan2GP 的 MCP 服务,把 URL(如
http://192.168.1.42:7866/mcp)填进同一面板。注意 Gradio Web UI 的 7860 端口不是 API,不能填这个。
⚠️--mcp-host 0.0.0.0只应在受信网络使用,非受信网络按 Wan2GP 的认证文档配 OAuth/HTTPS。接好之后,在 Video Studio 切到 ⚡ Local 选模型即可;你 Wan2GP 版本里没有的模型会列出原因,权重未下载的会标出来。
读懂这套架构:三个文件看懂数据与密钥怎么流动
整个项目是一个 Next.js 15(App Router)monorepo,package.json声明了 4 个 npm workspace:packages/studio、workflow-builder、agents、design-agent。所有工作室 UI 集中在共享组件库 packages/studio,Next.js 页面层(app/studio/[[...slug]]/page.js)只干一件事:渲染 components/StandaloneShell.js。想改源码,认准下面三个位置:
- packages/studio/src/models.js:模型目录的单一事实来源。这个 3.5 万行的文件导出
t2iModels、t2vModels、i2iModels、i2vModels、v2vModels、lipsyncModels六组数组,每个模型带id、endpoint(映射到 API 路径)、输入 schema(宽高比/分辨率/时长的 enum 与默认值)。这份库同时被自托管应用与托管版消费——在这里加一个模型,两边同步生效,改模型只改这一个文件。 - 两步式 API:与 Muapi 网关的通信只有两步——先
POST /api/v1/{model-endpoint}提交提示词与参数拿到request_id,再GET /api/v1/predictions/{request_id}/result轮询到状态completed。认证统一走x-api-key头。文件上传走POST /api/v1/upload_file(multipart),返回托管 URL 供图像条件模型使用;多图模型把完整images_list数组放在单次请求里转发。唇形同步复用同一模式,由processLipSync()接受image_url或video_url加audio_url。 - 密钥的流通链路:API Key 存在浏览器
localStorage(键名muapi_key),保存时同时写入一年有效期、SameSite=Lax的同名 cookie。components/StandaloneShell.js 里的 Axios 拦截器有选择地只把x-api-key注入相对路径或内部代理路径(/api/app、/api/workflow、/api/agents、/api/api、/api/v1)的请求,避免把密钥发给 S3 之类的外部域名。服务端那一层,app/api/api/v1/[[...path]]/route.js 的cleanHeaders()会剥离host、connection、cookie等敏感头再转发到api.muapi.ai,且 cookie 鉴权已被移除(注释标注 CWE-522 安全修复)——读这个文件是理解 Next.js 如何安全地代理第三方 API 的好教材。
成本与边界:钱、硬件、许可各是什么范围
- 费用:应用本身免费(MIT 协议),可自托管、修改、商用、再分发。但云端模型生成依赖 Muapi.ai 网关,需自备 access key 并遵守其条款;本地推理路径(sd.cpp)不依赖任何云端服务,完全离线出图。
- 硬件:sd.cpp 全平台可纯 CPU 运行,Z-Image 建议 16 GB 内存(7.4 GB 权重 + 2.4 GB 计算缓冲),8 GB Mac 会挂起;Wan2GP 侧需要一台 CUDA/ROCm GPU 机器,Wan 2.1 1.3B 是最轻的本地视频模型(480p,约 8 GB 显存)。
- 许可边界:MIT 只覆盖应用代码。模型权重与 Muapi.ai API 是外部资产,各自的许可与条款独立于本仓库;"无内容过滤"是产品策略,法律与平台责任由使用者自行承担。
- 托管版差异:官方托管 Web 版与自托管版共用同一份
packages/studio模型库,模型更新两边同步,但托管版没有本地推理,且数据在对方环境。
谁该用,谁不必用
需要数据自主、想用 sd.cpp 或 Wan2GP 做零 API Key 的本地推理、或打算在 600+ 模型目录和这套 Next.js 代理架构上做二次开发(自托管产品、教学、集成)的人,这个仓库值得花时间——桌面版 + Mac + 局域网 GPU 机器是目前覆盖效果最全的组合。反之,如果你只是偶尔出图出视频、能接受云端 API 与托管环境,直接在线试用就够了,不必为它搭任何环境。
【免费下载链接】Open-Generative-AIUnrestricted Open-source alternative to AI video platforms — Free AI image & video generation studio with 600+ models (Flux, Midjourney, Kling, Sora, Veo). No content filters. Self-hosted, MIT licensed.项目地址: https://gitcode.com/GitHub_Trending/ch/Open-Generative-AI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考