https://github.com/mann1809/ai-youtube-thumbnail-generator
A Spring Boot web application that uses Google's Nano Banana AI to generate YouTube thumbnails from uploaded images and video descriptions.
https://github.com/mann1809/ai-youtube-thumbnail-generator
ai css gemini google html java javascript nano-banana nano-banana-ai nanobanana spring spring-boot spring-mvc spring-web
Last synced: 3 months ago
JSON representation
A Spring Boot web application that uses Google's Nano Banana AI to generate YouTube thumbnails from uploaded images and video descriptions.
- Host: GitHub
- URL: https://github.com/mann1809/ai-youtube-thumbnail-generator
- Owner: mann1809
- Created: 2025-09-08T12:45:58.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-08T13:47:30.000Z (10 months ago)
- Last Synced: 2025-09-08T15:37:49.881Z (10 months ago)
- Topics: ai, css, gemini, google, html, java, javascript, nano-banana, nano-banana-ai, nanobanana, spring, spring-boot, spring-mvc, spring-web
- Language: Java
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AI YouTube Thumbnail Generator
A Spring Boot web application that leverages Google's Nano Banana AI to generate eye-catching YouTube thumbnails from uploaded images and video descriptions.
## Project Overview
This application transforms ordinary images into viral-ready YouTube thumbnails using AI. Users upload an image and provide a video description, then the system uses Google's Nano Banana model to create professional, attention-grabbing thumbnails optimized for YouTube's platform.
## Demo

## Technology Stack
- **Backend**: Spring Boot 3.5.5 with Java 21
- **AI Integration**: Google Nano Banana Image Preview API
- **Frontend**: HTML5, CSS3, Vanilla JavaScript
## Features
- **AI-Powered Generation**: Uses Google Nano Banana for intelligent thumbnail creation
- **Image Upload**: Supports common image formats (JPG, PNG) up to 10MB
- **Responsive Web Interface**: Clean, modern UI with real-time preview
- **Download Functionality**: One-click download of generated thumbnails
## Setup and Configuration
### Prerequisites
- Java 21 or higher
- Maven 3.6+
- Google Cloud account with Gemini API access
### Configuration Steps
1. **Get Google Gemini API Key**
- Visit [Google AI Studio](https://aistudio.google.com/)
- Create a new API key for Gemini
2. **Configure API Key**
Update `src/main/resources/application.yml`:
```yaml
gemini:
api:
key: YOUR_ACTUAL_GEMINI_API_KEY_HERE
endpoint: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image-preview:generateContent
```
3. **Build the Application**
```bash
mvn clean compile
```
## How to Run
### Development Mode
```bash
mvn spring-boot:run
```
### Production Build
```bash
mvn clean package
java -jar target/generator-0.0.1-SNAPSHOT.jar
```
### Docker Deployment
```bash
# Build the application
mvn clean package
# Build Docker image
docker build -t ai-thumbnail-generator .
# Run container
docker run -p 8080:8080 ai-thumbnail-generator
```
### Access the Application
- **Web Interface**: http://localhost:8080
## API Documentation
### Generate Thumbnail Endpoint
**URL**: `POST /api/v1/thumbnail`
**Content-Type**: `multipart/form-data`
**Parameters**:
- `file` (required): Image file (max 10MB, supports common formats)
- `title` (required): Video description/title for context
**Response**: Binary image data (PNG format)
**Example Usage**:
```bash
curl -X POST http://localhost:8080/api/v1/thumbnail \
-F "file=@my-image.jpg" \
-F "title=Amazing Travel Vlog - Best Destinations 2024"
```