> For clean Markdown of any page, append `.md` to the page URL. > For a complete documentation index, see https://docs.sarvam.ai/llms.txt. > For full documentation content in one file, see https://docs.sarvam.ai/llms-full.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.sarvam.ai/_mcp/server. # Limitations > Known constraints of Sarvam self-hosted SageMaker deployments: network isolation, payload and duration limits, page caps, and region-specific packages. Read before you build. Know these before you build — most are inherent to how SageMaker or the model container works, and each has a documented path around it. ## Network & connectivity * **No outbound internet.** Endpoints run with network isolation on, so the container cannot make outbound calls — no webhooks or callbacks originate from the model. Your application polls or reads results itself (from the invoke response, or from S3 for async/batch). ## Duration & size | Limit | Applies to | Work around it with | | --------------------------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------- | | **30 s** max audio | Saaras v3 real-time REST | Streaming (bidirectional, for longer audio) | | **8 or 16 kHz, mono 16-bit PCM** | Saaras v3 streaming | Resample before streaming | | **2500 chars** real-time / **3500 chars** streaming | Bulbul v3 text input | Split long text, or use SSE / bidirectional | | **≤ 24000 Hz** output | Bulbul v3 `speech_sample_rate` | Request `24000`; higher is rejected (`400`), not upsampled | | **5 pages** per request (recommended) | Sarvam Vision sync | Async or batch for larger documents | | **500 pages** per document (hard cap → `413`) | Sarvam Vision | Split the document; route bulk work to async or batch | | **50 MB** per file | Sarvam Vision async | Split very large documents | | **60 s** max | SageMaker real-time `InvokeEndpoint` — all sync endpoints | Streaming (STT/TTS) or async / batch (Vision) | | **\~6 MB** request/response | All real-time endpoints | Async (large payloads) or Batch | The **60-second** and **\~6 MB** ceilings are SageMaker real-time `InvokeEndpoint` limits, not Sarvam limits — async and batch handle larger inputs and longer jobs. A Sarvam Vision sync request should stay to **5 pages or fewer** so it finishes inside 60 s; send multi-page or bursty document work to async (up to 50 MB per file) or batch. > **Note** > > **Text-to-Speech sustained-overload latency.** The current Bulbul v3 shipping config runs a single web worker (`WEB_CONCURRENCY=1`), so under **sustained** overload served `p95` drifts upward and throughput drops rather than staying flat. Size for headroom and back off on `503 service_overloaded`; do not rely on flat latency once the endpoint is saturated. See [Configure & tune](/api/self-hosted/sagemaker/configure). ## Packaging & regions * **Region-specific ARNs.** A model package ARN only works in the region it was issued for. Subscribe and copy the ARN for each region you deploy into. * **Version split.** The package version (e.g. `saaras:v3.1`) is not the request-time model id (e.g. `saaras:v3`). See the [API reference](/api/self-hosted/sagemaker/api-saaras). ## Observability * Standard SageMaker CloudWatch metrics and container logs are available (see [Operations](/api/self-hosted/sagemaker/operations#monitoring)). Custom in-container business metrics are not emitted. > **Note** > > Hitting a limit that blocks your use case? Tell us at [support@sarvam.ai](mailto:support@sarvam.ai) — several of these have async/batch paths, and we can advise on sizing. > Known constraints of Sarvam self-hosted SageMaker deployments: network isolation, payload and duration limits, page caps, and region-specific packages. Read before you build.