Skip to content

sudipnext/QuoteReels

Repository files navigation

QuoteReels

QuoteReels License Python

QuoteReels is a FastAPI + React stack that automates the creation of short-form video content. It fetches random or custom quotes, analyzes them using the Gemini AI API, downloads relevant background videos from Coverr, Pexels, or Pixabay, and generates a professional video output with AI voiceover.

✨ Features

  • 🔄 Automated Quote Fetching: Get daily random quotes or use your own custom quotes
  • 🧠 AI-Powered Analysis: Uses Gemini AI to categorize and analyze quotes for best video match
  • 🎥 Smart Video Selection: Downloads relevant background videos from Coverr, Pexels, or Pixabay
  • 🗣️ AI Voiceover: Choose from dozens of realistic voices for text-to-speech narration
  • 🎬 Professional Video Generation: Creates social media-ready vertical videos (9:16)
  • Fast & Memory-Efficient: Optimized video processing with MoviePy
  • 🚀 API & Web UI: User-friendly web interface and REST API endpoints
  • 📥 Download & Preview: Instantly preview and download your generated videos

🚀 Installation

  1. Clone the repository:

    git clone https://github.com/sudipnext/QuoteReels.git
  2. Navigate to the project directory:

    cd QuoteReels
  3. Install uv (if you do not already have it).

  4. Create a virtual environment and install dependencies (Python code and pyproject.toml live in backend/):

    cd backend
    uv sync

    This reads backend/pyproject.toml and backend/uv.lock, creates backend/.venv, and installs dependencies.

  5. Set up environment variables: Create a .env file in the repository root (next to backend/ and frontend/) with the following variables:

    GEMINI_API_KEY=your_gemini_api_key
    COVERR_API_KEY=your_coverr_api_key
    PEXELS_API_KEY=your_pexels_api_key
    PIXABAY_API_KEY=your_pixabay_api_key
    

📋 Usage

React frontend (recommended UI)

From the repository root:

cd frontend
npm install
npm run dev

The Vite dev server proxies /api to http://127.0.0.1:8000 (FastAPI). Start the API from backend/ (see below).

FastAPI studio (port 8000)

From backend/:

uv run uvicorn asgi:app --reload --host 0.0.0.0 --port 8000

Or from the repository root:

uv run --directory backend uvicorn asgi:app --reload --host 0.0.0.0 --port 8000

Studio API

Interactive docs: http://127.0.0.1:8000/docs. Main surface is under /api/v1/studio (generate, load/save project, export, asset files).

Docker (backend + frontend)

From the repository root, with a .env file next to docker-compose.yml (same keys as in step 5 above):

docker compose up --build

If the backend logs DNS / name resolution errors (for example Edge TTS to speech.platform.bing.com), docker-compose.yml sets public DNS (8.8.8.8). On locked-down networks, replace those with your resolver or use a docker-compose.override.yml.

🤝 Contributing

We welcome contributions to QuoteReels! Here's how you can help:

  1. Fork the repository on GitHub
  2. Create a new branch for your feature or bugfix
    git checkout -b feature/amazing-feature
  3. Make your changes and commit them
    git commit -m 'Add an amazing feature'
  4. Push to your branch
    git push origin feature/amazing-feature
  5. Open a Pull Request

Contribution Guidelines

  • Follow the existing code style and conventions
  • Add tests (e.g. pytest) when you introduce automated coverage
  • Keep pull requests focused on a single topic
  • Document any new functions, classes or modules
  • Update the README if necessary

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgements

About

AI video “money printer” 💸 — turn prompts into viral short-form content using stock footage, AI scripts, KittenTTS voice, and a full drag-and-drop editor.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors