Endpoint dedicati#
Ultralytics Platform consente il deployment di modelli YOLO su endpoint dedicati in 42 regioni globali. Ciascun endpoint è un servizio a singolo tenant con comportamento di scale-to-zero, un URL di endpoint univoco e monitoraggio indipendente.

Crea Endpoint#
Dalla scheda Deploy#
Esegui il deploy di un modello dalla sua scheda Deploy:
- Naviga verso il tuo modello
- Fai clic sulla scheda Deploy
- Esamina la mappa del mondo e la tabella delle regioni, ordinate in base alla latenza misurata dalla tua posizione
- Clicca su Deploy nella riga della regione che vuoi usare
Il deployment inizia immediatamente senza passaggi di denominazione: il nome viene generato dal nome del modello e dalla città della regione (ad esempio yolo26n-iowa). Il modello deve disporre di pesi, altrimenti la scheda mostra uno stato vuoto anziché la tabella delle regioni.
Dalla pagina Deployments#
Crea un deployment dalla pagina globale Deploy nella barra laterale:
- Fai clic su New Deployment
- Seleziona un modello dal selettore dei modelli, che elenca i tuoi modelli completati
- Seleziona una regione dalla mini mappa o dalla tabella della latenza
- Rivedi il nome del deployment generato automaticamente, che puoi modificare qui
- Fai clic su Deploy Model

Ciclo di vita della distribuzione#
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 externCollega gli avvisi Slack per ricevere un messaggio quando un deployment diventa pronto o non riesce ad avviarsi.
Selezione Regione#
Scegli tra 42 regioni in tutto il mondo. La mappa interattiva delle regioni e la tabella mostrano:
- Pin delle regioni: codificati a colori per latenza su un gradiente da verde a rosso (le regioni più veloci sono più verdi, quelle più lente sono più rosse)
- Regioni distribuite: Evidenziate con un badge "Distributed" nella tabella
- Regioni in fase di deployment: Indicatore a impulsi animato sul pin e sulla riga della tabella
- Evidenziazione bidirezionale: passando il mouse sulla mappa viene evidenziata la riga della tabella e viceversa
La tabella delle regioni nella scheda Deploy del modello include:
| Colonna | Descrizione |
|---|---|
| Location | Città e paese con icona della bandiera |
| Zone | Identificatore della regione |
| Latenza | Tempo di ping misurato dal tuo browser |
| Distance | Distanza dalla tua posizione approssimativa in km |
| Actions | Pulsante Deploy o badge di stato "Deployed" |
La tabella è ricercabile per città, paese e zona ed è ordinata per latenza per impostazione predefinita.
La finestra di dialogo New Deployment (dalla pagina globale Deploy) mostra una tabella delle regioni più semplice con sole colonne Location, Latency e Select, elencando le 20 regioni più veloci con una nota sulle restanti. Usa la mini mappa per scegliere qualsiasi altra regione.
Il tuo browser misura la latenza verso ciascuna delle 42 regioni e i risultati vengono memorizzati nella cache per 30 minuti e condivisi tra la scheda Deploy e la finestra di dialogo New Deployment. Usa il pulsante Rescan sulla scheda del modello Deploy per misurare nuovamente dalla tua rete attuale. La distanza viene calcolata dalla posizione approssimativa della tua richiesta, quindi è una guida approssimativa piuttosto che un valore preciso.
Regioni disponibili#
| Zone | Posizione |
|---|---|
| us-central1 | Iowa, USA |
| us-east1 | Carolina del Sud, USA |
| us-east4 | Virginia settentrionale, USA |
| us-east5 | Columbus, USA |
| us-south1 | Dallas, USA |
| us-west1 | Oregon, USA |
| us-west2 | Los Angeles, USA |
| us-west3 | Salt Lake City, USA |
| us-west4 | Las Vegas, USA |
| northamerica-northeast1 | Montreal, Canada |
| northamerica-northeast2 | Toronto, Canada |
| northamerica-south1 | Queretaro, Messico |
| southamerica-east1 | San Paolo, Brasile |
| southamerica-west1 | Santiago, Cile |
Configurazione endpoint#
Finestra di dialogo New Deployment#
La finestra di dialogo New Deployment raccoglie tre input:
| Campo | Descrizione |
|---|---|
| Modello | Qualsiasi modello completato nello spazio di lavoro, scelto con il selettore |
| Regione | Regione di deployment, scelta sulla mini mappa o nella tabella della latenza |
| Nome distribuzione | Generato automaticamente una volta impostati modello e regione, e modificabile |
Sotto il nome, un pannello Resources di sola lettura riporta un badge Custom resources coming soon. Le risorse non sono
configurabili oggi: ogni endpoint viene eseguito come singola istanza che si riduce a zero quando è inattiva.
Il nome del deployment combina il nome del modello con la città della regione, ad esempio yolo26n-iowa. Sulla scheda del modello Deploy, viene aggiunto un suffisso numerico quando quel modello ha già un deployment nella regione (ad esempio yolo26n-iowa-2). I nomi devono essere unici all'interno di uno spazio di lavoro: effettuare il deployment di un nome già esistente restituisce un errore anziché rinominarlo silenziosamente.
Scheda Distribuisci (Distribuzione rapida)#
Il deployment dalla scheda Deploy del modello utilizza le stesse risorse fisse e il nome generato automaticamente, senza passaggi di finestre di dialogo. Il
deployment appare immediatamente nell'elenco Active Deployments sotto la tabella delle regioni mentre viene creato.
Gestisci endpoint#
Modalità di visualizzazione#
L'elenco delle distribuzioni supporta tre modalità di visualizzazione:
| Modalità | Descrizione |
|---|---|
| Schede | Schede con dettagli completi comprensive di log, esempi di codice e pannello di predizione |
| Compatta | Griglia di schede più piccole con metriche chiave |
| Tabella | DataTable con colonne ordinabili e ricerca |

