Azure OpenAI nos modelos Microsoft Foundry: quotas e limites

Este artigo contém uma referência rápida e uma descrição detalhada das quotas e limites para o Azure OpenAI.

Âmbito da quota

Quotas e limites não são aplicados ao nível do inquilino. Em vez disso, o nível mais elevado de restrições de quotas é definido ao nível de subscrição do Azure.

Alocação de quotas regionais

Os limites de tokens por minuto (TPM) e pedidos por minuto (RPM) são definidos por região, por subscrição e por modelo ou tipo de implementação.

Por exemplo, se o modelo Global Standard gpt-4.1 estiver listado com uma quota de 5 milhões de TPM e 5.000 RPM, então cada região onde esse modelo ou tipo de implementação estiver disponível tem o seu próprio conjunto de quotas dedicado desse valor para cada de as tuas subscrições do Azure. Numa única subscrição Azure, é possível usar uma quantidade maior de quota total de TPM e RPM para um dado modelo e tipo de implementação, desde que tenha recursos e implementações de modelos distribuídos por várias regiões.

Escalões de quotas

Estamos a introduzir Quota Tiers para melhorar a experiência dos Modelos Foundry e reduzir o atrito à medida que as cargas de trabalho aumentam. As quotas vão agora aumentar automaticamente com a utilização, ajudando a evitar erros nos limites de taxa e ao mesmo tempo a criar um ambiente mais justo para todos os utilizadores. Serão disponibilizados sete níveis: Nível Gratuito e Níveis 1 a 6 – com o Nível 6 a oferecer as quotas mais elevadas. O nível inicial atribuído a um cliente baseia-se na utilização atual desse modelo e na sua relação atual com Microsoft, como o estatuto de Acordo Empresarial (EA ou MCA-E). 

O que está a mudar para mim?

Anteriormente, a Foundry oferecia apenas níveis de quota Default e Enterprise para o tipo de oferta pay as you go, com um grande intervalo entre cada nível e um processo mais longo para solicitar aumentos. Com os Quota Tiers, todos os utilizadores recebem um nível com quotas iguais ou superiores aos níveis anteriores. Quaisquer aumentos de quotas previamente aprovados são mantidos e não serão reduzidos. À medida que a utilização cresce, a Foundry aumenta automaticamente as quotas ao transferir utilizadores para níveis superiores, e quotas adicionais ainda podem ser solicitadas através do formulário de quota.

Como é que um cliente se move automaticamente de um nível para outro, por exemplo, quais são os critérios para a mudança de nível? 

As atualizações automáticas de níveis baseiam-se principalmente nas tendências de consumo dos clientes ao longo do tempo entre os Modelos Foundry. Se o consumo de um cliente aumentar de tal forma que o seu nível atual de quota limite a sua capacidade de usar modelos Foundry, o sistema irá automaticamente atualizar o cliente para o nível superior seguinte. A relação do cliente com a Microsoft também é tida em conta. Clientes com relações empresariais (incluindo EA e MCA-E) com Microsoft recebem níveis de quota superiores. Além disso, a Microsoft também considerará o histórico de pagamentos do cliente para determinar a elegibilidade para atualizações automáticas. 

Posso optar por não receber upgrades automáticos?

Sim, pode optar por não receber upgrades automáticos e permanecerá no seu nível atual independentemente das alterações no seu consumo. Reconhecemos que alguns dos nossos clientes utilizam quotas para gerir a faturação. Isto não é a melhor prática do Azure, no entanto, compreendemos que, se o seu sistema estiver configurado dessa forma, não queremos quebrá-lo. Pode saber mais sobre gestão de faturação e melhores práticas aqui: Gestão de Custos.

Para optar por não participar, pode definir o seguinte flag para NoAutoUpgrade:

curl -X PATCH \
  "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CognitiveServices/quotaTiers/default?api-version=2025-10-01-preview" \
  -H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "properties": {
      "tierUpgradePolicy": "NoAutoUpgrade"
    }
  }'

