Skip to content

prithvikings/Thumbify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎨 Thumbify

AI-Powered Thumbnail Generator for Content Creators

Generate high-CTR, studio-quality thumbnails directly from your video script β€” zero design skills required.

Next.js React TypeScript TailwindCSS


✨ Features

  • πŸ€– AI Image Generation β€” Describe your video content and let AI generate stunning thumbnails using the Pollinations API with multiple style models (Cinematic, Anime, 3D Render, Minimalist).
  • πŸ” Google OAuth β€” Secure authentication via NextAuth.js with Google provider. Protected routes ensure only authenticated users access the dashboard.
  • πŸŽ›οΈ Studio Dashboard β€” A full-featured workspace with a collapsible sidebar, project management, and a real-time generation canvas.
  • πŸ“ Aspect Ratio Support β€” Create thumbnails in 16:9 (YouTube), 9:16 (Shorts/TikTok), and 1:1 (Instagram) formats.
  • ⚑ Style Presets β€” Choose from 4 aesthetic models: Cinematic, Anime, 3D Render, and Minimalist β€” each mapped to a specialized AI model.
  • πŸ“₯ One-Click Download β€” Download generated thumbnails instantly from the canvas with auto-named files.
  • πŸ’Ž Landing Page β€” Marketing-ready landing page with Hero, Bento Grid workflow section, Testimonials, Pricing, FAQ, CTA, and Logo Ticker.

πŸ› οΈ Tech Stack

Layer Technology
Framework Next.js 16 (App Router)
Language TypeScript 5
UI React 19, Tailwind CSS 4
Auth NextAuth.js v4 (Google OAuth)
AI / Image Pollinations API
Icons Lucide React
Animations Motion (Framer Motion)
Fonts Geist Sans, Geist Mono, Space Grotesk (via next/font)

πŸ“ Project Structure

thumbnail/
β”œβ”€β”€ public/                    # Static assets (SVGs, favicon)
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ api/
β”‚   β”‚   β”‚   β”œβ”€β”€ auth/[...nextauth]/route.ts   # NextAuth API route
β”‚   β”‚   β”‚   └── generate/route.ts             # AI image generation endpoint
β”‚   β”‚   β”œβ”€β”€ dashboard/page.tsx                # Main dashboard (Studio)
β”‚   β”‚   β”œβ”€β”€ login/page.tsx                    # Login page (Google OAuth)
β”‚   β”‚   β”œβ”€β”€ ProjectEditor/                    # Project editor route
β”‚   β”‚   β”œβ”€β”€ Settings/                         # Settings route
β”‚   β”‚   β”œβ”€β”€ layout.tsx                        # Root layout with fonts & providers
β”‚   β”‚   β”œβ”€β”€ page.tsx                          # Landing page
β”‚   β”‚   β”œβ”€β”€ providers.tsx                     # NextAuth SessionProvider wrapper
β”‚   β”‚   β”œβ”€β”€ globals.css                       # Global styles
β”‚   β”‚   └── not-found.tsx                     # Custom 404 page
β”‚   β”œβ”€β”€ component/
β”‚   β”‚   β”œβ”€β”€ Navbar.tsx                        # Navigation bar
β”‚   β”‚   β”œβ”€β”€ Hero.tsx                          # Hero section
β”‚   β”‚   β”œβ”€β”€ BentoGrid.tsx                     # Feature workflow grid
β”‚   β”‚   β”œβ”€β”€ LogoTicker.tsx                    # Scrolling logo ticker
β”‚   β”‚   β”œβ”€β”€ Testimonial.tsx                   # User testimonials (masonry)
β”‚   β”‚   β”œβ”€β”€ Pricing.tsx                       # Pricing plans (Starter / Pro)
β”‚   β”‚   β”œβ”€β”€ Faq.tsx                           # Accordion FAQ
β”‚   β”‚   β”œβ”€β”€ Cta.tsx                           # Call-to-action section
β”‚   β”‚   β”œβ”€β”€ Footer.tsx                        # Footer
β”‚   β”‚   β”œβ”€β”€ ImageModal.tsx                    # Image preview modal
β”‚   β”‚   β”œβ”€β”€ UpgradeModal.tsx                  # Upgrade prompt modal
β”‚   β”‚   └── dashboard/
β”‚   β”‚       β”œβ”€β”€ StudioView.tsx                # AI generation canvas + controls
β”‚   β”‚       β”œβ”€β”€ ProjectsView.tsx              # Project library grid
β”‚   β”‚       β”œβ”€β”€ NewProjectModal.tsx           # Create new project modal
β”‚   β”‚       β”œβ”€β”€ SettingsView.tsx              # User settings panel
β”‚   β”‚       └── BillingView.tsx               # Billing & plan management
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   └── auth.ts                           # NextAuth configuration
β”‚   β”œβ”€β”€ types/
β”‚   β”‚   └── index.ts                          # TypeScript interfaces (Project)
β”‚   └── proxy.ts                              # Middleware (route protection)
β”œβ”€β”€ .env                                       # Environment variables (git-ignored)
β”œβ”€β”€ .gitignore
β”œβ”€β”€ next.config.ts
β”œβ”€β”€ tailwind.config.ts
β”œβ”€β”€ postcss.config.mjs
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ package.json
└── README.md

