Hi,
We're seeing some strange intermittent failures when sending PDFs to gpt-5.6-luna through the Azure OpenAI Responses API.
The same request will sometimes work, sometimes return a generic HTTP 500 server_error, and sometimes sit there without returning any headers or streaming events until we cancel it after 125 seconds.
At first I assumed we were hitting capacity or being throttled, but the numbers don't really support normal TPM/RPM throttling:
- We haven't received any 429 responses or
Retry-After headers.
- The deployment has 667,000 TPM, while the highest
ProcessedPromptTokens value we saw in Azure Monitor was 238,328 in a minute.
- Successful responses reported between 570,495 and 663,906 input tokens remaining.
The deployment is DataZoneStandard in Sweden Central, running gpt-5.6-luna version 2026-07-09. We're using /openai/v1/responses with base64 PDF input_file items and streaming enabled.
To get a clearer picture, I ran a small test every hour overnight using public example PDFs. Across eight runs and 54 requests, 39 succeeded, 9 returned HTTP 500, and 6 returned nothing before the 125-second timeout. Azure Monitor recorded the timed-out requests as 499 after the client cancelled them.
I also tried a few variations:
- One small PDF (~3,852 input tokens): 7/7 succeeded
- Eleven separate PDFs (~8.9 MB, 61 pages and ~59,582 input tokens), one request at a time: 3/8 succeeded
- The same PDFs combined into a single PDF of roughly the same token count: 4/7 succeeded
- Eleven PDFs with four requests running concurrently: 25/32 succeeded
So it doesn't appear to be a simple file-count limit. Both the eleven-file version and the single combined PDF fail intermittently, and there was also one full test run where every request succeeded.
The 500 response is always just:
An error occurred while processing your request. You can retry your request, or contact us if the error persists.
Does PDF processing have a separate capacity or concurrency limit that isn't reflected in the deployment TPM/RPM metrics? If so, I would have expected a 429 rather than a 500 or a request that never starts responding.
I'd also be interested to know what the recommended approach is for this kind of workload. Should we split the documents into smaller batches, reduce concurrency, use another region, or consider provisioned throughput?
I have the exact timestamps, x-request-id headers and the request IDs included in all ten Azure error responses. I haven't posted them publicly, but I'm happy to provide them privately to a Microsoft employee if someone can look at the backend logs.
Thanks!