openjourney

ammaarreshiMIT长期未更新

复刻 MidJourney 网页交互体验的开源界面,接入 Google Gemini SDK,用 Imagen 4 生成图片、Veo 2/3 生成带音频的视频。

Open-source clone of the MidJourney web interface featuring real AI image and video generation powered by Google's Gemini SDK. Use Imagen 4 to generate images and Veo 2 and 3 for image and text to video with audio.

暂无版本272star71fork同步于 2026-11-07 07:30 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/your-username/openjourney.git
cd openjourney/openjourney-app
npm install
# 在 .env.local 写入 GOOGLE_AI_API_KEY=your_google_ai_api_key_here
npm run dev
硬件要求按 README 说明

README 未说明本地硬件要求,生成全部走 Google Gemini API 云端;本地只需能跑 Node.js 18+(推荐 20+)的环境

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

复刻 MidJourney 网页界面的开源项目,用 Google Gemini SDK 真实生成图片和视频

复刻 MidJourney 网页交互体验的开源界面,接入 Google Gemini SDK,用 Imagen 4 生成图片、Veo 2/3 生成带音频的视频。

核心能力

  • 用 Imagen 4 一次生成 4 张 1024x1024 图片
  • 用 Veo 3 做带音频的文本生成视频
  • 用 Veo 2 把静态图片一键转成动画视频
  • 提供 4 图网格、2x2 视频网格和胶片条切换浏览
  • 支持下载、全屏灯箱和悬停自动播放

容易踩的坑

必须先在 Google AI Studio 申请 API Key 并写入 .env.local,否则无法生成;视频生成耗时约 30-60 秒,不要误以为卡死;README 里 Imagen 4 一节标注的模型名是 imagen-3.0-generate-001,与标题不一致,接入时需自行确认

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Openjourney - MidJourney UI clone

    A high-fidelity, open-source clone of the MidJourney web interface built with Next.js 15, featuring real AI image and video generation powered by Google's Gemini SDK. Use Imagen 4 to generate images and Veo 2 and 3 for image and text to video with audio.

    OR extend and bring your favorite models to the same experience.

    openjourney-ui

    ✨ Features

    🎨 AI Image Generation

    • Imagen 4 integration for high-quality image generation
    • 4-image grid layout matching MidJourney's design
    • Real-time generation with loading animations

    🎬 AI Video Generation

    • Veo 3 text-to-video generation
    • Veo 2 image-to-video conversion
    • 2x2 video grid with autoplay on hover

    🚀 Interactive features

    • Download generated images and videos
    • Image-to-video conversion with one click
    • Hover animations and professional transitions
    • Real-time loading states with skeleton animations
    • Film strip navigation to easily flip through your gneerations

    🛠️ Tech Stack

    • Next.js 15 with App Router and Turbopack
    • TypeScript for type safety
    • Tailwind CSS v4 for styling
    • Framer Motion for animations
    • ShadCN UI components
    • Google GenAI SDK for AI generation
    • Radix UI for accessible components

    📋 Prerequisites

    • Node.js 18+ (20+ recommended)
    • npm or yarn
    • Google AI API Key (free tier available)

    🚀 Quick Start

    1. Clone & Install

    git clone https://github.com/your-username/openjourney.git
    cd openjourney/openjourney-app
    npm install
    

    2. Environment Setup

    Create .env.local:

    GOOGLE_AI_API_KEY=your_google_ai_api_key_here
    

    Get your API key:

    1. Visit Google AI Studio
    2. Create a new project or select existing
    3. Generate an API key
    4. Copy and paste into .env.local

    3. Development Server

    npm run dev
    

    Open http://localhost:3000 to view the app.

    🎯 Usage Guide

    Generating Images

    1. Type your prompt in the input bar
    2. Click "Image" button or press Enter
    3. Watch 4 high-quality images generate in real-time
    4. Hover to Download, Expand, or Animate with Veo 2

    Generating Videos

    1. Type your video prompt
    2. Click "Video" button
    3. Watch videos generate (takes 30-60 seconds)
    4. Hover over video row to autoplay both videos

    Image-to-Video Conversion

    1. Generate or use sample images
    2. Hover over any image
    3. Click "Animate with Veo 2"
    4. Watch as image becomes animated video

    Viewing & Downloading

    1. Expand - Click to view in fullscreen lightbox
    2. Download - Save images/videos locally
    3. Navigation - Use arrow keys or or scroll in full screen mode

    🏗️ Project Structure

    openjourney-app/
    ├── src/
    │   ├── app/
    │   │   ├── api/                 # API routes for AI generation
    │   │   │   ├── generate-images/ # Imagen 4 integration
    │   │   │   ├── generate-videos/ # Veo 3 text-to-video
    │   │   │   └── image-to-video/  # Veo 2 image-to-video
    │   │   ├── globals.css          # Global styles
    │   │   ├── layout.tsx           # Root layout
    │   │   └── page.tsx             # Main page component
    │   ├── components/
    │   │   ├── ui/                  # ShadCN UI components
    │   │   ├── prompt-bar.tsx       # Prompt input with logo
    │   │   ├── content-grid.tsx     # Generation management
    │   │   ├── image-grid.tsx       # 4-image display grid
    │   │   ├── video-grid.tsx       # 2x2 video display
    │   │   ├── loading-grid.tsx     # Skeleton loading states
    │   │   └── lightbox-modal.tsx   # Fullscreen viewer
    │   └── lib/
    │       └── utils.ts             # Utility functions
    ├── public/
    │   ├── openjourney-logo.svg     # Brand logo
    │   ├── sample-images/           # Demo images
    │   └── sample-videos/           # Demo videos
    ├── next.config.js               # Next.js configuration
    ├── tailwind.config.ts           # Tailwind configuration
    └── package.json                 # Dependencies
    

    🎨 AI Models Used

    Imagen 4 (Image Generation)

    • Model: imagen-3.0-generate-001
    • Output: 4 high-quality 1024x1024 images
    • Format: Base64 encoded PNG

    Veo 3 (Text-to-Video)

    • Model: veo-3
    • Output: High quality video generation with audio
    • Duration: ~3-5 seconds, 720p

    Veo 2 (Image-to-Video)

    • Model: veo-2.0-generate-001 with image input
    • Input: Base64 image + text prompt
    • Output: Animated video from static image

    🔧 Configuration

    Image Domains (next.config.js)

    images: {
      remotePatterns: [
        {
          protocol: 'https',
          hostname: 'picsum.photos', // For placeholder images
        },
      ],
    }
    

    🚀 Deployment

    Vercel (Recommended)

    npm run build
    npx vercel --prod
    

    Docker

    docker build -t openjourney .
    docker run -p 3000:3000 openjourney
    

    Environment Variables

    Make sure to set GOOGLE_AI_API_KEY in your deployment platform or you can enter your key in the app.

    🤝 Contributing

    1. Fork the repository
    2. Create feature branch: git checkout -b feature/amazing-feature
    3. Commit changes: git commit -m 'Add amazing feature'
    4. Push to branch: git push origin feature/amazing-feature
    5. Open a Pull Request

    📝 License

    This project is licensed under the MIT License - see the LICENSE file for details.

    🙏 Acknowledgments

    • MidJourney for the original interface inspiration
    • Google Gemini API for the powerful generation models
    • Vercel for Next.js and deployment platform
    • ShadCN for the beautiful UI components

    Follow for more!