Pricing
Each operation has a cost formula that is based on amount and configuration. For single operations like training a model or generating an image, only one charge to that specific usage is created.
Flows charge credits for each operation. Each step in a Flow has a specific cost formula based on the type of work performed.
Below is the pricing logic used for each charge type:
Table of Charges
| Type | Formula | Notes |
|---|---|---|
| Inference | amount * 0.02 | ”amount” represents the number of images generated or inferences performed. |
| Training | amount * 0.06 | ”amount” = training duration in minutes. So 1 minute of training costs $0.06. |
| Object Generator | amount * 0.000025 | ”amount” represents total input and output tokens. |
| Object Transformer | amount * 0.01 | ”amount” is always 1 per invocation. |
| Zipper | (amount * 0.0035) + 0.01 | ”amount” is total output size in MB. There is a base of 0.01 plus 0.0035 per MB. |
| Private Flow Run | amount * 0.01 | For a private Flow run, “amount” is always 1. |
| Free Public Flow Run | amount * 0.28 | For a free public Flow run, each run effectively costs $0.28 to the Flow creator. |
| Paid Public Flow Run | (amount * 0.13) + 0.30 | For a paid public Flow run, “amount” equals the run price. So 13% of the run price + $0.30 flat fee. |
Examples
Generating 15 inferences
If you generate 15 inferences through the dashboard, regardless of the chosen configuration:
- Type = Inference
- Amount = 15 inferences
- Cost = 15 * $0.02 = $0.30
Training a Model (40 minutes)
Assume your training job runs for 40 minutes:
- Type = Training
- Amount = 40 (minutes)
- Cost = 40 * $0.06 = $2.40
Flow examples
Transforming JSON Data
If you have an ObjectTransformer step, by default we set "amount" = 1, meaning:
- Type = ObjectTransformer
- Amount = 1
- Cost = 1 * $0.01 = $0.01
(You can override this if you do heavier transformations and track usage more granularly.)
Zipping Outputs (50 MB)
If your Flow includes a Zipper step that produces a 50 MB archive:
- Type = Zipper
- Amount = 50 (MB)
- Cost = (50 * 0.0035) + 0.01 = $0.185 + $0.01 = $0.195
Paid Public Flow
Suppose you have a public Flow with a $12 run price. When a user pays $12 to run it:
- Type = PaidPublicFlowRun
- Amount = 12 (the flow run price)
- Cost = (12 * 0.13) + 0.30 = $1.56 + $0.30 = $1.86
So you, the Flow owner, effectively earn (12 - 1.86) = $10.14 from that run.
Balances & Auto-Recharge
Your organization balance is automatically decremented as the steps run. If your balance is insufficient, the Flow stops, and we return an Insufficient Funds error.
Auto-Recharge
You can optionally enable auto-recharge in your organization settings: If your balance drops below a threshold, we’ll try to charge a configured amount using your default payment method.
Refunds & Payouts
Public Flow Payouts
If you configure a Paid Public Flow:
- Each time someone pays to run it, the payout goes to you.
- Payout is automatically handled by our payment processor if you’ve set up a payout account.
- If no connected account is available or you choose to do so, the earnings go to your organization’s wallet balance.
See the monetization documentation for more details.
Refunds
Payment refunds (e.g., if the user cancels/disputes) are initiated through our payment processor. Once processed, the corresponding charge is marked canceled, and your organization balance is adjusted if you already received funds.
If errors occur before the Flow completes, you will still be charged for the steps that were executed up to that point, the user will be refunded and you will not receive the flow run payout.
Summary
- Each step in a Flow has a cost determined by its Type multiplied by a usage count.
- Public Flows charge external users. The flow owner is paid out either through a connected account or the wallet balance.
- Private Flows deduct from your organization’s balance.
- Individual operations deduct from your organization’s balance.
- Auto-Recharge helps ensure your balance never runs dry.
- Connected accounts enables monetization of your flows.