메인 콘텐츠로 건너뛰기
ElevenLabs는 음성 합성만큼이나 유연한 요금제를 제공하며 AI 음성 분야에서 우위를 점했습니다. 그들의 모델은 한 가지 가치 단위인 문자에 중심을 둡니다. 텍스트-투-스피치 생성, 음성 클로닝, 비디오 더빙을 하든 하나의 통합 문자 크레딧 풀에서 소비됩니다.

ElevenLabs의 청구 방식

ElevenLabs의 가격 구조는 구독 계층에 연결된 고정 월별 할당량을 사용합니다. 사용자가 더 높은 계층으로 이동할수록 더 많은 문자와 전문가용 음성 클로닝 또는 상업적 사용 권한과 같은 고급 기능에 액세스할 수 있습니다.
요금제가격문자/월초과 요금
무료$010,000제공 안 함
스타터월 $530,000약 $0.30/1K 문자
크리에이터월 $22100,000약 $0.24/1K 문자
프로월 $99500,000약 $0.15/1K 문자
스케일월 $3302,000,000약 $0.10/1K 문자
  1. 문자 기반 요금제: 문자는 플랫폼 전반에서 공통된 통화입니다. 텍스트-투-스피치, 더빙, 음성 클로닝은 모두 동일한 잔액에서 소모되며 사용량 추적을 단순화합니다.
  2. 롤오버 메커니즘: 사용하지 않은 문자는 소멸하지 않고 다음 청구 주기로 이월됩니다. ElevenLabs는 무한 누적을 방지하기 위해 상한을 적용하여 사용자가 구독에서 가치를 계속 유지하도록 합니다.
  3. 계층별 초과 요금: 초과 요금은 구독 계층을 기준으로 처리합니다. 낮은 요금제는 기본적으로 초과 요금이 비활성화되어 안전을 확보하며, 높은 계층은 선택적 청구를 허용하여 서비스 연속성을 유지합니다.

독창적인 전략

여러 전략적 선택 덕분에 ElevenLabs 청구 모델은 사용자를 유지하고 업그레이드를 유도하는 데 특히 효과적입니다.
  • 문자 롤오버: 롤오버 크레딧은 “사용하지 않으면 사라진다”는 불안을 줄여주며, 사용하지 않은 투자를 다음으로 이월합니다. 이는 활동이 줄어든 기간에도 구독 가치를 유지합니다.
  • 계층별 초과 요금: 요금제 규모가 커질수록 초과 요금이 낮아져 업그레이드 유인이 커집니다. 사용자는 추가 사용 비용이 낮아진 높은 계층을 더 매력적으로 느낍니다.
  • 통합 소비: 모든 서비스에 단일 문자 풀을 사용하면 별도 할당량을 관리하는 인지적 부담이 사라집니다. 사용자는 남은 용량을 이해하기 위해 하나의 숫자만 확인하면 됩니다.
  • 선택형 초과 요금: 전문가용 사용자는 연속성을 위해 초과 요금을 켤 수 있으며, 일반 사용자는 하드 캡의 안전 혜택을 누립니다.

Dodo Payments로 구축하기

Dodo Payments의 크레딧 기반 청구 및 사용량 측정을 활용하여 이 정교한 모델을 복제할 수 있습니다.
1

Create a Custom Unit Credit Entitlement

먼저, 플랫폼의 통화 역할을 할 “Characters” 단위를 정의하세요.
  1. Dodo 대시보드에서 Entitlements로 이동합니다.
  2. 새로운 Credit Entitlement을 생성합니다.
  3. Credit TypeCustom Unit으로 설정합니다.
  4. 단위 이름을 “Characters”로 지정합니다.
  5. 문자 단위는 항상 정수이므로 Precision을 0으로 설정합니다.
  6. 월별 청구 주기에 맞춰 Credit Expiry를 30일로 설정합니다.
  7. 다음 설정으로 Rollover를 활성화합니다:
    • Max Rollover Percentage: 100% (사용하지 않은 모든 문자를 이월 허용).
    • Rollover Timeframe: 1 Month.
    • Max Rollover Count: 1 (크레딧은 한 번만 이월되고 이후 만료됨).
2

Create Tiered Subscription Products

다섯 개의 구독 상품을 만듭니다. 동일한 “Characters” 권한을 각 상품에 연결하되, 각 계층에 따라 구성은 다르게 설정합니다.
상품가격크레딧/주기초과 요금 활성화초과 요금 가격 (1K 문자당)
무료월 $010,000아니요-
스타터월 $530,000예 (선택적)$0.30
크리에이터월 $22100,000$0.24
프로월 $99500,000$0.15
스케일월 $3302,000,000$0.10
각 상품에 크레딧 권한을 연결할 때 Import Default Credit Settings 옵션의 선택을 해제하세요. 이렇게 하면 해당 계층에 대해 특정 Price Per Unit을 설정할 수 있습니다. Overage BehaviorBill overage at billing으로 설정하고 해당 계층 쿼터의 10%에서 Low Balance Threshold를 구성합니다.
3

Create a Usage Meter

사용량 계량기는 애플리케이션 활동을 크레딧 시스템에 연결합니다.
  1. tts.characters라는 이름의 새 계량기를 만듭니다.
  2. AggregationSum으로 설정합니다. 이렇게 하면 전송하는 모든 이벤트에서 characters 속성이 합산됩니다.
  3. 이 계량기를 “Characters” 크레딧 권한에 연결합니다.
  4. Meter units per credit를 1로 설정합니다. 이는 앱에서 한 문자를 사용하면 잔액에서 한 크레딧이 차감되도록 합니다.
