Kitta Audio Docs
API ReferenceVoice Management

Voice Cloning

Upload reference audio and create a custom voice.

CN API paths use a separate contract

This English reference describes the global FishAudio Open API. For Kitta Audio China integrations, use the CN API Reference, API Playground, and API Keys in this site.

Voice Cloning

POST /api/open/v1/voices
Authorization: Bearer FISHAUDIO_API_KEY
Content-Type: multipart/form-data

Full URL:

https://fishaudio.org/api/open/v1/voices

Voice creation uses reference audio and the FishAudio creation flow. The Open API route ignores provider overrides, so you do not need to send a provider field.

Request Fields

FieldTypeRequiredDescription
namestringYesVoice name
audioFilesfile[]YesOne or more reference audio files
descriptionstringNoVoice description
referenceTextstringNoTranscript for the reference audio
visibilitystringNoprivate or public. Default: private
languagesstringNoJSON string array, such as '["zh","en"]'

Supported file extensions: aac, flac, m4a, mp3, mp4, mpeg, oga, ogg, opus, wav, and webm. Each file can be up to 10MB.

Do not set the multipart boundary manually. When using curl -F, browser FormData, or an SDK, let the client generate Content-Type.

curl Example

curl -X POST "https://fishaudio.org/api/open/v1/voices" \
  -H "Authorization: Bearer FISHAUDIO_API_KEY" \
  -F "name=My cloned voice" \
  -F "description=Chinese narration voice" \
  -F "visibility=private" \
  -F 'languages=["zh"]' \
  -F "audioFiles=@/path/to/sample-1.mp3;type=audio/mpeg" \
  -F "audioFiles=@/path/to/sample-2.wav;type=audio/wav"

Response

{
  "voiceId": "voice_abc123",
  "title": "My cloned voice",
  "description": "Chinese narration voice",
  "createdAt": "2026-07-09T00:00:00.000Z"
}

Store the returned voiceId, then pass it directly when generating speech.

Errors

StatusMeaning
400Missing fields, unsupported file type, or oversize file
401API key is missing or invalid
403Account cannot create voices
429Voice creation requests are too frequent
500Voice creation failed on the server

Creating a voice records Open API usage and is subject to the current account's Open API quota and provider allocation.

Continue with runnable API checks

Docs and executable requests stay in the same CN-site surface. After reading the reference, open the API Playground for curl examples or manage API keys in the developer workspace.

On this page