Nota

A funcionalidade de opt out é uma pré-visualização e pode estar sujeita a alterações ou remoção no futuro.

Posso pedir mais quota?

Sim, usando o formulário de pedido de quotas podes sempre pedir mais quotas. Se o pedido for aprovado, o nível atual permanecerá o mesmo, mas com mais quotas atribuídas.

Como posso verificar o nível de quota da minha subscrição?

Atualmente, pode verificar o seu nível de quota com a API do plano de controlo:

curl -X GET \
  "https://management.azure.com/subscriptions/9d295860-44e3-44bb-ade9-235cc45c68ba/providers/Microsoft.CognitiveServices/quotaTiers?api-version=2025-10-01-preview" \
  -H "Authorization: Bearer $(az account get-access-token --resource https://management.azure.com --query accessToken -o tsv)" \
  -H "Content-Type: application/json"

Referência de quota por nível

Nível 1

Nome do Modelo Tipo de Implantação Pedidos por Minuto (RPM) Tokens por Minuto (TPM)
Codex-mini GlobalStandard 1,000 1,000,000
pré-visualização de utilização do computador GlobalStandard 4,500 450 000
GPT-4.1 DataZoneStandard 300 300,000
GPT-4.1 GlobalStandard 1,000 1,000,000
GPT-4.1-mini DataZoneStandard 2.000 2,000,000
GPT-4.1-mini GlobalStandard 5,000 5,000,000
GPT-4.1-mini Standard 6,000 6,000,000
gpt-4.1-nano DataZoneStandard 2.000 2,000,000
gpt-4.1-nano GlobalStandard 5,000 5,000,000
GPT-4O DataZoneStandard 300 / 10 segundos 300,000
gpt-4o-audio-preview GlobalStandard 30000 / 10s 30,000,000
GPT-4O-mini DataZoneStandard 10.000 1,000,000
GPT-4O-mini GlobalStandard 20,000 2,000,000
gpt-4o-mini-audio-preview GlobalStandard 30000 / 10s 30,000,000
gpt-4o-mini-realtime-preview GlobalStandard 36 6,000
gpt-4o-realtime-preview GlobalStandard 36 6,000
GPT-5 DataZoneStandard 3,000 300,000
GPT-5 GlobalStandard 10.000 1,000,000
gpt-5-chat GlobalStandard 1,000 1,000,000
Códice GPT-5 GlobalStandard 1,000 1,000,000
GPT-5-mini DataZoneStandard 300 300,000
GPT-5-mini GlobalStandard 1,000 1,000,000
GPT-5-nano DataZoneStandard 2.000 2,000,000
GPT-5-nano GlobalStandard 5,000 5,000,000
GPT-5-Pro GlobalStandard 1,600 160,000
GPT-5.1 DataZoneStandard 3,000 300,000
GPT-5.1 GlobalStandard 10.000 1,000,000
gpt-5.1-chat GlobalStandard 10.000 1,000,000
gpt-5.1-codex DataZoneStandard 3,000 300,000
gpt-5.1-codex GlobalStandard 1,000 1,000,000
gpt-5.1-codex-max GlobalStandard 10.000 1,000,000
GPT-5.1-Codex-Mini GlobalStandard 1,000 1,000,000
GPT-5.2 DataZoneStandard 3,000 300,000
GPT-5.2 GlobalStandard 10.000 1,000,000
gpt-5.2-chat GlobalStandard 10.000 1,000,000
gpt-5.3-chat GlobalStandard 1,000 1,000,000
GPT-5.2-codex GlobalStandard 10.000 1,000,000
gpt-5.3-codex GlobalStandard 10.000 1,000,000
GPT-5.4 DataZoneStandard 300 300,000
GPT-5.4 GlobalStandard 10.000 1,000,000
GPT-5.4-Pro GlobalStandard 160 160,000
GPT-5.4-MINI GlobalStandard 1,000 1,000,000
GPT-5.4-NANO DataZoneStandard 2.000 2,000,000
GPT-5.4-NANO GlobalStandard 5,000 5,000,000
GPT-5.5 DataZoneStandard 0 0
GPT-5.5 GlobalStandard 0 0
GPT-Audio GlobalStandard 30000 / 10s 30,000,000
GPT-imagem-1 GlobalStandard 9 -
GPT-image-1-mini GlobalStandard 12 -
gpt-image-1.5 DataZoneStandard 3 -
gpt-image-1.5 GlobalStandard 9 -
GPT-imagem-2 DataZoneStandard 3 -
GPT-imagem-2 GlobalStandard 9 -
GPT em tempo real GlobalStandard 200 100,000
model-router DataZoneStandard 150 150,000
o1 DataZoneStandard 100 600,000
o1 GlobalStandard 500 3,000,000
o3 DataZoneStandard 300 300,000
o3 GlobalStandard 1,000 1,000,000
O3-Pesquisa-Profunda GlobalStandard 3,000 3,000,000
O3-mini DataZoneStandard 200 2,000,000
O3-mini GlobalStandard 500 5,000,000
O3-Pro GlobalStandard 160 1,600,000
o4-mini DataZoneStandard 300 / 10 segundos 300,000
o4-mini GlobalStandard 1,000 1,000,000
texto-embedding-3-grande DataZoneStandard 1,000 1,000,000
texto-embedding-3-grande GlobalStandard 1000 / 10 segundos 1,000,000
Embutir texto-3-pequeno DataZoneStandard 1,000 1,000,000
Embutir texto-3-pequeno GlobalStandard 1000 / 10 segundos 1,000,000

