Skip to content
Splashify Pro
Docs

Credits & Voice AI

The credits ai subcommand keeps a legacy name. The balance it reports is now your Advertisement Credits wallet, which funds Managed Ads only.

AI usage — chat agents, voice agents, generation features — is billed to your main wallet. See splashify wallet.

The credits command (aliases: credit, ai-credits) mirrors the dashboard's credit widgets and the /ad-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

bash
splashify credits                                 # full overview (alias: credit)
splashify credits ai                              # Advertisement Credits balance
splashify credits transactions                    # Advertisement Credits 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:

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

Command reference

splashify credits — overview

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

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

json
{
  "ai":          {/* Advertisement Credits 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 — Advertisement Credits balance

bash
splashify credits ai                              # alias: info

Response shape:

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

splashify credits transactions — Advertisement Credits history

bash
splashify credits transactions                    # alias: tx
splashify credits transactions --limit 200

Each row is a credit movement:

json
{
  "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

bash
splashify credits voice                           # alias: voice-ai

Returns the Voice AI rate card and your remaining minutes:

json
{
  "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

bash
splashify credits agents

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

Common workflows

Daily credit-burn audit

bash
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 Advertisement Credits drop below a threshold

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

Cross-check Voice AI minutes against today's calls

bash
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

bash
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