Table of Content

Table of Content

The Complete Guide to ElevenLabs Plans, Overages, and Usage-Based Pricing in 2026

The Complete Guide to ElevenLabs Plans, Overages, and Usage-Based Pricing in 2026

The Complete Guide to ElevenLabs Plans, Overages, and Usage-Based Pricing in 2026

The Complete Guide to ElevenLabs Plans, Overages, and Usage-Based Pricing in 2026

The Complete Guide to ElevenLabs Plans, Overages, and Usage-Based Pricing in 2026

• 10 min read

• 10 min read

Aanchal Parmar

Product Marketing Manager, Flexprice

ElevenLabs pricing runs from a free tier up to $990/month for Business, plus custom Enterprise, all billed on a single monthly credit system with usage overages on top. That's the short answer. 

The longer one matters if you're deciding which tier to pay for, or if you run an AI product and want to build the same kind of credit-based pricing yourself. 

This guide breaks down every current plan, how credits and overages actually work, where cheaper alternatives fit, and how to replicate the model with Flexprice.

Key Takeaways

  • ElevenLabs plans cost $0 (Free), $6 (Starter), $22 (Creator, $11 first month), $99 (Pro), $299 (Scale), and $990 (Business), with Enterprise priced custom. Figures verified against elevenlabs.io/pricing in August 2026.

  • Pricing runs on unified credits, not separate character buckets. One credit is roughly one character of text-to-speech; other products spend credits at their own rates.

  • Overages are billed per model, not per plan tier. Flash text-to-speech is $0.05 per 1,000 characters, Multilingual is $0.10, transcription starts at $0.22 per hour, and dubbing ranges from $0.33 to $2.20 per minute.

  • Upgrade when your overage spend hits roughly 30 to 50% of the next tier's price. Past that point, the flat plan is cheaper than paying per unit.

  • Open-weight models like F5-TTS and Kokoro now undercut ElevenLabs on cost, so quality, language coverage, and support are the real reasons to pay.

  • Any AI audio company can run this exact credit-plus-usage model with Flexprice, using Credits and Wallets, Usage Metering, and Billing and Invoicing instead of building it in-house.

What is ElevenLabs?

ElevenLabs is an AI audio platform for text-to-speech, voice cloning, dubbing, and transcription. It serves creators, developers, and enterprises that generate or manipulate voice content at scale.

Elevenlabs homepage

The platform's main capabilities include:

  • High-fidelity text-to-speech across 32 languages

  • Instant and professional-grade voice cloning

  • Multilingual dubbing and conversational AI agents

  • Developer APIs with usage-based pricing

  • Audio tools like Voice Isolator and Voice Changer

Who is ElevenLabs Built For?

ElevenLabs fits a wide range of creative and technical workflows. Different plans target different users:

  • Creators: narrators, YouTubers, podcasters, and indie game developers

  • Developers: API-first teams building voice into their apps

  • Agencies: teams running dubbing, client content, and production at scale

  • Enterprises: organizations building multilingual content and support flows

  • Platforms: products embedding voice features into SaaS or marketplaces

ElevenLabs pricing plans (2026)

ElevenLabs prices seven tiers on a monthly credit system, from a free plan up to custom Enterprise. Here's the current lineup, verified against elevenlabs.io/pricing in August 2026.

Plan

Price/month

Credits/month

Voice cloning

Seats

Free

$0

10k

No

1

Starter

$6

30k

Instant clone

1

Creator

$22 ($11 first month)

121k

Professional clone

1

Pro

$99

600k

Professional clone

1

Scale

$299

1.8M

3 professional clones

3

Business

$990

6M

10 professional clones

10

Enterprise

Custom

Custom

Custom

Custom

Business also advertises low-latency text-to-speech as low as 5 cents per minute, and Enterprise adds custom DPA and SLA terms, BAAs for HIPAA customers, custom SSO, and priority support. 

Yearly billing gives you two months free, roughly 17% off, which brings Creator down to $18.33 and Business to $825 a month.

A credit is the unit everything runs on. On the current model, one credit is roughly one character of text-to-speech; transcription, dubbing, and other products draw down credits at their own rates. 

Your plan sets how many credits you get each month, and anything beyond that bills as overage.

Is ElevenLabs free?

Yes, ElevenLabs has a permanent free plan, but it's built for testing, not production. The free tier gives you 10,000 credits per month and restricts commercial use.

Feature

Free plan

Credits

10k per month

Voice cloning

Not available

Commercial use

Restricted (attribution required)

Seats

1

If you need commercial rights or voice cloning, the $6 Starter plan is the entry point. ElevenLabs also runs a Startup Grants Program that gives qualifying startups 12 months free with 33 million characters, aimed at teams building real-time voice agents.

How ElevenLabs prices across products

ElevenLabs charges by product and model, and each product meters usage in its own unit. Text-to-speech counts characters, transcription counts hours, and conversational, dubbing, and voice tools count minutes. 

Every product works the same way underneath: your plan includes a credit allowance, and usage past it bills at a per-model rate.

The products that consume credits are:

  • Text-to-speech: two models, Flash/Turbo and Multilingual v2/v3, metered by characters

  • Speech-to-text: Scribe v2 and Scribe v2 Realtime, metered by hours

  • Conversational AI (Speech Engine): interactive voice agents, metered by minutes

  • Voice Changer and Voice Isolator: audio processing, metered by minutes

  • Sound effects and music generation: metered by minutes

  • Voice cloning: instant clones on paid plans, professional voice clones on Creator and above

  • Dubbing: automatic dubbing and Dubbing Studio, metered by minutes

Why does ElevenLabs have two text-to-speech models?

ElevenLabs runs two text-to-speech models, Flash and Multilingual, because speed and quality pull in opposite directions. 

Flash optimizes for latency and cost; Multilingual optimizes for expressiveness and language coverage.

Flash (and Turbo) is the speed-first option:

  • Ultra-low latency around 75ms, which suits real-time voice agents

  • Lower cost per 1,000 characters

  • Solid but not top-tier fidelity

  • Best for bots, chat interfaces, and quick drafts

Multilingual v2/v3 is the quality-first option:

  • Full language and accent support across 32 languages

  • Expressive tone, better pacing, and emotion

  • Higher-fidelity audio

  • Latency around 250 to 300ms, so it's better for produced content than live agents

Attribute

Flash/Turbo

Multilingual v2/v3

Latency

~75ms

~250-300ms

Cost per 1k characters

$0.05

$0.10

Audio quality

Good

Highest

Ideal use

Bots, agents

Podcasts, dubbing, narration

Availability

All plans

All plans

A practical tip for you use Flash for drafts and previews, then switch to Multilingual for final renders. Both models draw from the same credit pool, so you're only trading quality against speed, not juggling separate budgets.

How ElevenLabs pricing has evolved

