Your AI does the writing. Posts, replies, threads, articles, rewrites and DM first lines written by your own Claude or ChatGPT cost nothing on Xholic: you send the finished text and Xholic posts or schedules it. Xholic AI runs only where it is genuinely needed, and never without a quote first.
| What | Cost |
|---|---|
| Reading stored data: posts, analytics, contacts, context, memory | Free, within rate limits |
| Live X lookups (search, people, posts) | No credits; uses the plan’s X data limits |
| Posting and scheduling | The same post credits as the app |
Xholic AI: Worker runs, Signals scoring, images, ask_xholic, draft_with_xholic |
The app’s AI credit prices, quoted first |
API and MCP access is included in every plan, including the trial, at no extra price.
Quote, then confirm
Section titled “Quote, then confirm”- Call the action without
confirmCredits. - It answers
CREDITS_CONFIRMATION_REQUIREDwith a quote inerror.details.quoteand in the message: the estimate, what it pays for, and how many credits are left. - Show the quote to the user. Only after they agree, call again with the same input plus
confirmCreditsset to at least the estimate and the quote’squoteId.
A quoteId works once, for 10 minutes, for the same connection and the exact same input. A confirmation without a matching quote, or with different input, gets a fresh quote instead of running, so an AI can’t approve spending up front.
{ "ok": false, "error": { "code": "CREDITS_CONFIRMATION_REQUIRED", "message": "This uses Xholic AI: up to 25 credits (…). 1840 credits left. Ask the user, then call again with the same input plus confirmCredits: 25 and quoteId: \"qt_…\".", "scope": "account", "details": { "quote": { "quoteId": "qt_…", "capabilityId": "drafts.with_xholic", "estimateCredits": 25, "creditsRemaining": 1840, "note": "…" } } }}The estimate is an upper bound; creditsCharged in the result says what was actually spent. Scheduled Workers and always-on Signals agents were approved when you set them up and don’t ask again on each run. In the CLI, --estimate prints the quote without running anything.
Actions that use Xholic AI
Section titled “Actions that use Xholic AI”| Action | MCP tool | Up to | Pays for |
|---|---|---|---|
workers.run |
run_worker |
120 credits | Xholic’s Worker writer, charged per post in the batch |
ask.start |
ask_xholic |
25 credits | Ask Xholic, charged for what the job uses up to this amount |
drafts.with_xholic |
draft_with_xholic |
25 credits | Xholic’s writer through Ask, charged for what it uses up to this amount |
drafts.reply_with_xholic |
draft_reply_with_xholic |
25 credits | Xholic’s reply writer through Ask, charged for what it uses up to this amount |
composer.rewrite |
composer_rewrite |
8 credits | Xholic’s rewriter (a writing review costs less) |
composer.originality |
composer_originality |
4 credits | Xholic’s originality check |
remix.generate |
remix_generate |
12 credits | Xholic’s remixer, three drafts |
inspiration.explain_structure |
inspiration_explain_structure |
1 credits | Xholic’s structure explainer |
articles.ai_run |
articles_ai_run |
150 credits | Xholic’s article AI; the quote shows the price for the chosen kind and model |
dm.launch_campaign |
launch_dm_campaign |
0 credits | Xholic AI first lines ([ai_line]) for each eligible recipient; nothing when no template uses them |
dm.preview_campaign |
dm_preview_campaign |
10 credits | Xholic AI first lines ([ai_line]) for up to 5 previewed recipients |
dm.suggest_reply |
dm_suggest_reply |
8 credits | Xholic AI reply suggestion for this DM conversation |
