Credits & Pricing
Credit types, consumption reference, and rate limits.
Credits Overview
ListenHub uses a credit-based billing system. Credits can be used for all API features including AI podcast generation, text-to-speech, AI video, image generation, and content extraction. New users receive 100 credits upon registration, so you can start using the API right away.
Credit Types
| Type | Validity | How to Get |
|---|---|---|
| Monthly credits | Valid within current billing cycle, reset at renewal | Auto-issued with subscription |
| Permanent credits | Never expire | Purchase credit packs, referral rewards, sharing rewards |
| Limited-time credits | Expire on specified date | Daily check-in, official campaigns |
Deduction order: limited-time credits → monthly credits → permanent credits.
Subscription Plans
| Plan | Monthly Credits |
|---|---|
| Basic | 1,300 credits/month |
| Pro | 2,700 credits/month |
| Max | 30,000 credits/month |
In addition to subscriptions, you can purchase credit packs for permanent credits.
Credit Consumption Reference
| Content Type | Approximate Cost |
|---|---|
| 5-minute AI podcast | ~24 credits |
| 10-minute text-to-speech | ~40 credits |
| AI video generation | Varies by model, resolution, duration, aspect ratio, and whether a reference video is used. Call POST /v1/video-generation/estimate-credits before creating a task. |
| Content extraction | 5 credits minimum; 100 credits per 100,000 characters (max 500 credits) |
| Music generation | 5–20 credits per generation task, by model tier. Analysis and edit endpoints are flat-rated — see the policy below |
| Lyrics generation | 2 credits per request |
Credit consumption values above are approximate. Actual consumption is
calculated in real time by the system. Call GET /v1/user/subscription to
check your balance at any time.
Content Extraction Credit Policy
Content extraction uses a pre-deduction model:
| Rule | Details |
|---|---|
| Pre-deduction | 5 credits are reserved when a task starts |
| Actual charge | 100 credits per 100,000 characters of extracted content; if the actual amount is less than 5, the actual amount is charged |
| Failure refund | All pre-deducted credits are fully refunded if extraction fails |
| Default limit | 100,000 characters per request (100 credits) |
| Maximum limit | 500,000 characters per request (500 credits) |
Credits are calculated based on actual extracted content length. A 3,000-character article costs 3 credits (actual); a 100,000-character article costs 100 credits; a 250,000-character article costs 250 credits.
Music and Lyrics Credit Policy
Music generation prices by model tier. POST /v1/music/generate, /v1/music/instrumental, and /v1/music/cover read this table:
| Model | Provider | Credits |
|---|---|---|
mureka-7.6 | Mureka | 5 |
auto, mureka-8, mureka-9, mureka-o2 | Mureka | 10 |
V4, V4_5, V4_5PLUS, V4_5ALL, V5 | Suno | 15 |
V5_5, V6 | Suno | 20 |
auto is the Mureka default and V6 is the Suno default, so a request that omits model costs 10 credits on Mureka and 20 on Suno. Every tier listed stays selectable.
The remaining music endpoints are flat-rated regardless of model: /v1/music/remix 10, /v1/music/extend 10 on mureka-7.6 and on auto (which resolves to mureka-7.6 before pricing) and 15 on every other model including all Suno tiers, /v1/music/soundtrack 15, /v1/music/track 15, /v1/music/describe 15, /v1/music/recognize 3, and /v1/music/stem 10 on audio-separation-1 or 100 on audio-separation-2.
Lyrics generation (POST /v1/lyrics/generate) costs a flat 2 credits per request on either provider, whatever the number of variants returned.
Async music and lyrics tasks reserve credits at submission, confirm them on success, and refund them in full on failure. The price is fixed when the task is created, so a later price change never re-bills a task already in flight. Each task reports what it actually cost as creditCost.
Rate Limits
| Limit | Value | Description |
|---|---|---|
| Creation request rate | 3 RPM | Up to 3 creation requests per minute |
| AI video generation rate | 5 RPM | Applied per user on POST /v1/video-generation/generate and the PixVerse endpoint |
| Exceeded limit error | 29998 | Implement a backoff retry strategy |
Recommended strategies:
- Implement a request queue to avoid burst requests
- Use exponential backoff for retries
- Monitor request frequency to prevent hitting limits
Check Credit Balance
Query your current credit details via the API:
curl -X GET "https://api.marswave.ai/openapi/v1/user/subscription" \
-H "Authorization: Bearer $LISTENHUB_API_KEY"const response = await fetch(
'https://api.marswave.ai/openapi/v1/user/subscription',
{
headers: {
Authorization: `Bearer ${process.env.LISTENHUB_API_KEY}`,
},
},
)
const data = await response.json()
console.log('Available credits:', data.data.totalAvailableCredits)import os
import requests
response = requests.get(
'https://api.marswave.ai/openapi/v1/user/subscription',
headers={'Authorization': f'Bearer {os.environ["LISTENHUB_API_KEY"]}'}
)
data = response.json()
print('Available credits:', data['data']['totalAvailableCredits'])The response includes monthly, permanent, limited-time, and total available credits. See Subscription API for full details.
Next Steps
- Error Handling — Handle insufficient credits (26004) and other errors
- Support — Enterprise plans and custom requirements
- Subscription API — Full credit query endpoint reference