https://github.com/kelwynoliveira/loki
AI-powered content assistant built with Streamlit + Gemini. Generate scripts, SEO titles, descriptions, tags, and thumbnails for YouTube β ready to expand to Instagram, TikTok & LinkedIn.
https://github.com/kelwynoliveira/loki
ai-tools gemini generative-ai python streamlit
Last synced: 12 months ago
JSON representation
AI-powered content assistant built with Streamlit + Gemini. Generate scripts, SEO titles, descriptions, tags, and thumbnails for YouTube β ready to expand to Instagram, TikTok & LinkedIn.
- Host: GitHub
- URL: https://github.com/kelwynoliveira/loki
- Owner: kelwynOliveira
- Created: 2025-06-30T02:19:21.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-30T23:16:11.000Z (12 months ago)
- Last Synced: 2025-06-30T23:33:45.096Z (12 months ago)
- Topics: ai-tools, gemini, generative-ai, python, streamlit
- Language: Python
- Homepage:
- Size: 148 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
 [](https://streamlit.io/) 
# π¬ Loki - Social Media Content Generator with Gemini + Streamlit
An interactive AI-powered content assistant for creators who want to ideate, write, design, and optimize content for platforms like **YouTube**, **Instagram**, **TikTok**, and **LinkedIn** β all in one streamlined app.
Built with **Streamlit**, this app uses **Gemini (Google Generative AI)** to generate:
- π Full video scripts with hook, intro, body, and CTA
- π§ SEO-optimized video titles with justification
- βοΈ Descriptions and tags tailored for reach
- πΌοΈ AI-generated thumbnails based on custom prompts
- πΎ Saved audience/context info to personalize generation
> Currently focused on **YouTube**, but structured to support multi-platform expansion soon.
---
## πΌοΈ Preview

---
## β¨ Features
### πΊ YouTube Tools
- Generate detailed video scripts with structure and flow
- Create multiple SEO titles and auto-select the best
- AI-assisted description and keyword/tag generation
- Generate up to 3 unique thumbnail images using Gemini
- Copy entire output to clipboard for publishing
### π§ Personalized AI Context
- Save information about your content style and audience
- Reuse context to generate better results across sessions
### π οΈ Modular Architecture
- Each platform (YouTube, Instagram, etc.) lives in its own file under `pages/`
- Easy to expand: just add a new `.py` page and link it in `main.py`
---
## π§© Project Structure
```bash
streamlit/
βββ main.py # Entry point with Streamlit navigation
βββ aux.py # Shared utility functions (AI, image, info)
βββ pages/
β βββ home.py # Home screen (basic welcome/info)
β βββ youtube.py # YouTube content generator
β βββ saved_info.py # Save your creator info & audience profile
```
---
## π‘ How it Works
### π§ Powered by:
- [Google Gemini 2.5](https://deepmind.google/technologies/gemini/) (text generation)
- [Gemini image generation](https://ai.google.dev/docs/gemini/generate_images)
- [Streamlit](https://streamlit.io/) (UI and interactivity)
- [Python](https://www.python.org/) (clean, modular backend)
- `dotenv`, `pyperclip`, `Pillow`, and more
---
## π Running Locally
### π§± Prerequisites:
- Python 3.10+
- A `.env` file with your Gemini API key:
```env
GOOGLE_API_KEY=your-key-here
```
### π§ͺ Install dependencies:
```bash
pip install -r requirements.txt
```
### βΆοΈ Launch the app:
```bash
streamlit run main.py
```
---
## π§ Planned Platforms
This project is structured to easily support additional social platforms:
| Platform | Status | Features (planned) |
| --------- | ---------- | --------------------------------------------------- |
| YouTube | β
Done | Scripts, SEO titles, descriptions, tags, thumbnails |
| Instagram | π‘ Planned | Carousel, image prompts |
| TikTok | π‘ Planned | Script outline, hook generator, timing optimization |
| LinkedIn | π‘ Planned | Thought-leadership posts, carousel scripts, titles |
---
## π Tip
If you're working on content consistently, consider saving your:
- Bio, product, or channel details
- Target audience
- Writing tone or reference examples
> Just go to the **βsaved_infosβ** page in the app and store them securely for AI reuse.