API reference · ElevenLabs

elevenlabs/text-to-dialogue

Integrate this model through SandBase's unified API, with production-ready schemas and examples.

AUDIOAsyncOpen model
Production endpoint

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

POSThttps://api.sandbase.ai/v1/run
Model IDelevenlabs/text-to-dialogue
01

Input Schema

3 parameters · 0 required · 3 optional

ParameterTypeRequiredDescription
inputsarrayOptionalA list of dialogue inputs, each containing text and a voice ID which will be converted into speech.
stabilitynumberOptionalDetermines how stable the voice is and the randomness between each generation. Lower values introduce broader emotional range for the voice. Higher values can result in a monotonous voice with limited emotion. Must be one of 0.0, 0.5, 1.0, else it will be rounded to the nearest value. · Min: 0 · Max: 1
language_codestringOptionalLanguage code (ISO 639-3) used to enforce a language for the model. · Options: , afr, ara, hye, asm, aze, bel, ben, bos, bul, cat, ceb, nya, hrv, ces, dan, nld, eng, est, fil, fin, fra, glg, kat, deu, ell, guj, hau, heb, hin, hun, isl, ind, gle, ita, jpn, jav, kan, kaz, kir, kor, lav, lin, lit, ltz, mkd, msa, mal, cmn, mar, nep, nor, pus, fas, pol, por, pan, ron, rus, srp, snd, slk, slv, som, spa, swa, swe, tam, tel, tha, tur, ukr, urd, vie, cym
afrarahyeasmazebelbenbosbulcatcebnyahrvcesdannldengestfilfinfraglgkatdeuellgujhauhebhinhunislindgleitajpnjavkankazkirkorlavlinlitltzmkdmsamalcmnmarnepnorpusfaspolporpanronrussrpsndslkslvsomspaswaswetamtelthaturukrurdviecym
02

Output Schema

FieldTypeDescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine-readable error type code
error.messagestringHuman-readable error description

Async Workflow

This model uses asynchronous execution. Submit a request and poll for the result.

  1. Submit — POST to /v1/run, receive an id
  2. Poll — GET /v1/run/{id} until status is completed, failed, or timeout
  3. Retrieve — Read outputs from the completed response
03

Code Examples

Ready-to-run snippets

const apiKey = process.env.SANDBASE_API_KEY;
const response = await fetch("https://api.sandbase.ai/v1/run", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "model": "elevenlabs/text-to-dialogue",
    "inputs": [
      {
        "text": "[applause] Thank you all for coming tonight! Today we have a very special guest with us.",
        "voice": "Aria"
      },
      {
        "text": "[gulps] ... [strong canadian accent] [excited] Hello everyone! Thank you all for having me tonight on this special day.",
        "voice": "Charlotte"
      }
    ]
  }),
});

if (!response.ok) throw new Error(await response.text());
let result = await response.json();
for (let attempt = 0; attempt < 120 && !["completed", "failed", "timeout"].includes(result.status); attempt++) {
  await new Promise((resolve) => setTimeout(resolve, 2_000));
  const poll = await fetch(`https://api.sandbase.ai/v1/run/${result.id}`, {
    headers: { Authorization: `Bearer ${apiKey}` },
  });
  if (!poll.ok) throw new Error(await poll.text());
  result = await poll.json();
}
if (result.status !== "completed") throw new Error(`Generation ended: ${result.status}`);
console.log(result);