Link to this sectionInferência#
A Ultralytics Platform fornece uma API de inferência para testar modelos treinados. Usa o separador Predict baseado no navegador para uma validação rápida ou a REST API para acesso programático.

Link to this sectionAba Predict#
Cada modelo inclui um separador Predict para inferência baseada no navegador:
- Navega até ao teu modelo
- Clica no separador Predict
- Carrega uma imagem, usa um exemplo ou abre a tua webcam
- Vê as previsões instantaneamente com sobreposições de caixas delimitadoras

Link to this sectionMétodos de entrada#
O painel de previsão suporta vários métodos de entrada:
| Método | Descrição |
|---|---|
| Carregamento de imagem | Arrasta e larga ou clica para carregar uma imagem |
| Imagens de exemplo | Clica nos exemplos integrados (imagens do conjunto de dados ou predefinições) |
| Captura por webcam | Transmissão de câmara ao vivo com captura de um único fotograma |
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 sectionCarregar Imagem#
Arrasta e larga ou clica para carregar:
- Formatos suportados: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- Tamanho máx.: 10MB
- Inferência automática: Os resultados aparecem automaticamente após o carregamento
O painel de previsã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.
Link to this sectionImagens de Exemplo#
O painel de previsão mostra imagens de exemplo do conjunto de dados ligado ao teu modelo. Se não houver nenhum conjunto de dados ligado, são usados exemplos padrão:
| 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 é carregada, por isso clicar num exemplo aciona uma inferência quase instantânea sem tempo de espera de transferência.
Link to this sectionWebcam#
Clica no cartão da webcam para iniciar uma transmissão de câmara ao vivo:
- Concede permissão à 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
Link to this sectionVer Resultados#
Os resultados da inferência exibem:
- Caixas delimitadoras com etiquetas de classe como sobreposições SVG
- Pontuações de confiança para cada deteção
- Cores da classe da paleta de cores do teu conjunto de dados (ou a paleta padrão da Ultralytics)
- Detalhe da velocidade: Tempo de pré-processamento, inferência, pós-processamento e 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 |
Link to this sectionParâmetros de Inferência#
Ajusta o comportamento da deteção com os parâmetros na secção Parameters (colapsável):

