Image Optimization Limits
Understand the constraints and capabilities of our image optimization service to ensure your images are processed efficiently.
Name | Limit |
---|---|
Image optimization requests | unlimited |
Image fetch timeout | 20 seconds max |
Source image file size | 6 MiB max |
Source image dimensions | unlimited |
Output image file size | unlimited |
Output image dimensions | 2560 × 2560 pixels max |
Project Deployment Limits
Learn about the resource constraints and capacity limits for your deployments across different cloud providers.
AWS Cloud Backend
Name | Limit |
---|---|
Assets total size per deployment | 2 GiB max Maximum size of the uncompressed content when assets.zip is unpacked. |
Assets total count per deployment | 10000 max Maximum number of files when assets.zip is unpacked. |
Assets response size | 2 GiB max Maximum size of a single asset file. |
Permanent assets total size per deployment | 2 GiB max Maximum size of the uncompressed content when permanent-assets.zip is unpacked. |
Permanent assets total count per deployment | 10000 max Maximum number of files when permanent-assets.zip is unpacked. |
Permanent assets response size | 2 GiB max Maximum size of a single permanent asset file. |
Compute assets size per deployment | 250 MiB max Maximum size of the uncompressed content when compute.zip is unpacked. |
Compute request size | 4.5 MiB binary (6 MiB raw string) max Hard limit - HTTP compression cannot be applied to the request body. |
Compute response size (sync mode) | 4.5 MiB binary (6 MiB raw string) max Uncompressed - HTTP compression (e.g., gzip, deflate, brotli) allows returning response bodies considerably larger than this limit. |
Compute response size (async mode) | 15 MiB binary (20 MiB raw string) max Uncompressed - HTTP compression (e.g., gzip, deflate, brotli) allows returning response bodies considerably larger than this limit. |
Compute response timeout | 1-900 seconds Configurable - Defaults to 20 second. |
Compute memory (RAM) | 128 MiB - 10240 MiB Configurable - Defaults to 1024 MiB. |
Compute concurrency | 1000 – unlimited Defaults to 1000 (10 for new AWS accounts). You can request higher AWS Lambda concurrency limit through AWS Support ticket. |
Compute /tmp storage size | 512 MiB Ephemeral storage - The content isn't preserved between multiple requests (when scaling up/down). |
Compute OS | Amazon Linux 2023 |
Compute CPU architecture | x86_64 or arm64 Configurable - Defaults to build machine CPU arch. |
Environment variables total size | 4 KiB max |
Single response header size (key + value) | 16 KiB max 16 KiB AWS ALB, 64 KiB OwnStak Proxy |
Response headers total size | 32 KiB max 32 KiB AWS ALB, 64 KiB OwnStak Proxy |
Response headers total count | unlimited |
Request URI total size (path + query) | 16 KiB max 16 KiB AWS ALB, 64 KiB OwnStak Proxy |
Single request header size (key + value) | 16 KiB max 16 KiB AWS ALB, 64 KiB OwnStak Proxy |
Request headers total size | 64 KiB max 64 KiB AWS ALB, 64 KiB OwnStak Proxy |
Request headers total count | unlimited |
Recursive requests | 5 levels max for recursive requests where a project fetches itself or another OwnStak project in a loop |
Protected headers
Certain HTTP headers are reserved by the platform or by the HTTP specification. They are set automatically by the OwnStak Proxy and should not be modified by your project. Attempts to modify them are either ignored or may lead to errors and unexpected behaviour.
x-own-*
– All headers starting withx-own-
prefix. These headers are generated by OwnStak components and carry internal metadata such as request identifiers, versions and tracing information.connection
– Hop-by-hop header controlling connection options; managed by the proxy and stripped before forwarding to your code.transfer-encoding
– Indicates chunked transfer encoding; fully handled by the proxy layer.upgrade
– Triggers protocol upgrades (e.g., WebSocket); negotiated exclusively by the proxy.content-length
– Calculated automatically after the response body is finalised; setting it manually can cause protocol errors.content-encoding
– Specifies compression (e.g., gzip, Brotli) applied to the payload; set automatically when the platform compresses the response.
Explanation
Symbol | Definition |
---|---|
GiB | Gibibyte (230 bytes = 1,073,741,824 bytes) |
MiB | Mebibyte (220 bytes = 1,048,576 bytes) |
KiB | Kibibyte (210 bytes = 1,024 bytes) |
px | Pixel – unit of digital image dimension |
unlimited | No hard technical limit enforced by the platform; practical limits may still apply due to fair-usage policies or external factors (e.g., client browsers, third-party APIs, available compute power). |
. (dot) | Decimal separator used in fractional numbers (e.g., 4.5 MiB = four-and-a-half mebibytes). |