开源 AI 图像视频生成工作室 Open Generative AI 实战解析:400+ 模型、无内容过滤、可自托管
2026/9/19 21:50:24 网站建设 项目流程

开源 AI 图像视频生成工作室 Open Generative AI 实战解析:400+ 模型、无内容过滤、可自托管

【免费下载链接】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

如果你的创意被某家订阅制平台的过滤器拦下,或者你不想让 API 密钥和生成数据都留在别人服务器上,那么需要的是一个能自己掌控的生成工作台。Open Generative AI 就是这样一套开源工具:它把 Flux、Midjourney、Kling、Sora、Veo 等 400 余个文生图、图生视频、唇形同步模型聚合进 16 个"工作室"(Studio)页面,不内置内容过滤、不收订阅费,MIT 协议,可以整套搬到自己机器上。模型调用默认走 Muapi.ai 网关,桌面版还能挂 sd.cpp 和 Wan2GP 两套本地推理引擎,让一部分生成完全离线。

下面按"能做什么 → 怎么跑起来 → 本地推理怎么接 → 一次生成的请求流 → 部署与二开"的顺序拆开讲,所有路径与参数都以仓库当前源码为准。

16 个工作室:能力边界一览

先回答"它到底能干什么"。入口页面 components/StandaloneShell.js 里的TABS数组定义了全部页签,侧边栏再按 Images / Video / Audio / Agents & Automation 四类分组。你可以把它理解成一套"按工种划分的工作台",每个工作台对应一类生成任务:

工作室干什么用值得注意的细节
Image Studio文生图 + 图生图双模式50+ t2i、55+ i2i 模型,上传参考图后自动切换模型集合
Layers Studio图层化拆解图像独立页签,走decomposeLayers接口
Cinema Studio电影感镜头生成相机/镜头/焦距/光圈四个维度的参数化控制
Design Agent画布式自主设计代理动态导入组件(禁用 SSR),依赖packages/Open-AI-Design-Agent
AI Influencer虚拟人设内容创作面向持续运营同一 AI 形象
Video Studio文生视频 + 图生视频40+ t2v、60+ i2v 模型,首帧上传后切模式
AI Clipping长视频自动剪高光视频后处理场景
Motion Control视频运镜控制processMotionControl
Vibe Motion风格化动效生成偏动画向
Lip Sync音频驱动口型9 个模型,人像+音频与视频+音频两种输入
Body Swap (Recast)图像/视频中主体外观重铸processRecast
Marketing从单一输入出广告变体generateMarketingStudioAd
Audio Studio文本驱动的音乐/音频生成15+ 音频类模型
Workflow Studio节点式多步流水线模板、社区共享、Playground 运行、API 调用四合一
Agent Studio对话式多轮创作代理能规划并执行生成任务
Explore Apps基于同一模型目录的应用模板目录相当于内置用例集

三个横切能力值得单独说,因为它们决定了日常使用体验:上传历史——所有传过的参考图以"URL+缩略图"存在localStorage里,跨会话直接点缩略图复用,不用反复上传;智能控件——宽高比、分辨率、时长选项随所选模型的能力动态变化,不会给你当前模型不支持的参数;生成历史——每次产出都落在浏览器存储,可回看和重新下载。

首次运行:桌面版、源码版、容器版三条路径

按你的目标选一条路径就够,不必三个都试。

只想用,不碰代码:桌面版

仓库发布了一键安装包(macOS arm64/x64 的 DMG、Windows x64 的 NSIS 安装包),装完即用,不需要 Node 环境。需要注意的是,由于安装包未经 Apple 公证和代码签名,首次启动会被系统安全机制拦一下:

  • macOS:挂载 DMG、拖入/Applications后,打开终端执行下面这条命令清除隔离属性,再右键应用选 Open:

    xattr -cr "/Applications/Open Generative AI.app"

    不想碰终端的话,去 系统设置 → 隐私与安全性,找到"Open Generative AI 被阻止"提示,点 Open Anyway。

  • Windows:SmartScreen 告警时点 More info → Run anyway,应用会装进%LocalAppData%并生成开始菜单快捷方式。

  • Ubuntu / Linux:跑npm run electron:build:linuxrelease/目录产出 AppImage 和 .deb。老系统上 AppImage 起不来,先装libfuse2

特别注意:Ubuntu 24.04 及以后默认启用apparmor_restrict_unprivileged_userns内核策略,会卡住 Chromium 的用户命名空间沙箱,表现为应用静默退出。推荐直接装 .deb(自带 AppArmor profile);AppImage 用户可临时执行sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0,要永久生效则把kernel.apparmor_restrict_unprivileged_userns=0写入/etc/sysctl.d/99-userns.conf

