Skip to Content
splashify CLIAI & Voice credits

AI & Voice AI credits

The credits command (aliases: credit, ai-credits) mirrors the dashboard’s two credit widgets and the /ai-credits page. Strictly read-only — top-ups and refunds happen through billing flows, not here.

Backed by /api/v1/app/ai-credits/* and /api/v1/app/voice-ai/*.

Quick start

splashify credits # full overview (alias: credit) splashify credits ai # just the AI credit balance splashify credits transactions # AI credit history splashify credits voice # Voice AI rate, trial, available splashify credits agents # list voice agents

What “credits” mean here

Two distinct billing pools live behind this command:

PoolUsed forTop-upUnit
AI creditsMaya chat, AI agents, template generation, OCR, sentimentAdd-on purchase or plan grantTokens (≈ 4 chars each)
Voice AI minutesVoice AI calls, transcription, TTSPer-minute billing from walletMinutes

The CLI surfaces both pools via separate subcommands so you can monitor them independently.

Command reference

splashify credits — overview

splashify credits # default — consolidated view splashify credits info # alias

Returns a merged JSON object with every section the page reads:

{ "ai": {/* AI credit balance + plan grant */}, "voice": {/* Voice AI rate, trial, available minutes */}, "agents": [/* voice agents list */] }

If any section fails it shows up as {"error":"…"} for that key — the rest still renders.

splashify credits ai — AI credit balance

splashify credits ai # alias: info
Backed byGET /api/v1/app/ai-credits/info

Response shape:

{ "success": true, "credits": { "balance": 1245, "plan_grant": 1000, "purchased": 245, "used_this_period": 387, "expires_at": "2026-06-30T00:00:00Z" } }

splashify credits transactions — AI credit history

splashify credits transactions # alias: tx splashify credits transactions --limit 200
Backed byGET /api/v1/app/ai-credits/transactions[?limit=…]

Each row is a credit movement:

{ "transaction_id": "uuid", "type": "debit", // debit | credit | grant | refund "amount": 12, "reason": "maya_chat", // maya_chat | template_gen | ocr | … "created_at": "2026-05-20T14:00:00Z", "metadata": {} }

splashify credits voice — Voice AI

splashify credits voice # alias: voice-ai
Backed byGET /api/v1/app/voice-ai/info

Returns the Voice AI rate card and your remaining minutes:

{ "success": true, "voice": { "rate_per_minute": 4.50, "currency": "INR", "trial_minutes": 10, "trial_used": 7, "available_minutes":3, "wallet_minutes": 1245.5, "total_available": 1248.5 } }

Trial minutes are granted once on signup; wallet minutes are the rolling balance from your wallet at the Voice AI rate. The page shows total_available as the sum of the two.

splashify credits agents — list voice agents

splashify credits agents
Backed byGET /api/v1/app/voice-ai/agents

Returns the voice agents available on the account — each with agent_id, name, language, voice, is_default.

Common workflows

Daily credit-burn audit

splashify credits transactions --limit 200 | \ jq '.transactions | map(select(.type == "debit")) | group_by(.reason) | map({reason: .[0].reason, total: (map(.amount) | add), count: length}) | sort_by(-.total)'

Alert when AI credits drop below a threshold

BALANCE=$(splashify credits ai | jq '.credits.balance') if [ "$BALANCE" -lt 100 ]; then echo "AI credits low: $BALANCE — top up" exit 1 fi

Cross-check Voice AI minutes against today’s calls

USED=$(splashify calling analytics --period today | jq '.analytics.total_minutes // 0') AVAIL=$(splashify credits voice | jq '.voice.total_available') echo "Used today: $USED Available: $AVAIL"

Find which Maya chats burned the most credits

splashify credits transactions --limit 500 | \ jq '.transactions[] | select(.reason == "maya_chat") | {created_at, amount, metadata}' | \ jq -s 'sort_by(-.amount) | .[:10]'

Troubleshooting

balance not updating after a top-up — the wallet/billing pipeline backfills the credit balance asynchronously. Wait ~1 minute and re-run credits ai. If it’s still wrong after 5 minutes, file a ticket with splashify support create.

voice returns 403 — Voice AI is a paid feature. Check splashify subscription for the active plan + add-ons.

transactions empty even though credits clearly moved — the endpoint default limit is 50; you may have scrolled past. Try --limit 500. Voice AI minute movements are not here — they live on the wallet (splashify wallet transactions).

expires_at in the past but balance > 0 — purchased credits don’t expire, but plan-granted credits do. The expires_at only applies to plan_grant. purchased carries forward indefinitely.

See also