Text-to-Speech (TTS)
Technical documentation for dryAPI APIs, integration guides, and operational references.
Endpoint for requesting text2audio inference
Text-to-Speech converts text into natural-sounding audio. The endpoint supports three TTS modes via the mode parameter:
custom_voice(default) — Use a preset voice from the model's voice library. Requires thevoiceparameter.voice_clone— Clone a voice from a short reference audio clip. Requires theref_audioparameter (3–10 seconds, max 10 MB). Optionally provideref_textwith a transcript of the reference audio for improved accuracy.voice_design— Create a new voice from a natural language description. Requires theinstructparameter (e.g."A warm female voice with a British accent").
NOTE
Prerequisite: To ensure a successful request, you must first consult the Model Selection endpoint to identify a valid model
slug, check specific limits and features, and verify available languages and voices.
WARNING
Mode-specific required fields:
custom_voice—voiceis required.voice_clone—ref_audiois required.ref_textis optional but recommended.voice_design—instructis required.If
modeis omitted, the API defaults tocustom_voice.
OpenAPI
Request Txt2 Audio
Authorization
bearerAuth In: header
Header Parameters
"application/json""application/json"Request Body
multipart/form-data
Audio generation parameters. Supports three TTS modes: custom_voice (default, preset speakers), voice_clone (clone from reference audio), voice_design (create voice from description).
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.dryapi.dev/api/v1/client/txt2audio" \ -H "Accept: application/json" \ -F text="A beautiful sunset over mountains" \ -F model="Kokoro" \ -F lang="en-us" \ -F speed="1" \ -F format="flac" \ -F sample_rate="24000"{
"data": {
"request_id": "c08a339c-73e5-4d67-a4d5-231302fbff9a"
}
}{
"data": {},
"message": "string",
"errors": [
null
],
"statusCode": 0
}{
"data": {},
"message": "string",
"errors": [
null
],
"statusCode": 0
}{
"message": "The selected model does not support Text To Image.",
"errors": {
"model": [
"The selected model does not support Text To Image."
]
}
}{
"message": "Too Many Attempts."
}