VARIANT · ElevenLabs / ElevenLabs

text-to-dialogue-v3 API

ElevenLabs / ElevenLabs

Use text-to-dialogue-v3 from the ElevenLabs family via RunAPI. Per-call pricing, no subscription, and failed generations are never charged.

Operational · audio_music · Commercial OK
runapi.ai
curl -X POST https://runapi.ai/api/v1/elevenlabs/text_to_dialogue \
  -H "Authorization: Bearer $RUNAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "text-to-dialogue-v3",
  "text": "Convert this paragraph into natural speech with a warm British male voice, moderate pace."
}'
import { ElevenlabsClient } from "@runapi.ai/elevenlabs";

const client = new ElevenlabsClient();
const result = await client.textToDialogue.run({
    model: "text-to-dialogue-v3",
    text: "Convert this paragraph into natural speech with a warm British male voice, moderate pace.",
});
<?php

require __DIR__ . "/vendor/autoload.php";

use RunApi\Elevenlabs\ElevenlabsClient;

$client = new ElevenlabsClient();
$result = $client->textToDialogue->run([
        'model' => 'text-to-dialogue-v3',
        'text' => 'Convert this paragraph into natural speech with a warm British male voice, moderate pace.',
]);
require "runapi/elevenlabs"

client = RunApi::Elevenlabs::Client.new
result = client.text_to_dialogue.run(
    model: "text-to-dialogue-v3",
    text: "Convert this paragraph into natural speech with a warm British male voice, moderate pace."
)
npx skills add runapi-ai/elevenlabs -g
# Claude Code
claude mcp add runapi -s user -- npx -y @runapi.ai/mcp

# Codex
codex plugin install runapi-mcp@agents

# Cursor / Windsurf / VS Code
npx @runapi.ai/mcp init cursor
@runapi.ai/elevenlabs v1
Switch variant
OVERVIEW

text-to-dialogue-v3 targets the sweet spot of quality and cost within the ElevenLabs family. It shares the same API key, request shape, and async task lifecycle as every other RunAPI model — switch to this variant by changing one model ID parameter. Install the ElevenLabs skill to load docs, typed schemas, pricing notes, and setup steps into your coding workspace. Billing is metered per completed request in USD with no subscription or minimum spend, and failed generations are never charged.

  • Pay-per-call pricing in USD with no subscription
  • Failed generations are never charged
  • Streaming when supported by the model
  • Schema-validated parameters and tool calls
  • Switch variant by changing one model ID parameter
  • Unified billing across all models and providers
PRICING

Pricing

Failed generations are not charged
Text to dialogue
$0.14 / 1K chars
SPEC SHEET

Technical details

Model ID text-to-dialogue-v3
Provider ElevenLabs
Modality audio_music
Task type asynchronous
Billing unit 1K chars
API endpoint /api/v1/elevenlabs/text_to_dialogue
Commercial license Yes — included via API
Status Operational
SKILLS

Model skill — text-to-dialogue-v3

Install the skill once, then use the variant ID from this page while building.

# Install the model skill for app development workflows
npx skills add runapi-ai/elevenlabs -g
Installs docs, schemas, pricing context, and setup notes into your developer workspace.
Or use this setup request in your coding tool:
Install the ElevenLabs skill for this app:

1. Add runapi-ai/elevenlabs with the skills installer.
2. Load SKILL.md in this workspace.
3. Use its docs, schemas, pricing notes, and setup steps when adding model features.
4. Confirm the install path when done.
HOW IT WORKS

Use text-to-dialogue-v3 with a model skill

01

Install

Install the model skill for the %{model} line. The skill loads docs, typed schemas, pricing notes, and setup steps into your coding workspace so your agent has the right context.

02

Configure

Set the model field to the full model ID shown on this page and configure your RunAPI API key as an environment variable. The same key works across all models and providers.

03

Call

Use the skill instructions while adding prompt, input, and callback handling to your application. RunAPI routes the request to the provider, manages the async lifecycle, and returns structured JSON.

04

Receive

Read the task response by polling the task ID, streaming when supported, or handling the webhook callback at your configured URL. Generated outputs are stored and retrievable by task ID.

DIFFERENCES

What's different about text-to-dialogue-v3

VS AUDIO-ISOLATION

Multi-speaker dialogue generation with natural turn-taking

Vocal extraction from mixed audio sources

VS SOUND-EFFECT-V2

Multi-speaker dialogue generation with natural turn-taking

Text-to-sound effects for games, video, and podcasts

VS SPEECH-TO-TEXT

Multi-speaker dialogue generation with natural turn-taking

Transcription across 29+ languages with speaker diarization

USE CASES

Best for

Podcast & video scoring

Generate royalty-free background music matched to episode mood without licensing fees.

Game audio

Generate adaptive ambient soundscapes and effects for procedurally generated levels.

Ad voiceover & SFX

Generate custom voiceovers and sound effects for client spots without a recording studio.

FAQ

Frequently asked questions about text-to-dialogue-v3

Is the model ID stable across versions?

Yes. RunAPI keeps the model ID stable and handles compatible version refreshes without changing your request shape. You do not need to update your code when the provider releases a new compatible version.

What's the rate limit on this variant?

Per-key rate limits scale with your usage tier. The pricing page shows current limits. If you need higher throughput, contact support to discuss tier upgrades.

Can I switch variants later?

Yes. Variant is a parameter in the request. Switch by changing the model ID — no code changes, no re-authentication, no separate billing setup. All variants share the same API key and request shape.

Does it stream?

Where streaming is available, RunAPI streams end-to-end. LLM models support token-level streaming. Media models use async task polling or webhook callbacks for result delivery.

Where do I report quality issues?

Open an issue on the public GitHub repo or email support at [email protected]. Include the task ID and model ID so the team can investigate the specific generation.

Do I need a separate provider account?

No. Your RunAPI API key is enough to access this variant and every other model in the catalog. You do not need accounts with the underlying provider.

START NOW

Start building with ElevenLabs.