From elevenlabs-pack
Deploys ElevenLabs TTS applications to Vercel, Fly.io, and Cloud Run with secrets management, timeout configuration, and streaming support.
How this skill is triggered — by the user, by Claude, or both
Slash command
/elevenlabs-pack:elevenlabs-deploy-integrationThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Deploy ElevenLabs TTS/voice applications to Vercel (serverless), Fly.io
Deploy ElevenLabs TTS/voice applications to Vercel (serverless), Fly.io (containers), or Google Cloud Run with proper secrets management, timeout configuration, and streaming support. Pick the platform that matches your traffic shape, write the platform config + server code, store the API key as a platform secret, then deploy and smoke-test the live endpoint.
vercel, fly, or gcloud)Follow these steps. The lean skeleton is below; the full config files and server code for each platform are in references/implementation.md.
Inspect the repo and pick a platform. Read the existing app code and
any current deploy config, then choose from the comparison table below —
Vercel for a simple stateless TTS API, Fly.io for streaming/WebSocket, Cloud
Run for bursty variable load.
Write the platform config + server code. Use Write/Edit to create
the platform files in the repo — vercel.json + the API route for Vercel,
fly.toml + Express server for Fly.io, Dockerfile for Cloud Run. Full
versions are in references/implementation.md.
Set the API key as a platform secret (never commit it):
vercel env add ELEVENLABS_API_KEY production # Vercel
fly secrets set ELEVENLABS_API_KEY=sk_... # Fly.io
echo -n "sk_..." | gcloud secrets create elevenlabs-api-key --data-file=- # Cloud Run
Mind the timeout. Vercel Hobby caps functions at 10s (30s on Pro) — use
the eleven_flash_v2_5 model to stay under it. Fly.io and Cloud Run have no
such short cap.
Deploy, then smoke-test the live endpoint (see references/examples.md):
vercel --prod # Vercel
fly deploy # Fly.io
gcloud run deploy tts-service --source . # Cloud Run (see full flags in implementation.md)
| Feature | Vercel | Fly.io | Cloud Run |
|---|---|---|---|
| Max timeout | 30s (Pro) | No limit | 60min |
| WebSocket streaming | Limited | Full support | Full support |
| Cold start | ~1-3s | ~0.5-2s | ~1-5s |
| Concurrency | Per-function | Per-VM | Per-instance |
| Best for | Simple TTS API | Streaming/WebSocket | Variable load |
| Min cost | Free tier | ~$2/mo | Free tier |
A working deployment of a validated TTS build produces:
audio/mpeg (Vercel/Fly.io/Cloud Run URL)ELEVENLABS_API_KEY (and any webhook secret) stored as a platform secret,
never in the repovercel.json, fly.toml, or
Dockerfile — matching the chosen platform's timeout/concurrency limits/health endpoint (Fly.io/Cloud Run) reporting live quota via the SDK| Issue | Cause | Solution |
|---|---|---|
| Vercel timeout | TTS > 10s on Hobby | Upgrade to Pro (30s) or use Flash model |
| Cold start slow | Container initialization | Set min_instances=1 (Cloud Run) or min_machines=1 (Fly) |
| Secret not found | Missing platform config | Add via platform CLI |
| Streaming broken | Proxy buffering | Disable response buffering in nginx/CDN |
| CORS errors | Missing headers | Add Access-Control-Allow-Origin to TTS endpoint |
Deploy a simple TTS API to Vercel (Flash model, under the Pro timeout):
vercel env add ELEVENLABS_API_KEY production
vercel --prod
Deploy a streaming service to Fly.io and confirm quota via the health check:
fly secrets set ELEVENLABS_API_KEY=sk_your_prod_key
fly deploy
curl -s https://my-tts-service.fly.dev/health | jq
Full end-to-end flows for all three platforms — secret setup, deploy, and live smoke-test — are in references/examples.md.
For webhook handling on a deployed service, see the elevenlabs-webhooks-events
skill, which covers verifying signatures and handling ElevenLabs event
callbacks against the endpoints you just shipped.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin elevenlabs-packProvides a production-ready layered architecture for ElevenLabs TTS/voice applications, covering project layout, service layers, caching, streaming, and multi-model orchestration.
API authentication patterns, SDK installation scripts, environment variable management, and connection testing for ElevenLabs. Use when setting up ElevenLabs authentication, installing ElevenLabs SDK, configuring API keys, testing ElevenLabs connection, or when user mentions ElevenLabs authentication, xi-api-key, ELEVENLABS_API_KEY, or ElevenLabs setup.
Deploys AssemblyAI transcription services to Vercel, Cloud Run, and Fly.io with secrets management and webhook configuration.