Skip to main content
POST
synthesize speech as json

Authorizations

Authorization
string
header
required

your rumik api key, e.g. rk_live_.... create one in the rumik dashboard.

Body

application/json
text
string
required

text to synthesize. up to 2000 characters. for muga, prefix with a tone tag, e.g. [happy]. for mulberry-1.6, write each language in its own script, with no tags or markers.

Maximum string length: 2000
Example:

"[happy] namaste! kaise hain aap?"

model
enum<string>
default:muga

which model to use. muga is steered by a tone tag in the text; mulberry is steered by a natural-language description; mulberry-1.6 speaks 22 indian languages and is steered by an optional style, accent, pace description.

Available options:
muga,
mulberry,
mulberry-1.6
audio_format
enum<string>

optional output format. omit the field for the original wav response. explicit null, wav, ogg, and unsupported values return 400 unsupported_audio_format.

Available options:
opus,
pcm,
mulaw,
alaw,
mp3
description
string

required for mulberry. natural-language voice/style description. the voice is built from this. send it on every mulberry request, including when speaker is set. optional for mulberry-1.6: a style, an accent and a pace, e.g. happy, Tamil accent, steady pace. a part you leave out defaults to professional, the accent of the text's script, and fast pace. not used by muga.

Example:

"a female 30s hindi voice, smooth timbre, conversational pacing, like a podcast host"

speaker
enum<string>

mulberry and mulberry-1.6 only. optional named voice, case-insensitive. mulberry: emma, mia, sophia, ava, ira, siya, aisha and zoya are female; lucas, noah, theo and adam are male. omit and a voice is generated from description. description is required either way. mulberry-1.6: ira, aisha, siya or zoya, all female. omit it, or send a name it doesn't know, and you get ira.

Available options:
emma,
mia,
sophia,
ava,
ira,
siya,
aisha,
zoya,
lucas,
noah,
theo,
adam
Example:

"siya"

temperature
number
default:0.6

sampling temperature. mulberry-1.6 defaults to 0.8.

top_p
number
default:0.95

nucleus sampling. mulberry-1.6 defaults to 1.0.

top_k
integer
default:50

top-k sampling. mulberry-1.6 defaults to 30.

repetition_penalty
number
default:1.2

penalize repeated tokens. ignored by mulberry-1.6.

max_new_tokens
integer
default:2048

output length cap. for mulberry, if long text comes back truncated, raise this above the default 2048 (up to 8192). for mulberry-1.6, it is sized from the text (at least 2048, up to 8192), and a larger value you send is kept.

Required range: x <= 8192

Response

json response containing base64-encoded audio in the requested format.

audio_base64
string<byte>
required

base64-encoded audio bytes in the requested format; wav when audio_format was omitted.

audio_duration_ms
integer
required

server-derived source audio duration in integer milliseconds.

Required range: x >= 0
request_id
string<uuid>
required

identifier for this synthesis request.

credits_used
integer
required

legacy credit usage. payg and unlimited requests return zero.

Required range: x >= 0
usage_cost_nanos
integer
required

payg charge in integer nanounits of the account's billing currency. unlimited and legacy-credit requests return zero.

Required range: x >= 0
speaker
string

the named voice, present when the request set speaker on mulberry or mulberry-1.6. mulberry-1.6 returns the voice it resolved to, e.g. Ira.

Example:

"Ira"