Skip to main content

Voice Models

NextNeural supports zero-shot voice cloning and LoRA fine-tuning to create custom speaker voices that can be deployed to the shared voice catalog.

List speakers​

GET /api/voice/models/speakers

[
{
"name": "aria-custom",
"language": "en-US",
"description": "Custom US English sales voice",
"deployed": true,
"voice_sample_uuid": "vs_x1y2z3",
"created_at": "2026-05-01T00:00:00Z"
}
]

Create speaker​

POST /api/voice/models/speakers — Rate limit: 5/minute

Creates a speaker via zero-shot voice cloning from a reference audio clip.

Request: multipart/form-data

FieldRequiredNotes
name✓Unique identifier; lowercase with hyphens
language✓e.g. hi-IN, en-US
description—
reference_audio✓WAV or MP3, 10–60 seconds, clean speech

Response:

{
"name": "aria-custom",
"language": "en-US",
"status": "created",
"message": "Speaker created. Upload dataset samples and deploy to use in flows."
}

Get / Delete speaker​

GET /api/voice/models/speakers/{name}
DELETE /api/voice/models/speakers/{name} — Deletes speaker and dataset; undeploys from catalog first.


Reference audio​

GET /api/voice/models/speakers/{name}/reference

Streams the reference audio clip used to create the speaker.


Dataset (LoRA fine-tuning)​

GET /api/voice/models/speakers/{name}/dataset

{ "name": "aria-custom", "sample_count": 47, "total_duration_seconds": 312, "status": "ready" }

Upload sample​

POST /api/voice/models/speakers/{name}/dataset/sample — Rate limit: 30/minute

Request: multipart/form-data

  • audio — WAV or MP3, 5–30 seconds
  • transcript — exact text spoken in the audio
{
"sample_id": "smp_s1t2u3",
"duration_seconds": 8.4,
"transcript": "Hi, good morning! This is Aria calling from Luminary Home."
}

Clear dataset​

DELETE /api/voice/models/speakers/{name}/dataset

Removes all uploaded samples. Does not delete the speaker.


Deploy speaker​

POST /api/voice/models/speakers/{name}/deploy — Rate limit: 5/minute

Publishes the speaker to the shared voice catalog, making it available as a voice sample when creating agents and campaigns.

{ "name": "aria-custom", "deployed": true, "voice_sample_uuid": "vs_x1y2z3" }

Undeploy speaker​

DELETE /api/voice/models/speakers/{name}/deploy

Removes from catalog. Does not delete the speaker or dataset. Campaigns using this voice continue to work until updated.