Agent skill · software engineering · jeremylongshore
elevenlabs-rate-limits
Implement ElevenLabs rate limiting, concurrency queuing, and backoff patterns. Use when handling 429 errors, implementing retry logic, or managing concurrent TTS request throughput for an ElevenLabs integration. Trigger with "elevenlabs rate limit", "elevenlabs throttling", "elevenlabs 429", "elevenlabs retry", "elevenlabs backoff", "elevenlabs concurrent requests".
Why this skill is useful
Provides specific implementation patterns and modules for managing ElevenLabs rate limits and concurrency that the AI wouldn't reliably generate on its own.
What it needs
Requires @elevenlabs/elevenlabs-js, p-queue installed locally. Requires elevenlabs account access. About 3k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.
What this skill does
ElevenLabs Rate Limits Overview Handle ElevenLabs rate limits with plan-aware concurrency queuing, exponential backoff, and quota monitoring. ElevenLabs uses two rate limit mechanisms: concurrent request limits (per plan) and system-level throttling. The key insight is that a 429 means two different things depending on its detail.status — and each demands the opposite response. Prerequisites ElevenLabs SDK installed (@elevenlabs/elevenlabs-js) Understanding of your subscription plan's limits p-queue package (recommended): npm install p-queue Instructions Step 1: Understand the Two 429 Error Types ElevenLabs returns HTTP 429 for two different reasons. Read the detail.status field to tell them apart — the correct strategy is opposite for each. 429 Variant Response Body Cause Strategy ------------- -------------- ------- ---------- toomanyconcurrentrequests {"detail":{"status":"toomanyconcurrentrequests"}} Exceeded plan concurrency Queue requests, don't backoff systembusy {"detail":{"status":"systembusy"}} Server overload Exponential backoff Step 2: Know Your Plan Concurrency Limits Concurrency is capped per plan. Size your queue to this number — never higher. Plan Max Concurrent Requests Characters/Month ------ ------------------------ ------------------- Free 2 10,000 Starter 3 30,000 Creator 5 100,000 Pro 10 500,000 Scale 15 2,000,000 Business 15 Custom Step 3: Assemble the Four Building Blocks Write four small modules and compose them. The full, copy-ready source for each is in references/implementation.md — the skeleton below shows how they fit together. 1. Request queue (rate-limiter.ts) — a p-queue sized to your plan's concurrency limit. This is the response to toomanyconcurrentrequests: queue, do not back off. 2. Backoff wrapper (backoff.ts) — exponential backoff with jitter for systembusy and 5xx; immediate short retry for concurrency; hard-fail on 401/400/404. 3. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills jeremylongshore/elevenlabs-rate-limits