Voice Design
Design a voice from a text prompt, preview candidates, and save one as a reusable voice.
Voice Design
Voice design is a two-step flow. First create a temporary design and preview its candidates. Then save one candidate to receive a permanent voiceId for TTS.
1. Create previews
POST /api/open/v1/voice-designs
Authorization: Bearer FISHAUDIO_API_KEY
Idempotency-Key: unique-preview-request
Content-Type: application/json{
"prompt": "Warm, calm female narrator with clear pronunciation",
"previewText": "Welcome. This is your new voice.",
"providers": ["fishaudio", "minimax"]
}The response contains a temporary designId, one or more candidateId values, protected previewAudioUrl values, and billing details. Fetch preview audio with the same Bearer API key.
2. Save a candidate
POST /api/open/v1/voice-designs/{designId}/voices
Authorization: Bearer FISHAUDIO_API_KEY
Idempotency-Key: unique-save-request
Content-Type: application/json{
"candidateId": "vdc_example",
"name": "Warm narrator",
"visibility": "private"
}A successful save returns a permanent voiceId. Use that voiceId in TTS requests; do not use designId or candidateId as a voice identifier.
Preview sessions expire after the period configured by the service. Both POST requests require a distinct Idempotency-Key. Repeating the same request with the same key safely replays the stored result; changing the body requires a new key.