Quotas e limites de referência

A secção seguinte fornece-lhe um guia rápido sobre as quotas e limites padrão que se aplicam ao Azure OpenAI:

Nome do limite Valor limite
Recursos do Azure OpenAI por região, por assinatura do Azure 30.
Limites padrão de quota GPT-imagem-1 9 pedidos por minuto
Limites de quota padrão do GPT-image-1-mini 12 pedidos por minuto
Limites padrão de quota GPT-imagem-1.5 9 pedidos por minuto
Limites padrão de cota GPT-imagem-2 9 pedidos por minuto
Limites padrão das quotas de Sora 60 pedidos por minuto.
Limites padrão de quotas do Sora 2 2 pedidos de trabalho1 por minuto
Limites de quotas padrão da API de áudio para voz em texto 3 pedidos por minuto.
Máximo de tokens de prompt por solicitação Varia consoante o modelo. Para mais informações, consulte Azure Modelos OpenAI.
Implementações padrão máximas por recurso 32.
Implementações máximas de modelos finamente ajustados 10.
Número total de empregos de formação por recurso 100.
Máximo de tarefas de treino em execuções simultâneas por cada recurso Formação padrão e global: 3;
Formação de programadores: 5
Maior número de empregos de formação em fila 20.
Máximo de ficheiros por recurso (aperfeiçoamento) 100.
Tamanho total de todos os ficheiros por recurso (ajuste fino) 1 GB.
Tempo máximo da tarefa de treino (a tarefa falha se o tempo for excedido) 720 horas.
Tamanho máximo do trabalho de treino (tokens in training file) x (# of epochs) 2 mil milhões.
Tamanho máximo de todos os ficheiros por upload (Azure OpenAI nos seus dados) 16 MB.
Número máximo de entradas num array com /embeddings 2,048.
Número máximo de /chat/completions mensagens 2,048.
Número máximo de /chat/completions funções 128.
Número máximo de /chat/completions ferramentas 128.
Número máximo de unidades de débito provisionadas por implantação 100,000.
Ficheiros máximos por assistente ou thread 10.000 ao usar a API ou o portal Microsoft Foundry.
Tamanho máximo do ficheiro para assistentes e afinação 512 MB através da API

200 MB através do portal Foundry.
Pedidos máximos de upload de ficheiros por recurso 30 pedidos por segundo.
Tamanho máximo para todos os ficheiros carregados para assistentes 200 GB.
Limite de tokens dos assistentes Limite de 2.000.000 de tokens.
GPT-4o e GPT-4.1 número máximo de imagens por pedido (número de imagens no array de mensagens ou histórico de conversas) 50.
GPT-4 vision-preview e GPT-4 turbo-2024-04-09 tokens máximos padrão 16.

Aumente o valor do max_tokens parâmetro para evitar respostas truncadas. GPT-4o os tokens máximos predefinidos são 4.096.
Número máximo de cabeçalhos personalizados em pedidos API2 10.
Limite de caracteres da mensagem 1,048,576.
Tamanho da mensagem para ficheiros de áudio 20 MB.

1 A quota de 2 RPM do Sora só conta pedidos de trabalho por vídeo. Outros tipos de pedidos não estão sujeitos a limitação de taxa.

2 As nossas APIs atuais permitem até 10 cabeçalhos personalizados, que são passados pelo pipeline e devolvidos. Alguns clientes agora ultrapassam este número de cabeçalhos, o que resulta em erros HTTP 431. Não há solução para este erro, a não ser reduzir o volume do cabeçalho. Nas futuras versões da API, não passaremos pelos cabeçalhos personalizados. Recomendamos que os clientes não dependam de cabeçalhos personalizados em futuras arquiteturas de sistema.

Nota

Os limites das quotas estão sujeitos a alterações.

Limites de taxa para model-router

Modelo Tipo de Implantação RPM padrão TPM padrão Enterprise e MCA-E RPM Enterprise e MCA-E TPM
model-router
(2025-11-18)
DataZoneStandard 150 150,000 300 300,000
model-router
(2025-11-18)
GlobalStandard 250 250,000 400 400,000

Limites em lote

Nome do limite Valor limite
Ficheiros de entrada por lote máximo - (sem expiração) 500
Ficheiros de entrada de lote máximo - (data de expiração definida) 10.000
Tamanho máximo do ficheiro de entrada 200 MB
Tamanho máximo do ficheiro de entrada - Traga o seu próprio armazenamento (BYOS) 1 GB
Pedidos máximos por ficheiro 100,000

Nota

Os limites de ficheiros em lote não se aplicam a ficheiros de saída (por exemplo, result.jsonl, e error.jsonl). Para remover os limites dos ficheiros de entrada por lote, use Batch com Armazenamento de Blobs do Azure.

Quota de lote

A tabela mostra o limite da quota de lote. Os valores de quota para o batch global são representados em termos de tokens em fila. Quando submete um ficheiro para processamento em lote, o número de tokens no ficheiro é contado. Até que o batch job atinja um estado terminal, esses tokens contam para o limite total de tokens em fila.

Lote global

Modelo Enterprise e MCA-E Padrão Subscrições mensais baseadas em cartão de crédito Subscrições MSDN Azure for Students, testes gratuitos
gpt-4.1 5B 200M 50M 90K N/A
gpt-4.1 mini 15B 1B 50M 90K N/A
gpt-4.1-nano 15B 1B 50M 90K N/A
gpt-4o 5B 200M 50M 90K N/A
gpt-4o-mini 15B 1B 50M 90K N/A
gpt-4-turbo 300M 80M 40M 90K N/A
gpt-4 150M 30 milhões 5M 100K N/A
o3-mini 15B 1B 50M 90K N/A
o4-mini 15B 1B 50M 90K N/A
gpt-5 5B 200M 50M 90K N/A
gpt-5.1 5B 200M 50M 90K N/A

B = biliões | M = milhão | K = mil

Lote de área de dados

Modelo Enterprise e MCA-E Padrão Subscrições mensais baseadas em cartão de crédito Subscrições MSDN Azure for Students, testes gratuitos
gpt-4.1 500M 30 milhões 30 milhões 90K N/A
gpt-4.1-mini 1,5B 100M 50M 90K N/A
gpt-4o 500M 30 milhões 30 milhões 90K N/A
gpt-4o-mini 1,5B 100M 50M 90K N/A
o3-mini 1,5B 100M 50M 90K N/A
gpt-5 5B 200M 50M 90K N/A
gpt-5.1 5B 200M 50M 90K N/A

GPT-OSS

Modelo Tokens por minuto (TPM) Pedidos por minuto (RPM)
gpt-oss-120b 5 milhões 5 K

Níveis de utilização

As implementações de Global Standard utilizam a infraestrutura global do Azure. Eles encaminham dinamicamente o tráfego dos clientes para o centro de dados com a melhor disponibilidade para os pedidos de inferência do cliente. De forma semelhante, as implementações do Data Zone Standard permitem usar a infraestrutura global do Azure para encaminhar dinamicamente o tráfego para o data center dentro da zona de dados definida pela Microsoft, com a melhor disponibilidade para cada pedido. Esta prática permite uma latência mais consistente para clientes com níveis baixos a médios de tráfego. Clientes com níveis elevados de utilização sustentada podem observar maior variabilidade na latência de resposta.

Os níveis de utilização do Azure OpenAI foram concebidos para proporcionar desempenho consistente à maioria dos clientes com níveis baixos a médios de tráfego. Cada nível de utilização define a taxa de throughput máxima (tokens por minuto) que se pode esperar com latência previsível. Quando o seu uso se mantém dentro do seu nível atribuído, a latência mantém-se estável e os tempos de resposta são consistentes.

O que acontece se ultrapassares o teu nível de utilização?

  • Se a capacidade do seu pedido exceder o seu nível de uso — especialmente durante períodos de alta demanda — a sua latência de resposta pode aumentar significativamente.
  • A latência pode variar e, em alguns casos, pode ser mais do que o dobro do que ao operar dentro do seu escalão de utilização.
  • Esta variabilidade é mais notória em clientes com um uso contínuo elevado ou padrões de tráfego em rajadas.

Se encontrar erros 429 ou notar um aumento da variabilidade da latência, aqui está o que deve fazer:

  • Solicite um aumento de quota: visite o portal do Azure para solicitar uma quota maior para a sua subscrição.
  • Considere atualizar para uma oferta premium (PTU): para cargas de trabalho críticas em termos de latência ou com alto volume, atualize para Unidades de Taxa de Transferência Provisionadas (PTU). A PTU oferece recursos dedicados, capacidade garantida e latência previsível — mesmo em larga escala. Esta é a melhor escolha para aplicações críticas à missão que exigem desempenho consistente.
  • Monitorize a sua utilização: reveja regularmente as métricas de utilização no portal do Azure para garantir que está a operar dentro dos seus limites de nível. Ajusta a tua carga de trabalho ou estratégia de implementação conforme necessário.

Pode receber respostas 429 (Pedidos a Mais) mesmo quando as métricas de utilização de tokens aparecem abaixo da sua quota.

Isto pode ocorrer nos seguintes cenários:

  • Pedidos rejeitados devido a limites de comprimento de entrada ou contexto (HTTP 400). Estes pedidos não são faturados e podem não aparecer em métricas de utilização de tokens, mas ainda assim podem contar para a limitação de taxas.
  • Pedidos avaliados com base no potencial uso de tokens (por exemplo, max_tokens), mesmo que não sejam gerados tokens em última análise.
  • Comportamento distribuído de limitação de taxas, onde a aplicação pode não ser perfeitamente precisa ou imediatamente refletida em métricas agregadas.

O limite de utilização determina o nível de utilização acima do qual os clientes podem observar maior variabilidade na latência de resposta. O uso do cliente é definido por modelo. É o número total de tokens consumidos em todas as implementações, em todas as subscrições, em todas as regiões para um dado inquilino.

Nota

Os níveis de utilização aplicam-se apenas aos tipos de implementação Standard, Data Zone Standard e Global Standard. Os níveis de utilização não se aplicam a implementações globais de processamento em lote e throughput provisionado.

Norma Global, Padrão de Zona de Dados e Norma

Modelo Níveis de utilização por mês
gpt-5 32 mil milhões de tokens
gpt-5-mini 160 mil milhões de tokens
gpt-5-nano 800 mil milhões de tokens
gpt-5-chat 32 mil milhões de tokens
gpt-4 + gpt-4-32k (todas as versões) 6 mil milhões de tokens
gpt-4o 12 mil milhões de tokens
gpt-4o-mini 85 mil milhões de tokens
o3-mini 50 mil milhões de tokens
o1 4 mil milhões de tokens
o4-mini 50 mil milhões de tokens
o3 5 mil milhões de tokens
gpt-4.1 30 mil milhões de tokens
gpt-4.1-mini 150 mil milhões de tokens
gpt-4.1-nano 550 mil milhões de tokens

Melhores práticas gerais para manter os limites de taxa

Para minimizar problemas relacionados com os limites de taxa, é aconselhável utilizar as seguintes técnicas:

  • Implementa lógica de nova tentativa na sua aplicação.
  • Evite mudanças bruscas na carga de trabalho. Aumenta a carga de trabalho gradualmente.
  • Testa diferentes padrões de aumento de carga.
  • Aumente a quota atribuída à sua missão. Transferir quota de outra missão, se necessário.

Aumentos das quotas de pedidos

Submeta o formulário de pedido de aumento de quota para solicitar aumentos de quota para modelos Foundry vendidos diretamente pela Azure, modelos Azure OpenAI e Anthropic. Exceto para Anthropic modelos, Modelos de parceiros e comunidade não suportam aumentos de quotas.

Os pedidos de aumento de quotas são processados pela ordem em que são recebidos, e a prioridade vai para os clientes que utilizam ativamente a sua quota de alocação existente. Pedidos que não cumpram esta condição podem ser recusados.

Limites regionais de capacidade de quotas

Pode consultar a disponibilidade de quotas por região para a sua subscrição no portal da Foundry.

Para visualizar a capacidade de quota por região para um modelo ou versão específica, pode consultar a API de capacidade da sua subscrição. Fornece um subscriptionId, model_name e model_version e à API devolve a capacidade disponível para esse modelo em todas as regiões e tipos de implementação da sua subscrição.

Nota

Atualmente, tanto o portal Foundry como a API de capacidade retornam informação de quotas/capacidade para modelos que estão retirados e já não estão disponíveis.

Consulte a referência da API.

Antes de apresentares o exemplo:

  • Dependências de instalação: pip install azure-identity requests
  • Inicie sessão com uma identidade do Azure que consiga ler a capacidade de modelo da subscrição.
import requests
import json
from azure.identity import DefaultAzureCredential

subscriptionId = "Replace with your subscription ID" #replace with your subscription ID
model_name = "gpt-4o"     # Example value, replace with model name
model_version = "2024-08-06"   # Example value, replace with model version

token_credential = DefaultAzureCredential()
token = token_credential.get_token('https://management.azure.com/.default')
headers = {'Authorization': 'Bearer ' + token.token}

url = f"https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/modelCapacities"
params = {
    "api-version": "2024-06-01-preview",
    "modelFormat": "OpenAI",
    "modelName": model_name,
    "modelVersion": model_version
}

response = requests.get(url, params=params, headers=headers)
model_capacity = response.json()

print(json.dumps(model_capacity, indent=2))