Link to this sectionInférence#
Ultralytics Platform fournit une API d'inférence pour tester les modèles entraînés. Utilise l'onglet Predict basé sur le navigateur pour une validation rapide ou l'REST API pour un accès par programmation.

Link to this sectionOnglet Prédire#
Chaque modèle inclut un onglet Predict pour l'inférence via le navigateur :
- Accède à ton modèle
- Clique sur l'onglet Predict
- Télécharge une image, utilise un exemple ou ouvre ta webcam
- Visualise instantanément les prédictions avec des superpositions de boîtes englobantes

Link to this sectionMéthodes d'entrée#
Le panneau de prédiction prend en charge plusieurs méthodes d'entrée :
| Méthode | Description |
|---|---|
| Téléchargement d'image | Glisse-dépose ou clique pour télécharger une image |
| Images d'exemple | Clique sur des exemples intégrés (images du dataset ou par défaut) |
| Capture webcam | Flux vidéo en direct avec capture d'image unique |
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 sectionTélécharger une image#
Glisse-dépose ou clique pour télécharger :
- Formats pris en charge : JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- Taille max : 10 Mo
- Auto-inférence : Les résultats apparaissent automatiquement après le téléchargement
Le panneau de prédiction exécute l'inférence automatiquement lorsque tu télécharges une image, sélectionnes un exemple ou captures une image via la webcam. Aucun clic sur un bouton n'est nécessaire.
Link to this sectionImages d'exemple#
Le panneau de prédiction affiche des images d'exemple provenant du dataset lié à ton modèle. Si aucun dataset n'est lié, des exemples par défaut sont utilisés :
| Image | Contenu |
|---|---|
bus.jpg | Scène de rue avec des véhicules |
zidane.jpg | Scène sportive avec des personnes |
Pour les modèles OBB, des images aériennes de bateaux et d'aéroports sont affichées à la place.
Les images d'exemple sont préchargées au chargement de la page, donc cliquer sur un exemple déclenche une inférence quasi instantanée sans attendre de téléchargement.
Link to this sectionWebcam#
Clique sur la carte de la webcam pour démarrer un flux vidéo en direct :
- Accorde la permission d'accès à la caméra lorsque cela est demandé
- Clique sur l'aperçu vidéo pour capturer une image
- L'inférence s'exécute automatiquement sur l'image capturée
- Clique à nouveau pour redémarrer la webcam
Link to this sectionVoir les résultats#
Les résultats de l'inférence s'affichent :
- Bounding boxes avec des étiquettes de classe en superposition SVG
- Scores de confiance pour chaque détection
- Couleurs des classes provenant de la palette de couleurs de ton dataset (ou de la palette par défaut d'Ultralytics)
- Répartition de la vitesse : Prétraitement, inférence, post-traitement et temps réseau

Le panneau de résultats affiche :
| Champ | Description |
|---|---|
| Liste des détections | Chaque détection avec le nom de la classe et la confiance |
| Statistiques de vitesse | Prétraitement, inférence, post-traitement, réseau (ms) |
| Réponse JSON | Réponse API brute dans un bloc de code |
Link to this sectionParamètres d'inférence#
Ajuste le comportement de la détection avec les paramètres dans la section pliable Parameters :

| Paramètre | Plage | Défaut | Description |
|---|---|---|---|
| Confiance | 0,01 – 1,0 | 0.25 | Seuil de confiance minimum |
| IoU | 0,0 – 0,95 | 0.7 | Seuil IoU NMS |
| Taille de l'image | 320, 640, 1280 (bascule UI) | 640 | Dimension de redimensionnement de l'entrée (l'API accepte toute valeur de 32 à 1280) |
Modifier n'importe quel paramètre relance automatiquement l'inférence sur l'image actuelle avec un debounce de 500ms. Pas besoin de retélécharger.
Link to this sectionSeuil de confiance#
Filtre les prédictions par confiance :
- Plus élevé (0,5+) : Moins de prédictions, mais plus certaines
- Plus bas (0,1-0,25) : Plus de prédictions, avec un peu de bruit
- Par défaut (0,25) : Équilibré pour la plupart des cas d'utilisation
Link to this sectionSeuil IoU#
Contrôle la NMS (Non-Maximum Suppression) :
- Plus élevé (0,7+) : Autorise plus de boîtes qui se chevauchent
- Plus bas (0,3-0,5) : Fusionne les détections proches de manière plus agressive
- Par défaut (0,7) : Comportement NMS équilibré pour la plupart des cas d'utilisation
Link to this sectionInférence de déploiement#
Chaque dedicated endpoint en cours d'exécution inclut un onglet Predict directement sur sa carte de déploiement. Cela utilise le propre service d'inférence du déploiement plutôt que le service de prédiction partagé, te permettant de tester ton endpoint déployé depuis le navigateur.
Link to this sectionREST API#
Accède à l'inférence par programmation :
Link to this sectionAuthentification#
Inclus ta clé API dans les requêtes :
Authorization: Bearer YOUR_API_KEYPour exécuter l'inférence depuis tes propres scripts, notebooks ou applications, inclus une clé API. Génère-en une dans Settings > API Keys.
Link to this sectionPoint de terminaison#
POST https://platform.ultralytics.com/api/models/{modelId}/predictLink to this sectionRequête#
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 sectionParamètres de requête#
| Paramètre | Type | Défaut | Plage | Description |
|---|---|---|---|---|
file | fichier | - | - | Fichier image ou vidéo (requis sauf si source est défini) |
conf | flottant | 0.25 | 0,01 – 1,0 | Seuil de confiance minimum |
iou | flottant | 0.7 | 0,0 – 0,95 | Seuil IoU NMS |
imgsz | entier | 640 | 32 – 1280 | Taille de l'image d'entrée en pixels |
normalize | bool | false | - | Retourne les coordonnées des boîtes englobantes entre 0 et 1 |
decimals | entier | 5 | 0 – 10 | Précision décimale pour les valeurs de coordonnées |
source | cha'ne de caract'res | - | - | URL d'image ou chaîne base64 (alternative au file) |
Link to this sectionRéponse#
{
"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 sectionChamps de réponse#
| Champ | Type | Description |
|---|---|---|
images | array | Liste des images traitées |
images[].shape | array | Dimensions de l'image [hauteur, largeur] |
images[].results | array | Liste des détections |
images[].results[].class | entier | Indice de classe (ID entier) |
images[].results[].name | cha'ne de caract'res | Nom de la classe |
images[].results[].confidence | flottant | Confiance de la détection (0-1) |
images[].results[].box | objet | Coordonnées de la boîte englobante |
images[].speed | objet | Temps de traitement en millisecondes |
metadata | objet | Métadonnées de la requête et informations sur la version |
Link to this sectionRéponses spécifiques à la tâche#
Le format de réponse varie selon la tâche :
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}Link to this sectionFacturation#
L'inférence partagée (l'onglet Predict et le point de terminaison /api/models/{id}/predict) est incluse sans coût additionnel dans tous les forfaits. Il n'y a pas de frais par requête pour l'inférence partagée.
Pour les charges de travail en production nécessitant un débit plus élevé, déploie un point de terminaison dédié.
Link to this sectionLimites de taux#
L'inférence partagée est limitée à 20 requêtes/min par clé API. En cas de limitation, l'API renvoie 429 avec un en-tête Retry-After. Consulte la référence complète des limites de débit pour toutes les catégories de points de terminaison.
Déploie un point de terminaison dédié pour une inférence illimitée sans limites de débit, un débit prévisible et des réponses à faible latence cohérentes. Pour l'inférence locale, consulte le guide du mode Predict.
Link to this sectionGestion des erreurs#
Réponses d'erreur courantes :
| Code | Message | Solution |
|---|---|---|
| 400 | Image invalide | Vérifie le format de fichier |
| 401 | Non autorisé | Vérifie ta clé API |
| 404 | Modèle introuvable | Vérifie l'ID du modèle |
| 429 | Limite de débit atteinte | Attends et réessaie, ou utilise un point de terminaison dédié pour un débit illimité |
| 500 | Erreur serveur | Réessaie la requête |
| 503 | Service indisponible | Le service Predict démarre ou est injoignable ; attends un court instant et réessaie |
Link to this sectionFAQ#
Link to this sectionPuis-je exécuter l'inférence sur une vidéo ?#
Les deux méthodes d'inférence acceptent les fichiers vidéo :
- Les points de terminaison dédiés acceptent directement les fichiers vidéo. Formats supportés (jusqu'à 100 Mo) : ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Chaque image est traitée individuellement et les résultats sont renvoyés par image. Consulte les points de terminaison dédiés pour plus de détails.
- L'inférence partagée (
/api/models/{id}/predict) utilise le même service predict et accepte les mêmes formats vidéo. Cependant, l'onglet Predict du navigateur dans l'interface utilisateur ne télécharge que des images — utilise directement l'API REST ou un point de terminaison dédié pour les flux de travail vidéo. Le point de terminaison partagé est également limité à 20 req/min, donc les points de terminaison dédiés sont un meilleur choix pour les charges de travail vidéo lourdes.
Link to this sectionComment puis-je obtenir l'image annotée ?#
L'API renvoie des prédictions JSON. Pour visualiser :
- Utilise les prédictions pour dessiner les boîtes localement
- Utilise la méthode
plot()d'Ultralytics :
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")Consulte la documentation du mode Predict pour l'API complète des résultats et les options de visualisation.
Link to this sectionQuelle est la taille maximale d'une image ?#
- Limite de téléchargement : 10 Mo
- Recommandé : <5 Mo pour une inférence rapide
- Redimensionnement automatique : Les images sont redimensionnées selon le paramètre
Image Sizesélectionné
Les grandes images sont automatiquement redimensionnées tout en préservant le rapport hauteur/largeur.
Link to this sectionPuis-je exécuter l'inférence par lots ?#
L'API actuelle traite une image par requête. Pour le mode par lots :
- Envoie des requêtes simultanées
- Utilise un point de terminaison dédié pour un débit plus élevé
- Envisage l'inférence locale pour les grands lots
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))