A FastAPI-based service that generates personalized deepfake videos by combining AI-generated audio with lip-sync technology. Given a list of names, the API generates audio using ElevenLabs, uploads to Publitio, and creates synchronized videos via Gooey AI.
- Audio Generation - Create personalized audio files using ElevenLabs voice synthesis
- File Hosting - Upload and host audio files via Publitio
- Lip Sync - Generate deepfake videos with Gooey AI lip-sync technology
- REST API - Simple FastAPI endpoints for integration
You need API keys from:
- ElevenLabs - Voice synthesis
- Publitio - File hosting
- Gooey AI - Lip-sync video generation
git clone https://github.com/yourusername/Mass_Deepfaker_API.git
cd Mass_Deepfaker_API
pip install -r requirements.txtCreate a .env file in the project root:
ELEVENLABS_API=your_elevenlabs_api_key
PUBLITIO_API=your_publitio_api_key
PUBLITIO_SECRET=your_publitio_secret_key
GOOEY_API=your_gooey_api_keypython main.pyThe server runs at http://localhost:8000.
| Method | Endpoint | Description |
|---|---|---|
| POST | /generate_videos |
Generate deepfake videos for a list of names |
| GET | / |
Health check |
curl -X POST "http://localhost:8000/generate_videos" \
-H "Content-Type: application/json" \
-d '["Alice", "Bob", "Charlie"]'{
"results": [
{"name": "Alice", "output_video": "https://..."},
{"name": "Bob", "output_video": "https://..."},
{"name": "Charlie", "output_video": "https://..."}
]
}import requests
url = "http://localhost:8000/generate_videos"
names = ["Alice", "Bob", "Charlie"]
response = requests.post(url, json=names)
print(response.json())Mass_Deepfaker_API/
├── api/
│ ├── __init__.py
│ └── routes.py # FastAPI endpoints
├── config/
│ ├── __init__.py
│ └── settings.py # Environment variables and constants
├── services/
│ ├── __init__.py
│ ├── elevenlabs_service.py # Audio generation
│ ├── publitio_service.py # File upload and cleanup
│ └── gooey_service.py # Lip-sync video generation
├── main.py # Application entry point
├── requirements.txt # Python dependencies
├── .env # API keys (not committed)
└── .gitignore
- Input - Send a list of names to the API
- Audio Generation - ElevenLabs generates personalized audio for each name
- Upload - Audio files are uploaded to Publitio for hosting
- Cleanup - Local audio files are deleted after upload
- Lip Sync - Gooey AI generates synchronized videos using the audio URLs
- Output - Returns a list of video URLs for each name
MIT License