Appearance
Billing & usage
Uniquifying costs compute, so FluidGhost charges your account per variant produced. Billing runs on the shared ecosystem balance — the same balance FluidTalk conversations spend — so a top-up bought anywhere funds spoof jobs here.
How a job is charged
- Per variant. A job's cost is
copies × per-variant rate. Acopies: 5job costs five variants' worth. - Debited before the work runs. The balance is charged when the job is enqueued, not after. If it can't be covered, the API returns
402 insufficient_balanceand nothing runs — you're never charged for a job that didn't happen. - Refunded on failure. If a job fails terminally, the charge is refunded.
- Idempotent. Both the debit and the refund are keyed on the job id, so a retry never double-charges or double-refunds.
Delivery mode doesn't change the price: ephemeral and drive cost the same, because you're paying for the uniquify compute, not for storage.
Reading your balance
GET /me returns your current balance and tier:
json
{ "ownerId": "1d970780-…", "balance": 42.75, "tier": "pro" }Balances are in tokens, where 1 token = $1, so a charge is a small decimal. Check the balance before a large batch to avoid a mid-run 402. See GET /me.
Handling 402 insufficient_balance
json
{
"error": "insufficient_balance",
"message": "Not enough balance for this job.",
"details": { "balance": 0.4, "required": 3 }
}details.balance is what you have; details.required is what the job needed. Top up in the dashboard and resubmit. There is no partial run — a job either fully covers its variants or doesn't start.
Topping up
Balance top-ups, plan tiers, and invoices live in the dashboard, not the API. The API only ever spends the balance and reports it.