Full-stack AI video generation platform. Accepts text prompts, generates videos using Groq LLM + FramePack/Fal.ai, and serves them through a React TypeScript frontend with a FastAPI backend.
- User enters a text prompt describing a video
- Groq LLM refines the prompt for optimal generation
- FramePack / Fal.ai generates the video
- Video is served back through the React UI with progress tracking
vid-gen/
├── backend/
│ ├── app/
│ │ ├── main.py # FastAPI entry point
│ │ ├── config.py # Settings & env vars
│ │ ├── routes/video.py # Video generation endpoints
│ │ ├── services/
│ │ │ ├── groq_client.py # Groq LLM prompt refinement
│ │ │ └── framepack_client.py # Video generation client
│ │ ├── models/schemas.py # Pydantic schemas
│ │ └── utils/storage.py # Output file management
│ ├── requirements.txt
│ └── test_fal.py
├── frontend/
│ ├── src/
│ │ ├── App.tsx # Root component
│ │ ├── components/
│ │ │ ├── PromptForm.tsx # Prompt input UI
│ │ │ ├── VideoJobList.tsx # Job status tracking
│ │ │ └── VideoPlayer.tsx # Video playback
│ │ ├── pages/Home.tsx
│ │ └── api/client.ts # API client
│ └── package.json
├── video-worker/
│ ├── main.py # Async video worker process
│ └── requirements.txt
└── outputs/ # Generated video output dir
cd backend
pip install -r requirements.txt
# .env: GROQ_API_KEY, FAL_API_KEY
uvicorn app.main:app --reloadcd frontend
npm install
npm run dev # TypeScript + Vitecd video-worker
pip install -r requirements.txt
python main.py| Component | Tech |
|---|---|
| Backend | FastAPI (Python) |
| LLM | Groq API |
| Video AI | FramePack / Fal.ai |
| Frontend | React + TypeScript + Vite |
| Worker | Python async worker |