ElevenLabs pricing has moved through four distinct phases since 2023, from a simple credit tier to a full usage-based platform. The direction has been toward more structure, then back toward simpler packaging.

  • At launch in 2023, ElevenLabs used a straightforward tiered subscription. You picked Free, Starter, or Pro, each with a character allowance, and pooled credits covered everything: text-to-speech, cloning, and dubbing alike. There was no split between models or output types.

elevenlabs pricing in 2023
  • In August 2024, as the platform scaled, it added structured plans (Starter, Creator, Pro, Scale, and Business) with larger allowances and features like professional voice cloning, project folders, and dubbing studio. Usage still billed as undifferentiated credits, with no model-level pricing.

elevenlabs pricing in august 2024
  • In early 2025, ElevenLabs split usage by model for the first time. Character credits divided across Multilingual v2 and Conversational v1, each with its own bucket and overage rate, and core features got tier-gated. 

  • The Business plan arrived to fill the gap between Scale and Enterprise. The trade-off was complexity: separate quotas and unclear overage mechanics meant users had to decode the pricing before they could use it.

  • Later in 2025, ElevenLabs simplified again. It unified character credits regardless of model, so each tier defined one clear credit allowance, the models it included, and its voice and dubbing entitlements. 

That's roughly where things stand in 2026, unified credits, a live cost calculator on the pricing page, and a Conversational AI price cut that brought Speech Engine agent pricing down to about 8 cents per minute. The arc runs from technical segmentation to packaging that a buyer can actually read.

What happens when you exceed your plan?

When you exceed your monthly credits, ElevenLabs bills the extra usage at per-model rates rather than a single plan-wide overage. The rate depends on which product and model you're using, and these are the current API rates from elevenlabs.io/pricing/api.

  • Text-to-speech: $0.05 per 1,000 characters on Flash/Turbo, $0.10 per 1,000 on Multilingual v2/v3

  • Speech-to-text: $0.22 per hour on Scribe v2, $0.39 per hour on Scribe v2 Realtime

  • Conversational AI (Speech Engine): $0.08 per minute, with burst pricing at $0.16 per minute

  • Voice Changer and Voice Isolator: $0.12 per minute each

  • Sound effects: $0.12 per minute

  • Music generation: $0.15 per minute

  • Dubbing: $0.33 per minute on Dubbing v1 (with watermark), up to $2.20 per minute on Dubbing v2

The pattern holds across products: higher plans include larger allowances, so heavy users pay less per unit overall by upgrading rather than by piling on overage. If you're consistently generating high volumes, moving up a tier usually costs less than the overage it replaces.

Which ElevenLabs plan should you choose?

Pick the plan that matches how much voice content you generate and whether you need commercial rights. Here's the quick mapping:

  • Free: testing and evaluation only, no commercial use

  • Starter ($6): solo creators on short-form content who need instant cloning and commercial rights

  • Creator ($22): serious creators publishing long-form audio, with professional voice cloning and higher-fidelity output

  • Pro ($99): agencies and client production that need more concurrency and better overage rates

  • Scale ($299): teams editing at scale, with multiple seats and lower per-unit costs

  • Business ($990): companies embedding voice into a product, with large allowances and enterprise support

  • Enterprise: organizations needing HIPAA compliance, SLAs, SSO, or custom terms

A simple rule decides most upgrades: if you're regularly using more than 1.5x your plan's allowance and paying overage, the next tier is almost always cheaper. 

Here's the math. Say you're on Creator at $22 and consistently burning an extra 200,000 characters of Multilingual output each month. 

At $0.10 per 1,000 characters, that's $20 in overage, pushing your effective spend to $42, close to half of Pro's $99 while giving you a fraction of Pro's 600k allowance. 

Once your overage climbs past roughly $30 to $50 a month, Pro's flat rate wins on both cost and predictability.

Cheaper and open-source alternatives to ElevenLabs

The main cheaper alternatives to ElevenLabs are open-weight text-to-speech models you can run yourself, led by F5-TTS and Kokoro, alongside lower-cost commercial options like Fish Audio. They've become the loudest part of the ElevenLabs pricing conversation, and for cost-sensitive teams they're worth a serious look.

F5-TTS is an MIT-licensed model that runs locally on your own GPU, so the marginal cost of generation is close to zero. Kokoro is an Apache-licensed model with 82 million parameters that deploys anywhere from a personal machine to production, and served over an API it runs under $1 per million characters of input. 

Fish Audio is a commercial alternative built on the open-source Fish Speech model, with voice cloning from a 15-second sample and 30-plus languages, and it markets itself directly against ElevenLabs on price. 

What you usually give up with the cheaper options is language breadth, expressiveness on emotional content, managed reliability, and support. ElevenLabs still wins when you need 32-language coverage, top-tier expressiveness, low-latency infrastructure you don't have to run, and someone to call when it breaks.

The deeper point applies whichever stack you pick: the thing that keeps voice pricing profitable is knowing your real cost and margin per customer. 

If you resell voice generation, you're paying one rate and charging another, and the gap is your business. 

Flexprice's Billing and Invoicing tracks AI cost and margin per customer down to the model level, so you can see which accounts are profitable and which are burning budget, no matter which voice provider sits underneath.

Get started with your billing today.

Get started with your billing today.

Why does this pricing strategy work for ElevenLabs?

ElevenLabs pricing works because it layers usage-based metering under subscription access, then uses feature gating and concurrency limits to move users up. It's a hybrid model, and the design is deliberate.

Usage-based pricing means customers pay for what they consume: characters for speech, minutes for dubbing, hours for transcription. 

On top of that, feature gating controls access to professional voice cloning, higher-quality audio, and API concurrency, so teams with advanced needs land on higher tiers where the cost and value line up. 

Concurrency limits act as an invisible upgrade lever, because a workflow that needs parallel jobs hits a ceiling on lower plans regardless of how many credits are left. Then there's interface-based pricing, where UI transcription has historically carried higher per-hour rates than the API, which quietly separates developers from casual users. Offering both Flash and 

Multilingual lets users self-select on speed versus quality without needing a separate pricing tier for each.

That hybrid of subscription access plus real-time metering is exactly what Flexprice's Pricing Models let you configure from day one. For a broader framework on how to price your AI, the pricing playbook goes deeper than any single vendor's model.

How to implement ElevenLabs pricing with Flexprice?

This guide demonstrates how to implement 11labs' tiered pricing structure using flexprice.io (Starter plan). Perfect for AI audio companies with credit-based pricing. Flexprice is an enterprise-grade billing and monetization platform designed for the most complex billing scenarios from day zero. Think AI-native companies, cloud infrastructure providers, observability platforms, LLM providers, martech tools, and any SaaS company whose pricing has outgrown simple subscription tiers.

Overview

11labs uses a credit-based pricing model:

Plan

Price

Credits

Target Audience

Free

$0/month

10k credits/month

Individuals trying AI audio

Starter

$5/month

30k credits/month

Hobbyists creating projects

Creator

$22/month

100k credits/month

Content creators (Most Popular)

Pro

$99/month

500k credits/month

Professional creators

Prerequisites

  • flexprice.io account

  • ✅ API key ready

  • ✅ Basic understanding of REST APIs

