Card 34 of 38· Master cards
Every number, name and error code worth memorising
Every constant from the previous cards in one place, the six error codes and what to do about each, and why 429 and 403 are not interchangeable.

Every constant scattered through the previous cards, collected. Nothing here needs understanding — it needs recall, so read it last and read it often.
The numbers
Vector store and files
- 10,000 files per vector store
- 512 MB per file, roughly 5 million tokens
- Chunk 800 tokens, overlap 400
- 20 chunks maximum in context
text-embedding-3-large, 256 dimensions
Requests and media
- 10 images per request
- 25 MB maximum audio request
- Video
secondsaccepts 4, 8 or 12 - One token is roughly 4 to 8 characters
- Cost is quoted per million tokens
Scores and thresholds
- Retrieval evaluators score 1 to 5, passing at 3
- Confidence runs 0 to 1; 0.9 or above is safe for straight-through processing
- Semantic reranker scores 0 to 4, over the top 50
- Vector similarity runs 0.333 to 1.0
- Fusion constant k is about 60
- The exam pass mark is 700 out of 1000
Time and size limits
- Runs expire after 10 minutes
- Batch turnaround is around 24 hours
- A virtual network subnet must be /27 or larger
- The content filter default threshold is medium
The error codes
| Code | What it means | What to do |
|---|---|---|
| 429 | Rate-limited | Exponential backoff plus jitter; honour Retry-After |
| 403 | Quota window exceeded | Request more quota |
400 with content_filter |
The prompt was blocked | Rewrite the prompt |
200 with finish_reason: content_filter |
The completion was filtered | Handle partial output |
| 410 Gone | The model is retired | Migrate to the replacement |
403 on botServices/write |
Missing Azure Bot Service Contributor | Assign the role |
Names that must be spelled correctly
azure-ai-projects · AIProjectClient · responses.create · DefaultAzureCredential · TextAnalyticsClient · ContentUnderstandingClient · SpeechRecognizer · SpeechSynthesizer · SpeechTranslationConfig · azure-ai-voicelive · Foundry User, the inference role.
The trap
429 and 403 look interchangeable and are not.
429 is rate-limiting — you are going too fast at this moment. 403 is the quota window — you have exhausted your allowance.
The tell is in how the scenario describes the overuse. Sustained overuse across a billing period wants 403. A burst wants 429. Once you have that, the remedy follows: a burst is fixed by backing off, an exhausted allowance is not fixed by waiting a few seconds.