Scheda distribuzione (Vista schede)#
Ogni scheda di distribuzione nella vista a schede mostra:
- Header: Nome, bandiera della regione, badge di stato e i pulsanti di azione disponibili per lo stato corrente: sostituisci e ferma quando è Ready, avvia quando è Stopped, elimina in qualsiasi momento
- Endpoint URL: URL copiabile con un link alla referenza API dell'endpoint stesso
- Metrics: Conteggio delle richieste (24h), latenza P95, tasso di errore o "Nessun traffico ancora"
- Controllo integrità: Indicatore di stato live con latenza e aggiornamento manuale
- Schede (Tabs):
Logs,CodeePredict - Footer: Il prefisso della chiave API associato al deployment e la data in cui è diventato pronto
- Status message: Il motivo del fallimento, quando un deployment è fallito
L'URL, le metriche, il controllo dello stato e le schede compaiono solo mentre il deployment è Ready. La scheda Logs mostra recenti voci di log
con filtro di severità (All / Errors). La scheda Code mostra esempi di codice pronti all'uso in Python, JavaScript,
e cURL con il tuo URL dell'endpoint, oltre alla chiave API associata per i proprietari dello spazio di lavoro (vedi Monitoring). La scheda Predict fornisce un pannello di predizione integrato per testare
direttamente sul deployment.
Le schede compatte mostrano la bandiera, il nome, la città, lo stato e le tre metriche. La vista a tabella è ordinabile per Name, Region, Status, Requests, P95 ed Errors, con ricerca tra nome, regione e stato. Entrambe le viste mantengono l'azione di eliminazione; avvio, arresto e sostituzione sono disponibili nella vista a schede.
Sostituisci un modello#
Sostituisci il modello dietro un endpoint pronto senza modificarne l'URL:
- Apri il deployment nella vista Schede
- Fai clic su Sostituisci modello
- Seleziona un altro modello completato dallo stesso workspace
- Facoltativamente, modifica il nome del deployment
- Fai clic su Sostituisci modello
Il modello attuale continua a servire mentre il sostituto si avvia. Una volta che il sostituto è pronto, il traffico si sposta sul nuovo modello. L'ID del deployment, l'URL, la regione e la chiave API rimangono invariati; il suo nome visualizzato cambia solo quando ne inserisci uno nuovo. Se la sostituzione fallisce, il modello e il nome precedenti rimangono attivi.
La sostituzione richiede tutto quanto segue e viene rifiutata altrimenti:
- Il deployment è Ready e non ha altre operazioni del ciclo di vita in corso
- Il modello sostitutivo ha dei pesi e appartiene allo stesso spazio di lavoro del deployment
- Il modello sostitutivo non è quello già distribuito
La sostituzione rimuove il modello precedente dal deployment. Ciascun endpoint serve un solo modello; crea un altro deployment quando hai bisogno di entrambi i modelli disponibili contemporaneamente.
Stati della distribuzione#
| Stato | Descrizione |
|---|---|
| Creazione in corso | La distribuzione è in fase di configurazione |
| Distribuzione in corso | Il container è in fase di avvio |
| Pronto | L'endpoint è attivo e accetta richieste |
| Arresto in corso | L'endpoint si sta chiudendo |
| Arrestato | L'endpoint è in pausa e non disponibile |
| Failed | Distribuzione non riuscita (vedi messaggio di errore) |
URL endpoint#
Ogni endpoint ha un URL univoco, ad esempio:
https://predict-<deployment-id>-<hash>-<region>.a.run.app
Fai clic sul pulsante di copia per copiare l'URL. Fai clic sull'icona dei documenti per aprire la referenza API dell'endpoint stesso. L'endpoint
serve questi percorsi:
| Path | Metodo | Descrizione |
|---|---|---|
/predict | POST | Esegui inferenza; richiede la chiave API del deployment |
/health | GET | Controllo di attività che riporta lo stato del servizio e il numero di modelli memorizzati nella cache |
/ | GET | Riepilogo dello stato per il servizio distribuito |
/docs | GET | Referenza API interattiva generata per questo deployment, modello e regione |
Gestione del ciclo di vita#
Controlla lo stato del tuo 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| Azione | Descrizione |
|---|---|
| Avvia | Riprendi un endpoint arrestato |
| Arresta | Metti in pausa l'endpoint |
| Elimina | Rimuovi permanentemente l'endpoint |
Arresta endpoint#
Arresta un endpoint quando non vuoi che accetti richieste:
- Fai clic sull'icona di pausa sulla scheda di distribuzione
- Lo stato dell'endpoint cambia in "Arresto in corso" e poi in "Arrestato"
Endpoint arrestati:
- Non accetta richieste e non riporta metriche o stato di salute
- Mantengono il loro URL, la regione e la chiave API associata, e possono essere riavviati in qualsiasi momento
- Continuano a essere conteggiati nella quota di deployment del tuo piano: elimina un endpoint per liberare il suo slot
Elimina endpoint#
Rimuovi permanentemente un endpoint:
- Fai clic sull'icona di eliminazione (cestino) sulla scheda di distribuzione
- Conferma l'eliminazione nella finestra di dialogo
L'eliminazione è immediata e permanente: i deployment non vanno nel Trash. Eliminare l'endpoint rimuove il suo servizio e libera uno slot nella tua quota di deployment. Puoi sempre creare un nuovo endpoint, ma riceverà un nuovo URL.
I deployment vengono rimossi anche quando il loro modello o progetto viene eliminato permanentemente, o quando un modello o progetto nel cestino raggiunge la fine della sua finestra di conservazione.
Utilizzo degli endpoint#
Autenticazione#
Ciascun deployment è associato a una singola chiave API dello spazio di lavoro che possiede il modello. Includila nelle richieste:
Authorization: Bearer YOUR_API_KEYL'endpoint accetta solo la chiave associata alla creazione, quindi nessun'altra chiave lo apre – nemmeno un'altra chiave attiva nello stesso spazio di lavoro. Per controllare quale chiave viene associata, effettua il deployment tramite l'API autenticata con la chiave del proprietario dello spazio di lavoro: quella specifica chiave viene associata e la possiedi già. I deployment creati in qualsiasi altro modo (l'UI della Platform o una chiamata API autenticata come membro del team) associano automaticamente una delle chiavi attive dello spazio di lavoro proprietario – identificala dal prefisso della chiave mostrato nel piè di pagina della scheda del deployment e chiedi il suo valore al proprietario dello spazio di lavoro, poiché solo il proprietario può visualizzare i valori delle chiavi (vedi API Keys). I membri del team senza la chiave associata possono comunque eseguire l'inferenza tramite il proxy di predizione della Platform nel browser.
Eliminare o disattivare la chiave API associata non revoca l'accesso diretto all'endpoint: chiunque possieda la stringa della chiave può comunque chiamare l'URL dell'endpoint. Ciò che si interrompe è il proxy di predizione della Platform, che controlla la chiave in tempo reale e segnala che non è più disponibile. Per revocare completamente l'accesso, arresta o elimina il deployment; dopo aver ruotato le chiavi, crea nuovamente l'endpoint in modo che associ la nuova chiave.
Richieste dirette all'endpoint#
Invia richieste di produzione direttamente all'URL mostrato sulla scheda del deployment. Queste richieste non passano attraverso il limitatore di velocità dell'API della Platform, quindi il limite di predizione di 20 richieste/minuto non si applica. L'endpoint ha comunque il suo limite di capacità:
- Una singola istanza serve ogni endpoint, elaborando un numero limitato di richieste alla volta
- Le richieste che non possono essere evase tempestivamente restituiscono
429con un'intestazioneRetry-After - Una singola richiesta può durare fino a 1 ora, il che consente il completamento dell'inferenza video
- Le risposte superiori a 1 KB sono compresse in gzip e sono consentite richieste browser cross-origin
Esempio di richiesta#
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())Parametri della richiesta#
| Parametro | Tipo | Predefinito | Intervallo | Descrizione |
|---|---|---|---|---|
file | file | - | - | File di immagine o video (obbligatorio a meno che non sia impostato source) |
conf | float | 0.25 | 0.01 – 1.0 | Soglia minima di confidenza |
iou | float | 0.7 | 0.0 – 0.95 | Soglia IoU per NMS |
imgsz | int | 640 | 32 – 1280 | Dimensione dell'immagine in input in pixel |
normalize | bool | false | - | Restituisci le coordinate del BBox come 0 – 1 |
decimals | int | 5 | 0 – 10 | Precisione decimale per i valori delle coordinate |
bits | int | 8 | 8, 12, 16 | Quantizzazione della mappa di profondità, solo per i modelli di profondità |
source | stringa | - | - | URL dell'immagine o stringa base64 (alternativa a file) |
Vedi Depth responses per come bits modifica la mappa di profondità restituita e come decodificarla.
Gli endpoint dedicati accettano sia immagini che video tramite il parametro file.
- Formati immagine (fino a 100 MB): AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WEBP
- Formati video (fino a 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV
Ogni fotogramma video viene elaborato singolarmente e i risultati vengono restituiti per fotogramma. Puoi anche passare l'URL di un'immagine pubblica o un'immagine codificata in base64 tramite il parametro source anziché file. Gli upload di grandi dimensioni vengono rifiutati con 413.
Formato risposta#
Uguale all'inferenza condivisa con campi specifici per attività.
FAQ#
I limiti degli endpoint dipendono dal piano:
- Free: Fino a 3 deployment
- Pro: Fino a 10 deployment
- Enterprise: Deployment illimitati
Ogni modello può comunque essere distribuito in più regioni all'interno della quota del tuo piano. La quota viene conteggiata sullo spazio di lavoro che possiede il modello, quindi i membri del team che distribuiscono un modello condiviso consumano l'assegnazione del proprietario. Il raggiungimento del limite restituisce un errore che chiede di eliminare prima un deployment esistente.
No, le regioni sono fisse. Per cambiare regione:
- Elimina l'endpoint esistente
- Crea un nuovo endpoint nella regione desiderata
Il nuovo endpoint riceve un nuovo URL. Per modificare solo il modello dietro un endpoint, usa model replacement, che mantiene l'URL.
Per una copertura globale:
- Esegui il deployment in più regioni
- Usa un bilanciatore di carico o il routing DNS
- Indirizza gli utenti verso l'endpoint più vicino
Il tempo di avvio a freddo dipende dal modello e dal fatto che l'endpoint sia sceso a zero; la Platform consente a un endpoint inattivo del tempo extra per l'avvio prima di segnalarlo come non integro. L'esecuzione di un controllo di salute dalla scheda del deployment prima di un picco di traffico riscalda l'istanza.
No. Ogni deployment serve il traffico sull'URL dell'endpoint generato mostrato sulla sua scheda di deployment, che rimane stabile per tutta la durata del deployment, compresa la sostituzione dei modelli.