Skip to main content

Voices

Knox exposes ElevenLabs-compatible voice library endpoints at https://api.knoxstudio.ai/v1 (and GET /v2/voices) for KnoxStudio. Authenticate with your Knox API key (Authorization: Bearer sk-... or xi-api-key). The same routes are also served by https://api.knox.chat/v1.

Use the returned voice_id with Text to Speech and Voice Changer. Voice reads, clones, and PVC operations are not billed as audio minutes; your token still needs access to a TTS model.

Typical flow:

  1. Search — GET /v2/voices
  2. Or list — GET /v1/voices
  3. Clone (IVC) — POST /v1/voices/add
  4. Use voice_id on TTS / Voice Changer
https://api.knoxstudio.ai/v1
Authorization: Bearer sk-...

Sample uploads stay under the music multipart ceiling (210MB wrapping). A commonly used public voice is 21m00Tcm4TlvDq8ikWAM (Rachel).

Search and list​

GET /v2/voices is the filtered search API. page_size is 1–100 (default 10). voice_ids accepts at most 100 IDs.

curl -X GET "https://api.knoxstudio.ai/v2/voices?page_size=10&sort=name&sort_direction=asc" \
-H "Authorization: Bearer $KNOXCHAT_API_KEY"

Search filters Knox validates: sort (created_at_unix, name), sort_direction (asc, desc), voice_type (personal, community, default, workspace, non-default, non-community, saved), category (premade, cloned, generated, professional), fine_tuning_state, plus booleans include_custom_rates, include_live_moderated, high_quality, include_total_count.

Shared Voice Library: GET /v1/shared-voices. Add a shared voice with POST /v1/voices/add/{public_user_id}/{voice_id} (new_name required).

Instant Voice Clone (IVC)​

POST /v1/voices/add requires name and files (audio samples).

curl -X POST https://api.knoxstudio.ai/v1/voices/add \
-H "Authorization: Bearer $KNOXCHAT_API_KEY" \
-F "name=Studio Narrator" \
-F "files=@sample1.wav" \
-F "files=@sample2.wav"

Edit metadata with POST /v1/voices/{voice_id}/edit (name required). Delete with DELETE /v1/voices/{voice_id}.

Voice settings​

GoalEndpoint
Default settingsGET /v1/voices/settings/default
Get settingsGET /v1/voices/{voice_id}/settings
Edit settingsPOST /v1/voices/{voice_id}/settings/edit
Accents for a TTS modelGET /v1/voices/accents
Similar voicesPOST /v1/similar-voices

Settings fields: stability, similarity_boost, style, speed, use_speaker_boost. GET /v1/voices/{voice_id} accepts with_settings=true.

similarity_threshold on similar-voices is 0–2; top_k is 1–100.

Professional Voice Clone (PVC)​

PVC is a multi-step flow: create the voice, upload samples, optionally separate speakers, train, then verify.

StepEndpoint
CreatePOST /v1/voices/pvc — name and language required
UpdatePOST /v1/voices/pvc/{voice_id}
Upload samplesPOST /v1/voices/pvc/{voice_id}/samples
TrainPOST /v1/voices/pvc/{voice_id}/train
Verification docsPOST /v1/voices/pvc/{voice_id}/verification
CaptchaGET / POST /v1/voices/pvc/{voice_id}/captcha

Sample helpers: audio, waveform, speakers, speaker audio, speaker separation, trim (trim_start_time / trim_end_time), remove_background_noise, selected_speaker_ids.

Replicate an IVC or Voice Design voice to another workspace with POST /v1/voices/{voice_id}/replicate-to-isolated-environment (target_workspace_id required).

Errors​

422 uses { "detail": [{ "loc": [...], "msg": "...", "type": "value_error" }] }. Other errors use { "detail": "..." }.

Common statuses: 401 missing/invalid key, 403 token cannot use a TTS model, 404 voice not found, 422 missing name / files / language.