| name | durindoor-tts |
| description | Convert text to speech through DurinDoor using a model discovered from /v1/models/tts. |
DurinDoor Text-to-Speech
Discover
curl -H "Authorization: Bearer $DURINDOOR_KEY" "$DURINDOOR_URL/v1/models/tts" | jq -r '.data[].id'
MODEL_ID="$(curl -s -H "Authorization: Bearer $DURINDOOR_KEY" "$DURINDOOR_URL/v1/models/tts" | jq -r '.data[0].id')"
curl -H "Authorization: Bearer $DURINDOOR_KEY" "$DURINDOOR_URL/v1/models/info?id=$MODEL_ID"
Some providers expose voices separately:
curl -H "Authorization: Bearer $DURINDOOR_KEY" "$DURINDOOR_URL/v1/audio/voices?provider=edge-tts" | jq -r '.data[].model'
Use the exact model or voice ID returned by discovery. Do not add a provider prefix unless the response includes it.
Generate audio
curl -X POST "$DURINDOOR_URL/v1/audio/speech" \
-H "Authorization: Bearer $DURINDOOR_KEY" \
-H "Content-Type: application/json" \
-d "{\"model\":\"$MODEL_ID\",\"input\":\"Hello world\"}" \
--output speech.mp3
The default response is raw audio. Use ?response_format=json for base64 JSON when supported.
Reference: https://github.com/bloodf/durindoor/blob/main/docs/reference/api.md