Skip to content

Async Text to Speech Pro V1.0

Integrate

Model id async/tts-pro/v1.0
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/async/tts-pro/v1.0?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "transcript": "Hello from Doitong. This is a short test sentence.",
    "voice": {
      "name": "Jennie"
    }
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

This request: $0.001 1 API credit Run it on this page

Get API key
Async Text to Speech Lipsync #text-to-speech#voice-clone

Text-to-speech with voice selection, optional voice cloning and six forced-language options

Async · Audio

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required

Text content to synthesize as speech.

•required

Voice selected for speech synthesis.

Advanced language · output_format
language

Language to enforce during synthesis, specified using ISO 639-1.

Configuration for the generated audio.

POST /run/async/tts-pro/v1.0?wait=20 quote → $0.001
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/async/tts-pro/v1.0?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "transcript": "Hello from Doitong. This is a short test sentence.",
    "voice": {
      "name": "Jennie"
    }
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Async Text to Speech Pro V1.0

Converts a `transcript` into speech using a chosen `voice` object. The optional `language` parameter forces synthesis in English, French, Spanish, German, Italian or Portuguese. An `output_format` object configures the audio, and the result includes the audio file, its MIME type and its size in bytes. Suited to voiceovers where you pick a specific voice.

Parameters

NameType DefaultAllowed Description
transcriptrequired
Typestring
Text content to synthesize as speech.
voicerequired
Typeobject
Voice selected for speech synthesis.
voice.nameoptional
Typeenum
DefaultJennie
JennieStellaMaxHayesElaraCleoFisherCorinThaddeusLucinaAcadiaHuxleyWinsletJethroElioRupert
+84 moreEiraNyraArianLilyPierceKaelaElowenFreyaLennyAlessaPandoraFiaAbbottKaelOrlaSableMarnieSeraVirelLioraRivenElysDreenaRheaVelaNymeraIsoldeLirienZellaAvennaMirelleCaliaLuneaLucanTarianArloJovanNeronZivenDaxOrienLiorEryxTyrenNoxElricVarianZoranMiroDalenRonixJarekNyxieSorenVionaSeleneRachielCorbinAbigailFaithKimberlyDaveGraceAldenRenlyVioletJoelXavierEsmeraldaRobertLilaBrooksLennoxVanessaSimonNyomiJackPenelopeBraydenAbelNellieConnieAndrewLincoln
Named preset voice to use. Has no effect if `id` is provided.
output_formatoptional
Typeobject
Configuration for the generated audio.
output_format.containeroptional
Typeenum
Defaultmp3
mp3raw
Container format for the generated audio.
output_format.encodingoptional
Typeenum
pcm_s16lepcm_f32lepcm_mulaw
PCM encoding applied only when the container is 'raw'.
output_format.sample_rateoptional
Typeinteger
Default44100
8,000 – 48,000
Sampling frequency of the output, in Hz.
output_format.bit_rateoptional
Typeinteger | null
32,000 – 320,000
Bit rate for the output; applies only to the 'mp3' container.
languageoptional
Typeenum
enfresdeitpt
Language to enforce during synthesis, specified using ISO 639-1.
required

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "async/tts-pro/v1.0",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 1,
    "usd": "0.001",
    "charged": 1,
    "refunded": 0
  },
  "input": {
    "transcript": "Hello from Doitong. This is a short test sentence.",
    "voice": {
      "name": "Jennie"
    }
  },
  "output": {
    "audio": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
      "content_type": "audio/mpeg",
      "file_name": "0-output.mp3",
      "file_size": 1843200
    },
    "content_type": "audio/mpeg",
    "size_bytes": 1
  },
  "outputs": [
    {
      "type": "audio",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
      "content_type": "audio/mpeg",
      "file_size": 1843200,
      "duration": 12,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
audio
object {url, content_type, file_name, file_size}
content_type
stringAudio MIME type.
size_bytes
integerAudio size measured in bytes.

For AI agents: this page as Markdown is at https://doitong.com/developers/models/async/tts-pro/v1.0.md. All models and guides: https://doitong.com/developers/llms.txt