Inferencia
Ultralytics Platform proporciona una API de inferencia para probar modelos entrenados. Utiliza la pestaña Predict basada en navegador para una validación rápida o la REST API para acceso programático.

Pestaña Predict
Cada modelo incluye una pestaña Predict para realizar inferencias desde el navegador:
- Navega hasta tu modelo
- Haz clic en la pestaña Predict
- Sube una imagen, utiliza un ejemplo o abre tu cámara web
- Visualiza las predicciones al instante con superposiciones de cajas delimitadoras (bounding boxes)

Métodos de entrada
El panel de predicción admite múltiples métodos de entrada:
| Método | Descripción |
|---|---|
| Carga de imagen | Arrastra y suelta o haz clic para subir una imagen |
| Imágenes de ejemplo | Haz clic en los ejemplos integrados (imágenes del conjunto de datos o valores predeterminados) |
| Captura por cámara web | Transmisión en vivo de la cámara con captura de fotogramas individuales |
graph LR
A[Upload Image] --> D[Auto-Inference]
B[Example Image] --> D
C[Webcam Capture] --> D
D --> E[Results + Overlays]
style D fill:#2196F3,color:#fff
style E fill:#4CAF50,color:#fffSubir imagen
Arrastra y suelta o haz clic para subir:
- Formatos admitidos: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- Tamaño máximo: 10MB
- Inferencia automática: Los resultados aparecen automáticamente tras la subida
El panel de predicción ejecuta la inferencia automáticamente cuando subes una imagen, seleccionas un ejemplo o capturas un fotograma de la cámara web. No es necesario hacer clic en ningún botón.
Imágenes de ejemplo
El panel de predicción muestra imágenes de ejemplo del conjunto de datos vinculado a tu modelo. Si no hay ningún conjunto de datos vinculado, se utilizan ejemplos predeterminados:
| Imagen | Contenido |
|---|---|
bus.jpg | Escena urbana con vehículos |
zidane.jpg | Escena deportiva con personas |
Para modelos OBB, se muestran imágenes aéreas de barcos y aeropuertos en su lugar.
Las imágenes de ejemplo están precargadas al cargar la página, por lo que hacer clic en un ejemplo activa una inferencia casi instantánea sin tiempo de espera por descarga.
Webcam
Haz clic en la tarjeta de la cámara web para iniciar la transmisión en vivo:
- Concede permiso a la cámara cuando se te solicite
- Haz clic en la vista previa de vídeo para capturar un fotograma
- La inferencia se ejecuta automáticamente en el fotograma capturado
- Haz clic de nuevo para reiniciar la cámara web
Ver resultados
Los resultados de la inferencia muestran:
- Bounding boxes con etiquetas de clase como superposiciones SVG
- Puntuaciones de confianza para cada detección
- Colores de clase de la paleta de colores de tu conjunto de datos (o la paleta predeterminada de Ultralytics)
- Desglose de velocidad: Tiempo de preprocesamiento, inferencia, posprocesamiento y red

El panel de resultados muestra:
| Campo | Descripción |
|---|---|
| Lista de detecciones | Cada detección con nombre de clase y confianza |
| Estadísticas de velocidad | Preprocesamiento, inferencia, posprocesamiento, red (ms) |
| Respuesta JSON | Respuesta cruda de la API en un bloque de código |
Parámetros de inferencia
Ajusta el comportamiento de detección con los parámetros en la sección desplegable Parameters:

