Provider Keys — ElevenLabs
ElevenLabs is a path-style provider: the provider's own path goes straight onto our route, and the seller's
xi-api-key is attached on our side.
Billing unit: per 1 000 characters.
ElevenLabs is the one live provider where the seller's account keeps a record of your call. Their generation history shows that a request happened, even on routes where we delete the result after handing it to you. That is a property of the provider, not of our proxy, and it is why the trait badges on a listing matter here more than anywhere else.
Three routes, and that is the whole surface
ElevenLabs publishes over four hundred operations. Three are reachable.
?output_format= is the one query parameter passed through — it is the only one the three routes take.
Calling them
# Answers with audio BYTES, not JSON. The cost headers still ride on the response. curl -X POST $SURPLUS_BASE_URL/resources/elevenlabs/v1/sound-generation \ -H "Authorization: Bearer $SURPLUS_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: $(uuidgen)" \ -d '{"text":"a short soft chime","duration_seconds":1}' \ --output chime.mp3 --dump-header headers.txt grep x-si- headers.txt # x-si-buyer-cost-micro: 1500 # x-si-list-cost-micro: 3000
# Up to the priced ceiling of five minutes; a 5-minute song answers in about 25 s. curl -X POST $SURPLUS_BASE_URL/resources/elevenlabs/v1/music \ -H "Authorization: Bearer $SURPLUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"prompt":"a slow piano loop in A minor","music_length_ms":30000}' \ --output loop.mp3
# Free and read-only — any valid key may read it, so it doubles as the seller's key probe.
curl $SURPLUS_BASE_URL/resources/elevenlabs/v1/models \
-H "Authorization: Bearer $SURPLUS_API_KEY"POST /v1/music is capped at 50 seconds, inside the fleet's 60-second drain, so a deploy never cuts a
generation the seller is already billed for.
Why the other routes are closed
The rule is one sentence: the seller's account may keep a record of your request, but you may read nothing of that account. Each family below fails it for a different reason, and the reasons are worth knowing because they tell you what would have to change.
| Can they… | Reaches account data | Unpriceable up front | Leaves seller history |
|---|---|---|---|
| Text-to-speech, speech-to-speech, dialogue | Yesvoice_id may be a private cloned voice | No | Yes |
| Speech-to-text | Yesuse_speaker_library, webhook | No | Yes |
| The voice lists (/v1/voices, /v2/voices) | Yesthey ARE the seller’s library | No | No |
| Audio isolation | No | Yesbilled by uploaded audio length | Yes |
| Forced alignment | No | Yessame basis as isolation | Yes |
| Account, keys, billing, usage | Yesservice accounts can mint keys | No | No |
| Streaming | No | Yescannot be metered for settlement | No |
Two of those are worth drawing out:
- Voice routes are not a capacity question. A
voice_idcan name one of the seller's private cloned voices, so serving text-to-speech would need an ownership check we do not have yet. Opening it is that check, not a policy edit. - Audio isolation and forced alignment are priced by the length of a file you upload. No quote taken before the call can bound that, which is the same property that keeps LLMs off Fal. Opening either is a cost-source change first.
Music is the exception that proves the rule: it leaves no history, and its two fields that would touch the
account — finetune_id and store_for_inpainting — are refused at the point where it is priced.
Two layers, not one
A route can be closed two ways here, and the difference is deliberate.
GET /v1/audio-effects/catalog is deliberately not on the denylist. It lists filter presets — a static
catalogue of the same class as GET /v1/models, which is open — so naming it would imply it reaches the
seller's account, which it does not. It stays refused by the allowlist, which is what "we have not opened this
yet" looks like. A denylist that collects everything unopened stops telling you which entries are load-bearing.
Related
- Your first call — the end-to-end path.
- Fal, Wavespeed — the other two live providers.
- Access rules — how a seller narrows their key beyond this.
- Security and privacy — what reaches a seller's account.