Spaces:
Sleeping
Sleeping
title: Media Gen Api | |
emoji: π | |
colorFrom: indigo | |
colorTo: pink | |
sdk: docker | |
pinned: false | |
short_description: FastAPI backend for Text-to-Audio, Image, and Video generato | |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference | |
======= | |
# ποΈ Media Generation API | |
A FastAPI-based backend to generate audio, images, video, and PPT from user inputs. | |
Supports BLEU/CLIP metrics, token-based authentication, and stores metadata in SQLite/Postgres. | |
A modular, RESTful FastAPI solution that converts text input into: | |
- π₯ Video | |
- πΌοΈ Image/Graphics | |
- π Audio | |
--- | |
## π Features | |
- Text β Video: Tone, domain, and environment-aware video generation. | |
- Text β Audio: Context-aware voice synthesis with emotional tone and language support. | |
- Text β Graphics: Visual generation using parameter-based prompts. | |
- BLEU/CLIP metrics for prompt-output fidelity. | |
- Token-based authentication for secure API use. | |
- Dockerized for easy deployment | |
- Optional Streamlit/React UI | |
- Swagger UI: `http://localhost:8000/docs` | |
--- | |
### π Project Structure | |
media-gen-api/ | |
βββ app/ | |
β βββ api/v1/ # Versioned API endpoints | |
β βββ auth/ # Token-based auth | |
β βββ services/ # Core media generation logic | |
β βββ main.py # FastAPI entry point | |
βββ tests/ # Unit/integration tests | |
βββ requirements.txt | |
βββ README.md | |
--- | |
## π¦ Installation | |
π Run Locally | |
1. Clone repo & create virtual environment | |
git clone https://github.com/yourorg/media-gen-api.git | |
cd media-gen-api | |
python -m venv .venv | |
source .venv/bin/activate # On Windows: .venv\Scripts\activate | |
2. Install dependencies | |
pip install -r requirements.txt | |
3. Run the API | |
uvicorn app.main:app --reload | |
Access docs: http://127.0.0.1:8000/docs | |
--- | |
### π Authentication | |
Use Bearer <your_token> in the Authorize button or headers. | |
--- | |
### π‘ API Endpoints Summary | |
| Endpoint | Method | Description | | |
|--------------------------|--------|---------------------------| | |
| /api/v1/audio/generate | POST | Generate audio from text | | |
| /api/v1/image/generate | POST | Generate image from text | | |
| /api/v1/video/generate | POST | Generate video from text | | |
| /api/v1/download | GET | Download generated file | | |
--- | |
###π¦ Deployment (Streamlit/Optional UI) | |
Option 1: Run with Streamlit (for demo) | |
streamlit run streamlit_ui.py | |
Option 2: Docker (Production-ready) | |
docker build -t media-gen-api . | |
docker run -p 8000:8000 media-gen-api | |
--- | |
### π Metrics Logging (Optional) | |
- BLEU score and CLIPScore (WIP) | |
- Latency, GPU/CPU tracking | |
- Log file: logs/generation.log | |
--- | |
#### π Submission Checklist | |
- β RESTful modular architecture | |
- β Multi-format (MP4, PNG, WAV) | |
- β Token Auth + Swagger UI | |
- β Compatible with DD/PIB via API | |
- β Streamlit demo app (optional) | |