A SaaS platform that automates the generation of SEO-optimized blog posts using the Gemini API.
- Keyword-to-Article: Generate full articles from a single keyword
- Tone Customization: Professional, Conversational, Friendly, or Technical tones
- SEO Ready: Automatically generates H1, H2, meta descriptions, and CTAs
- Length Control: Adjustable word count (100-5000 words)
- FastAPI Backend: High-performance API with automatic validation
- Modern Frontend: Built with Next.js 14, Tailwind CSS, and TypeScript
- Node.js 18+ and npm
- Python 3.9+
- Google Gemini API Key
-
Navigate to the backend directory:
cd backend -
Create a virtual environment and activate it:
python -m venv venv # Windows venv\Scripts\activate # Mac/Linux source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.envfile based on.env.example:cp .env.example .env
-
Add your Gemini API key to
.env:GEMINI_API_KEY=your_actual_api_key_here -
Run the server:
python main.py
The API will be available at
http://localhost:8000
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser
Health check endpoint.
Response:
{
"status": "online",
"message": "AI SEO Content Generator API is running."
}Generate SEO-optimized blog content based on keyword and parameters.
Request:
- Method:
POST - Content-Type:
application/json - Body:
{ "keyword": "digital marketing", "tone": "professional", "length": 1000 }
Request Schema:
{
keyword: string; // 2-200 characters, target SEO keyword
tone?: string; // Content tone (default: "professional")
length?: number; // Target word count 100-5000 (default: 1000)
}Response:
{
"keyword": "digital marketing",
"content": "# Digital Marketing Guide\n\n## Introduction\n...",
"metadata": {
"tone": "professional",
"length": 1000
},
"status": "success"
}ai-seo-content-generator/
├── backend/
│ ├── main.py # FastAPI application with validation
│ ├── requirements.txt # Python dependencies
│ └── .env.example # Environment variables template
├── frontend/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # Reusable React components
│ └── package.json
├── LICENSE
└── README.md