Skip to content

What text costs

Text is the cheapest thing Madoo makes. The four nodes that assemble it — Template, Format, Join, Replace — cost nothing. A model costs a few hundredths of a credit for a paragraph; what changes the bill is how much the model reads — a long document, a video — and how much it thinks before it writes.

A text step is charged for its tokens at the provider’s real price, converted to credits (1 credit = 0.016 USD), to the thousandth of a credit:

  • tokens read — the prompt, the system prompt, and whatever goes with them: pictures, a document, a video;
  • tokens written — the answer, and the reasoning a model does before answering, which is billed as writing;
  • a part of the input the provider has cached from a previous call costs a tenth of the normal input price, or less.

A step that fails is charged only what the provider billed for it, never a flat price: a provider error usually costs nothing, while a cut answer or an answer that is not the JSON asked for costs the tokens the model read and wrote. A step that is tried again pays each attempt the same way.

Model Read, per 1,000 tokens Written, per 1,000 tokens
Gemini 2.5 Flash Lite 0.0063 0.025
GPT-6 Luna (the default) 0.00625 0.031
Claude Haiku 5.5 0.00625 0.031
GPT-6 Luna Decisions (Decide with a Model) 0.00625 nothing written
GPT-5.6 Luna 0.0125 0.075
GPT-5.4 Nano 0.0125 0.078
Gemini 2.5 Flash 0.0188 0.156
Gemini 3.5 Flash-Lite 0.0188 0.156
Gemini 3 Flash 0.031 0.19
Gemini 3.8 Flash, 3.6 Flash 0.047 0.23
GPT-5.4 Mini 0.047 0.28
Claude Haiku 4.5 0.063 0.31
Gemini 2.5 Pro 0.078 0.63
Claude Sonnet 5.5 0.125 0.625
GPT-5.6 Terra 0.125 0.75
Claude Sonnet 4.6 0.19 0.94
GPT-6.1 Sol 0.125 0.625
GPT-5.6 Sol 0.25 1.25
Claude Opus 5.5 0.25 1.25
Claude Opus 5 0.31 1.56

Some models charge more for a long prompt, on the whole step and in the estimate too: Claude Haiku 5.5 five times its prices once the prompt passes 100,000 tokens, the GPT-6 and GPT-5.6 models twice theirs past 272,000.

Gemini 3.8 Flash and 3.6 Flash keep these prices until 31 December 2026; from 1 January 2027 Google doubles them, to 0.094 and 0.47, and Madoo charges the new price from that day.

A thousand tokens are about 750 English words. Writing costs about six times reading: a model that reads a long brief and writes a short answer is cheap; one that reasons at length is not.

Lab What ran Credits
Text without a model a booking confirmation, 29 steps 0
Writing with a model a 60-word recommendation, four models 0.010 – 0.634 per step
Structured answers an email sorted into JSON, checked and read 0.02
Reading pictures a classifier, an analysis and a shop listing for one photo 0.084
Reading video and documents a one-page quote / a six-minute video 0.046 / 1.88
Languages a notice in three languages, one call 0.04
Prompts for other AI steps a prompt written by a model / the picture it made 0.017 / 5

A video is the exception: it is read as images and sound, about 90 tokens per second with Gemini 3 models, so a minute of video read by Gemini 3.8 Flash costs about 0.31 credits — thirty paragraphs written by Luna. (Gemini 2.5 Flash reads about 300 tokens per second: 0.37 credits a minute.)

Before a run, Madoo estimates each AI step and holds the estimate plus about 10% on the workspace’s credits; when the step ends, it charges the tokens actually used and releases the rest. For a text step the estimate is built like this:

  • read: the length of the prompt (about four characters per token), or 1,000 tokens when the prompt arrives from another step and is not known yet; documents add an estimate from their size;
  • written: Max Tokens when it is set, otherwise 500;
  • reasoning: a ceiling for the model’s reasoning effort, not a prediction.

So the estimate of a text step is meant to be a ceiling, and the final charge is usually much lower. It can also be higher: the estimate does not yet count the length of a video, and a Video Analysis step costs what its minutes cost. The final charge follows what the step actually used, and can differ from the estimate shown before the run — by a lot, in both directions.

Step of the cost lab Estimate Charged
Luna, reasoning none 0.132 0.010
Luna, reasoning low 0.196 0.010
Luna, reasoning medium (default) 0.388 0.012
Luna, reasoning high 0.644 0.016
Gemini 3.8 Flash 2.905 0.369
Video Analysis, six minutes (another lab) 2.085 1.883

Two consequences when planning:

  • A high Max Tokens raises the estimate and the hold, not the charge. In the cost lab Max Tokens was 4,000, so the estimate assumed 4,000 tokens written; the steps wrote 166 to 1,526. On a workspace with few credits left, a high Max Tokens on many steps can hold more than the run will spend.
  • Budget video by the minute, not by the estimate: about 0.31 credits per minute with Gemini 3.8 Flash, and cut the video first when only part of it matters. The six-minute video above came close to its estimate by chance — the estimate is the model’s reasoning ceiling, not the video’s length: a thirty-minute video gets the same estimate and costs about 9 credits.
  • Assemble what can be assembled. Every sentence written by a template is one a model does not write.
  • Start from the default model, Luna; move to a larger one only for the steps that need it, after comparing.
  • Set the reasoning to what the task needs. For a short summary, more reasoning cost more and did not write better: in the lab none kept every fact as well as high, which cost 60% more and took three times as long. For a simple text from clear notes, none or low is enough.
  • Watch models that reason a lot by default. Gemini 3.8 Flash reasoned 1,380 tokens to write 146, and cost more than twenty times Luna for the same summary; for a short text, set its Reasoning Effort to low.
  • Ask for several things in one call when they come from the same facts: three languages in one JSON answer, the copy and the image prompt together.
  • Keep the answer short. Writing costs six times reading; ask for the length you need — and check it with a schema rather than with Max Tokens, which cuts the answer and fails the step.
  • Read only what is needed. Trim a video, send the pages of a document that matter, resize pictures that do not need full resolution.

Try it: five ways to write the same summary

Section titled “Try it: five ways to write the same summary”

The lab gives the same returns policy of a cookware shop — about 180 words — to five steps that summarise it in three bullet points: Luna with reasoning none, low, medium and high, and Gemini 3.8 Flash.

The lab: a Returns policy input goes to five Text Generation steps — Luna with reasoning none, low, medium (the default) and high, and Gemini 3.8 Flash — each into its own output.

Step Tokens read Written (of which reasoning) Credits Seconds
Luna, none 240 166 0.010 2.3
Luna, low 240 182 (24) 0.010 2.5
Luna, medium 240 329 (156) 0.012 4.3
Luna, high 240 464 (301) 0.016 6.5
Gemini 3.8 Flash 232 146 + 1,380 reasoning 0.369 6.3

All five summaries are usable, and more reasoning did not write better. The four Luna summaries kept every rule of the policy, the lifetime guarantee on cast-iron pans included; Gemini 3.8 Flash left out the guarantee and the gift cards and added bold headings the brief did not ask for. The whole run costs about 0.4 credits; the estimate before it was 4.3.

Terminal window
node madoo-install-example.mjs lab-text-costs --api <your Madoo API URL> --key <key.json> --run