Puntos de conexión dedicados#
Ultralytics Platform permite el despliegue de modelos YOLO en endpoints dedicados en 42 regiones globales. Cada endpoint es un servicio de inquilino único con comportamiento de escala a cero, una URL de endpoint única y supervisión independiente.

Crear endpoint#
Desde la pestaña de despliegue#
Despliega un modelo desde su pestaña Deploy:
- Navega hasta tu modelo
- Haz clic en la pestaña Deploy
- Revisa el mapamundi y la tabla de regiones, que está ordenada por la latencia medida desde tu ubicación
- Haz clic en Deploy en la fila de la región que quieras usar
El despliegue comienza de inmediato sin paso de nombres: el nombre se genera a partir del nombre del modelo y la ciudad de la región (por ejemplo, yolo26n-iowa). El modelo debe tener pesos, o la pestaña mostrará un estado vacío en lugar de la tabla de regiones.
Desde la página de despliegues#
Crea un despliegue desde la página global Deploy en la barra lateral:
- Haz clic en New Deployment
- Selecciona un modelo en el selector de modelos, que muestra tus modelos completados
- Selecciona una región en el minimapa o en la tabla de latencia
- Revisa el nombre de despliegue generado automáticamente, el cual puedes editar aquí
- Haz clic en Deploy Model

Ciclo de vida del despliegue#
stateDiagram-v2
[*] --> Creating: Deploy
Creating --> Deploying: Service starting
Deploying --> Ready: Service URL published
Ready --> Stopping: Stop
Ready --> Deploying: Replace model
Stopping --> Stopped: Stopped
Stopped --> Deploying: Start
Deploying --> Stopped: Start failed
Ready --> [*]: Delete
Stopped --> [*]: Delete
Creating --> Failed: Error
Deploying --> Failed: Error
Failed --> [*]: Delete
classDef proc fill:#2196F3,color:#fff
classDef out fill:#9C27B0,color:#fff
classDef error fill:#F44336,color:#fff
classDef extern fill:#607D8B,color:#fff
class Creating,Deploying,Stopping proc
class Ready out
class Failed error
class Stopped externConecta Slack alerts para recibir un mensaje cuando un despliegue esté listo o falle al iniciarse.
Selección de región#
Elige entre 42 regiones en todo el mundo. El mapa de regiones interactivo y la tabla muestran:
- Marcadores de región: Codificados por colores según la latencia en un degradado de verde a rojo (las regiones más rápidas son más verdes, las más lentas son más rojas)
- Regiones desplegadas: Resaltadas con una insignia de "Desplegado" en la tabla
- Regiones desplegándose: Indicador de pulso animado en el marcador y en la fila de la tabla
- Resaltado bidireccional: Pasar el cursor sobre el mapa resalta la fila de la tabla y viceversa
La tabla de regiones en la pestaña del modelo Deploy incluye:
| Columna | Descripción |
|---|---|
| Ubicación | Ciudad y país con icono de bandera |
| Zona | Identificador de la región |
| Latencia | Tiempo de ping medido desde tu navegador |
| Distancia | Distancia desde tu ubicación aproximada en km |
| Acciones | Botón de desplegar o insignia de estado "Deployed" |
La tabla se puede buscar por ciudad, país y zona, y está ordenada por latencia de forma predeterminada.
El diálogo de New Deployment (desde la página global de Deploy) muestra una tabla de regiones más simple con solo las columnas Ubicación, Latencia y Seleccionar, que lista las 20 regiones más rápidas con una nota sobre las restantes. Usa el minimapa para elegir cualquier otra región.
Tu navegador mide la latencia de cada una de las 42 regiones, y los resultados se almacenan en caché durante 30 minutos y se comparten entre la pestaña de Deploy y el diálogo de New Deployment. Usa el botón Reescanear en la pestaña del modelo Deploy para volver a medir desde tu red actual. La distancia se calcula a partir de la ubicación aproximada de tu solicitud, por lo que es una guía aproximada en lugar de un valor preciso.
Regiones disponibles#
| Zona | Ubicación |
|---|---|
| us-central1 | Iowa, EE. UU. |
| us-east1 | Carolina del Sur, EE. UU. |
| us-east4 | Virginia del Norte, EE. UU. |
| us-east5 | Columbus, EE. UU. |
| us-south1 | Dallas, EE. UU. |
| us-west1 | Oregón, EE. UU. |
| us-west2 | Los Ángeles, EE. UU. |
| us-west3 | Salt Lake City, EE. UU. |
| us-west4 | Las Vegas, EE. UU. |
| northamerica-northeast1 | Montreal, Canadá |
| northamerica-northeast2 | Toronto, Canadá |
| northamerica-south1 | Querétaro, México |
| southamerica-east1 | São Paulo, Brasil |
| southamerica-west1 | Santiago, Chile |
Configuración del Endpoint#
Diálogo de nuevo despliegue#
El diálogo de New Deployment recopila tres entradas:
| Campo | Descripción |
|---|---|
| Modelo | Cualquier modelo completado en el espacio de trabajo, elegido con el selector |
| Región | Región de despliegue, elegida en el minimapa o en la tabla de latencia |
| Nombre de la implementación | Generado automáticamente una vez que se establecen el modelo y la región, y es editable |
Debajo del nombre, un panel de Recursos de solo lectura lleva una insignia de Custom resources coming soon. Los recursos no son configurables hoy en día: cada endpoint se ejecuta como una única instancia que se reduce a cero cuando está inactiva.
El nombre del despliegue combina el nombre del modelo con la ciudad de la región, por ejemplo yolo26n-iowa. En la pestaña del modelo Deploy, se añade un sufijo numérico cuando ese modelo ya tiene un despliegue en la región (por ejemplo yolo26n-iowa-2). Los nombres deben ser únicos dentro de un espacio de trabajo; desplegar un nombre que ya existe devuelve un error en lugar de renombrarlo silenciosamente.
Pestaña Deploy (Implementación rápida)#
Desplegar desde la pestaña del modelo Deploy utiliza los mismos recursos fijos y el nombre generado automáticamente, sin ningún paso de diálogo. El despliegue aparece inmediatamente en la lista de Despliegues activos debajo de la tabla de regiones mientras se crea.
Gestionar endpoints#
Modos de visualización#
La lista de implementaciones admite tres modos de visualización:
| Modo | Descripción |
|---|---|
| Tarjetas | Tarjetas de detalles completos con registros, ejemplos de código y panel de predicción |
| Compacto | Cuadrícula de tarjetas más pequeñas con métricas clave |
| Tabla | DataTable con columnas ordenables y búsqueda |