4

Send Usage Events

사용량 추적을 애플리케이션 코드에 통합하세요. 사용자가 오디오를 생성할 때마다 Dodo로 이벤트를 전송합니다.
import DodoPayments from 'dodopayments';

async function trackGeneration(
  customerId: string,
  text: string, 
  service: 'tts' | 'dubbing' | 'cloning'
) {
  const characterCount = text.length;

  const client = new DodoPayments({
    bearerToken: process.env.DODO_PAYMENTS_API_KEY,
  });

  await client.usageEvents.ingest({
    events: [{
      event_id: `gen_${Date.now()}_${Math.random().toString(36).slice(2)}`,
      customer_id: customerId,
      event_name: 'tts.characters',
      timestamp: new Date().toISOString(),
      metadata: {
        characters: characterCount,
        service: service,
        voice_id: 'voice_abc123'
      }
    }]
  });
}
5

Handle Low Balance and Overage

웹훅을 사용하여 사용자에게 문자 사용량을 알립니다.
import DodoPayments from 'dodopayments';
import express from 'express';

const app = express();
app.use(express.raw({ type: 'application/json' }));

const client = new DodoPayments({
  bearerToken: process.env.DODO_PAYMENTS_API_KEY,
  webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY,
});

app.post('/webhooks/dodo', async (req, res) => {
  try {
    const event = client.webhooks.unwrap(req.body.toString(), {
      headers: {
        'webhook-id': req.headers['webhook-id'] as string,
        'webhook-signature': req.headers['webhook-signature'] as string,
        'webhook-timestamp': req.headers['webhook-timestamp'] as string,
      },
    });

    switch (event.type) {
      case 'credit.balance_low':
        await notifyUser(event.data.customer_id, 
          'You are running low on characters. Consider upgrading your plan for more characters and lower overage rates.'
        );
        break;
      case 'credit.deducted':
        await logUsage(event.data);
        break;
      case 'credit.overage_charged':
        await notifyUser(event.data.customer_id,
          'You have exceeded your character quota. Overage charges will appear on your next invoice.'
        );
        break;
    }

    res.json({ received: true });
  } catch (error) {
    res.status(401).json({ error: 'Invalid signature' });
  }
});
6

Create Checkout

사용자가 구독할 준비가 되면 선택한 계층에 대해 체크아웃 세션을 생성합니다.
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_elevenlabs_pro', quantity: 1 }
  ],
  customer: { email: 'creator@example.com' },
  return_url: 'https://yourapp.com/dashboard'
});

Stream Ingestion Blueprint로 가속화

문자 기반 청구와 함께 오디오 출력도 추적하려면 Stream Ingestion Blueprint가 대역폭 소비량을 계량할 수 있는 간소화된 방법을 제공합니다.
npm install @dodopayments/ingestion-blueprints
import { Ingestion, trackStreamBytes } from '@dodopayments/ingestion-blueprints';

const ingestion = new Ingestion({
  apiKey: process.env.DODO_PAYMENTS_API_KEY,
  environment: 'live_mode',
  eventName: 'tts.audio_bytes',
});

// After generating audio, track the output size
const audioBuffer = await generateSpeech(text, voiceId);

await trackStreamBytes(ingestion, {
  customerId: customerId,
  bytes: audioBuffer.byteLength,
  metadata: {
    voice_id: voiceId,
    service: 'tts',
    format: 'mp3',
  },
});
Stream Blueprint를 사용하면 문자 기반 크레딧 시스템과 함께 오디오 대역폭을 추적할 수 있어 생성당 실제 인프라 비용을 파악할 수 있습니다.
Stream Blueprint는 또한 대량 처리 시나리오를 위한 배칭을 지원합니다. 고급 사용 패턴에 대해서는 전체 블루프린트 문서를 참조하세요.

업그레이드 유도: 계층별 초과 요금

ElevenLabs 모델의 가장 훌륭한 부분은 초과 요금 비율을 활용해 업그레이드를 유도하는 방식입니다. 높은 계층에서 문자당 비용을 낮추면 대화가 “얼마나 필요하지?”에서 “얼마나 절약할 수 있지?”로 바뀝니다.
계층포함 문자초과 요금 (1K당)50만 문자 기준 실효 비용
크리에이터100,000$0.24$22 + (400 * $0.24) = $118
프로500,000$0.15$99 (초과 없음)
크리에이터 요금제에서 정기적으로 50만 문자를 사용하는 사용자는 구독료와 초과 요금을 합쳐 월 $118을 지불합니다. 프로 요금제로 업그레이드하면 동일한 사용량을 $99에 커버할 수 있어 월 $19을 절약합니다. 높은 계층에서 낮은 초과 요금률은 사용량이 증가할수록 업그레이드가 명백한 재정적 선택이 되게 합니다. Dodo Payments에서는 구독 상품에 크레딧을 연결할 때 Import Default Credit Settings 박스의 선택을 해제하세요. 이렇게 하면 각 계층에 대해 개별 Price Per Unit을 완벽하게 제어할 수 있어 가장 높은 지급 고객에게 최고의 요율을 제공할 수 있습니다.

핵심 Dodo 기능