Concepts
Concepts
Section titled “Concepts”Text-to-Speech is the Destesi suite’s voice engine: you give it text and a voice, and it returns natural speech audio. It ships a curated catalog of nine built-in voices, each of which speaks every supported language.
The mental model
Section titled “The mental model”There are three things to understand — voices, jobs, and the controls a voice accepts — and one rule that ties everything together: speech is always generated for a workspace.
Voices
Section titled “Voices”A voice is the speaker identity applied to your text. Every workspace sees the same shared catalog of nine curated voices — Aria, Nova, Atlas, Indigo, Marlow, Orion, Sage, Lyra, and Juniper (voice_builtin_…).
Each of the nine speaks every supported language, so the same speaker can carry a whole multilingual project, and text that mixes languages needs no special handling.
Every voice has a stable voice_id. You pass that ID on every synthesize call.
Controls
Section titled “Controls”One extra parameter changes how a line is read:
instruct— a short natural-language delivery direction, up to 500 characters (“warm and unhurried”).
Capability is a property of the voice, not of the product. GET /v1/voices reports each voice’s engine and capabilities, and sending a control a voice does not list is a loud 400 unsupported_parameter. That is deliberate: a control that is sometimes applied and sometimes silently dropped is worse than one that refuses.
Projects
Section titled “Projects”A project is a folder for jobs. Long pieces of work — a course, a set of ads, a video’s scene-by-scene narration — produce dozens of clips, and a project keeps them together instead of scattered through one flat history. Projects are optional; a job without one just lives in the general history.
Every synthesize request creates a job. A short request runs inline and comes back done in the same call; a longer one is queued and you poll the job until it reaches done (or failed). Either way, the job is recorded in your history, so you can replay, re-download, or see why something failed under Jobs in the console.
Each finished job produces one audio file: 16-bit PCM WAV, 16 kHz, mono.
Synthesis is safe to retry. Send an Idempotency-Key header and a replay of the same request returns the job you already created rather than billing you for a second identical clip; reusing the key with a different body is rejected as a mistake (409 idempotency_conflict) instead of quietly handing back the wrong audio.
How it fits the suite
Section titled “How it fits the suite”Text-to-Speech is a peer product in the Destesi suite, unified with everything else by one login and one workspace.
Drive is the home for your audio
Section titled “Drive is the home for your audio”When a synthesize job finishes, the resulting WAV is automatically registered in your workspace’s Drive library. Drive is the single artifact store for the whole suite — the same place your generated images, rendered videos, and other files live. That means audio you produce here is immediately reusable by other products without copying files around.
Used inside other products
Section titled “Used inside other products”Text-to-Speech is also the narration engine behind richer Destesi products. When Studio produces a multilingual video or Chat generates a narrated promo, the voiceover is synthesized through this same engine — so a voice you hear in a video is the same catalog you can call directly here.
An agent, too
Section titled “An agent, too”Text-to-Speech has its own chat agent (POST /v1/chat), with the same server-backed conversation history as the rest of the suite. Describe what you want in words — “read this in a calm voice, a bit slower” — and it picks the voice, applies the controls that voice supports, and synthesizes. It is a front door onto the same API documented here, not a separate engine.
What it is not
Section titled “What it is not”- It is not a place to manage credentials. Text-to-Speech has no product-specific API keys of its own; you authenticate with a suite-wide Personal Access Token (
idn_pat_…), and any third-party credentials you need elsewhere live in Connect. - It is not an MP3 encoder. Output is always WAV.