| Parâmetro | Intervalo | Predefinição | Descrição |
|---|---|---|---|
| Confiança | 0.01 – 1.0 | 0.25 | Limiar de confiança mínimo |
| IoU | 0.0 – 0.95 | 0,7 | Limiar IoU de NMS |
| Tamanho da Imagem | 320, 640, 1280 (alternância 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 é necessário carregar novamente.
Link to this sectionLimiar de Confiança#
Filtra as previsões por confiança:
- Mais alto (0.5+): Menos previsões, porém mais certas
- Mais baixo (0.1-0.25): Mais previsões, algum ruído
- Padrão (0.25): Equilibrado para a maioria dos casos de uso
Link to this sectionLimiar IoU#
Controla a Supressão Não Máxima (NMS):
- Mais alto (0.7+): Permite mais caixas sobrepostas
- Mais baixo (0.3-0.5): Funde as deteções próximas de forma mais agressiva
- Padrão (0.7): Comportamento de NMS equilibrado para a maioria dos casos de uso
Link to this sectionPrevisão de Implementação#
Cada endpoint dedicado em execução inclui um separador Predict diretamente no seu cartão de implementação. Isto utiliza o próprio serviço de inferência da implementação em vez do serviço de previsão partilhado, permitindo-te testar o teu endpoint implementado a partir do navegador.
Link to this sectionREST API#
Acede à inferência programaticamente:
Link to this sectionAutenticação#
Inclui a tua chave de API nos pedidos:
Authorization: Bearer YOUR_API_KEYPara executar a inferência a partir dos teus próprios scripts, notebooks ou aplicações, inclui uma chave de API. Gera uma em Settings > API Keys.
Link to this sectionEndpoint#
POST https://platform.ultralytics.com/api/models/{modelId}/predictLink to this sectionPedido#
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 do Pedido#
| Parâmetro | Tipo | Predefinição | Intervalo | Descrição |
|---|---|---|---|---|
file | arquivo | - | - | Ficheiro de imagem ou vídeo (obrigatório a menos que source esteja definido) |
conf | float | 0.25 | 0.01 – 1.0 | Limiar de confiança mínimo |
iou | float | 0,7 | 0.0 – 0.95 | Limiar IoU de NMS |
imgsz | int | 640 | 32 – 1280 | Tamanho da imagem de entrada em píxeis |
normalize | bool | false | - | Devolve as coordenadas da caixa delimitadora de 0 a 1 |
decimals | int | 5 | 0 – 10 | Precisão decimal para valores de coordenadas |
source | string | - | - | URL da imagem ou string base64 (alternativa ao file) |
Link to this sectionResposta#
{
"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 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 detecções |
images[].results[].class | int | Índice da classe (ID inteiro) |
images[].results[].name | string | Nome da classe |
images[].results[].confidence | float | Confiança da detecção (0-1) |
images[].results[].box | objeto | Coordenadas da BBox |
images[].speed | objeto | Tempos de processamento em milissegundos |
metadata | objeto | Metadados da solicitação e informações de versão |
Link to this sectionRespostas específicas da 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}
}Link to this sectionFaturamento#
A inferência compartilhada (a guia Predict e o endpoint /api/models/{id}/predict) está incluída sem custo adicional em todos os planos. Não há cobranças por solicitação para inferência compartilhada.
Para cargas de trabalho de produção que exigem maior rendimento, implante um dedicated endpoint.
Link to this sectionLimites de Taxa#
A inferência compartilhada é limitada a 20 solicitações/min por API key. Quando atingir o limite, a API retornará 429 com um cabeçalho Retry-After. Veja a rate limit reference completa para todas as categorias de endpoint.
Implante um dedicated endpoint para inferência ilimitada sem limites de taxa, rendimento previsível e respostas consistentes de baixa latência. Para inferência local, veja o Predict mode guide.
Link to this sectionTratamento 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 API key |
| 404 | Modelo não encontrado | Verifique o ID do modelo |
| 429 | Limite de taxa atingido | Aguarde e tente novamente, ou use um dedicated endpoint para rendimento ilimitado |
| 500 | Erro no servidor | Tentar solicitação novamente |
| 503 | Serviço indisponível | Serviço Predict iniciando ou inacessível; aguarde um pouco e tente novamente |
Link to this sectionFAQ#
Link to this sectionPosso executar inferência em vídeo?#
Ambos os métodos de inferência aceitam arquivos de vídeo:
- Dedicated endpoints 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. Veja dedicated endpoints para detalhes.
- Shared inference (
/api/models/{id}/predict) usa o mesmo serviço de predição e aceita os mesmos formatos de vídeo. No entanto, a Predict tab do navegador na UI apenas faz upload de imagens — use a REST API diretamente ou um dedicated endpoint para fluxos de trabalho de vídeo. O endpoint compartilhado também é rate-limited to 20 req/min, então os dedicated endpoints são a melhor escolha para cargas de trabalho de vídeo pesadas.
Link to this sectionComo obtenho a imagem anotada?#
A API retorna previsões JSON. Para visualizar:
- Use as previsõ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")Veja a Predict mode documentation para a API completa de resultados e opções de visualização.
Link to this sectionQual é o tamanho máximo da imagem?#
- Limite de upload: 10MB
- Recomendado: <5MB para inferência rápida
- Auto-resize: As imagens são redimensionadas para o parâmetro de
Image Sizeselecionado
Imagens grandes são redimensionadas automaticamente mantendo a proporção.
Link to this sectionPosso executar inferência em lote?#
A API atual processa uma imagem por solicitação. Para lote:
- Envie solicitações simultâneas
- Use um dedicated endpoint para maior rendimento
- Considere inferência local para grandes lotes
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))