https://github.com/lohiyah/vidcraft
VidCraft is an AI-driven full stack application that generates videos from user-defined topics and backgrounds. It combines text, audio, and visuals using advanced AI services, making video creation accessible and efficient for developers and content creators alike.
https://github.com/lohiyah/vidcraft
ai elevenlabs fastapi ffmpgeg full-stack-web-development gemini-ai huggingface image-generation machine-learning reactjs subtitles text-to-speech typescript video-generation whisper
Last synced: 4 days ago
JSON representation
VidCraft is an AI-driven full stack application that generates videos from user-defined topics and backgrounds. It combines text, audio, and visuals using advanced AI services, making video creation accessible and efficient for developers and content creators alike.
- Host: GitHub
- URL: https://github.com/lohiyah/vidcraft
- Owner: LohiyaH
- License: mit
- Created: 2025-01-17T19:04:11.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-02T06:09:37.000Z (about 1 year ago)
- Last Synced: 2025-03-12T05:16:11.354Z (about 1 year ago)
- Topics: ai, elevenlabs, fastapi, ffmpgeg, full-stack-web-development, gemini-ai, huggingface, image-generation, machine-learning, reactjs, subtitles, text-to-speech, typescript, video-generation, whisper
- Language: TypeScript
- Homepage:
- Size: 109 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# VidCraft
## Description
This backend application is built using FastAPI and is designed to generate videos based on user-defined topics and backgrounds. It integrates multiple AI services for text generation, audio synthesis, image creation, and subtitle generation. The application handles various tasks, including cleaning text, formatting subtitles, and generating video files using FFmpeg.
## Installation
1. Clone the repository:
```bash
git clone https://github.com/LohiyaH/VidCraft
cd VidCraft
```
2. Install the required dependencies:
```bash
pip install -r backend/requirements.txt
```
3. Set up environment variables in a `.env` file (see `.env.example`):
```
GEMINI_API_KEY=
ELEVENLABS_API_KEY=
HUGGINGFACE_API_KEY=
STORAGE_PATH=storage
ALLOWED_ORIGINS=http://localhost:3000
```
## Usage
1. Run the FastAPI application:
```bash
uvicorn backend.main:app --reload
```
2. Access the API documentation at `http://localhost:8000/docs`.
# Navigate to the frontend directory
3. cd frontend
# Install dependencies
4. npm install
5. Create a frontend `.env.local` file with:
```
NEXT_PUBLIC_API_URL=http://localhost:8000
```
# Start the development server
6. npm run dev
## API Endpoints
- **POST** `/api/generate-video`
- **Request Body**:
```json
{
"topic": "string",
"background": "string"
}
```
- **Response**:
```json
{
"videoUrl": "string"
}
```
- **GET** `/api/test`
- Returns a simple test message.
## Contributing
Contributions are welcome! Please open an issue or submit a pull request.
## License
This project is licensed under the MIT License.