docs/elevenlabs.md
The ElevenLabs provider reads subscription usage from the ElevenLabs API using an API key.
next_character_count_reset_unix.Store the API key without opening Settings:
printf '%s' "$ELEVENLABS_API_KEY" | codexbar config set-api-key --provider elevenlabs --stdin
This trims the piped key, writes it to ~/.codexbar/config.json with restrictive permissions, and enables ElevenLabs by default. Use --no-enable to save the key without enabling the provider.
https://elevenlabs.io/app/settings/api-keysCodexBar also accepts these environment variables:
ELEVENLABS_API_KEYXI_API_KEYFor tests or self-hosted/proxy setups, override the API base URL with ELEVENLABS_API_URL.
GET https://api.elevenlabs.io/v1/user/subscriptionxi-api-keycharacter_count, character_limit, voice_slots_used, voice_limit, professional_voice_slots_used, professional_voice_limit, tier, status, next_character_count_reset_unixSet the key with codexbar config set-api-key --provider elevenlabs --stdin, add it in Settings -> Providers -> ElevenLabs, set ELEVENLABS_API_KEY, or configure an ElevenLabs token account.
ElevenLabs returned an authentication or access error identifying invalid_api_key. Confirm that the key is valid and has not been revoked. If you configured multiple ElevenLabs API-key accounts, the active account takes precedence over the standalone API key field.
ElevenLabs returned HTTP 401 or 403 identifying missing_permissions or insufficient_permissions. Enable the user_read permission for the selected key so CodexBar can fetch subscription usage.
ElevenLabs returned HTTP 401 without a recognized error status. Check the key and its endpoint permissions.
ElevenLabs returned HTTP 403 without a recognized key or permission error. Check the key's endpoint permissions and IP allowlist in the ElevenLabs API-key settings.
CodexBar reads recognized detail.code values first, as described in ElevenLabs' error documentation. It also reads the legacy detail.status when the current code is absent or generic; live responses can still use that field for the specific rejection reason. Provider error messages are not copied into these diagnostics.
Confirm that the current network can reach api.elevenlabs.io and check the reported HTTP status.