想改代码:从源码构建

package.json 的setup脚本已经帮你把"子模块 + 装依赖 + 构建 workspace 包"三步串好了,关键是不能只跑npm install——packages/studio、workflow-builder、agents、design-agent 这四个 workspace 包必须先构建,否则 dev 脚本跑不起来:

# 带子模块克隆(workflow 与 agent 包依赖子模块) git clone --recurse-submodules https://gitcode.com/GitHub_Trending/ch/Open-Generative-AI cd Open-Generative-AI npm run setup # = git submodule update --init --recursive && npm install && npm run build:packages npm run electron:dev # 桌面版(Electron + Vite),推荐 # 或 npm run dev # Web 版(Next.js)→ http://localhost:3000

首次运行会提示输入 Muapi API Key;如果只打算用本地模型,这一步可以跳过。

排错:如果npm run devCouldn't find a 'pages' directory,说明 Next.js 没看到app/目录。确认你是在仓库根目录(同时有app/package.jsonnext.config.mjs的那一层)执行的命令,并且packages/Vibe-Workflow等子模块目录非空,否则重跑一次npm run setup

想上线:容器版

docker-compose.yml 只有一段服务定义,把宿主3001映射到容器内 Next.js 的3000,NODE_ENV=productionunless-stopped重启策略:

docker compose up -d --build # 构建并启动,访问 http://localhost:3001

Dockerfile 是典型的三阶段构建:deps 阶段只拷各子包的package*.json装依赖;builder 阶段执行npm run build:packagesnpm run build;runner 阶段只带.nextpublicnode_modulespackage.json四个东西,基于node:20-alpine。镜像里没有开发依赖,体积和攻击面都小。

不烧云额度的本地推理:sd.cpp 与 Wan2GP 两个引擎

这是桌面版相对 Web 版最大的独占能力:同一套 UI,底层推理可以指到你自己的 GPU 上。两个引擎互相独立,都在 Settings → Local Models 里配置。

引擎形态适合谁关键限制
sd.cpp随应用分发的 C++ 引擎,本机直接跑;Apple Silicon 走 Metal,CUDA/Vulkan/ROCm 覆盖 Linux/WindowsMac M 系列用户、纯图像场景仅图像模型
Wan2GP你自己在一台 GPU 机器上跑的 Gradio 服务器,桌面端只做 HTTP 客户端需要视频模型(Wan 2.2、Hunyuan、LTX)或大图像模型(Flux、Qwen-Image)服务器端必须 CUDA/ROCm,无 Apple Silicon 路径

本地推理只在桌面版可用,托管 Web 版永远走云端 API。

sd.cpp:模型目录、数据目录与 Metal 验证

可选模型集中在 electron/lib/modelCatalog.js,每个条目都带了默认推理参数,全部要求"公开可下载、免鉴权":

模型架构权重大小默认参数(源码内定义)
Z-Image TurboDiT2.5 GB + 2.7 GB 辅助文件8 步、guidance 1.0、euler/simple
Z-Image BaseDiT3.5 GB + 2.7 GB 辅助文件50 步、guidance 7.5
Dreamshaper 8SD 1.52.1 GB20 步、euler_a、512×512
Realistic Vision v5.1SD 1.52.1 GB25 步写实向
Anything v5SD 1.52.1 GB20 步动漫向
SDXL Base 1.0SDXL6.9 GB30 步高分辨率

Z-Image 两个模型共用两个辅助文件,源码里由ZIMAGE_AUXILIARY常量定义:Qwen3-4B 文本编码器(Qwen3-4B-Instruct-2507-UD-Q4_K_XL.gguf,2.4 GB)和 FLUX VAE(ae.safetensors,约 335 MB),只下载一次。

权重放在哪里、怎么换盘,由 electron/lib/localInferencePaths.js 的resolveLocalAiPaths()决定:默认在 Electron 用户数据目录下的local-ai/,启动前设置环境变量OPEN_GENERATIVE_AI_LOCAL_AI_DIR可以把整个目录迁到别的磁盘,应用会在其中自动建bin/models/tmp/三个子目录,Settings 页面会显示解析后的实际路径。三个平台的默认位置:

  • macOS:~/Library/Application Support/open-generative-ai/local-ai
  • Windows:%APPDATA%\open-generative-ai\local-ai
  • Linux:~/.config/open-generative-ai/local-ai

