Skip to main content

Pricing

Start free, pay-as-you-go. New accounts begin with free credits — no card required. When you need more, top up and pay only for what you use: $1 = 7,500 credits, and credits never expire. All API prices below are per minute of audio processed (input duration unless noted).
Minimum top-up: 1.00.Maximum:1.00**. Maximum: **10,000.
Premium variants and modes. Some services charge a multiplier on the base rate:
  • Music Generation — AudioMusic Premium (quality="premium"): the base rate ($0.08/min).
  • Stem Separation — premium catalog selections: separations that run on the premium engine bill at 1.5× (0.15/min),andsingleinstrumentisolationfromthe45instrumentcatalogat2×(0.15/min), and single-instrument isolation from the 45-instrument catalog at **2×** (0.20/min).
Every standard mode — single, two, four, six, producer, studio, mastering — bills at the base $0.10/min.
TTS billing model. API wallet bills TTS by the duration of the generated audio, not by character count. The per-character rate shown elsewhere in the docs applies to account-credit billing (subscription plans), not to API-wallet billing.
Noise Reduction is currently billed from your account credit balance (subscription plan credits), not from the API wallet. To use noise reduction programmatically, sign in to your account and obtain a session — the API-key
  • wallet path for denoising is not yet enabled.

Check Balance

Response:

Add Funds

Open the returned url in your browser to complete payment.
Response:

Automatic Top-Up

Automatic top-up keeps long-running and unattended integrations from stalling on an empty wallet. Once it is on, we watch your balance as calls come in — the moment it would drop below your threshold, we charge a saved card for your chosen amount and credit the wallet. The wallet stays prepaid: funds are added before they are spent. Nothing is ever billed after the fact, and every automatic charge sends you a receipt by email.

One-time browser step

A card can only be saved from a browser. Card details are entered on a secure hosted form run by our payment provider — they never pass through the AudioPod API, and they can never be sent with an API key. This is a card-industry requirement (and the reason bank verification prompts can appear), not an AudioPod restriction. So arming automatic top-up is a two-part flow:
  1. Once, in a browser — save a card, either from API KeysAutomatic top-upAdd card, or by calling POST /auto-topup/payment-method-session from a signed-in session and opening the returned url.
  2. From then on, over the API — read the configuration, tighten the limits, or switch it off with a plain API key.
API keys have deliberately limited power here. With an API key you can read the configuration, lower any limit, and disable automatic top-up. Turning it on, raising a limit, or saving a card requires a signed-in dashboard session and returns 403 with detail.error = "dashboard_required" otherwise. A leaked key can therefore never arm or widen a charge against your card — only shrink or stop one.

Read the configuration

Response:
Read your bounds from limits rather than hard-coding them — they are the authoritative ranges and can change without a breaking API version.

Update the configuration

Every field is optional; send only what you want to change.
Returns the full configuration object shown above.
The automatic minimum (10)ishigherthanthemanualminimum(10) is higher than the manual minimum (1) on purpose. Card processing has a flat component, so a $1 automatic recharge spends a third of itself on fees. Larger, less frequent top-ups keep more of your money in the wallet.

Save or replace a card

Call this from a signed-in dashboard session and send the browser to the returned url. The link is single-use and short-lived; expires_at is a Unix timestamp.
Response:

Turn it off

DELETE switches automatic top-up off and forgets the saved card. It returns the resulting configuration, with enabled: false and has_payment_method: false. Your balance and manual top-up are untouched.
To pause automatic top-up but keep the card, send PUT {"enabled": false} instead.

Guardrails

Two independent ceilings bound what a runaway loop can spend. Both are enforced server-side, and a charge that would cross either is simply not placed. day_charge_count and month_charged_cents in the response tell you how much headroom is left against each. When a ceiling is reached, automatic top-up stops for the period but stays armed — nothing is disabled, and manual top-up still works.

When a charge fails

A declined charge is retried on a widening schedule, then automatic top-up switches itself off rather than hammering your card:
  1. First failure — retried about an hour later.
  2. Second failure — retried about six hours after that.
  3. Third failure — automatic top-up is switched off and we email you.
While a retry is pending, next_attempt_at holds the earliest time we will try again and consecutive_failures counts the run. A successful charge resets both. Some failures skip the retries and disable immediately, because a retry cannot possibly clear them — most commonly when your bank requires you to confirm the card in person, which is impossible for a charge placed while you are away. When automatic top-up disables itself, disabled_reason and disabled_at explain what happened. Save the card again (or replace it) and turn automatic top-up back on.
Cards issued in India are not supported for automatic top-up yet. Indian regulations require a separately registered mandate with its own notification and approval steps, which we have not built. Saving an Indian card for automatic top-up is refused at the point of saving. Manual top-up is unaffected — Add Funds and POST /api-wallet/topup/checkout work normally with an Indian card.

Estimate Cost

Calculate cost before processing (no auth required):
Response:

Usage History

Response:

Get Pricing (No Auth)


Error Handling

Example 402 response:

Next Steps

Quick Start

Make your first API call

Stem Separation

Most popular API