credits_quote
Price ONE paid action for this user, on their model route, before spending — quote data.credits to the user, never a number from memory.
readSellerSheet
If data.sufficient is false, tell the user to top up at get_user_context's data.credits.topup_url (amounts in data.credits.rates.topup_usd). The route itself is changed only by the user, in the Dashboard credits card.
Call it
In an AI client (MCP)
{
"name": "credits_quote",
"arguments": {
"store": "myStore-US",
"meter": "<meter>"
}
}From code (Tool API)
curl -X POST https://api.sellersheetai.com/api/v1/tools/credits_quote \
-H "Authorization: Bearer $SELLERSHEET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"store":"myStore-US","meter":"<meter>"}'Early access — the Tool API is open on request, contact us.
Arguments
| Name | Type | Description |
|---|---|---|
meterrequired | string | 'image' (generate_image / edit_image; size picks the band) | 'image.1k' | 'image.2k' | 'copy' (listing copy, per language) | 'text' (reverse_prompt, small text calls) | 'insights' (customerFeedback_insights_report). |
units | integer | how many images / reports / calls this action makes, 1–50. Default 1.Default: 1 |
languages | integer | for meter='copy', how many languages one call covers, 1–16.Default: 1 |
size | string | for meter='image', the requested canvas ('1024x1024', '1536x1024', '2K', 'auto'). Decides the image band (up to 1024 px on the longer side, or above). |
both | boolean | for meter='image', provider='both' renders twice — doubles it.Default: false |
provider | string | for meter='image', the provider the image call will use ('openai' | 'nanobanana' | 'both'). 'nanobanana' renders its ~1K canvas whatever size is asked, so it prices the 1K band; omit and the requested size is priced. |
store | string | the store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim. Optional: pass the store the action will name — its organization pays, at its route, so the quote equals the charge; omit for an action that names no store. |
Result
Every tool answers {notification, data, human_action}; data carries:
data.credits— what this user pays for the action — show this; the hold takes exactly this.data.sufficient / data.balance— whether the balance covers it.data.meter— the meter priced ('image' resolves to image.1k / image.2k).data.route / data.multiplier / data.official_credits— their route and its price against Official.