验证安装是否健康的最快办法是绕过 UI,直接驱动应用内部署的sd-cli(和 UI 用的是同一个二进制),跑一次 512×512 / 12 步推理:

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 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

Metal 加速正常时输出会打印total params memory size = 1969.78MB (VRAM 1969.78MB, RAM 0.00MB)并得到一张连贯的 PNG。如果VRAM显示0.00MB,说明 dylib 是纯 CPU 版本,用otool -L "$APP_DATA/bin/libstable-diffusion.dylib" | grep -i metal确认后回 Settings 重装引擎。

内存红线:Z-Image 建议 16 GB 内存(约 7.4 GB 权重 + 2.4 GB 计算缓冲);8 GB 的基础款 M 系列 Mac 上 Z-Image 已知会挂死系统,这类机器请只用 SD 1.5 模型。M2 上 SD 1.5 的参考速度是 Metal 生效时约 1–2 秒/步,实测 10 秒/步基本可以断定回退到了 CPU。

Wan2GP:把重活甩给局域网里的 GPU 机器

Wan2GP 的运行时(Sage attention、flash-attn、AWQ/GGUF 内核)只有 CUDA 路径,没有 MPS,所以官方思路是"服务器与客户端分离":在一台带 NVIDIA/AMD GPU 的机器上自建 Wan2GP 服务,Mac 桌面端只发提示词、收结果:

# 在 GPU 机器上 git clone https://github.com/deepbeepmeep/Wan2GP cd Wan2GP ./install.sh # Windows 用 install.bat python wgp.py --listen --server-name 0.0.0.0

然后打开桌面版 Settings → Local Models → Wan2GP server,粘贴形如http://192.168.1.42:7860的地址,点 Test 再 Save。目录见 electron/lib/wan2gpProvider.js 的WAN2GP_CATALOG:Flux.1 Dev(1024px、28 步)、Qwen Image(1024px、30 步)两个图像模型,以及 Wan 2.2(T2V/I2V)、Hunyuan Video、LTX Video 三个视频模型。

注意当前接线的边界:图像模型会出现在 Image Studio;视频模型虽经同一套生成 API 可达,但 Image Studio 会明确拒绝视频输出,完整的 Video Studio 接线在路线图里,以 README 为准。

一次生成请求的完整旅程:BYOK 密钥注入与两步轮询