Step 1: Get your API key

  1. Log in to your flexprice.io dashboard

  2. Navigate to SettingsAPI Keys

  3. Copy your API key

Step 2: Create features

Create the core features for 11labs' credit-based system:

2.1 Credits feature

```bash
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Credits",
    "type": "metered",
    "unit_singular": "credit",
    "unit_plural": "credits",
    "description": "Usage credits for AI audio services",
    "meter": {
      "aggregation": {
        "type": "SUM",
        "field": "consumed",
        "multiplier": 1
      },
      "reset_usage": "BILLING_PERIOD",
      "name": "Credits",
      "filters": [],
      "event_name": "credits.consumed"
    }
  }'
```
```bash
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Credits",
    "type": "metered",
    "unit_singular": "credit",
    "unit_plural": "credits",
    "description": "Usage credits for AI audio services",
    "meter": {
      "aggregation": {
        "type": "SUM",
        "field": "consumed",
        "multiplier": 1
      },
      "reset_usage": "BILLING_PERIOD",
      "name": "Credits",
      "filters": [],
      "event_name": "credits.consumed"
    }
  }'
```
```bash
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Credits",
    "type": "metered",
    "unit_singular": "credit",
    "unit_plural": "credits",
    "description": "Usage credits for AI audio services",
    "meter": {
      "aggregation": {
        "type": "SUM",
        "field": "consumed",
        "multiplier": 1
      },
      "reset_usage": "BILLING_PERIOD",
      "name": "Credits",
      "filters": [],
      "event_name": "credits.consumed"
    }
  }'
```

2.2 Core features

# Text to Speech
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Text to Speech",
    "type": "boolean",
    "description": "High-quality text-to-speech generation"
  }'

# Speech to Text
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Speech to Text",
    "type": "boolean",
    "description": "Speech-to-text conversion capabilities"
  }'

# Conversational AI
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Conversational AI",
    "type": "boolean",
    "description": "Advanced conversational AI capabilities"
  }'

# Studio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Studio",
    "type": "boolean",
    "description": "Access to the 11labs Studio platform"
  }'

# Automated Dubbing
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Automated Dubbing",
    "type": "boolean",
    "description": "Automated dubbing capabilities"
  }'

# API Access
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "API Access",
    "type": "boolean",
    "description": "Programmatic access to 11labs services"
  }'

# Commercial License
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Commercial License",
    "type": "boolean",
    "description": "Allows commercial use of generated content"
  }'

# Voice Cloning
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Voice Cloning",
    "type": "boolean",
    "description": "Access to voice cloning technology"
  }'

# Dubbing Studio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Dubbing Studio",
    "type": "boolean",
    "description": "Advanced dubbing studio capabilities"
  }'

# Professional Voice Cloning
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Professional Voice Cloning",
    "type": "boolean",
    "description": "Professional-grade voice cloning technology"
  }'

# High Quality Audio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "High Quality Audio",
    "type": "boolean",
    "description": "192 kbps high-quality audio output"
  }'

# PCM Audio Output
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "PCM Audio Output",
    "type": "boolean",
    "description": "44.1kHz PCM audio output via API"
  }'
# Text to Speech
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Text to Speech",
    "type": "boolean",
    "description": "High-quality text-to-speech generation"
  }'

# Speech to Text
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Speech to Text",
    "type": "boolean",
    "description": "Speech-to-text conversion capabilities"
  }'

# Conversational AI
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Conversational AI",
    "type": "boolean",
    "description": "Advanced conversational AI capabilities"
  }'

# Studio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Studio",
    "type": "boolean",
    "description": "Access to the 11labs Studio platform"
  }'

# Automated Dubbing
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Automated Dubbing",
    "type": "boolean",
    "description": "Automated dubbing capabilities"
  }'

# API Access
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "API Access",
    "type": "boolean",
    "description": "Programmatic access to 11labs services"
  }'

# Commercial License
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Commercial License",
    "type": "boolean",
    "description": "Allows commercial use of generated content"
  }'

# Voice Cloning
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Voice Cloning",
    "type": "boolean",
    "description": "Access to voice cloning technology"
  }'

# Dubbing Studio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Dubbing Studio",
    "type": "boolean",
    "description": "Advanced dubbing studio capabilities"
  }'

# Professional Voice Cloning
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Professional Voice Cloning",
    "type": "boolean",
    "description": "Professional-grade voice cloning technology"
  }'

# High Quality Audio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "High Quality Audio",
    "type": "boolean",
    "description": "192 kbps high-quality audio output"
  }'

# PCM Audio Output
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "PCM Audio Output",
    "type": "boolean",
    "description": "44.1kHz PCM audio output via API"
  }'
# Text to Speech
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Text to Speech",
    "type": "boolean",
    "description": "High-quality text-to-speech generation"
  }'

# Speech to Text
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Speech to Text",
    "type": "boolean",
    "description": "Speech-to-text conversion capabilities"
  }'

# Conversational AI
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Conversational AI",
    "type": "boolean",
    "description": "Advanced conversational AI capabilities"
  }'

# Studio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Studio",
    "type": "boolean",
    "description": "Access to the 11labs Studio platform"
  }'

# Automated Dubbing
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Automated Dubbing",
    "type": "boolean",
    "description": "Automated dubbing capabilities"
  }'

# API Access
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "API Access",
    "type": "boolean",
    "description": "Programmatic access to 11labs services"
  }'

# Commercial License
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Commercial License",
    "type": "boolean",
    "description": "Allows commercial use of generated content"
  }'

# Voice Cloning
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Voice Cloning",
    "type": "boolean",
    "description": "Access to voice cloning technology"
  }'

# Dubbing Studio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Dubbing Studio",
    "type": "boolean",
    "description": "Advanced dubbing studio capabilities"
  }'

# Professional Voice Cloning
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Professional Voice Cloning",
    "type": "boolean",
    "description": "Professional-grade voice cloning technology"
  }'

# High Quality Audio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "High Quality Audio",
    "type": "boolean",
    "description": "192 kbps high-quality audio output"
  }'

# PCM Audio Output
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "PCM Audio Output",
    "type": "boolean",
    "description": "44.1kHz PCM audio output via API"
  }'

Step 3: Create Plans

Create the four pricing plans with credit limits and feature entitlements:

3.1 Free Plan

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Free",
    "description": "For individuals who want to try out the most advanced AI audio",
    "lookup_key": "free_plan",
    "prices": [],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 10000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": false
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": false
      }
    ]
  }'


curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Free",
    "description": "For individuals who want to try out the most advanced AI audio",
    "lookup_key": "free_plan",
    "prices": [],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 10000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": false
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": false
      }
    ]
  }'


curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Free",
    "description": "For individuals who want to try out the most advanced AI audio",
    "lookup_key": "free_plan",
    "prices": [],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 10000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": false
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": false
      }
    ]
  }'


