https://github.com/barkerbg001/framefusion
Python script that creates a video from a set of images and adds a random audio clip to each video
https://github.com/barkerbg001/framefusion
glob moviepy numpy opencv pygt5 python python-3 random video video-editor
Last synced: 3 months ago
JSON representation
Python script that creates a video from a set of images and adds a random audio clip to each video
- Host: GitHub
- URL: https://github.com/barkerbg001/framefusion
- Owner: barkerbg001
- License: mit
- Created: 2023-03-31T05:00:01.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-07T19:11:07.000Z (6 months ago)
- Last Synced: 2025-06-07T19:25:44.619Z (6 months ago)
- Topics: glob, moviepy, numpy, opencv, pygt5, python, python-3, random, video, video-editor
- Language: Python
- Homepage:
- Size: 3.33 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FrameFusion
**FrameFusion** is a Python-based video generator that creates videos using image folders and audio clips. It includes a FastAPI backend and a React frontend to streamline usage across various video styles.
## 📁 Project Structure
```
FrameFusion/
├── api/ # FastAPI backend (entrypoint: main.py, requirements.txt inside)
├── frontend/ # React frontend for interaction
└── README.md
```
## 🎬 Features
- Generate videos from images and audio
- Available API endpoints:
- `/lofi` – Lofi-style loop
- `/shorts` – Vertical short-form
- `/video` – Standard format
- `/youtube` – YouTube-ready format
- React UI for managing and triggering jobs
## 🔧 Setup
### 1. Backend (FastAPI)
Install dependencies (from inside the `api` folder):
```bash
cd api
pip install -r requirements.txt
```
Run the API:
```bash
uvicorn main:app --reload
```
### 2. Frontend (React)
Inside the `frontend` folder:
```bash
cd ../frontend
npm install
npm run dev
```
## 📂 Folder Usage
- `images/` — Subfolders represent video sources
- `audio/` — Audio files randomly selected
- `output/` — Output videos are saved here
## 🔁 Endpoints
| Method | Endpoint | Description |
|--------|------------|------------------------------|
| GET | `/lofi` | Generate lofi loop video |
| GET | `/shorts` | Generate vertical short |
| GET | `/video` | Generate standard video |
| GET | `/youtube` | Generate YouTube-style video |
Each endpoint uses similar logic with format-specific adjustments.
## 📄 License
MIT License — free to use and modify.