266f3768ef1622d4ffa4d32cade6366081d5522d
Anime Quiz Video Generator
Generate "Guess the Anime Opening" videos for YouTube and TikTok.
Quick Start
docker-compose up --build
After startup:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
Project Structure
project-root/
├── backend/
│ ├── app/
│ │ ├── main.py # FastAPI endpoints
│ │ ├── models.py # Pydantic models
│ │ ├── video_generator.py # Video generation logic
│ │ └── config.py # Settings
│ ├── requirements.txt
│ └── Dockerfile
├── frontend/
│ ├── src/
│ │ ├── App.vue # Main component
│ │ ├── main.js
│ │ └── style.css
│ ├── package.json
│ └── Dockerfile
├── media/
│ ├── audio/ # MP3 anime openings
│ ├── backgrounds/ # Looping MP4 backgrounds
│ └── posters/ # Anime poster images
├── output/
│ └── videos/ # Generated videos
└── docker-compose.yml
Adding Content
Audio Files (Required)
Place MP3 files of anime openings in media/audio/:
media/audio/
├── aot_op1.mp3
├── demon_slayer_op1.mp3
└── jjk_op1.mp3
Background Videos (Recommended)
Place looping MP4 backgrounds in media/backgrounds/:
- Recommended duration: 5-10 seconds
- Abstract animations, particles, gradients work best
- Will be looped and resized automatically
Posters (Optional)
Place anime poster images in media/posters/:
- Supported formats: JPG, PNG, WebP
- Will be displayed in answer scenes
Video Modes
Shorts / TikTok
- Resolution: 1080x1920 (9:16)
- Fast pacing
- Best for 3-5 questions
Full Video (YouTube)
- Resolution: 1920x1080 (16:9)
- Includes final screen with CTA
- Best for 10-20 questions
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /health | Health check |
| GET | /content | List available media |
| POST | /generate | Generate video |
| GET | /download/{filename} | Download video |
| GET | /videos-list | List generated videos |
Example Request
{
"mode": "shorts",
"questions": [
{
"anime": "Attack on Titan",
"opening_file": "aot_op1.mp3",
"start_time": 32,
"difficulty": "easy",
"poster": "aot.jpg"
}
],
"audio_duration": 3
}
Requirements
- Docker
- Docker Compose
Tech Stack
- Backend: Python 3.12, FastAPI, MoviePy, FFmpeg
- Frontend: Vue 3, Vite
- Container: Docker, Docker Compose
Description
Languages
Vue
60.2%
Python
32.6%
CSS
5.6%
Makefile
0.6%
Dockerfile
0.4%
Other
0.6%