Credits & costs
Everything Hermoso does is priced in one currency: credits. The web Studio, the MCP server and the CLI draw on the same balance at the same rates — there is no separate developer pricing and no per-seat charge for agent access.
Get the price before you spend it
hermoso_capabilities is free and returns the live catalog: every image, video, voice and writing model with its exact credit cost. Video is priced per duration and per resolution, because both change what it costs to render.
hermoso_capabilities # → model ids, exact per-render credits, aspect ratios, durations
hermoso_credits # → current balance
Never hard-code a price or a model id. The catalog moves — models are added, retired and repriced — and a number copied into a prompt is wrong the first time a vendor changes theirs. Ask for it; it costs nothing.
A quote cannot disagree with the charge
The quote you are shown and the amount you are billed are computed by the same expression, which is a deliberate property rather than a coincidence. Underneath, a render:
- Reserves an estimate before the first provider call, so a balance check can never pass a render the account cannot finish paying for.
- Settles the exact cost afterwards, refunding or topping up the difference.
Two consequences worth relying on. If a model is substituted mid-render, you are billed for the model that actually rendered, not the one that was requested — and the substitution is disclosed in the result rather than left for you to find on an invoice. And if a call produces nothing usable, you are not billed for it: an LLM reply that yields no parseable output books our cost as our loss, and the error says so specifically instead of suggesting you try again.
Failure refunds
The rule is charge for delivery, not attempts:
- Nothing was ever dispatched to a provider → full refund.
- A clean
4xx, a content-policy refusal, a timeout before any render, a throttle → full refund. - Bytes were produced and something failed afterwards — persisting, uploading — → the charge stands. The asset exists; the accident was ours to recover, not yours to pay twice for.
What costs nothing
Reading and managing what you already own is free, on purpose — running out of research budget must not take your whole operation offline with it.
- Discovery —
hermoso_capabilities,hermoso_credits,list_connectors,get_brand,list_jobs,list_brands. - Publishing organically —
post_to_meta,post_to_linkedin,post_to_youtube,post_to_tiktok,post_to_pinterest,post_to_reddit,post_to_google_business. You already paid to render the ad; posting it is not a second charge. - Scheduling —
schedule_post,list_scheduled,reschedule_post,cancel_scheduled. These write a row in our own queue and call no vendor at all until fire time. - Managing your own accounts — reading insights, replying to comments, pausing a campaign, fixing your business listing's opening hours, Drive and OneDrive file operations.
The one exception, stated up front
X (Twitter) bills per call. X charges us per API request, so every action there costs a few credits — including each post in a thread, and the separate write that attaches alt text. A post containing a link costs roughly 13× one without. This is the only connector with a per-call cost, and its own tile says so before you connect it.
What does cost
Generation and research — the things that call a paid vendor on your behalf:
- Image and video renders, priced per model, per duration, per resolution.
- Ad-library and organic social research, priced per pull.
- Planning and analysis that runs a language model — teardowns, angle mining, scoring.
- Post-production — reframing, upscaling, dubbing, voice changes, stitching.
Running out
A call that cannot be paid for answers 402 with a message naming both numbers — what it needs and what you have — rather than just the gap. From inside an agent:
billing_status— plan, balance, and whether a card is on file.buy_credits— lists packs; with a saved card and admin rights it quotes an exact charge and, on an explicit confirmation carrying that quote's token, charges it. With no card yet you get a checkout link to hand a human once.set_auto_reload— stop running out at all.
An agent may not charge money on a bare confirm. The quote token binds the exact pack and price that was quoted, so a retried confirmation is idempotent and a confirmation cannot be applied to a charge nobody saw.
Rate limits
Paid renders are limited per verified account, in a 60-second window. The limit is generous for a person and deliberately unfriendly to a script — if you hit it, you are looping faster than a human ever would. It answers 429; back off and retry.