File size: 1,385 Bytes
3ffbf5e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cbb71d1
3ffbf5e
 
 
 
 
 
 
 
 
 
 
 
cbb71d1
 
3ffbf5e
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# 🧠 API de Detección con Autenticación (FastAPI + JWT + YOLOv8)

Este proyecto es una API construida con **FastAPI**, que integra:

- 🔐 Autenticación con JWT
- 📷 Recepción de imágenes mediante `POST`
- 🧠 Detección de objetos usando **YOLOv8n**
- 🖼️ Devolución de la imagen con cajas (bounding boxes) dibujadas

---

## 🚀 ¿Cómo usarlo?

### 1. Obtener un token JWT

Realiza una petición `POST` al endpoint `/token` con este body:

```json
{
  "username": "uriel",
  "password": "1234"
}
```

Recibirás una respuesta como:

```json
{
  "access_token": "<TU_TOKEN>",
  "token_type": "bearer"
}
```

---

### 2. Autorizarte en Swagger UI

Haz clic en el botón "Authorize" 🔓 y escribe:

```
Bearer <TU_TOKEN>
```

Esto habilitará los endpoints protegidos.

---

### 3. Subir una imagen al endpoint protegido

Envía una imagen al endpoint:

```
POST /detectar/
```

El resultado será una imagen con cajas de detección dibujadas.

---

## 🧪 Usuario de prueba

- **Usuario:** `uriel`
- **Contraseña:** `1234`

---

## 📦 Dependencias

Las dependencias están definidas en `requirements.txt` e incluyen:

- FastAPI
- Uvicorn
- Ultralytics (YOLOv8)
- Python-Jose (JWT)
- Passlib (bcrypt)
- Pillow

---

## 👨‍💻 Autor

Este proyecto fue creado por Uriel Escalona para demostrar una API segura y funcional con FastAPI + Visión por Computadora.