Limits and Pricing for Render Workflows
Render bills for the following components of workflows:
| Billable | Description |
|---|---|
|
Compute usage |
Render bills for each run of a task or flow based on its compute plan and duration. |
|
Temporary state retention |
Render temporarily retains the input arguments and return value of each run and step to support retries and debugging. |
If a run sends network requests over the public internet, that traffic contributes to your workspace's usage of outbound bandwidth.
Compute plans
Each run executes on one of the following compute plans, which determines its specs and pricing:
| 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 |
|
| 8 CPU 32 GB RAM | $2.50 / hour |
- Billing for compute usage is prorated by the second.
- If a run executes on the
2c-4gcompute plan for a half-hour, Render bills you $0.20, not $0.40.
- If a run executes on the
- You can specify which compute plan to use for each task and flow.
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 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 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 runs 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.
For workflows, the legacy plan names starter and standard both alias to flex.
State retention
Render temporarily retains the input arguments and return value of each run and step to support retries, debugging, and observability. This state is retained for 30 days.
Workflow state retention is billed monthly at $0.25 per GB. Render bills for each run and step's state only once (even though state is often retained across multiple billing periods).
For example, if the combined size of all your run and step state 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 runs:
| Limit | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
Total compute |
A workflow service's active 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 runs with combined specs totaling up to the following CPU and RAM limits (based on your workspace plan):
|
If a new 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 runs and chained runs. These limits are enforced at the workspace level, not per-workflow.
| Limit | Description | ||||||
|---|---|---|---|---|---|---|---|
|
Root-level runs |
These are the 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 run (including the Render SDK) use the Render API's Run task and Run flow endpoints under the hood. These endpoints enforce the following rate limits per workspace:
Whenever a request to one of these endpoints is rate limited, Render returns a 429 error. In this case, Render does not queue the run. | ||||||
|
Chained runs |
These are task runs that you trigger from another task 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, each attempt of a run times out after 2 hours. You can extend this to up to 24 hours on a per-task and per-flow basis. |
|
Argument size |
The total size of all arguments passed to any given run or step cannot exceed 4 MB. |
|
Task and flow definitions |
A single workflow service can register a maximum of 500 definitions of tasks and flows (combined). |
|
Step count |
Each flow run can execute up to 10,000 steps, with up to 100 attempts per step. |
|
Step output size |
The return value of any given step cannot exceed 4 MB. |