# 2026 AI 4K Cloud Video Super-Resolution Engine

Bộ công cụ AI Video Super-Resolution 4K UHD thế hệ mới 2026 dùng chung cho mọi dự án (`Historical`, `Tran_Empire`, `KieuStory`, v.v.).

### Kiến Trúc Đám Mây Đa Tầng (Cloud Dual-Engine Architecture)
Toàn bộ khối lượng tính toán được giải phóng 100% khỏi máy local (0% chiếm dụng GPU GTX 1660, 0% ngốn VRAM local).

1. **Primary Engine (Mặc định - Hugging Face Pro ZeroGPU)**:
   - Sử dụng tài khoản **Hugging Face Pro** (`SevenNguyenTHV`) với hàng chờ ưu tiên cao nhất.
   - Tính toán trực tiếp trên cụm GPU đám mây mạnh mẽ **NVIDIA A100 / A10G (ZeroGPU)** với chi phí **$0.00**.
   - Hỗ trợ mô hình SOTA chuyên sâu: `photo` (phục chế ảnh thực/điện ảnh) hoặc `anime` (hoạt hình 2D sắc nét).
   - Tự động cắt lát thông minh (Smart Multi-Chunking) cho các video dài và ghép nối không tì vết.

2. **Secondary Fallback Engine (Dự phòng - RunPod On-Demand)**:
   - Tự động kích hoạt khi Hugging Face chạm ngưỡng giới hạn quota trong ngày hoặc gặp sự cố mạng/hàng đợi.
   - Kết nối trực tiếp tài khoản **RunPod** với các dòng GPU quái vật: **RTX 5090, RTX 4090, RTX 3090**.
   - Cơ chế tự hủy tự động (Auto-teardown): Ngay khi render xong, pod tự động hủy lập tức để tránh đốt cạn credit nhàn rỗi.

---

## 1. Cách Sử Dụng (CLI)

### Chạy Tự Động (Khuyên dùng - HF Pro ưu tiên, RunPod tự động dự phòng):
```powershell
# Chạy qua Batch:
c:\Projects\video-upscaler\upscale.bat --input "input.mp4" --output "output_4k.mp4"

# Chạy qua PowerShell:
& "c:\Projects\video-upscaler\upscale.ps1" -input "input.mp4" -output "output_4k.mp4"
```

### Chỉ Định Engine Cụ Thể:
```bash
# 1. Ép chạy trên Hugging Face Pro ZeroGPU ($0.00):
c:\Projects\video-upscaler\upscale.bat --input "input.mp4" --output "output_4k.mp4" --engine hf

# 2. Ép chạy trên RunPod (chọn card RTX 4090 hoặc 5090):
c:\Projects\video-upscaler\upscale.bat --input "input.mp4" --output "output_4k.mp4" --engine runpod --gpu_type 5090

# 3. Test nhanh 5 giây đầu:
c:\Projects\video-upscaler\upscale.bat --input "input.mp4" --output "test_4k.mp4" --duration 5.0
```

---

## 2. Bảng Tham Số CLI

| Tham Số | Ý Nghĩa | Mặc Định | Lựa Chọn |
| :--- | :--- | :--- | :--- |
| `--input`, `-i` | Đường dẫn video nguồn (hỗ trợ cả 16:9 và 9:16 Shorts) | **Bắt buộc** | File video |
| `--output`, `-o` | Đường dẫn xuất video 4K UHD hoàn chỉnh | **Bắt buộc** | File mp4 |
| `--engine` | Bộ điều phối engine thực thi | `auto` | `auto`, `hf`, `runpod` |
| `--model_type` | Phong cách phục chế Super-Resolution | `photo` | `photo`, `anime` |
| `--gpu_type` | Loại GPU trên RunPod khi cần chạy dự phòng | `4090` | `3090`, `4090`, `5090` |
| `--duration` | Thời lượng giới hạn để test nhanh (giây) | `None` (full video) | Số thực (vd: 5.0) |
| `--start_sec` | Mốc bắt đầu cắt video (giây) | `0.0` | Số thực |
| `--max_dim` | Độ phân giải cạnh dài nhất của chuẩn UHD | `3840` | `3840` (4K) |

---

## 3. Cấu Hình Tài Khoản (`.env`)

File `.env` được bảo vệ nghiêm ngặt trong `.gitignore`:
```env
HF_TOKEN=hf_...
RUNPOD_API_KEY=rpa_...
```
