๐ŸŒ AI Travel Studio

August 2, 2026 ยท View on GitHub

Place yourself into iconic travel destinations worldwide with photorealistic AI in seconds. A production-ready, self-hostable Next.js SaaS boilerplate with destination scene presets (Paris, Kyoto, Maldives, Colosseum), webhook-backed async delivery, and built-in Stripe billing. A free open-source alternative to Teleport AI and Picsart โ€” powered by the MuAPI AI engine.

Tech stack: Next.js 14 (App Router) ยท Prisma ยท PostgreSQL ยท NextAuth (Google OAuth) ยท Stripe ยท Tailwind CSS ยท MuAPI nano-banana-2-edit ยท Webhook-backed async delivery Use cases: Travel content creators ยท Social media influencers ยท Virtual tourism ยท Holiday gift photos ยท Personalized travel keepsakes ยท Event marketing ยท Tourism brand promotions ยท Photo gifting apps

FutureTravel AI Interface

Awesome Generative AI Apps

๐ŸŽจ Explore 50+ more open-source AI apps โ†’

https://github.com/user-attachments/assets/9fa1782c-2c27-4797-8c53-49a01d5d8cdf

๐ŸŒ Project Details

GitHub Repository: github.com/SamurAIGPT/ai-travel-studio

Live Demo: ai-travel-studio.vercel.app


FutureTravel AI is a premium SaaS web application that places users in gorgeous global landmarks using advanced deep learning. Users upload a photo, select standard vs pro models, configure target resolutions and aspect ratios, and interactively compare before/after images using a drag slider.

โœจ Core Features

๐ŸŒ AI Travel Studio (Main Page /)

  • Upload portrait selfie via drag-and-drop or file selector
  • Fully interactive guest preview mode allowing unauthenticated users to explore settings, presets, and sliders, immediately prompting OAuth sign-in only when action triggers are clicked.
  • Dual AI Models:
    • Standard (nano-banana-2-edit): Fast generation with Google concept search tuning.
    • Pro (nano-banana-pro-edit): High-fidelity enhanced predictions with detailed facial structure modeling.
  • 12 Landmark Presets with pre-filled prompts and absolute location indicators directly on the image:
    • ๐Ÿ—ผ Paris (Eiffel Tower) โ€” Sunset golden hour view in front of the Eiffel Tower.
    • ๐ŸŒธ Tokyo (Cherry Blossoms) โ€” Kyoto/Tokyo streets lined with blooming cherry blossoms.
    • ๐ŸŸ๏ธ Rome (Colosseum) โ€” Sunny morning blogger posture before the historic amphitheater.
    • ๐Ÿ๏ธ Maldives (Sandy Beach) โ€” Pristine white sands and crystal clear turquoise ocean background.
    • ๐Ÿซ Egypt (Pyramids) โ€” Adventurous desert dunes alongside the Pyramids of Giza.
    • โ„๏ธ Swiss Alps (Snow Mountains) โ€” Cozy winter mountains and snow peaks in Zermatt.
    • ๐Ÿ™๏ธ New York (Times Square) โ€” Vibrant city night life surrounded by glowing billboards.
    • ๐Ÿ•Œ Agra (Taj Mahal) โ€” Pastel sunrise reflection over the white marble wonder.
    • โ›ต Sydney (Opera House) โ€” Sunny harbour snapshot at the iconic Circular Quay.
    • ๐Ÿ•ฐ๏ธ London (Big Ben) โ€” Classic double-decker bus passing along Westminster bridge.
    • ๐ŸŒฟ Bali (Jungle Waterfall) โ€” Vibrant tropical jungle streams and mist adventure.
    • ๐Ÿ›ถ Venice (Gondola Canal) โ€” Romantic gondola ride floating by pastel buildings.
  • Dynamic Variable Pricing based on Model and Resolution:
    • Standard Model (v2 Edit):
      • 1K Resolution: 12 credits
      • 2K Resolution: 18 credits
      • 4K Resolution: 24 credits
    • Pro Model (Enhanced):
      • 1K & 2K Resolution: 24 credits
      • 4K Resolution: 36 credits
  • Draggable Before/After vertical split comparison slider to reveal portrait travel swaps.
  • Responsive CSS grid of completed travel photos.
  • Detail view modal with full Before/After draggable comparison slider.
  • Server-side CORS-bypass download proxy (HD download).
  • Auto-refresh gallery every 4 seconds to poll processing generations.

๐Ÿ’ณ Stripe Credit Billing (/pricing)

  • Four one-time credit packs (no subscriptions):
    • Basic Pack ($5 / 1,000 credits โ€” ~83 standard runs)
    • Standard Pack ($10 / 2,000 credits โ€” ~166 standard runs)
    • Professional Pack ($20 / 4,000 credits โ€” ~333 standard runs โ€” Best Value)
    • Business Pack ($50 / 10,000 credits โ€” ~833 standard runs)

๐Ÿ” Google Auth & live balance syncing

  • NextAuth Google Provider with Prisma PostgreSQL adapter.
  • Pulse credit balances display in Navbar.

โšก Deployment: Vercel & Production