| Parámetro | Rango | Predeterminado | Descripción |
|---|---|---|---|
| Confidence | 0.01 – 1.0 | 0.25 | Umbral mínimo de confianza |
| IoU | 0.0 – 0.95 | 0,7 | Umbral IoU para NMS |
| Image Size | 320, 640, 1280 (selector en la interfaz) | 640 | Dimensión de redimensionamiento de entrada (la API acepta cualquier valor de 32 a 1280) |
Cambiar cualquier parámetro vuelve a ejecutar automáticamente la inferencia en la imagen actual con un debounce de 500ms. No es necesario volver a subir la imagen.
Umbral de confianza
Filtra las predicciones por confianza:
- Más alto (0.5+): Menos predicciones, pero más seguras
- Más bajo (0.1-0.25): Más predicciones, con algo de ruido
- Predeterminado (0.25): Equilibrado para la mayoría de casos de uso
Umbral IoU
Controla la supresión no máxima (NMS):
- Más alto (0.7+): Permite más cajas solapadas
- Más bajo (0.3-0.5): Fusiona detecciones cercanas de forma más agresiva
- Predeterminado (0.7): Comportamiento de NMS equilibrado para la mayoría de casos de uso
Predict en despliegue
Cada dedicated endpoint en ejecución incluye una pestaña Predict directamente en su tarjeta de despliegue. Esto utiliza el propio servicio de inferencia del despliegue en lugar del servicio de predicción compartido, permitiéndote probar tu endpoint desplegado desde el navegador.
REST API
Accede a la inferencia de forma programática:
Autenticación
Incluye tu clave de API en las solicitudes:
Authorization: Bearer YOUR_API_KEYPara ejecutar la inferencia desde tus propios scripts, notebooks o aplicaciones, incluye una clave de API. Genera una en Settings > API Keys.
Endpoint
POST https://platform.ultralytics.com/api/models/{modelId}/predictSolicitud
import requests
url = "https://platform.ultralytics.com/api/models/MODEL_ID/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("image.jpg", "rb")}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
Respuesta
{
"images": [
{
"shape": [1080, 1920],
"results": [
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": { "x1": 100, "y1": 50, "x2": 300, "y2": 400 }
},
{
"class": 2,
"name": "car",
"confidence": 0.87,
"box": { "x1": 400, "y1": 200, "x2": 600, "y2": 350 }
}
],
"speed": {
"preprocess": 1.2,
"inference": 12.5,
"postprocess": 2.3
}
}
],
"metadata": {
"imageCount": 1,
"functionTimeCall": 0.018,
"model": "model.pt",
"version": {
"ultralytics": "8.x.x",
"torch": "2.6.0",
"torchvision": "0.21.0",
"python": "3.13.0"
}
}
}
Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
images | array | Lista de imágenes procesadas |
images[].shape | array | Dimensiones de la imagen [altura, anchura] |
images[].results | array | Lista de detecciones |
images[].results[].name | string | Nombre de la clase |
images[].results[].confidence | float | Confianza de detección (0-1) |
images[].results[].box | objeto | Coordenadas de BBox |
images[].speed | objeto | Tiempos de procesamiento en milisegundos |
metadata | objeto | Metadatos de la solicitud e información de versión |
Respuestas específicas de la tarea
El formato de respuesta varía según la tarea:
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}Facturación
La inferencia compartida (la pestaña Predict y el endpoint /api/models/{id}/predict) está incluida sin coste adicional en todos los planes. No hay cargos por solicitud para la inferencia compartida.
Para cargas de trabajo de producción que requieran un mayor rendimiento, despliega un dedicated endpoint.
Límites de tasa
La inferencia compartida tiene un límite de 20 solicitudes/min por API key. Cuando se limita, la API devuelve un 429 con una cabecera Retry-After. Consulta la referencia de límites de tasa completa para todas las categorías de endpoints.
Despliega un dedicated endpoint para una inferencia ilimitada sin límites de tasa, rendimiento predecible y respuestas consistentes de baja latencia. Para la inferencia local, consulta la guía del modo Predict.
Gestión de errores
Respuestas de error comunes:
| Código | Mensaje | Solución |
|---|---|---|
| 400 | Imagen no válida | Comprueba el formato del archivo |
| 401 | No autorizado | Verifica tu API key |
| 404 | Modelo no encontrado | Comprueba el ID del modelo |
| 429 | Límite de tasa alcanzado | Espera y vuelve a intentar, o usa un dedicated endpoint para un rendimiento ilimitado |
| 500 | Error del servidor | Reintenta la solicitud |
Preguntas frecuentes
¿Puedo ejecutar la inferencia en vídeo?
Ambos métodos de inferencia aceptan archivos de vídeo:
- Los dedicated endpoints aceptan archivos de vídeo directamente. Formatos compatibles (hasta 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Cada fotograma se procesa individualmente y los resultados se devuelven por fotograma. Consulta dedicated endpoints para más detalles.
- La inferencia compartida (
/api/models/{id}/predict) utiliza el mismo servicio de predicción y acepta los mismos formatos de vídeo. Sin embargo, la pestaña Predict del navegador en la IU solo permite subir imágenes; utiliza la REST API directamente o un dedicated endpoint para flujos de trabajo de vídeo. El endpoint compartido también tiene límite de tasa de 20 req/min, por lo que los dedicated endpoints son la mejor opción para cargas de trabajo de vídeo pesadas.
¿Cómo obtengo la imagen anotada?
La API devuelve predicciones en JSON. Para visualizar:
- Usa las predicciones para dibujar cajas localmente
- Usa el método
plot()de Ultralytics:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")Consulta la documentación del modo Predict para obtener la API de resultados completa y las opciones de visualización.
¿Cuál es el tamaño máximo de imagen?
- Límite de carga: 10MB
- Recomendado: <5MB para una inferencia rápida
- Auto-resize: Las imágenes se redimensionan según el parámetro
Image Sizeseleccionado
Las imágenes grandes se redimensionan automáticamente manteniendo la relación de aspecto.
¿Puedo ejecutar inferencia por lotes?
La API actual procesa una imagen por solicitud. Para lotes:
- Envía solicitudes simultáneas
- Usa un dedicated endpoint para un mayor rendimiento
- Considera la inferencia local para lotes grandes
import concurrent.futures
import requests
url = "https://predict-abc123.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
images = ["img1.jpg", "img2.jpg", "img3.jpg"]
def predict(image_path):
with open(image_path, "rb") as f:
return requests.post(url, headers=headers, files={"file": f}).json()
with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
results = list(executor.map(predict, images))