理解这条链路,你才能解释"我的 key 到底发给了谁"。整条链路由三部分组成:

  1. 客户端密钥管理(components/StandaloneShell.js):Key 存localStorage(键名muapi_key),同时写一个一年有效期、SameSite=Lax的同名 cookie 供后台请求识别身份;登出时两者一起清掉。真正拦截注入发生在 axios 请求拦截器里——只有目标是相对路径或内部代理路径(/api/app/api/workflow/api/agents/api/api/api/v1)时,才把x-api-key头加上去。换句话说,S3 这类外部域名的请求根本不会带上你的密钥。
  2. 服务端代理(app/api/api/v1/[[...path]]/route.js):Next.js 路由把/api/api/v1/*转发到https://api.muapi.ai/api/v1/*cleanHeaders()会剥掉hostconnectioncookie三个头,鉴权只认x-api-key请求头——源码注释里明确标注 cookie 鉴权因 CWE-522 被移除。
  3. 网关两步协议:提交POST /api/v1/{model-endpoint},拿回request_id;轮询GET /api/v1/predictions/{request_id}/result直到状态变为completed。文件走POST /api/v1/upload_file(multipart),返回托管 URL 再喂给条件模型;多图模型则在单次请求里直接转发整个images_list数组。开发模式下 vite.config.mjs 把/api代理到api.muapi.ai以绕开 CORS。

客户端封装在 packages/studio/src/muapi.js,风格很统一:所有函数都是具名导出,apiKey固定是第一个参数,比如generateImagegenerateI2VprocessLipSyncexecuteWorkflowsendAgentChatMessage,共 90 余个函数。唇形同步、工作流、Agent 对话全部复用同一套提交-轮询骨架,这也是后面谈扩展的基础。

UI 侧还有两个容易忽略的细节:余额每 30 秒轮询一次(getUserBalance);生成完成/失败的通知存sessionStorage,12 秒过期、最多保留 3 条,所以切页签不会丢通知。

模型目录即扩展点:models.js 是单一事实来源

packages/studio/src/models.js 定义了 400+ 个模型的全部元数据(端点名、参数范围、宽高比、分辨率档位),README 按八大类给出的数量分布(经源码核对,总计 420+,另有经 Marketing/Agent/Design Agent 透出的模型):

类别数量代表模型
文生图70+Flux Dev、Nano Banana 2、Seedream 5.0、Ideogram v3、Midjourney v7、GPT-4o
图生图70+Nano Banana 2 Edit(最多 14 张参考图)、Flux Kontext Pro、Seededit v3
文生视频85+Kling v3、Sora 2、Veo 3、Wan 2.6、Seedance 2.0/Extend、Hailuo 2.3
图生视频120+Kling v2.1 I2V、Veo3 I2V、Runway I2V、Midjourney v7 I2V
视频转视频35+视频特效、AI Clipping、Vibe Motion
唇形同步15Infinite Talk I2V、Wan 2.2 Speech、LTX 2.3/19B Lipsync、LatentSync
主体重铸3图像与视频的 Recast
音频15+文生音乐、remix、音频编辑

想加一个新模型,标准动作是在这个文件里按现有条目格式补一条定义(端点、参数字段、能力开关),工作室侧的智能控件会自动根据你声明的能力渲染对应选项——不需要改 UI 代码。next.config.mjs 的transpilePackages同时列了studioai-agentworkflow-builderdesign-agent四个包,加上 package.json 里对应的workspaces声明,构成一个 npm monorepo:workflow 引擎、Agent 运行时、设计代理都是独立子包,各自有独立的构建脚本(build:workflowbuild:agentbuild:designbuild:studio),改完本地重建即可生效。

顺带一提 Cinema Studio 的参数体系,它是"参数 → 提示词修饰符"转换的样板:6 种虚拟相机(Modular 8K Digital、Full-Frame Cine Digital、Grand Format 70mm Film 等)、11 种镜头(Creative Tilt、Extreme Macro、Swirl Bokeh Portrait 等)、7 档焦距(8mm 超广角到 85mm 紧特写)、三档光圈(f/1.4 浅景深 / f/4 均衡 / f/11 深焦),所有选择最终被翻译成优化过的提示词片段发给模型。

二次开发与部署要点

给想动手改的读者一个最小改动清单:

  • 改模型:动 packages/studio/src/models.js,重建 studio 包(npm run build:studio)。
  • 改接口行为:客户端在 packages/studio/src/muapi.js;服务端代理逻辑在 app/api 下各route.js,每个路由都是"拼目标 URL → 清洗头 → 转发"的同构模式,照抄一份改前缀即可接入新后端。
  • 加本地模型:sd.cpp 侧在 electron/lib/modelCatalog.js 追加条目(注意requiresAuxiliary与辅助文件);Wan2GP 侧在 electron/lib/wan2gpProvider.js 的目录里加映射。
  • 改界面:16 个工作室组件都在 packages/studio/src/components,页面壳在 components/StandaloneShell.js,Tab 增删就是动TABSNAVIGATION_CATEGORIES两个数组。
  • 打包桌面版:npm run electron:build(macOS DMG)、:win(NSIS)、:linux(AppImage + DEB)、:all(全平台),产物落在release/。Linux 的 .deb 会在打包阶段把build/linux/apparmor.profile作为 extraFiles 带上,解决 24.04 的沙箱问题。

技术栈方面,package.json声明的是 Next 15 + React 19 + Tailwind(依赖里同时有 v3 与@tailwindcss/vitev4 的痕迹,实际以 lockfile 为准),桌面壳用 Electron 33 + Vite 5,afterPack.js 处理打包后处理,electron/lib下五个模块(localInferencelocalInferenceAssetslocalInferencePathslocalInferenceRuntimemodelCatalog等)承载全部本地推理逻辑,tests/目录里有针对路径解析与资产下载的单测。协议是MIT,自托管、商用魔改、做白标都行。

适合谁,以及边界在哪

Open Generative AI 的价值结构是"聚合层 + 自由层"分离:下层是 Muapi 统一网关加两套可选本地引擎,上层是一套可以整个抄走的 React 工作室框架——做二次开发的人可以从 StandaloneShell.js 学到"密钥只注入内网路径"的拦截器写法,从 localInferencePaths.js 学到桌面应用管理 GB 级外部资产的路径设计,从 Dockerfile 学到 monorepo 的多阶段瘦身构建。边界同样清楚:视频类模型的本地化目前只到 Wan2GP 的半接线状态,Web 版没有本地推理,云端生成依赖 Muapi 账号额度。对想拥有一个"模型够全、界面能改、数据在自己手里"的生成工作台的人来说,它的起步成本是三条命令或一个 DMG,而改造成自己的产品的成本,也就是上面那份最小改动清单的长度。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询