Limits and Pricing for Render Workflows
Render bills for the following components of workflows:
| Billable | Description |
|---|---|
|
Compute usage |
Render bills for each task run based on its compute plan and duration. |
|
Retention of task state |
Render temporarily retains the input arguments and return value of each task run to support retries and debugging. |
If your task runs send network requests over the public internet, that traffic contributes to your workspace's usage of outbound bandwidth.
Compute plans
Each task run executes on one of the following compute plans, which determines its specs and pricing:
Where are starter and standard?
The starter and standard compute plans from the Render Workflows beta have been discontinued in favor of flex.
- The
flexplan is now the default for any task that doesn't specify a different plan. - Any task that sets its plan to
starterorstandardnow automatically usesflexinstead. - The
flexplan is billed according to your task run's actual RAM and CPU usage. This results in lower costs for most tasks that previously usedstarterorstandard. - The
flexplan provides up to the same CPU asstandardand double the RAM.
| Compute Plan | Specs | Price |
|---|---|---|
|
|
Up to 1 CPU |
Varies with CPU/RAM usage (see details) |
|
| 2 CPU 4 GB RAM | $0.40 / hour |
|
| 2 CPU 8 GB RAM | $0.70 / hour |
|
| 4 CPU 8 GB RAM | $1.00 / hour |
|
| 4 CPU 16 GB RAM | $1.50 / hour |
- Billing for compute usage is prorated by the second.
- If a task run executes on the
2c-4gcompute plan for a half-hour, Render bills you $0.20, not $0.40.
- If a task run executes on the
- You can specify which compute plan to use for each task in your workflow. Learn how.
Need larger workflow compute plans?
Reach out with details about your use case:
The flex compute plan
The flex compute plan is special: it's billed based on the CPU and RAM a task run actually uses, not the plan's maximum specs (1 CPU, 4 GB RAM). All other compute plans are billed at a fixed rate based on specs.
Pricing for flex is as follows:
| Resource | Price | Notes |
|---|---|---|
|
CPU | $0.20 / CPU-hour |
Measured as cumulative virtual CPU time over the task run's full duration |
|
RAM |
$0.05 / GB-hour |
Sampled multiple times per second |
If a flex run constantly uses the entirety of its available CPU and RAM, it's billed at the maximum rate of $0.40 / hour. But for tasks that use fewer resources, the rate can be dramatically lower:
| Avg CPU | Avg RAM | Flex price |
|---|---|---|
|
0.1 |
0.2 GB |
$0.02 + $0.01 = $0.03 / hour |
|
1 |
1 GB |
$0.20 + $0.05 = $0.25 / hour |
|
1 |
4 GB |
$0.20 + $0.20 = $0.40 / hour (Full usage) |
Render applies a minimum charge to extremely small flex runs, equivalent to one second of execution at 0.1 CPU and 0.1 GB RAM.
Task state retention
Render temporarily retains the input arguments and return value of each task run to support retries, debugging, and observability. This task state is retained for 30 days.
Retention of task state is billed monthly at $0.25 per GB. Render bills for each task run's state only once (even though task state is often retained across multiple billing periods).
For example, if the combined size of all your task run inputs and return values in a billing period is 200 MB, Render bills you $0.05.
Compute limits
A workflow service has a maximum amount of CPU and RAM it can provision in total and per minute for its task runs:
| Limit | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
Total compute |
A workflow service's active task runs can have combined compute specs totaling up to 10,000 CPU and 40,000 GB RAM. | |||||||||
|
New compute per minute |
Every minute, a workflow service can create new task runs with combined specs totaling up to the following CPU and RAM limits (based on your workspace plan):
The This means that if you spin up "lightweight" Compute plans besides |
If a new task run would exceed a compute limit, Render queues it as usual. Queued runs spin up in order as resources become available.
Need to increase these workflow limits?
Reach out with details about your use case:
API rate limits
Render enforces separate API rate limits for triggering root-level task runs and chained runs. These limits are enforced at the workspace level, not per-workflow.
| Limit | Description | ||||||
|---|---|---|---|---|---|---|---|
|
Root-level runs |
These are the task runs you trigger from any source outside the workflow itself (web apps, agents, CI/CD, and so on). All mechanisms for triggering a root-level task run (including the Render SDK) use the Render API's Run task endpoint under the hood. The Run task endpoint enforces the following rate limits per workspace:
Whenever a request to this endpoint is rate limited, Render returns a 429 error. In this case, Render does not queue the run. | ||||||
|
Chained runs |
These are the task runs you trigger from within another run that belongs to the same workflow service. Learn more. Render enforces a workspace-level rate limit of 1000 chained runs per minute. Whenever an attempted chained run is rate limited, the call to |
Additional limits
| Limit | Description |
|---|---|
|
Run duration |
By default, task runs time out after 2 hours. You can extend this to up to 24 hours on a per-task basis. |
|
Argument size |
The total size of all arguments passed to a single task run cannot exceed 4 MB. |
|
Task definitions |
A single workflow service can register a maximum of 500 different tasks. |