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
| Field | Required | Notes |
|---|---|---|
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 secondstranscript— 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.