Deploy with Vercel

๐Ÿ”‘ Required Environment Variables

ServiceVariableDescription
DatabaseDATABASE_URLPostgreSQL connection string (Supabase pooled connection)
DIRECT_URLDirect PostgreSQL connection string
NextAuthNEXTAUTH_SECRETSecure random string via openssl rand -base64 32
NEXTAUTH_URLYour production domain
WEBHOOK_URLPublic URL for MuAPI async callbacks
Google OAuthGOOGLE_CLIENT_IDGoogle Cloud Console OAuth
GOOGLE_CLIENT_SECRETGoogle Cloud Console OAuth
StripeSTRIPE_SECRET_KEYStripe Secret Key
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEYStripe Publishable Key
STRIPE_WEBHOOK_SECRETWebhook signing secret
AIMUAPIAPP_API_KEYGet from muapi.ai

๐Ÿš€ Production Deployment Setup

  1. Database: Spin up a PostgreSQL instance.
  2. Import: Import the forked repo into Vercel.
  3. Environment: Add all required env keys listed above.
  4. Build Script: Project builds automatically using prisma generate && next build.
  5. Database sync: Run npx prisma db push to generate tables.
  6. Callbacks:
    • Google: https://ai-travel-studio.vercel.app/api/auth/callback/google
    • Stripe Webhook: https://ai-travel-studio.vercel.app/api/stripe/webhook
    • MuAPI: https://ai-travel-studio.vercel.app/api/webhook/muapi

๐Ÿ› ๏ธ Local Development

Prerequisites

  • Node.js v18+
  • PostgreSQL connection string

Steps

# 1. Clone the repository
git clone https://github.com/SamurAIGPT/ai-travel-studio
cd ai-travel-studio

# 2. Install dependencies
npm install

# 3. Setup local environment
cp .env.example .env
# Fill in credentials

# 4. Generate Client & Sync DB
npx prisma generate
npx prisma db push

# 5. Start dev server
npm run dev

โš ๏ธ Database Safety Warning (Shared Pool)

The database is shared across multiple applications. Running npx prisma db push on a clean schema will drop other apps' tables. Always follow the Pull-Declare-Push-Cleanup sequence:

  1. npx prisma db pull โ€” Introspect all existing tables into schema.prisma
  2. Add your TravelStudio model and its User relation
  3. npx prisma db push โ€” Safely add new tables and relations
  4. Clean schema.prisma to keep only Account, Session, User, VerificationToken, TravelStudio
  5. npx prisma generate โ€” Rebuild the type-safe Prisma client

๐Ÿ—๏ธ Technical Architecture

ai-travel-studio/
โ”œโ”€โ”€ prisma.config.ts          # Dynamic datasource for Prisma v7
โ”œโ”€โ”€ prisma/
โ”‚   โ””โ”€โ”€ schema.prisma         # TravelStudio model + NextAuth tables
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ app/
โ”‚   โ”‚   โ”œโ”€โ”€ page.js           # Studio Page (upload, presets left sidebar, custom prompt, comparison slider)
โ”‚   โ”‚   โ”œโ”€โ”€ gallery/page.js   # Personal creations gallery
โ”‚   โ”‚   โ”œโ”€โ”€ pricing/page.js   # Stripe pricing plans
โ”‚   โ”‚   โ””โ”€โ”€ api/
โ”‚   โ”‚       โ”œโ”€โ”€ auth/         # NextAuth route handler
โ”‚   โ”‚       โ”œโ”€โ”€ upload/       # CDN upload proxy
โ”‚   โ”‚       โ”œโ”€โ”€ generation/   # Credit deduction & variable resolution trigger
โ”‚   โ”‚       โ”œโ”€โ”€ creations/    # GET/DELETE creations with self-healing polling
โ”‚   โ”‚       โ”œโ”€โ”€ download/     # CORS-bypass download proxy
โ”‚   โ”‚       โ”œโ”€โ”€ webhook/muapi/ # MuAPI async callback webhook
โ”‚   โ”‚       โ””โ”€โ”€ stripe/       # Stripe checkout session + webhook
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ Providers.jsx     # Auth session provider wrapper
โ”‚   โ”‚   โ””โ”€โ”€ layout/Navbar.jsx # Sticky navigation and control headers
โ”‚   โ””โ”€โ”€ lib/
โ”‚       โ”œโ”€โ”€ auth.js           # Auth config
โ”‚       โ”œโ”€โ”€ config.js         # Resolution variable costs (12, 24, 36) and plans
โ”‚       โ”œโ”€โ”€ prisma.js         # Singleton Prisma client connection pool
โ”‚       โ”œโ”€โ”€ stripe.js         # Stripe configuration
โ”‚       โ””โ”€โ”€ services/
โ”‚           โ”œโ”€โ”€ user.js       # Credits deduction service
โ”‚           โ””โ”€โ”€ billing.js    # stripe session helper
โ””โ”€โ”€ next.config.mjs           # Next image routing config

๐Ÿ“„ License

MIT Licensed.


FutureTravel AI: A premium, gold-themed AI background swap SaaS built with the Inter font family and Nano Banana.