openjourney
MidJourney 风格的开源 AI 生图/视频 Web UI,通过 Google Imagen
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
MidJourney 风格的开源 AI 生图/视频 Web UI,通过 Google Imagen
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否曾经羡慕 MidJourney 用户那张精致的网页界面——四宫格实时预览、流光加载动画、悬停即弹出操作菜单——却因为需要付费订阅而望而却步?Openjourney 正是来解决这个痛点的:它是一个高保真还原 MidJourney 网页体验的开源项目,用户无需支付任何费用,就能通过 Google 的 Imagen 4 和 Veo 模型,在浏览器里生成 AI 图像和视频。
生成式 AI 在 2024-2025 年迎来爆发式增长,MidJourney、Stable Diffusion、DALL-E 等图像生成工具家喻户晓。然而大多数开源项目往往只关注模型本身,配套的 Web 界面简陋、交互体验差,很多 AI 爱好者被迫在"好用但付费"和"免费但难用"之间做选择。
开发者 ammaarreshi 敏锐地捕捉到这个需求——与其从头训练模型,不如围绕 Google 的 Gemini SDK 生态打造一个体验一流的 Web 前端。他选择了 Next.js 15 作为技术底座,复刻了 MidJourney 的核心交互范式,并在 2025 年中将其开源。凭借精准的定位,项目在 GitHub 上迅速获得关注。
Openjourney 绝不是一个简单的图生文工具。它集成了三大 Google AI 能力,形成完整的创作工作流:
图像生成(Imagen 4):输入文字 prompt,系统调用 Google Imagen 4 模型,一次性返回 4 张高质量 1024x1024 图像,以四宫格布局展示——与 MidJourney 完全一致的视觉逻辑。加载过程中显示骨架屏动画,用户可以实时看到生成进度。
文生视频(Veo 3):输入视频 prompt,调用 Veo 3 模型生成 3-5 秒、720p 的高质量视频,支持音频输出。后端以 10 秒为间隔轮询任务状态,最长等待 10 分钟,最终返回视频 URI 和访问链接。
图生视频(Veo 2):生成或上传一张静态图像,配合文字 prompt,调用 Veo 2 将图像"动起来"。这个功能特别适合将 AI 生成的艺术作品转化为动态短片。
交互体验:悬停在任意图像上,会弹出「Download」「Expand(灯箱全屏查看)」「Animate with Veo 2(图生视频)」三个操作按钮,丝滑的 Framer Motion 过渡动画贯穿整个交互过程。
从代码结构看,这是一个标准的 Next.js 15 App Router 项目,采用前后端一体架构,所有 AI 调用通过 Server Action / API Routes 封装为 REST 接口。三个核心 API Route 分别是:generate-images(Imagen 4 调用,返回 Base64 编码的 PNG 图像列表)、generate-videos(Veo 3 文生视频,含最长 10 分钟的轮询等待)、image-to-video(Veo 2 图生视频,接收 Base64 图像字节和 prompt)。
API Key 的设计颇为巧妙:优先读取用户在前端弹窗中输入的临时 Key,若未填写则回退到服务端 GOOGLE_AI_API_KEY 环境变量。部署者可以将自己的 Key 写入服务器环境变量,用户也可以自备 Key 灵活使用。
前端组件分层清晰:page.tsx 作为根组件持有生成器回调状态,通过 PromptBar 接收用户输入,分发给 ContentGrid 管理生成结果展示。image-grid.tsx 和 video-grid.tsx 分别处理图像四宫格和视频 2x2 布局,lightbox-modal.tsx 提供全屏查看能力。UI 组件全部来自 ShadCN/Radix UI,确保了无障碍访问和一致的视觉风格。样式层使用 Tailwind CSS v4,动画层由 Framer Motion 驱动。
Openjourney 的部署极为简单。它无需 GPU——所有 AI 推理都发生在 Google 云端,用户服务器只承担 Web 前端职责。依赖项通过 npm install 一键安装,npm run dev 即可本地启动,开发体验友好。README 明确支持 Vercel 一键部署,这是 Next.js 项目的最佳实践。唯一的部署门槛是申请一个 Google AI API Key(免费额度足够个人使用)。由于没有 Dockerfile 和 docker-compose,无法通过容器化一键部署,但 Web 应用的部署本身足够轻量。
需要正视几个现实问题:视频生成依赖 Google 云端 API,国内用户访问 Google AI Studio 申请 Key 可能遇到网络障碍;视频生成耗时 30-60 秒,长轮询机制对服务端资源有一定占用,生产环境建议改用 Webhook 回调;没有自定义模型接入能力,目前完全绑定 Google 生态。
Openjourney 代表了一个趋势:将闭源 AI 服务的优质体验以开源方式复现,让更多人以零成本接触最新 AI 能力。它没有追求"更好的模型",而是在"更好的界面"上做到极致。对于想学习 AI Web 应用开发或 Tailwind CSS / Framer Motion 动画实现的开发者,这个项目的代码也是极佳的学习素材。