Tarjeta de implementación (Vista de tarjetas)#
Cada tarjeta de implementación en la vista de tarjetas muestra:
- Cabecera: Nombre, bandera de la región, insignia de estado y los botones de acción disponibles para el estado actual: reemplazar y detener cuando esté Listo, iniciar cuando esté Detenido, eliminar en cualquier momento
- URL del endpoint: URL copiable con un enlace a la referencia de la API propia del endpoint
- Métricas: Recuento de solicitudes (24h), latencia P95, tasa de errores o "Sin tráfico aún"
- Verificación de estado: Indicador de estado en tiempo real con latencia y actualización manual
- Tabs:
Logs,CodeyPredict - Pie de página: El prefijo de la clave de API vinculada al despliegue y la fecha en que estuvo lista
- Mensaje de estado: El motivo del fallo, cuando un despliegue falla
La URL, las métricas, la comprobación de estado y las pestañas aparecen solo mientras el despliegue está Listo. La pestaña de Logs muestra entradas de registro recientes con filtrado de gravedad (Todos / Errores). La pestaña de Code muestra ejemplos de código listos para usar en Python, JavaScript y cURL con la URL de tu endpoint, además de la clave de API vinculada para los propietarios del espacio de trabajo (consulta Supervisión). La pestaña de Predict proporciona un panel de predicción integrado para probar directamente en el despliegue.
Las tarjetas compactas muestran la bandera, el nombre, la ciudad, el estado y las tres métricas. La vista de tabla se puede ordenar por Nombre, Región, Estado, Solicitudes, P95 y Errores, con búsqueda en nombre, región y estado. Ambas vistas conservan la acción de eliminar; iniciar, detener y reemplazar están disponibles en la vista de tarjetas.
Reemplazar un modelo#
Reemplaza el modelo detrás de un endpoint listo sin cambiar su URL:
- Abre el despliegue en la vista de Tarjetas
- Haz clic en Reemplazar modelo
- Selecciona otro modelo completado del mismo espacio de trabajo
- Opcionalmente, edita el nombre del despliegue
- Haz clic en Reemplazar modelo
El modelo actual continúa dando servicio mientras se inicia el reemplazo. Una vez que el reemplazo está listo, el tráfico se mueve al nuevo modelo. El ID de despliegue, la URL, la región y la clave de API permanecen sin cambios; su nombre visible solo cambia cuando introduces uno nuevo. Si el fallo ocurre en el reemplazo, el modelo y el nombre anteriores permanecen activos.
El reemplazo requiere todo lo siguiente, y se rechaza en caso contrario:
- El despliegue está Listo y no tiene ninguna otra operación del ciclo de vida en curso
- El modelo de reemplazo tiene pesos y pertenece al mismo espacio de trabajo que el despliegue
- El modelo de reemplazo no es el que ya está desplegado
El reemplazo elimina el modelo anterior del despliegue. Cada endpoint sirve un modelo; crea otro despliegue cuando necesites ambos modelos disponibles al mismo tiempo.
Estados de implementación#
| Estado | Descripción |
|---|---|
| Creando | La implementación se está configurando |
| Implementando | El contenedor se está iniciando |
| Listo | El endpoint está activo y aceptando solicitudes |
| Deteniendo | El endpoint se está apagando |
| Detenido | El endpoint está pausado y no está disponible |
| Failed | La implementación falló (consulta el mensaje de error) |
URL del endpoint#
Cada endpoint tiene una URL única, por ejemplo:
https://predict-<deployment-id>-<hash>-<region>.a.run.app
Haz clic en el botón de copiar para copiar la URL. Haz clic en el icono de documentos para abrir la referencia de la API propia del endpoint. El endpoint sirve estas rutas:
| Ruta | Método | Descripción |
|---|---|---|
/predict | POST | Ejecutar inferencia; requiere la clave de API del despliegue |
/health | GET | Comprobación de actividad que informa sobre el estado del servicio y el número de modelos en caché |
/ | GET | Resumen de estado para el servicio desplegado |
/docs | GET | Referencia de API interactiva generada para este despliegue, modelo y región |
Gestión del ciclo de vida#
Controla el estado de tu endpoint:
graph LR
R[Ready]:::out -->|Stop| S[Stopped]:::extern
S -->|Start| R
R -->|Delete| D[Deleted]:::error
S -->|Delete| D
classDef out fill:#9C27B0,color:#fff
classDef error fill:#F44336,color:#fff
classDef extern fill:#607D8B,color:#fff| Acción | Descripción |
|---|---|
| Iniciar | Reanuda un endpoint detenido |
| Detener | Pausa el endpoint |
| Eliminar | Elimina permanentemente el endpoint |
Detener endpoint#
Detén un endpoint cuando no quieras que acepte solicitudes:
- Haz clic en el icono de pausa en la tarjeta de implementación
- El estado del endpoint cambia a "Deteniendo" y luego a "Detenido"
Endpoints detenidos:
- No aceptan solicitudes y no informan métricas ni estado de salud
- Mantienen su URL, región y clave de API vinculada, y se pueden reiniciar en cualquier momento
- Siguen contando para la cuota de despliegue de tu plan; elimina un endpoint para liberar su espacio
Eliminar endpoint#
Elimina permanentemente un endpoint:
- Haz clic en el icono de eliminar (papelera) en la tarjeta de implementación
- Confirma la eliminación en el cuadro de diálogo
La eliminación es inmediata y permanente; los despliegues no van a la Papelera. Eliminar el endpoint elimina su servicio y libera un espacio en tu cuota de despliegue. Siempre puedes crear un nuevo endpoint, pero este recibe una nueva URL.
Los despliegues también se eliminan cuando su modelo o proyecto se elimina de forma permanente, o cuando un modelo o proyecto en la papelera llega al final de su ventana de retención.
Uso de endpoints#
Autenticación#
Cada despliegue está vinculado a una sola clave de API del espacio de trabajo propietario del modelo. Inclúyela en las solicitudes:
Authorization: Bearer YOUR_API_KEYEl endpoint acepta únicamente la clave vinculada en la creación, por lo que ninguna otra clave lo abre, ni siquiera otra clave activa en el mismo espacio de trabajo. Para controlar qué clave se vincula, despliega a través de la API autenticada con la clave del propietario del espacio de trabajo: se vincula exactamente esa clave y ya la posees. Los despliegues creados de cualquier otra forma (la interfaz de usuario de la plataforma o una llamada a la API autenticada como miembro del equipo) vinculan automáticamente una de las claves activas del espacio de trabajo propietario; identifícala por el prefijo de clave que se muestra en el pie de página de la tarjeta de despliegue y pídele su valor al propietario del espacio de trabajo, ya que solo el propietario puede ver los valores de las claves (consulta Claves de API). Los miembros del equipo sin la clave vinculada aún pueden ejecutar inferencias a través del proxy de predicción de la plataforma en el navegador.
Eliminar o desactivar la clave de API vinculada no revoca el acceso directo al endpoint; cualquier persona que tenga la cadena de la clave aún puede llamar a la URL del endpoint. Lo que sí deja de funcionar es el proxy de predicción de la plataforma, que comprueba la clave en vivo e informa de que ya no está disponible. Para revocar completamente el acceso, detén o elimina el despliegue; tras rotar las claves, crea el endpoint de nuevo para que vincule la nueva clave.
Solicitudes directas a endpoints#
Envía las solicitudes de producción directamente a la URL que se muestra en la tarjeta de despliegue. Estas solicitudes no pasan a través del limitador de velocidad de la API de la plataforma, por lo que el límite de predicción de 20 solicitudes/minuto no se aplica. El endpoint aún tiene su propio límite de capacidad:
- Una sola instancia da servicio a cada endpoint, procesando un número limitado de solicitudes a la vez
- Las solicitudes que no se pueden atender con prontitud devuelven
429con una cabeceraRetry-After - Una sola solicitud puede ejecutarse durante un máximo de 1 hora, lo que permite que la inferencia de vídeo se complete
- Las respuestas superiores a 1 KB se comprimen con gzip y se permiten solicitudes de navegador de origen cruzado
Ejemplo de solicitud#
import requests
# Deployment endpoint
url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"
# Headers with your deployment API key
headers = {"Authorization": "Bearer YOUR_API_KEY"}
# Inference parameters
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
# Send image for inference
with open("image.jpg", "rb") as f:
response = requests.post(url, headers=headers, data=data, files={"file": f})
print(response.json())Pará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 |
bits | entero | 8 | 8, 12, 16 | Cuantización del mapa de profundidad, solo para modelos de profundidad |
source | cadena | - | - | URL de imagen o cadena en base64 (alternativa a file) |
Consulta Respuestas de profundidad para ver cómo bits cambia el mapa de profundidad devuelto y cómo descodificarlo.
Los endpoints dedicados aceptan tanto imágenes como vídeos a través del parámetro file.
- Formatos de imagen (hasta 100 MB): AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WEBP
- Formatos de vídeo (hasta 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV
Cada fotograma de vídeo se procesa individualmente y los resultados se devuelven por fotograma. También puedes pasar una URL de imagen pública o una imagen codificada en base64 a través del parámetro source en lugar de file. Las subidas de gran tamaño se rechazan con 413.
Formato de respuesta#
Igual que shared inference con campos específicos de la tarea.
FAQ#
Los límites de los endpoints dependen del plan:
- Free: Hasta 3 despliegues
- Pro: Hasta 10 despliegues
- Enterprise: Despliegues ilimitados
Cada modelo se puede seguir desplegando en múltiples regiones dentro de la cuota de tu plan. La cuota se computa contra el espacio de trabajo propietario del modelo, por lo que los miembros del equipo que despliegan un modelo compartido consumen la asignación del propietario. Alcanzar el límite devuelve un error que te pide que elimines primero un despliegue existente.
No, las regiones son fijas. Para cambiar de región:
- Elimina el endpoint existente
- Crea un nuevo endpoint en la región deseada
El nuevo endpoint recibe una nueva URL. Para cambiar solo el modelo detrás de un endpoint, usa el reemplazo de modelos, que mantiene la URL.
Para una cobertura global:
- Despliega en múltiples regiones
- Utiliza un balanceador de carga o enrutamiento DNS
- Dirige a los usuarios al endpoint más cercano
El tiempo de arranque en frío depende del modelo y de si el endpoint se ha reducido a cero; la plataforma permite a un endpoint inactivo tiempo adicional para iniciarse antes de informar de que no está saludable. Ejecutar una comprobación de salud desde la tarjeta de despliegue antes de una ráfaga de tráfico calienta la instancia.
No. Cada despliegue sirve tráfico en la URL de endpoint generada que se muestra en su tarjeta de despliegue, la cual se mantiene estable durante la vida útil del despliegue, incluso a través de reemplazos de modelos.