Inferência (Inference)
A Ultralytics Platform fornece uma API de inferência para testar modelos treinados. Usa o separador Predict baseado no browser para uma validação rápida ou a REST API para acesso programático.

Aba de Prever
Cada modelo inclui um separador Predict para inferência baseada no browser:
- Navega para o teu modelo
- Clica no separador Predict
- Carrega uma imagem, usa um exemplo ou abre a tua webcam
- Vê as predições instantaneamente com sobreposições de bounding box

Métodos de Entrada
O painel de predição suporta vários métodos de entrada:
| Método | Descrição |
|---|---|
| Upload de imagem | Arrasta e larga ou clica para carregar uma imagem |
| Imagens de exemplo | Clica em exemplos integrados (imagens do dataset ou predefinições) |
| Captura de webcam | Feed de câmara em direto com captura de fotograma único |
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:#fffCarregar Imagem
Arrasta e larga ou clica para carregar:
- Formatos suportados: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- Tamanho máximo: 10MB
- Auto-inferência: Os resultados aparecem automaticamente após o carregamento
O painel de predição executa a inferência automaticamente quando carregas uma imagem, selecionas um exemplo ou capturas um fotograma da webcam. Não é necessário clicar em nenhum botão.
Imagens de Exemplo
O painel de predição mostra imagens de exemplo do dataset ligado ao teu modelo. Se não estiver nenhum dataset ligado, são usados exemplos predefinidos:
| Imagem | Conteúdo |
|---|---|
bus.jpg | Cena de rua com veículos |
zidane.jpg | Cena desportiva com pessoas |
Para modelos OBB, são mostradas imagens aéreas de barcos e aeroportos.
As imagens de exemplo são pré-carregadas quando a página abre, por isso clicar num exemplo desencadeia uma inferência quase instantânea sem tempo de espera para download.
Webcam
Clica no cartão da webcam para iniciar um feed de câmara em direto:
- Concede permissão de câmara quando solicitado
- Clica na pré-visualização de vídeo para capturar um fotograma
- A inferência é executada automaticamente no fotograma capturado
- Clica novamente para reiniciar a webcam
Ver Resultados
Resultados da inferência exibidos:
- Bounding boxes com etiquetas de classe como sobreposições SVG
- Scores de confiança para cada deteção
- Cores da classe da paleta de cores do teu dataset (ou a paleta padrão da Ultralytics)
- Distribuição de velocidade: Pré-processamento, inferência, pós-processamento e tempo de rede

O painel de resultados mostra:
| Campo | Descrição |
|---|---|
| Lista de deteções | Cada deteção com nome da classe e confiança |
| Estatísticas de velocidade | Pré-processamento, inferência, pós-processamento, rede (ms) |
| Resposta JSON | Resposta bruta da API num bloco de código |
Parâmetros de Inferência
Ajusta o comportamento da deteção com parâmetros na secção expansível Parameters:

