Skip to content

Maya1

Integrate

Model id maya
# 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/maya?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Hello from Doitong. This is a short test sentence.",
    "prompt": "Hello from Doitong. This is a short test sentence."
  }'

# 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.049 49 API credits Run it on this page

Get API key
Maya Research Text to Speech #text-to-speech#tts

Expressive text-to-speech with a voice description prompt and inline emotion tags

Maya Research · 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 50 / 5000

Speech-synthesis text allowing emotion tags in the form <emotion_name> at any position, as in 'Hello world! <excited> This is amazing!' or 'I can't believe this <sigh> happened again.'. Supported emotions are curious, sarcastic, giggle, gulp, exhale, snort, sing, scream, cry, whisper, excited, angry, gasp, chuckle, sigh, laugh_harder, and laugh.

•required 50 / 500

Voice or character traits to describe, such as intensity, tone, pacing, timbre, pitch, accent, and age.

Advanced sample_rate · output_format · temperature · top_p · max_tokens · repetition_penalty · enable_safety_checker
sample_rate default 48 kHz

Audio sample-rate choice between faster processing at 24 kHz and higher-quality output at 48 kHz.

output_format default wav

Audio file format used for synthesized speech.

default 0.4

Sampling temperature governing audio variation: increasing it introduces more variety, whereas the lower range of 0.2–0.5 favors stability and consistency.

default 0.9

Nucleus sampling setting that adjusts token-selection diversity.

default 2000

SNAC token budget that caps audio duration, calculated at 7 tokens for each frame.

default 1.1

Penalty applied to token repetition. Increasing it suppresses repetition artifacts.

POST /run/maya?wait=20 quote → $0.049
# 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/maya?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Hello from Doitong. This is a short test sentence.",
    "prompt": "Hello from Doitong. This is a short test sentence."
  }'

# 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 Maya1

Converts text of up to 5000 characters into speech. A required `prompt` of up to 500 characters describes the voice, such as age, accent and tone. Emotion tags like laugh or whisper can be embedded in the text. Choose 48 kHz or 24 kHz sample rate and wav or mp3 output; `max_tokens` caps audio length.

Parameters

NameType DefaultAllowed Description
textrequired
Typestring
≤ 5,000 characters
Speech-synthesis text allowing emotion tags in the form <emotion_name> at any position, as in 'Hello world! <excited> This is amazing!' or 'I can't believe this <sigh> happened again.'. Supported emotions are curious, sarcastic, giggle, gulp, exhale, snort, sing, scream, cry, whisper, excited, angry, gasp, chuckle, sigh, laugh_harder, and laugh.
promptrequired
Typestring
≤ 500 characters
Voice or character traits to describe, such as intensity, tone, pacing, timbre, pitch, accent, and age.
temperatureoptional
Typenumber
Default0.4
0 – 2
Sampling temperature governing audio variation: increasing it introduces more variety, whereas the lower range of 0.2–0.5 favors stability and consistency.
top_poptional
Typenumber
Default0.9
0 – 1
Nucleus sampling setting that adjusts token-selection diversity.
max_tokensoptional
Typeinteger
Default2000
28 – 4,000
SNAC token budget that caps audio duration, calculated at 7 tokens for each frame.
repetition_penaltyoptional
Typenumber
Default1.1
1 – 2
Penalty applied to token repetition. Increasing it suppresses repetition artifacts.
sample_rateoptional
Typeenum
Default48 kHz
48 kHz24 kHz
Audio sample-rate choice between faster processing at 24 kHz and higher-quality output at 48 kHz.
output_formatoptional
Typeenum
Defaultwav
wavmp3
Audio file format used for synthesized speech.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Screening can be relaxed by setting false, provided the caller is authorized.
required

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "maya",
  "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": 49,
    "usd": "0.049",
    "charged": 49,
    "refunded": 0
  },
  "input": {
    "text": "Hello from Doitong. This is a short test sentence.",
    "prompt": "Hello from Doitong. This is a short test sentence."
  },
  "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
    },
    "duration": 5,
    "sample_rate": "48 kHz",
    "generation_time": 2.3,
    "rtf": 0.51
  },
  "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}Generated speech file in WAV or MP3, with mono audio at 24 kHz or 48 kHz as determined by the upsampler.
duration
numberLength of the audio output, measured in seconds.
sample_rate
stringSampling rate of the audio output.
generation_time
numberAudio generation time, measured in seconds.
rtf
numberReal-time factor calculated as generation_time divided by audio_duration; smaller values indicate better performance.

More models: Text to Speech

For AI agents: this page as Markdown is at https://doitong.com/en-GB/developers/models/maya.md. All models and guides: https://doitong.com/developers/llms.txt