ListenHubOpenAPI
API 레퍼런스

구독

계정의 구독 상태, 크레딧 잔액, 만료 정보를 조회합니다.

구독 및 크레딧 잔액 조회

GET /v1/user/subscription

계정의 크레딧, 구독 상태 및 관련 메타데이터를 조회합니다.

요청 예시:

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(data)
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(data)

응답 예시:

{
  "code": 0,
  "message": "",
  "data": {
    "subscriptionStartedAt": 1735660800000,
    "subscriptionExpiresAt": 1767196800000,
    "usageAvailableMonthlyCredits": 500,
    "usageTotalMonthlyCredits": 1000,
    "usageAvailablePermanentCredits": 300,
    "usageTotalPermanentCredits": 500,
    "usageAvailableLimitedTimeCredits": 200,
    "totalAvailableCredits": 1000,
    "resetAt": 1735660800000,
    "platform": "web",
    "renewStatus": false,
    "paidStatus": true,
    "subscriptionPlan": {
      "name": "pro",
      "duration": "monthly",
      "platform": "web"
    },
    "freeUsages": {
      "gemini-3-pro-image-relax-1k-2k": {
        "remaining": 2,
        "resourceType": "image",
        "resourceKey": "gemini-3-pro-image-relax-1k-2k",
        "unit": "generation"
      },
      "wan2.7-image": {
        "remaining": 1,
        "resourceType": "image",
        "resourceKey": "wan2.7-image",
        "unit": "generation"
      },
      "gpt-image-2": {
        "remaining": 1,
        "resourceType": "image",
        "resourceKey": "gpt-image-2",
        "unit": "generation"
      }
    }
  }
}

응답 필드:

모든 타임스탬프는 13자리 epoch 밀리초 숫자입니다. 플랜에 연동된 필드(subscriptionStartedAt, subscriptionExpiresAt, subscriptionPlan.*)는 구독이 활성 상태일 때만 값이 채워지며, 무료 계정에서는 subscriptionPlan{}입니다.

필드타입설명
totalAvailableCreditsinteger지금 바로 사용할 수 있는 총 크레딧: 월간 + 영구 + 기간 한정
usageAvailableMonthlyCreditsinteger이번 주기에 남은 월간 크레딧
usageTotalMonthlyCreditsinteger해당 주기의 월간 크레딧 지급량
usageAvailablePermanentCreditsinteger남은 영구 크레딧(리셋되지 않음)
usageTotalPermanentCreditsinteger지급된 영구 크레딧 총량
usageAvailableLimitedTimeCreditsinteger남은 기간 한정 크레딧
resetAtinteger월간 크레딧이 리셋되는 시각(epoch ms)
subscriptionStartedAtinteger구독 시작 시각(epoch ms)
subscriptionExpiresAtinteger구독 만료 시각(epoch ms)
platformstring결제 플랫폼(예: web, ios, android). 기본값은 web
renewStatusboolean자동 갱신 활성화 여부
paidStatusboolean유료(체험판이 아닌) 활성 플랜인지 여부
subscriptionPlanobject활성 플랜 상세. 활성 플랜이 없으면 {}
subscriptionPlan.namestring플랜 이름(예: pro, max)
subscriptionPlan.durationstring결제 주기(예: monthly, yearly)
subscriptionPlan.platformstring플랜을 구매한 플랫폼
freeUsagesobject리소스 키별 무료 할당량 잔액(아래 참고)

freeUsages의 각 항목은 다음 구조를 가집니다.

필드타입설명
remaininginteger이 리소스에 남은 무료 생성 횟수
resourceTypestring리소스 분류(예: image)
resourceKeystring모델 / 리소스 식별자(맵의 키와 일치)
unitstring할당량의 단위(예: generation)

API key 호출은 크레딧을 소비하기 전에 먼저 freeUsages에서 차감합니다.

무료 할당량(freeUsages)

API key 호출은 웹 및 Labnana 앱과 동일한 계정 단위 무료 할당량 잔액을 소비합니다. 무료 할당량은 가입, 초대, 출석 체크로 획득할 수 있으며, API를 호출한다고 해서 별도의 할당량이 지급되지는 않습니다.

리소스 키모델크기비고
gemini-3-pro-image-relax-1k-2kNanoBanana Pro(relax)1K / 2K핵심 무료 혜택. 4K는 이 잔액을 사용하지 않습니다.
wan2.7-imageWan 2.71K / 2K추가로 제공되는 무료 할당량.
gpt-image-2GPT-Image-21K / 2K추가로 제공되는 무료 할당량.

freeUsages[<key>].remaining > 0일 때 API key로 해당하는 1K/2K 생성을 실행하면 크레딧 대신 무료 할당량이 소비됩니다. 0이 되면 같은 요청은 일반 크레딧 과금으로 폴백합니다. 4K는 항상 크레딧을 사용합니다.

NanoBanana Pro 무료 할당량은 가입, 초대, 출석 체크를 통해 계속 충전될 수 있지만, API를 무제한으로 호출할 수 있다는 뜻은 아닙니다. 잔액은 어느 시점에서든 유한하며, Pro relax 호출이 어떻게 실행되는지는 계정 유형에 따라 달라집니다(이미지 생성 → NanoBanana Pro 무료 할당량 참고).

618 캠페인(Pro / Max 월간 크레딧)

2026-06-18부터 2026-06-24까지(Asia/Shanghai), 활성 Pro 및 Max 구독자는 해당 멤버십 주기에 대해 **월간 크레딧 +50%**를 받습니다. 월간 결제와 연간 결제 모두 대상이며, Max 구독자의 보너스는 Max 자체의 월간 크레딧 양을 기준으로 계산됩니다.

618 보너스는 월간 크레딧(usageTotalMonthlyCredits / usageAvailableMonthlyCredits)에 대한 1주일 한정 부스트입니다. 영구적인 플랜 업그레이드가 아니며, NanoBanana Pro 무료 할당량(freeUsages) 지급도 아니고, 연간 결제의 선지급 일시금도 아닙니다. 보너스는 일반 월간 크레딧과 마찬가지로 현재 멤버십 월과 함께 리셋됩니다.

이 페이지의 내용