When you sign up, your account gets a free starting balance so you can try Reactor before you
add a payment method. See the Dashboard for your current
balance.
How pricing works
Reactor is a real-time streaming platform, so you pay for session time. Reactor meters each session per second of wall-clock time while it holds a GPU, even when you send no commands and receive no media. The prices below are in US dollars per minute, and your Dashboard balance is in US dollars.Billable metrics are subject to change.
Models
Adding funds
Your balance is what the Terms of Service call Service Credits. It is shown in US dollars and has no cash value. You add funds up front and draw them down as your sessions run.
Reactor sets these limits, and the pricing endpoint below returns
the current values, so you can read them at runtime instead of hard-coding them.
Auto top-up, on the Billing page, adds funds for you.
Pick a threshold and an amount. When your balance falls below the threshold, Reactor adds that
amount. Both values are whole dollars.
Each part of your balance has its own expiry date. The date depends on how you got it:
- Free starting balance expires 90 days after Reactor adds it to your account.
- Purchased funds, including auto top-ups, expire 365 days after Reactor adds them.
- Promotional balance from a promo code follows the expiry rule of that code.
When billing starts and stops
Sessions move through a four-state lifecycle. Billing follows the lifecycle precisely:
The meter starts the moment your session reaches
ready and runs until the session is
terminated, not until your network connection drops.
In a shared session, only the session
creator’s termination stops the meter. A client that adopted the session and then disconnects does
not stop billing; the session keeps running for its owner.
Recoverable disconnects
If you disconnect withrecoverable=true, the GPU keeps your session alive on the server so you can
reconnect later. Because the GPU is held for you, a recoverable session continues to bill while it
waits for you to reconnect.
Minimizing cost
A few patterns that materially reduce spend:- Disconnect when idle. A connected session with no commands flowing still bills. Tear it down as soon as the user navigates away or finishes their task.
- Default to non-recoverable disconnects. Recoverable sessions are useful, but they keep a GPU reserved (and metered) until you reconnect or the session times out.
- Don’t pre-warm sessions speculatively. Time spent in
connectingandwaitingis free, so there is no benefit to opening sessions before the user is ready to interact. - Cap session length on the client. For interactive demos, set a hard timeout (e.g. five minutes) so a user who walks away from their browser does not run up the bill.
Usage tracking
Coming soon. Programmatic usage and billing endpoints are in development. For now, check the
Dashboard for your current balance and spend.
Fetch pricing programmatically
Reactor exposes a public, read-only endpoint that returns the current pricing economics and, where available, the catalog of publicly-priced models. Use it to render up-to-date pricing on a marketing page, drive an in-app billing flow, or replace hard-coded numbers in client code. The endpoint reports the rate of each model per second, as a decimal string such as"0.0017".
Multiply it by 60 for the per-minute prices shown above.
Send a GET request to https://api.reactor.inc/pricing. No authentication is required.
Response
200 OK
Prices and balances are in US dollars. Fields that end in
_dollars are whole-dollar integers,
and fields that end in _usd are decimal strings. The response also has five fields in the
internal ledger unit of Reactor (10,000 per US dollar). They are credits_per_dollar,
max_account_credits, auto_topup.max_threshold_credits, rate.amount_per_sec, and rate.unit.
Reactor keeps them for backward compatibility. Do not build against them.The
models field may be omitted from responses while the public catalog is rolling out. Treat an
absent field and an empty array as semantically equivalent in your application logic. Once the
rollout is complete the field will always be present.Next steps
Sessions
Understand the connection lifecycle that billing is anchored to.
Dashboard
Check your usage, balance, and current spend.
Rate Limits
Concurrent session limits, token TTL, and error handling.