3.2 Starter plan ($5/month)

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Starter",
    "description": "For hobbyists creating projects with AI audio",
    "lookup_key": "starter_plan",
    "prices": [
      {
        "amount": "500",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Starter plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 30000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```
```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Starter",
    "description": "For hobbyists creating projects with AI audio",
    "lookup_key": "starter_plan",
    "prices": [
      {
        "amount": "500",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Starter plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 30000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```
```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Starter",
    "description": "For hobbyists creating projects with AI audio",
    "lookup_key": "starter_plan",
    "prices": [
      {
        "amount": "500",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Starter plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 30000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

3.3 Creator plan ($22/month)

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator",
    "description": "For creators making premium content for global audiences",
    "lookup_key": "creator_plan",
    "prices": [
      {
        "amount": "2200",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Creator plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 100000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

### 3.4 Pro Plan ($99/month)

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Pro",
    "description": "For creators ramping up their content production",
    "lookup_key": "pro_plan",
    "prices": [
      {
        "amount": "9900",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Pro plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 500000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_pcm_audio_output_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

### 3.5 Special Offers

#### Annual Billing with Discount

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator Annual",
    "description": "Creator plan with annual billing - 2 months free",
    "lookup_key": "creator_plan_annual",
    "prices": [
      {
        "amount": "22000",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "YEARLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Annual subscription for Creator plan (2 months free)",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      // Same entitlements as Creator plan
    ]
  }'
```

#### First Month Discount

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/credit_grants' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "First Month 50% Off",
    "credits": 1100,
    "expiration_duration": 30,
    "expiration_duration_unit": "DAY",
    "expiration_type": "AFTER_CREATION",
    "scope": "SUBSCRIPTION"
  }'
```

## Step 4: Create Customer

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/customers' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "John Doe",
    "email": "[email protected]",
    "external_id": "cust_123456",
    "metadata": {
      "company": "Example Corp",
      "industry": "Technology"
    }
  }'
```

## Step 5: Create Subscription

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/subscriptions' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "customer_id": "cust_123456789",
    "plan_id": "plan_creator_123",
    "billing_period": "MONTHLY",
    "billing_period_count": 1,
    "currency": "USD",
    "start_date": "2024-01-15",
    "phases": [
      {
        "start_date": "2024-01-15",
        "line_items": [
          {
            "price_id": "price_creator_monthly_123",
            "quantity": 1,
            "display_name": "Creator Plan - Monthly"
          }
        ]
      }
    ]
  }'
```

## Step 6: Track Usage

Send usage events to track credit consumption:

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/usage' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "subscription_id": "sub_123456789",
    "feature_id": "feat_credits_123",
    "quantity": 5000,
    "metadata": {
      "service": "text_to_speech",
      "duration_minutes": 5
    }
  }'
```

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator",
    "description": "For creators making premium content for global audiences",
    "lookup_key": "creator_plan",
    "prices": [
      {
        "amount": "2200",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Creator plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 100000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

### 3.4 Pro Plan ($99/month)

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Pro",
    "description": "For creators ramping up their content production",
    "lookup_key": "pro_plan",
    "prices": [
      {
        "amount": "9900",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Pro plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 500000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_pcm_audio_output_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

### 3.5 Special Offers

#### Annual Billing with Discount

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator Annual",
    "description": "Creator plan with annual billing - 2 months free",
    "lookup_key": "creator_plan_annual",
    "prices": [
      {
        "amount": "22000",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "YEARLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Annual subscription for Creator plan (2 months free)",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      // Same entitlements as Creator plan
    ]
  }'
```

#### First Month Discount

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/credit_grants' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "First Month 50% Off",
    "credits": 1100,
    "expiration_duration": 30,
    "expiration_duration_unit": "DAY",
    "expiration_type": "AFTER_CREATION",
    "scope": "SUBSCRIPTION"
  }'
```

## Step 4: Create Customer

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/customers' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "John Doe",
    "email": "[email protected]",
    "external_id": "cust_123456",
    "metadata": {
      "company": "Example Corp",
      "industry": "Technology"
    }
  }'
```

## Step 5: Create Subscription

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/subscriptions' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "customer_id": "cust_123456789",
    "plan_id": "plan_creator_123",
    "billing_period": "MONTHLY",
    "billing_period_count": 1,
    "currency": "USD",
    "start_date": "2024-01-15",
    "phases": [
      {
        "start_date": "2024-01-15",
        "line_items": [
          {
            "price_id": "price_creator_monthly_123",
            "quantity": 1,
            "display_name": "Creator Plan - Monthly"
          }
        ]
      }
    ]
  }'
```

## Step 6: Track Usage

Send usage events to track credit consumption:

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/usage' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "subscription_id": "sub_123456789",
    "feature_id": "feat_credits_123",
    "quantity": 5000,
    "metadata": {
      "service": "text_to_speech",
      "duration_minutes": 5
    }
  }'
```

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator",
    "description": "For creators making premium content for global audiences",
    "lookup_key": "creator_plan",
    "prices": [
      {
        "amount": "2200",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Creator plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 100000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

### 3.4 Pro Plan ($99/month)

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Pro",
    "description": "For creators ramping up their content production",
    "lookup_key": "pro_plan",
    "prices": [
      {
        "amount": "9900",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Pro plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 500000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_pcm_audio_output_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

### 3.5 Special Offers

#### Annual Billing with Discount

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator Annual",
    "description": "Creator plan with annual billing - 2 months free",
    "lookup_key": "creator_plan_annual",
    "prices": [
      {
        "amount": "22000",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "YEARLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Annual subscription for Creator plan (2 months free)",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      // Same entitlements as Creator plan
    ]
  }'
```

#### First Month Discount

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/credit_grants' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "First Month 50% Off",
    "credits": 1100,
    "expiration_duration": 30,
    "expiration_duration_unit": "DAY",
    "expiration_type": "AFTER_CREATION",
    "scope": "SUBSCRIPTION"
  }'
```

## Step 4: Create Customer

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/customers' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "John Doe",
    "email": "[email protected]",
    "external_id": "cust_123456",
    "metadata": {
      "company": "Example Corp",
      "industry": "Technology"
    }
  }'
```

## Step 5: Create Subscription

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/subscriptions' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "customer_id": "cust_123456789",
    "plan_id": "plan_creator_123",
    "billing_period": "MONTHLY",
    "billing_period_count": 1,
    "currency": "USD",
    "start_date": "2024-01-15",
    "phases": [
      {
        "start_date": "2024-01-15",
        "line_items": [
          {
            "price_id": "price_creator_monthly_123",
            "quantity": 1,
            "display_name": "Creator Plan - Monthly"
          }
        ]
      }
    ]
  }'
```

## Step 6: Track Usage

Send usage events to track credit consumption:

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/usage' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "subscription_id": "sub_123456789",
    "feature_id": "feat_credits_123",
    "quantity": 5000,
    "metadata": {
      "service": "text_to_speech",
      "duration_minutes": 5
    }
  }'
```

3.4 Pro Plan ($99/month)

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Pro",
    "description": "For creators ramping up their content production",
    "lookup_key": "pro_plan",
    "prices": [
      {
        "amount": "9900",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Pro plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 500000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_pcm_audio_output_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Pro",
    "description": "For creators ramping up their content production",
    "lookup_key": "pro_plan",
    "prices": [
      {
        "amount": "9900",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Pro plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 500000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_pcm_audio_output_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Pro",
    "description": "For creators ramping up their content production",
    "lookup_key": "pro_plan",
    "prices": [
      {
        "amount": "9900",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Pro plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 500000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_pcm_audio_output_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'

3.5 Special Offers- Annual Billing with Discount

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator Annual",
    "description": "Creator plan with annual billing - 2 months free",
    "lookup_key": "creator_plan_annual",
    "prices": [
      {
        "amount": "22000",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "YEARLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Annual subscription for Creator plan (2 months free)",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      // Same entitlements as Creator plan
    ]
  }'
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator Annual",
    "description": "Creator plan with annual billing - 2 months free",
    "lookup_key": "creator_plan_annual",
    "prices": [
      {
        "amount": "22000",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "YEARLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Annual subscription for Creator plan (2 months free)",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      // Same entitlements as Creator plan
    ]
  }'
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator Annual",
    "description": "Creator plan with annual billing - 2 months free",
    "lookup_key": "creator_plan_annual",
    "prices": [
      {
        "amount": "22000",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "YEARLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Annual subscription for Creator plan (2 months free)",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      // Same entitlements as Creator plan
    ]
  }'

First Month Discount

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/credit_grants' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "First Month 50% Off",
    "credits": 1100,
    "expiration_duration": 30,
    "expiration_duration_unit": "DAY",
    "expiration_type": "AFTER_CREATION",
    "scope": "SUBSCRIPTION"
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/credit_grants' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "First Month 50% Off",
    "credits": 1100,
    "expiration_duration": 30,
    "expiration_duration_unit": "DAY",
    "expiration_type": "AFTER_CREATION",
    "scope": "SUBSCRIPTION"
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/credit_grants' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "First Month 50% Off",
    "credits": 1100,
    "expiration_duration": 30,
    "expiration_duration_unit": "DAY",
    "expiration_type": "AFTER_CREATION",
    "scope": "SUBSCRIPTION"

Step 4: Create customer

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/customers' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "John Doe",
    "email": "[email protected]",
    "external_id": "cust_123456",
    "metadata": {
      "company": "Example Corp",
      "industry": "Technology"
    }
  }'
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/customers' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "John Doe",
    "email": "[email protected]",
    "external_id": "cust_123456",
    "metadata": {
      "company": "Example Corp",
      "industry": "Technology"
    }
  }'
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/customers' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "John Doe",
    "email": "[email protected]",
    "external_id": "cust_123456",
    "metadata": {
      "company": "Example Corp",
      "industry": "Technology"
    }
  }'

Step 5: Create subscription

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/subscriptions' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "customer_id": "cust_123456789",
    "plan_id": "plan_creator_123",
    "billing_period": "MONTHLY",
    "billing_period_count": 1,
    "currency": "USD",
    "start_date": "2024-01-15",
    "phases": [
      {
        "start_date": "2024-01-15",
        "line_items": [
          {
            "price_id": "price_creator_monthly_123",
            "quantity": 1,
            "display_name": "Creator Plan - Monthly"
          }
        ]
      }
    ]
  }'
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/subscriptions' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "customer_id": "cust_123456789",
    "plan_id": "plan_creator_123",
    "billing_period": "MONTHLY",
    "billing_period_count": 1,
    "currency": "USD",
    "start_date": "2024-01-15",
    "phases": [
      {
        "start_date": "2024-01-15",
        "line_items": [
          {
            "price_id": "price_creator_monthly_123",
            "quantity": 1,
            "display_name": "Creator Plan - Monthly"
          }
        ]
      }
    ]
  }'
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/subscriptions' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "customer_id": "cust_123456789",
    "plan_id": "plan_creator_123",
    "billing_period": "MONTHLY",
    "billing_period_count": 1,
    "currency": "USD",
    "start_date": "2024-01-15",
    "phases": [
      {
        "start_date": "2024-01-15",
        "line_items": [
          {
            "price_id": "price_creator_monthly_123",
            "quantity": 1,
            "display_name": "Creator Plan - Monthly"
          }
        ]
      }
    ]
  }'

Step 6: Track Usage

Send usage events to track credit consumption.

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/usage' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "subscription_id": "sub_123456789",
    "feature_id": "feat_credits_123",
    "quantity": 5000,
    "metadata": {
      "service": "text_to_speech",
      "duration_minutes": 5
    }
  }'
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/usage' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "subscription_id": "sub_123456789",
    "feature_id": "feat_credits_123",
    "quantity": 5000,
    "metadata": {
      "service": "text_to_speech",
      "duration_minutes": 5
    }
  }'
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/usage' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "subscription_id": "sub_123456789",
    "feature_id": "feat_credits_123",
    "quantity": 5000,
    "metadata": {
      "service": "text_to_speech",
      "duration_minutes": 5
    }
  }'

Step 7: Monitor Usage

Check current usage for the billing period:

curl --location '<https://api.cloud.flexprice.io/v1/subscriptions/sub_123456789/usage>' \\\\
  --header 'x-api-key: YOUR_API_KEY_HERE'
curl --location '<https://api.cloud.flexprice.io/v1/subscriptions/sub_123456789/usage>' \\\\
  --header 'x-api-key: YOUR_API_KEY_HERE'
curl --location '<https://api.cloud.flexprice.io/v1/subscriptions/sub_123456789/usage>' \\\\
  --header 'x-api-key: YOUR_API_KEY_HERE'

Wrapping up

ElevenLabs has mastered AI pricing through usage-based metering, strategic feature gating, and natural upgrade incentives. Their evolution from simple credits to multi-dimensional pricing shows how to scale complexity without sacrificing user experience. The key insight: modern AI pricing must balance model performance trade-offs, interface preferences, and growth economics, rewarding scale rather than penalizing it.

What traditionally required months of custom development can now be implemented in days. The detailed implementation guide above shows exactly how to replicate ElevenLabs' entire pricing strategy using Flexprice's infrastructure.

If you're ready to build your own ElevenLabs style pricing, then either you can sign up for the tool or use our open source to create it.

If you're tired of solving billing from scratch, you don’t have to keep doing it alone.

Why does this pricing strategy work for ElevenLabs?

ElevenLabs pricing works because it layers usage-based metering under subscription access, then uses feature gating and concurrency limits to move users up. It's a hybrid model, and the design is deliberate.

Usage-based pricing means customers pay for what they consume: characters for speech, minutes for dubbing, hours for transcription. 

On top of that, feature gating controls access to professional voice cloning, higher-quality audio, and API concurrency, so teams with advanced needs land on higher tiers where the cost and value line up. 

Concurrency limits act as an invisible upgrade lever, because a workflow that needs parallel jobs hits a ceiling on lower plans regardless of how many credits are left. Then there's interface-based pricing, where UI transcription has historically carried higher per-hour rates than the API, which quietly separates developers from casual users. Offering both Flash and 

Multilingual lets users self-select on speed versus quality without needing a separate pricing tier for each.

That hybrid of subscription access plus real-time metering is exactly what Flexprice's Pricing Models let you configure from day one. For a broader framework on how to price your AI, the pricing playbook goes deeper than any single vendor's model.

How to implement ElevenLabs pricing with Flexprice?

This guide demonstrates how to implement 11labs' tiered pricing structure using flexprice.io (Starter plan). Perfect for AI audio companies with credit-based pricing. Flexprice is an enterprise-grade billing and monetization platform designed for the most complex billing scenarios from day zero. Think AI-native companies, cloud infrastructure providers, observability platforms, LLM providers, martech tools, and any SaaS company whose pricing has outgrown simple subscription tiers.

Overview

11labs uses a credit-based pricing model:

Plan

Price

Credits

Target Audience

Free

$0/month

10k credits/month

Individuals trying AI audio

Starter

$5/month

30k credits/month

Hobbyists creating projects

Creator

$22/month

100k credits/month

Content creators (Most Popular)

Pro

$99/month

500k credits/month

Professional creators

Prerequisites

  • flexprice.io account

  • ✅ API key ready

  • ✅ Basic understanding of REST APIs

Step 1: Get your API key

  1. Log in to your flexprice.io dashboard

  2. Navigate to SettingsAPI Keys

  3. Copy your API key

Step 2: Create features

Create the core features for 11labs' credit-based system:

2.1 Credits feature

```bash
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Credits",
    "type": "metered",
    "unit_singular": "credit",
    "unit_plural": "credits",
    "description": "Usage credits for AI audio services",
    "meter": {
      "aggregation": {
        "type": "SUM",
        "field": "consumed",
        "multiplier": 1
      },
      "reset_usage": "BILLING_PERIOD",
      "name": "Credits",
      "filters": [],
      "event_name": "credits.consumed"
    }
  }'
```

2.2 Core features

# Text to Speech
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Text to Speech",
    "type": "boolean",
    "description": "High-quality text-to-speech generation"
  }'

# Speech to Text
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Speech to Text",
    "type": "boolean",
    "description": "Speech-to-text conversion capabilities"
  }'

# Conversational AI
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Conversational AI",
    "type": "boolean",
    "description": "Advanced conversational AI capabilities"
  }'

# Studio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Studio",
    "type": "boolean",
    "description": "Access to the 11labs Studio platform"
  }'

# Automated Dubbing
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Automated Dubbing",
    "type": "boolean",
    "description": "Automated dubbing capabilities"
  }'

# API Access
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "API Access",
    "type": "boolean",
    "description": "Programmatic access to 11labs services"
  }'

# Commercial License
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Commercial License",
    "type": "boolean",
    "description": "Allows commercial use of generated content"
  }'

# Voice Cloning
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Voice Cloning",
    "type": "boolean",
    "description": "Access to voice cloning technology"
  }'

# Dubbing Studio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Dubbing Studio",
    "type": "boolean",
    "description": "Advanced dubbing studio capabilities"
  }'

# Professional Voice Cloning
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Professional Voice Cloning",
    "type": "boolean",
    "description": "Professional-grade voice cloning technology"
  }'

# High Quality Audio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "High Quality Audio",
    "type": "boolean",
    "description": "192 kbps high-quality audio output"
  }'

# PCM Audio Output
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "PCM Audio Output",
    "type": "boolean",
    "description": "44.1kHz PCM audio output via API"
  }'

Step 3: Create Plans

Create the four pricing plans with credit limits and feature entitlements:

3.1 Free Plan

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Free",
    "description": "For individuals who want to try out the most advanced AI audio",
    "lookup_key": "free_plan",
    "prices": [],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 10000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": false
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": false
      }
    ]
  }'


3.2 Starter plan ($5/month)

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Starter",
    "description": "For hobbyists creating projects with AI audio",
    "lookup_key": "starter_plan",
    "prices": [
      {
        "amount": "500",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Starter plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 30000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

3.3 Creator plan ($22/month)

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator",
    "description": "For creators making premium content for global audiences",
    "lookup_key": "creator_plan",
    "prices": [
      {
        "amount": "2200",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Creator plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 100000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

### 3.4 Pro Plan ($99/month)

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Pro",
    "description": "For creators ramping up their content production",
    "lookup_key": "pro_plan",
    "prices": [
      {
        "amount": "9900",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Pro plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 500000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_pcm_audio_output_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

### 3.5 Special Offers

#### Annual Billing with Discount

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator Annual",
    "description": "Creator plan with annual billing - 2 months free",
    "lookup_key": "creator_plan_annual",
    "prices": [
      {
        "amount": "22000",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "YEARLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Annual subscription for Creator plan (2 months free)",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      // Same entitlements as Creator plan
    ]
  }'
```

#### First Month Discount

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/credit_grants' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "First Month 50% Off",
    "credits": 1100,
    "expiration_duration": 30,
    "expiration_duration_unit": "DAY",
    "expiration_type": "AFTER_CREATION",
    "scope": "SUBSCRIPTION"
  }'
```

## Step 4: Create Customer

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/customers' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "John Doe",
    "email": "[email protected]",
    "external_id": "cust_123456",
    "metadata": {
      "company": "Example Corp",
      "industry": "Technology"
    }
  }'
```

## Step 5: Create Subscription

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/subscriptions' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "customer_id": "cust_123456789",
    "plan_id": "plan_creator_123",
    "billing_period": "MONTHLY",
    "billing_period_count": 1,
    "currency": "USD",
    "start_date": "2024-01-15",
    "phases": [
      {
        "start_date": "2024-01-15",
        "line_items": [
          {
            "price_id": "price_creator_monthly_123",
            "quantity": 1,
            "display_name": "Creator Plan - Monthly"
          }
        ]
      }
    ]
  }'
```

## Step 6: Track Usage

Send usage events to track credit consumption:

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/usage' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "subscription_id": "sub_123456789",
    "feature_id": "feat_credits_123",
    "quantity": 5000,
    "metadata": {
      "service": "text_to_speech",
      "duration_minutes": 5
    }
  }'
```

3.4 Pro Plan ($99/month)

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Pro",
    "description": "For creators ramping up their content production",
    "lookup_key": "pro_plan",
    "prices": [
      {
        "amount": "9900",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Pro plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 500000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_pcm_audio_output_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'

3.5 Special Offers- Annual Billing with Discount

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator Annual",
    "description": "Creator plan with annual billing - 2 months free",
    "lookup_key": "creator_plan_annual",
    "prices": [
      {
        "amount": "22000",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "YEARLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Annual subscription for Creator plan (2 months free)",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      // Same entitlements as Creator plan
    ]
  }'

First Month Discount

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/credit_grants' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "First Month 50% Off",
    "credits": 1100,
    "expiration_duration": 30,
    "expiration_duration_unit": "DAY",
    "expiration_type": "AFTER_CREATION",
    "scope": "SUBSCRIPTION"

Step 4: Create customer

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/customers' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "John Doe",
    "email": "[email protected]",
    "external_id": "cust_123456",
    "metadata": {
      "company": "Example Corp",
      "industry": "Technology"
    }
  }'

Step 5: Create subscription

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/subscriptions' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "customer_id": "cust_123456789",
    "plan_id": "plan_creator_123",
    "billing_period": "MONTHLY",
    "billing_period_count": 1,
    "currency": "USD",
    "start_date": "2024-01-15",
    "phases": [
      {
        "start_date": "2024-01-15",
        "line_items": [
          {
            "price_id": "price_creator_monthly_123",
            "quantity": 1,
            "display_name": "Creator Plan - Monthly"
          }
        ]
      }
    ]
  }'

Step 6: Track Usage

Send usage events to track credit consumption.

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/usage' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "subscription_id": "sub_123456789",
    "feature_id": "feat_credits_123",
    "quantity": 5000,
    "metadata": {
      "service": "text_to_speech",
      "duration_minutes": 5
    }
  }'

Step 7: Monitor Usage

Check current usage for the billing period:

curl --location '<https://api.cloud.flexprice.io/v1/subscriptions/sub_123456789/usage>' \\\\
  --header 'x-api-key: YOUR_API_KEY_HERE'

Wrapping up

ElevenLabs has mastered AI pricing through usage-based metering, strategic feature gating, and natural upgrade incentives. Their evolution from simple credits to multi-dimensional pricing shows how to scale complexity without sacrificing user experience. The key insight: modern AI pricing must balance model performance trade-offs, interface preferences, and growth economics, rewarding scale rather than penalizing it.

What traditionally required months of custom development can now be implemented in days. The detailed implementation guide above shows exactly how to replicate ElevenLabs' entire pricing strategy using Flexprice's infrastructure.

If you're ready to build your own ElevenLabs style pricing, then either you can sign up for the tool or use our open source to create it.

If you're tired of solving billing from scratch, you don’t have to keep doing it alone.

Why does this pricing strategy work for ElevenLabs?

ElevenLabs pricing works because it layers usage-based metering under subscription access, then uses feature gating and concurrency limits to move users up. It's a hybrid model, and the design is deliberate.

Usage-based pricing means customers pay for what they consume: characters for speech, minutes for dubbing, hours for transcription. 

On top of that, feature gating controls access to professional voice cloning, higher-quality audio, and API concurrency, so teams with advanced needs land on higher tiers where the cost and value line up. 

Concurrency limits act as an invisible upgrade lever, because a workflow that needs parallel jobs hits a ceiling on lower plans regardless of how many credits are left. Then there's interface-based pricing, where UI transcription has historically carried higher per-hour rates than the API, which quietly separates developers from casual users. Offering both Flash and 

Multilingual lets users self-select on speed versus quality without needing a separate pricing tier for each.

That hybrid of subscription access plus real-time metering is exactly what Flexprice's Pricing Models let you configure from day one. For a broader framework on how to price your AI, the pricing playbook goes deeper than any single vendor's model.

How to implement ElevenLabs pricing with Flexprice?

This guide demonstrates how to implement 11labs' tiered pricing structure using flexprice.io (Starter plan). Perfect for AI audio companies with credit-based pricing. Flexprice is an enterprise-grade billing and monetization platform designed for the most complex billing scenarios from day zero. Think AI-native companies, cloud infrastructure providers, observability platforms, LLM providers, martech tools, and any SaaS company whose pricing has outgrown simple subscription tiers.

Overview

11labs uses a credit-based pricing model:

Plan

Price

Credits

Target Audience

Free

$0/month

10k credits/month

Individuals trying AI audio

Starter

$5/month

30k credits/month

Hobbyists creating projects

Creator

$22/month

100k credits/month

Content creators (Most Popular)

Pro

$99/month

500k credits/month

Professional creators

Prerequisites

  • flexprice.io account

  • ✅ API key ready

  • ✅ Basic understanding of REST APIs

Step 1: Get your API key

  1. Log in to your flexprice.io dashboard

  2. Navigate to SettingsAPI Keys

  3. Copy your API key

Step 2: Create features

Create the core features for 11labs' credit-based system:

2.1 Credits feature

```bash
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Credits",
    "type": "metered",
    "unit_singular": "credit",
    "unit_plural": "credits",
    "description": "Usage credits for AI audio services",
    "meter": {
      "aggregation": {
        "type": "SUM",
        "field": "consumed",
        "multiplier": 1
      },
      "reset_usage": "BILLING_PERIOD",
      "name": "Credits",
      "filters": [],
      "event_name": "credits.consumed"
    }
  }'
```

2.2 Core features

# Text to Speech
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Text to Speech",
    "type": "boolean",
    "description": "High-quality text-to-speech generation"
  }'

# Speech to Text
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Speech to Text",
    "type": "boolean",
    "description": "Speech-to-text conversion capabilities"
  }'

# Conversational AI
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Conversational AI",
    "type": "boolean",
    "description": "Advanced conversational AI capabilities"
  }'

# Studio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Studio",
    "type": "boolean",
    "description": "Access to the 11labs Studio platform"
  }'

