# Sparks, or what AI really costs

> Tokens and milliseconds mean nothing when you’re writing a post. Sparks replace them: a cost announced before, measured after, and written the same way everywhere.

Published 2026-09-18

For a while, AI spending was governed like an infrastructure budget: a monthly cap, a counter climbing toward it, and a call that politely said no once the limit was reached. That was an engineer’s guardrail: nothing to sell, nothing to buy, and a vocabulary — model cost, billed by the token — that means nothing to the person writing a post.

## A currency, not an invoice counter

The credit is called a **Spark**, in both languages, capitalized like the name of a currency. Its glyph is a solid four-point star, always in Fire — because blue is reserved for AI. The two sit next to each other without blurring: blue says “AI is working”, the orange star says “here’s what it costs”. On a blue button, the glyph takes the color of its own text rather than Fire, and the rule still holds.

The scale is a single line: every action has its price in Sparks, rounded up, with a minimum of one. Rewriting a sentence costs one, analyzing a website four, writing a strategy thirty — the detail shows before the action, and the real spend after. What disappeared is the machines’ unit: you no longer count in tokens or milliseconds.

## One way to write a cost

> The glyph, then the number. An estimate and a spend look the same: context tells you which.

That’s stricter than it sounds. No spelled-out unit, no “about”, no approximation sign in front of the number. An AI action’s button carries its estimated cost; once the action is done, the badge carries the measured one. Both read in the same place, in the same shape, and it’s “Before” or “After” that makes the difference, not the typography.

Getting there meant reworking about twenty places that assembled their cost by hand. The payoff: you no longer have to decode the formatting to know whether a number is a promise or a bill.

## What an action costs

*A few actions converted with the scale, and the same cost shown before and after generating an image.*

Rewrite a sentence, ✦ 1. Ask for caption variants, ✦ 1. Generate a post’s caption, ✦ 2. Analyze a website, ✦ 4. Generate an image at 4:5, ✦ 5 in standard quality and ✦ 17 in high quality, which posts get by default. Create a post from a calendar slot, ✦ 6. Write a full strategy, ✦ 27.

None of these numbers is a price tag: they’re estimates, and every call is billed on what it actually consumed. An image’s cost even depends on the area it fills and on its quality — the same image at 1:1 in standard quality drops to ✦ 4 — and then on what’s attached to it: a series anchor or a reference’s sheet both count. Which is exactly why the number shows up on the button before the action, and is recomputed afterwards.

> **Past a certain amount, the assistant asks**
>
> An assistant action worth more than ✦ 5, or one that starts at least two images, doesn’t run quietly: a card states what it’s about to do, on what, and for how much. You approve it, or you don’t.

## What expires, what stays

A subscription grants its Sparks every month, on the anniversary of the subscription. They **expire at the next grant**: they don’t roll over. Top-ups bought at any time, the 300 Sparks of the trial and manual adjustments never expire.

What makes the rule livable is the spend order: an action draws first from whatever expires soonest, then from the non-expiring grants, oldest first. In other words, you never lose Sparks you could have spent.

Changing plan mid-month **tops the month up in place**: the difference is granted, nothing is taken away. Moving down a plan doesn’t claw back what’s already there.

## Without Sparks, the app still runs

An empty balance doesn’t lock the door. Only AI calls wait — and they say so plainly: “Out of Sparks: the organization’s balance is empty. An admin can top it up in Organization settings › Credits.” Or, when you’re well short, the exact number missing. The estimate is reserved before the call, and a small overdraft — about ten Sparks — is still tolerated: it’s taken from the next grant.

Everything else keeps working: writing by hand, editing a slide, moving a slot, exporting, publishing step by step, marking a post as published, entering your metrics. A tool that locks up entirely because a counter hit zero isn’t a tool.

## Where you watch your Sparks go

On the organization’s page, **Sparks and plan** tab (the Sparks card, at the bottom of the sidebar, leads there). Four blocks: the balance, split between the subscription that expires and the top-ups that stay; the current plan and the date of the next grant; the top-ups; and “Operations”, the dated list of everything in and out, eight rows a page, with the project and the action behind each spend.

The balance also sits in the sidebar and on the project’s Home, with the month’s spending. No forecast for the end of the month: the sidebar says “low balance” when less than a tenth of the subscription is left, and warns when it is empty. Admins get a notification at 80% of the subscription, then when the balance hits zero.

> **Undo gives back the post, not the Spark**
>
> Every change the AI makes is visible, explained and undoable: one click and the post is back as it was. But the model call did happen — and it stays counted. Which is another reason the cost is announced up front.

---

Source: https://joli.studio/en/journal/sparks-what-ai-really-costs/
