What is the Transloadit Rate Limiter?
Transloadit’s Rate Limiter protects customers with three default Assembly limits: 250 Assembly creations per minute, 250 concurrently running Assemblies, and termination of Assemblies that run longer than 8 hours. These limits can be adjusted upon request.
How the Rate Limiter works
The limiter places separate admission controls on how quickly Assemblies are created and how many remain active at once, so satisfying one condition does not imply capacity under the other, while the runtime ceiling ends Assemblies that exceed 8 hours of processing. A rejected creation returns a RATE_LIMIT_REACHED error whose JSON payload carries info.retryIn, the number of seconds until another Assembly can be created, so clients should recognize rejections by that error code. A separate high-frequency mechanism responds with HTTP 429 and a different payload when a client opens too many connections or sends too many requests within a few seconds.
Key facts
- 1The default creation allowance is 250 Assemblies per minute; a bursty producer should pace submissions instead of assuming an equivalent number can be sent at any instant.
- 2The separate default concurrency ceiling is 250 running Assemblies, and any Assembly is terminated after 8 hours of runtime, so long-running work can hold concurrency capacity even when the recent creation rate is far below the minute allowance.
- 3Retry logic should key on the
RATE_LIMIT_REACHEDerror code and itsinfo.retryIndelay rather than on the HTTP status alone; the generic 429-plus-Retry-After pattern does not describe this documented contract.
When the Rate Limiter matters
Keep submission rate and concurrency within the limits, or arrange an adjustment before a predictable traffic surge. On rejection, wait the number of seconds given in the error’s info.retryIn property before retrying. Official Transloadit SDKs already implement this backoff automatically; uncontrolled immediate retries only add attempts without completing media work.
Common use cases for platform workflows
These examples cover platform workflows broadly, not specifically the Rate Limiter.
- Running repeatable upload, import, processing, AI, storage, and notification pipelines.
- Tracking long-running media work independently from an application request.
- Referencing centrally stored credentials by name instead of sending storage secrets with each request.
Working with platform workflows
This guidance covers platform workflows broadly, not just the Rate Limiter.
A client authenticates and submits files or references together with workflow instructions. The platform validates the request, schedules dependent operations, records state transitions, and exposes results through a response, polling endpoint, or notification.
Platform concepts become reliable only when their lifecycle is explicit. Authentication, idempotency, retries, timeouts, observability, quotas, and terminal states should be designed together rather than added after failures occur.
What you gain
- Reusable workflows separate application intent from processing infrastructure.
- Stable job identifiers and lifecycle events improve observability and recovery.
- Managed queues and workers let products scale without embedding every media tool.
What it costs
- Synchronous responses are simple but keep connections open while long work executes.
- Aggressive retries improve recovery from transient faults but can duplicate work or overload a dependency.
- Higher concurrency reduces queue time until resource contention or a downstream limit becomes the bottleneck.
Before production
- 1Define authentication, authorization, idempotency, retries, and terminal error behavior.
- 2Observe queue time, execution time, callbacks, and partial results with stable identifiers.
- 3Exercise malformed, duplicate, interrupted, and unauthorized requests before launch.