Files
anime-qize/README.md

116 lines
2.6 KiB
Markdown
Raw Normal View History

2025-12-30 17:37:14 +03:00
# Anime Quiz Video Generator
Generate "Guess the Anime Opening" videos for YouTube and TikTok.
## Quick Start
```bash
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
```json
{
"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