# Automated Dubbing
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Automated Dubbing",
    "type": "boolean",
    "description": "Automated dubbing capabilities"
  }'

# API Access
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "API Access",
    "type": "boolean",
    "description": "Programmatic access to 11labs services"
  }'

# Commercial License
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Commercial License",
    "type": "boolean",
    "description": "Allows commercial use of generated content"
  }'

# Voice Cloning
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Voice Cloning",
    "type": "boolean",
    "description": "Access to voice cloning technology"
  }'

# Dubbing Studio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Dubbing Studio",
    "type": "boolean",
    "description": "Advanced dubbing studio capabilities"
  }'

# Professional Voice Cloning
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Professional Voice Cloning",
    "type": "boolean",
    "description": "Professional-grade voice cloning technology"
  }'

# High Quality Audio
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "High Quality Audio",
    "type": "boolean",
    "description": "192 kbps high-quality audio output"
  }'

# PCM Audio Output
curl --location 'https://api.cloud.flexprice.io/v1/features' \
  -X POST \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "PCM Audio Output",
    "type": "boolean",
    "description": "44.1kHz PCM audio output via API"
  }'

Step 3: Create Plans

Create the four pricing plans with credit limits and feature entitlements:

3.1 Free Plan

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Free",
    "description": "For individuals who want to try out the most advanced AI audio",
    "lookup_key": "free_plan",
    "prices": [],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 10000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": false
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": false
      }
    ]
  }'