| Parâmetro | Intervalo | Predefinição | Descrição |
|---|---|---|---|
| Confidence | 0.01 – 1.0 | 0.25 | Threshold de confiança mínima |
| IoU | 0.0 – 0.95 | 0.7 | Threshold de IoU do NMS |
| Image Size | 320, 640, 1280 (alternar na UI) | 640 | Dimensão de redimensionamento de entrada (a API aceita qualquer valor de 32 – 1280) |
Alterar qualquer parâmetro reexecuta automaticamente a inferência na imagem atual com um debounce de 500ms. Não precisas de carregar novamente.
Threshold de Confiança
Filtrar predições por confiança:
- Mais alto (0.5+): Menos predições, com mais certeza
- Mais baixo (0.1-0.25): Mais predições, algum ruído
- Padrão (0.25): Equilibrado para a maioria dos casos de uso
Threshold de IoU
Controlar Non-Maximum Suppression:
- Mais alto (0.7+): Permitir mais caixas sobrepostas
- Mais baixo (0.3-0.5): Fundir deteções próximas de forma mais agressiva
- Padrão (0.7): Comportamento de NMS equilibrado para a maioria dos casos de uso
Predict de Deployment
Cada endpoint dedicado em execução inclui um separador Predict diretamente no seu cartão de deployment. Isto utiliza o serviço de inferência do próprio deployment em vez do serviço de predição partilhado, permitindo-te testar o teu endpoint implantado a partir do browser.
REST API
Aceder à inferência programaticamente:
Autenticação
Inclui a tua chave de API nos pedidos:
Authorization: Bearer YOUR_API_KEYPara executar inferência a partir dos teus próprios scripts, notebooks ou aplicações, inclui uma chave de API. Gera uma em Settings > API Keys.
Endpoint
POST https://platform.ultralytics.com/api/models/{modelId}/predictPedido
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())
Resposta
{
"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 Resposta
| Campo | Tipo | Descrição |
|---|---|---|
images | array | Lista de imagens processadas |
images[].shape | array | Dimensões da imagem [altura, largura] |
images[].results | array | Lista de deteções |
images[].results[].name | string | Nome da classe |
images[].results[].confidence | float | Confiança da deteção (0-1) |
images[].results[].box | objeto | Coordenadas da BBox |
images[].speed | objeto | Tempos de processamento em milissegundos |
metadata | objeto | Metadados da requisição e informações de versão |
Respostas Específicas por Tarefa
O formato da resposta varia de acordo com a tarefa:
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}Faturamento
A inferência compartilhada (a aba Predict e o endpoint /api/models/{id}/predict) está incluída sem custo adicional em todos os planos. Não há cobranças por requisição para a inferência compartilhada.
Para cargas de trabalho de produção que exigem maior rendimento, implante um endpoint dedicado.
Limites de Taxa
A inferência compartilhada tem um limite de taxa de 20 requisições/min por chave de API. Quando o limite é excedido, a API retorna 429 com um cabeçalho Retry-After. Consulte a referência de limite de taxa completa para todas as categorias de endpoints.
Implante um endpoint dedicado para inferência ilimitada sem limites de taxa, rendimento previsível e respostas de baixa latência consistentes. Para inferência local, consulte o guia do modo Predict.
Tratamento de Erros
Respostas de erro comuns:
| Código | Mensagem | Solução |
|---|---|---|
| 400 | Imagem inválida | Verifique o formato do arquivo |
| 401 | Não autorizado | Verifique a chave de API |
| 404 | Modelo não encontrado | Verifique o ID do modelo |
| 429 | Limite de taxa atingido | Aguarde e tente novamente, ou use um endpoint dedicado para rendimento ilimitado |
| 500 | Erro no servidor | Tente refazer a requisição |
FAQ
Posso executar inferência em vídeo?
Ambos os métodos de inferência aceitam arquivos de vídeo:
- Endpoints dedicados aceitam arquivos de vídeo diretamente. Formatos suportados (até 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Cada quadro é processado individualmente e os resultados são retornados por quadro. Consulte endpoints dedicados para detalhes.
- A inferência compartilhada (
/api/models/{id}/predict) usa o mesmo serviço de predição e aceita os mesmos formatos de vídeo. No entanto, a aba Predict do navegador na interface só faz upload de imagens — use a REST API diretamente ou um endpoint dedicado para fluxos de trabalho de vídeo. O endpoint compartilhado também possui limite de taxa de 20 req/min, portanto, endpoints dedicados são a melhor escolha para cargas de trabalho de vídeo intensas.
Como obtenho a imagem anotada?
A API retorna predições em JSON. Para visualizar:
- Use as predições para desenhar caixas localmente
- Use o método
plot()da Ultralytics:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")Consulte a documentação do modo Predict para a API de resultados completa e opções de visualização.
Qual o tamanho máximo da imagem?
- Limite de upload: 10MB
- Recomendado: <5MB para inferência rápida
- Redimensionamento automático: As imagens são redimensionadas para o parâmetro
Image Sizeselecionado
Imagens grandes são automaticamente redimensionadas preservando a proporção.
Posso executar inferência em lote?
A API atual processa uma imagem por requisição. Para processamento em lote:
- Envie requisições concorrentes
- Use um endpoint dedicado para maior rendimento
- Considere inferência 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))