ElevenLabs Integration
Connect your ElevenLabs account to track voice AI costs in Grafient.
Overview
Grafient connects to your ElevenLabs account using the standard API key to pull historical usage data. This integration tracks credit consumption and character usage for all ElevenLabs models (text-to-speech, voice cloning, speech-to-speech, etc.) with up to 90 days of historical data.
ElevenLabs costs are estimated in USD based on your credit consumption and subscription plan rate (plan price / monthly credit quota). Character usage (TTS characters processed) is also tracked per model. Free plan users will see $0 cost since credits are included at no charge.
Prerequisites
Before you begin, make sure you have:
- An ElevenLabs account at elevenlabs.io.
- API access enabled on your plan.
- A Grafient account on the Free, Pro, or Ultimate plan.
Permissions and Security
Grafient uses a standard ElevenLabs API key. An unrestricted key works out of the box. If you prefer to restrict the key, it needs Models (Access) and User (Read) permissions.
Grafient only reads the following data:
- Subscription tier and credit quota (to calculate cost rate)
- Historical credit consumption grouped by model and day
- TTS character usage grouped by model and day
- Available model list (for key validation)
Grafient will never modify your account settings, generate audio, or access any voice or audio content. Your credentials are encrypted with AES-256-GCM before storage and are never exposed after the initial connection.
Create a Connection
Step 1: Create an API Key
- Log in to elevenlabs.io.
- In the left sidebar, click Developers.
- Select the API Keys tab.
- Click Create Key.
- Give it a descriptive name (e.g.,
Grafient Integration). - Either leave Restrict Key off (simplest), or toggle it on and enable only the permissions listed below.
- Click Create and copy the API key immediately.
You can also navigate directly to elevenlabs.io/app/settings/api-keys.
API keys are only shown once at creation time. If you lose the key, you will need to create a new one. Store it securely until you complete the next step.
If you enable Restrict Key, grant the minimum permissions Grafient needs:
- Under Administration, set Models to Access (used to validate the API key).
- Under Administration, set User to Read (used to read your subscription tier for cost estimation).
- All other endpoint permissions can remain set to No Access.
Step 2: Add the Integration to Grafient
- In Grafient, navigate to the Integrations page from the sidebar.
- Click Add Integration.
- Select ElevenLabs as the provider.
- Enter a label to identify this integration (e.g.,
Production — ElevenLabs). If left blank, a default label is generated for you. - Paste the API key from Step 1 into the API Key field.
- Click Test Connection — a green checkmark confirms the credentials are valid.
- Click Add Integration to save.
What Happens Next
Once you add the integration, Grafient will:
- Validate your credentials against the ElevenLabs Models endpoint.
- Backfill historical data — up to 30 days on Free, or 90 days on Pro/Ultimate.
- Sync daily via an automated job at 6 AM UTC to pull the previous day's finalized usage data.
Your usage data will appear on the Dashboard within a few seconds of the initial sync. You can also click Force Sync on the integration card at any time to pull the latest data.
Data Collected
| Data Point | Description |
|---|---|
| Daily cost (estimated USD) | Estimated spend per day based on plan rate, broken down by model |
| TTS characters | Total text-to-speech characters processed per day, broken down by model |
| Model breakdown | Cost and characters attributed to each model (e.g., eleven_multilingual_v2, eleven_turbo_v2) |
API Endpoints Used
Grafient calls three endpoints:
| Endpoint | Purpose |
|---|---|
GET /v1/user/subscription | Subscription tier and credit quota (for cost-per-credit calculation) |
GET /v1/usage/character-stats (metric=credits) | Daily credit consumption per model |
GET /v1/usage/character-stats (metric=tts_characters) | Daily TTS character usage per model |
Supported Models
All models returned by the ElevenLabs usage API are tracked automatically, including:
- Multilingual: eleven_multilingual_v2, eleven_multilingual_v1
- Turbo: eleven_turbo_v2, eleven_turbo_v2_5
- Monolingual: eleven_monolingual_v1
- Flash: eleven_flash_v2, eleven_flash_v2_5
New models are tracked automatically as they appear in the Usage API — no configuration changes needed.
Data Freshness
ElevenLabs usage data is typically available shortly after API usage. The daily cron sync at 6 AM UTC captures the previous day's data. For more recent visibility, use Force Sync on your integration card.
Troubleshooting
"Test Connection" fails
- Verify API key: Make sure you copied the full API key from the ElevenLabs dashboard. It should be a long alphanumeric string.
- Check account status: Ensure your ElevenLabs account is active and not suspended.
- API access: Some legacy free-tier accounts may not have API access enabled. Check your plan details at elevenlabs.io/subscription.
No cost data appears after sync
- Check for recent usage: If there has been no API usage in the sync window, there will be no data to display.
- Wait for data availability: Usage data may take a short time to become available after API calls are made.
- Try Force Sync: Click the refresh icon on your integration card to trigger a manual sync.
Integration shows an error status
- Regenerated key: If you regenerated your API key in the ElevenLabs dashboard, the old key is invalidated. Remove the integration and add a new one with the updated key.
- Account changes: If your account was downgraded or suspended, the integration may stop working. Verify your account status in the ElevenLabs dashboard.