3.2 Starter plan ($5/month)

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Starter",
    "description": "For hobbyists creating projects with AI audio",
    "lookup_key": "starter_plan",
    "prices": [
      {
        "amount": "500",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Starter plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 30000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

3.3 Creator plan ($22/month)

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator",
    "description": "For creators making premium content for global audiences",
    "lookup_key": "creator_plan",
    "prices": [
      {
        "amount": "2200",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Creator plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 100000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

### 3.4 Pro Plan ($99/month)

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Pro",
    "description": "For creators ramping up their content production",
    "lookup_key": "pro_plan",
    "prices": [
      {
        "amount": "9900",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Pro plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 500000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_pcm_audio_output_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'
```

### 3.5 Special Offers

#### Annual Billing with Discount

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator Annual",
    "description": "Creator plan with annual billing - 2 months free",
    "lookup_key": "creator_plan_annual",
    "prices": [
      {
        "amount": "22000",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "YEARLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Annual subscription for Creator plan (2 months free)",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      // Same entitlements as Creator plan
    ]
  }'
```

#### First Month Discount

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/credit_grants' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "First Month 50% Off",
    "credits": 1100,
    "expiration_duration": 30,
    "expiration_duration_unit": "DAY",
    "expiration_type": "AFTER_CREATION",
    "scope": "SUBSCRIPTION"
  }'
```

## Step 4: Create Customer

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/customers' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "John Doe",
    "email": "[email protected]",
    "external_id": "cust_123456",
    "metadata": {
      "company": "Example Corp",
      "industry": "Technology"
    }
  }'
```

## Step 5: Create Subscription

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/subscriptions' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "customer_id": "cust_123456789",
    "plan_id": "plan_creator_123",
    "billing_period": "MONTHLY",
    "billing_period_count": 1,
    "currency": "USD",
    "start_date": "2024-01-15",
    "phases": [
      {
        "start_date": "2024-01-15",
        "line_items": [
          {
            "price_id": "price_creator_monthly_123",
            "quantity": 1,
            "display_name": "Creator Plan - Monthly"
          }
        ]
      }
    ]
  }'
```

## Step 6: Track Usage

Send usage events to track credit consumption:

```bash
curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/usage' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "subscription_id": "sub_123456789",
    "feature_id": "feat_credits_123",
    "quantity": 5000,
    "metadata": {
      "service": "text_to_speech",
      "duration_minutes": 5
    }
  }'
```

3.4 Pro Plan ($99/month)

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Pro",
    "description": "For creators ramping up their content production",
    "lookup_key": "pro_plan",
    "prices": [
      {
        "amount": "9900",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "MONTHLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Monthly subscription for Pro plan",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      {
        "feature_id": "feat_credits_123",
        "feature_type": "metered",
        "is_enabled": true,
        "is_soft_limit": true,
        "usage_limit": 500000,
        "usage_reset_period": "MONTHLY"
      },
      {
        "feature_id": "feat_text_to_speech_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_speech_to_text_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_conversational_ai_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_automated_dubbing_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_api_access_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_commercial_license_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_dubbing_studio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_professional_voice_cloning_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_high_quality_audio_123",
        "feature_type": "boolean",
        "is_enabled": true
      },
      {
        "feature_id": "feat_pcm_audio_output_123",
        "feature_type": "boolean",
        "is_enabled": true
      }
    ]
  }'

3.5 Special Offers- Annual Billing with Discount

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/plans' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "Creator Annual",
    "description": "Creator plan with annual billing - 2 months free",
    "lookup_key": "creator_plan_annual",
    "prices": [
      {
        "amount": "22000",
        "billing_cadence": "RECURRING",
        "billing_model": "FLAT_FEE",
        "billing_period": "YEARLY",
        "billing_period_count": 1,
        "currency": "USD",
        "description": "Annual subscription for Creator plan (2 months free)",
        "invoice_cadence": "ARREAR",
        "type": "RECURRING"
      }
    ],
    "entitlements": [
      // Same entitlements as Creator plan
    ]
  }'

First Month Discount

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/credit_grants' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "First Month 50% Off",
    "credits": 1100,
    "expiration_duration": 30,
    "expiration_duration_unit": "DAY",
    "expiration_type": "AFTER_CREATION",
    "scope": "SUBSCRIPTION"

Step 4: Create customer

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/customers' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "name": "John Doe",
    "email": "[email protected]",
    "external_id": "cust_123456",
    "metadata": {
      "company": "Example Corp",
      "industry": "Technology"
    }
  }'

Step 5: Create subscription

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/subscriptions' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "customer_id": "cust_123456789",
    "plan_id": "plan_creator_123",
    "billing_period": "MONTHLY",
    "billing_period_count": 1,
    "currency": "USD",
    "start_date": "2024-01-15",
    "phases": [
      {
        "start_date": "2024-01-15",
        "line_items": [
          {
            "price_id": "price_creator_monthly_123",
            "quantity": 1,
            "display_name": "Creator Plan - Monthly"
          }
        ]
      }
    ]
  }'

Step 6: Track Usage

Send usage events to track credit consumption.

curl --request POST \
  --url 'https://api.cloud.flexprice.io/v1/usage' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --data '{
    "subscription_id": "sub_123456789",
    "feature_id": "feat_credits_123",
    "quantity": 5000,
    "metadata": {
      "service": "text_to_speech",
      "duration_minutes": 5
    }
  }'

Step 7: Monitor Usage

Check current usage for the billing period:

curl --location '<https://api.cloud.flexprice.io/v1/subscriptions/sub_123456789/usage>' \\\\
  --header 'x-api-key: YOUR_API_KEY_HERE'

Wrapping up

ElevenLabs has mastered AI pricing through usage-based metering, strategic feature gating, and natural upgrade incentives. Their evolution from simple credits to multi-dimensional pricing shows how to scale complexity without sacrificing user experience. The key insight: modern AI pricing must balance model performance trade-offs, interface preferences, and growth economics, rewarding scale rather than penalizing it.

What traditionally required months of custom development can now be implemented in days. The detailed implementation guide above shows exactly how to replicate ElevenLabs' entire pricing strategy using Flexprice's infrastructure.

If you're ready to build your own ElevenLabs style pricing, then either you can sign up for the tool or use our open source to create it.

If you're tired of solving billing from scratch, you don’t have to keep doing it alone.

Aanchal Parmar

Aanchal Parmar

Aanchal Parmar heads content marketing at Flexprice.io. She’s been in the content for seven years across SaaS, Web3, and now AI infra. When she’s not writing about monetization, she’s either signing up for a new dance class or testing a recipe that’s definitely too ambitious for a weeknight.

Aanchal Parmar heads content marketing at Flexprice.io. She’s been in the content for seven years across SaaS, Web3, and now AI infra. When she’s not writing about monetization, she’s either signing up for a new dance class or testing a recipe that’s definitely too ambitious for a weeknight.

Share it on:

Ship Usage-Based Billing with Flexprice

Summarize this blog on:

Ship Usage-Based Billing with Flexprice

Ship Usage-Based Billing with Flexprice

More insights on billing

More insights on billing

Get Instant Feedback on Your Pricing | Join the Flexprice Community with 400+ Builders on Slack

Join the Flexprice Community on Slack