Link to this sectionInferencia#
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 mediante programación.

Link to this sectionPestañ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 webcam
- Visualiza las predicciones al instante con superposiciones de cuadros delimitadores

Link to this sectionMétodos de entrada#
El panel de predicción admite varios 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 predeterminados) |
| Captura de webcam | Transmisión de cámara en directo 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:#fffLink to this sectionSubir imagen#
Arrastra y suelta o haz clic para subir:
- Formatos compatibles: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- Tamaño máximo: 10MB
- Auto-inferencia: 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 webcam. No es necesario hacer clic en ningún botón.
Link to this sectionImá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 de calle 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.
Link to this sectionCámara web#
Haz clic en la tarjeta de la webcam para iniciar una transmisión de cámara en directo:
- Concede permiso de acceso a la cámara cuando se te solicite
- Haz clic en la previsualización de vídeo para capturar un fotograma
- La inferencia se ejecuta automáticamente en el fotograma capturado
- Haz clic de nuevo para reiniciar la webcam
Link to this sectionVer resultados#
Los resultados de la inferencia se 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, postprocesamiento y red

El panel de resultados muestra:
| Campo | Descripción |
|---|---|
| Lista de detecciones | Cada detección con el nombre de la clase y la confianza |
| Estadísticas de velocidad | Preprocesamiento, inferencia, postprocesamiento, red (ms) |
| Respuesta JSON | Respuesta de la API en bruto en un bloque de código |
Link to this sectionParámetros de inferencia#
Ajusta el comportamiento de la detección con parámetros en la sección colapsable Parameters:

| Parámetro | Rango | Predeterminado | Descripción |
|---|---|---|---|
| Confianza | 0.01 – 1.0 | 0.25 | Umbral de confianza mínimo |
| IoU | 0.0 – 0.95 | 0.7 | Umbral de IoU para NMS |
| Image Size (Tamaño de imagen) | 320, 640, 1280 (selector de UI) | 640 | Dimensión de redimensionamiento de entrada (la API acepta cualquier valor entre 32 y 1280) |
Cambiar cualquier parámetro vuelve a ejecutar automáticamente la inferencia en la imagen actual con un debounce de 500ms. No hace falta volver a subirla.
Link to this sectionUmbral 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 los casos de uso
Link to this sectionUmbral de IoU#
Controla el Non-Maximum Suppression:
- Más alto (0.7+): Permite más cuadros superpuestos
- 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
Link to this sectionInferencia de despliegue#
Cada endpoint dedicado 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.
Link to this sectionREST API#
Accede a la inferencia mediante programación:
Link to this sectionAutenticación#
Incluye tu clave de API en las peticiones:
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.
Link to this sectionEndpoint#
POST https://platform.ultralytics.com/api/models/{modelId}/predictLink to this sectionPetición#
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())
Link to this sectionParámetros de petición#
| Parámetro | Tipo | Predeterminado | Rango | Descripción |
|---|---|---|---|---|
file | archivo | - | - | Archivo de imagen o vídeo (obligatorio a menos que se establezca source) |
conf | float | 0.25 | 0.01 – 1.0 | Umbral de confianza mínimo |
iou | float | 0.7 | 0.0 – 0.95 | Umbral de IoU para NMS |
imgsz | entero | 640 | 32 – 1280 | Tamaño de la imagen de entrada en píxeles |
normalize | bool | false | - | Devuelve las coordenadas del bounding box entre 0 y 1 |
decimals | entero | 5 | 0 – 10 | Precisión decimal para los valores de las coordenadas |
source | cadena | - | - | URL de imagen o cadena base64 (alternativa a file) |
Link to this sectionRespuesta#
{
"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"
}
}
}
Link to this sectionCampos 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[].class | entero | Índice de clase (ID entero) |
images[].results[].name | cadena | Nombre de la clase |
images[].results[].confidence | float | Confianza de la detección (0-1) |
images[].results[].box | objeto | Coordenadas del BBox |
images[].speed | objeto | Tiempos de procesamiento en milisegundos |
metadata | objeto | Metadatos de la solicitud e información de versión |
Link to this sectionRespuestas específicas para cada 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}
}Link to this sectionFacturació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.
Link to this sectionLímites de tasa#
La inferencia compartida tiene un límite de tasa de 20 solicitudes/min por API key. Cuando se limita, la API devuelve 429 con un encabezado Retry-After. Consulta la referencia completa de límites de tasa para todas las categorías de endpoints.
Despliega un dedicated endpoint para obtener inferencia ilimitada sin límites de tasa, rendimiento predecible y respuestas consistentes de baja latencia. Para inferencia local, consulta la guía del modo Predict.
Link to this sectionGestió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 superado | Espera y reintenta, o utiliza un dedicated endpoint para un rendimiento ilimitado |
| 500 | Error del servidor | Reintentar solicitud |
| 503 | Servicio no disponible | El servicio Predict se está iniciando o no está disponible; espera un momento y vuelve a intentarlo |
Link to this sectionFAQ#
Link to this section¿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 admitidos (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 interfaz de usuario solo permite cargar imágenes; utiliza la REST API directamente o un dedicated endpoint para flujos de trabajo de vídeo. El endpoint compartido también tiene un 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 intensas.
Link to this section¿Cómo obtengo la imagen anotada?#
La API devuelve predicciones en JSON. Para visualizar:
- Utiliza las predicciones para dibujar BBox localmente
- Utiliza 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.
Link to this section¿Cuál es el tamaño máximo de imagen?#
- Límite de subida: 10MB
- Recomendado: <5MB para una inferencia rápida
- Auto-resize: Las imágenes se redimensionan al parámetro
Image Sizeseleccionado
Las imágenes grandes se redimensionan automáticamente manteniendo la relación de aspecto.
Link to this section¿Puedo ejecutar la inferencia por lotes?#
La API actual procesa una imagen por solicitud. Para lotes:
- Envía solicitudes simultáneas
- Utiliza 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))