πŸš€ Getting Started

Prerequisites

1. Clone the Repository

git clone https://github.com/prithvikings/Thumbify.git
cd Thumbify

2. Install Dependencies

npm install

3. Configure Environment Variables

Create a .env file in the project root:

# Google OAuth (NextAuth)
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
NEXTAUTH_SECRET=your_random_secret_string
NEXTAUTH_URL=http://localhost:3000

# AI Image Generation
GEMINI_API_KEY=your_gemini_api_key
HUGGINGFACE_API_TOKEN=your_huggingface_token
POLLINATIONS_API_KEY=your_pollinations_api_key

4. Run the Development Server

npm run dev

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


πŸ“Έ App Overview

Landing Page

The marketing homepage features a dark, premium aesthetic with:

  • Navbar β€” Sticky navigation with a "Open Studio" CTA linking to the login/dashboard.
  • Hero β€” Bold headline ("Viral thumbnails. Zero design skills required.") with primary and secondary action buttons.
  • Logo Ticker β€” Scrolling strip of partner/integration logos.
  • Bento Grid β€” A 3-step workflow showcase (Paste Script β†’ AI Visualization β†’ Export & Ship) with system capability cards.
  • Testimonials β€” Masonry grid of user reviews with star ratings.
  • Pricing β€” Two-tier plan layout (Starter $0/mo vs Pro Creator $19/mo) with a monthly/annual toggle.
  • FAQ β€” Animated accordion for common questions.
  • CTA β€” Full-width call-to-action banner.

Dashboard

A fully interactive workspace accessible after Google sign-in:

  • Collapsible Sidebar β€” Navigate between Home (Studio), Projects, and Settings.
  • Studio View β€” The core generation interface:
    • Editable project title
    • Aspect ratio and status badges
    • Aesthetic Model Selector β€” Choose from Cinematic, Anime, 3D Render, or Minimalist
    • Prompt textarea with character counter
    • Generate / Regenerate button with loading animation
    • Canvas with hover actions (Download, Fullscreen, Delete)
  • Projects View β€” Grid of all projects with status indicators and search.
  • Settings View β€” Account and billing management.

πŸ”Œ API Reference

POST /api/generate

Generates a thumbnail image using the Pollinations AI API.

Auth: Requires an active NextAuth session.

Request Body:

{
  "prompt": "A dramatic cinematic shot of a tech reviewer...",
  "aspectRatio": "16:9",
  "style": "Cinematic"
}

Response:

{
  "success": true,
  "imageUrl": "data:image/jpeg;base64,...",
  "model": "flux-realism"
}
Style AI Model
Cinematic flux-realism
Anime flux-anime
3D Render flux-3d
Minimalist flux-pro

πŸ”’ Authentication Flow

  1. User clicks "Open Studio" or "Continue with Google" on the login page.
  2. NextAuth redirects to Google OAuth consent screen.
  3. On success, the user is redirected to /dashboard.
  4. Middleware (proxy.ts) protects /dashboard, /projects, and /settings β€” unauthenticated users are redirected to /login.
  5. Logged-in users visiting /login are automatically redirected to /dashboard.

πŸ“œ Available Scripts

Command Description
npm run dev Start the development server
npm run build Build the production bundle
npm run start Start the production server
npm run lint Run ESLint across the project

🀝 Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

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

πŸ“„ License

This project is private. All rights reserved.


Built with ❀️ by prithvikings

About

🎨 AI-powered thumbnail generator for content creators. Paste your video script, pick a style, and generate studio-quality thumbnails in seconds.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages