Parameters

Audio Upload and Token Authentication

When submitting your job via API, ensure the following:
  • The source_audio is provided via multipart/form-data
  • The developer_token must be included in the Authorization header as a Bearer token
-H "Authorization: Bearer YOUR_USAGE_TOKEN"

Biometric Redaction Parameters

biometric-age
string
default:"young-adult"
Biometric age group to apply to the anonymized voice identity. Only used when avatar is not provided. Allowed values:
  • young-adult (18–39)
  • middle-aged-adult (40–59)
  • senior-adult (60+)
  • same
  • random
gender
string
default:"random"
Target gender of the anonymized voice identity. Allowed values:
  • same
  • opposite
  • random
  • f
  • m
language
string
default:"en"
Target language of the audio file. Allowed values:
  • en
  • fr
  • it
  • es
  • de
model_id
string
default:"mini"
Model variant for biometric voice print redaction. Allowed values:
  • mini 0.25 RTF
  • advanced 0.75 RTF
emotion
string
Optional emotion to apply to avatar identity.

Example Curl Usage

✅ Minimal biometric redaction request (uses defaults)

curl -X POST https://voiceharbor.ai/api/speech-to-speech-biometric-redaction \
  -H "Authorization: Bearer YOUR_USAGE_TOKEN" \
  -H "Content-Type: multipart/form-data" \
  -F "source_audio=@./martin.wav" \
  --output result.wav

🎯 Custom biometric request

curl -X POST https://voiceharbor.ai/api/speech-to-speech-biometric-redaction \
  -H "Authorization: Bearer YOUR_USAGE_TOKEN" \
  -H "Content-Type: multipart/form-data" \
  -F "source_audio=@./martin.wav" \
  -F "model_id=advanced" \
  -F "biometric-age=same" \
  -F "gender=opposite" \
  -F "emotion=sad" \
  -F "language=fr" \
  --output redacted_fr.wav

⚠️ Possible API Errors

HTTP CodeError ConditionMessage
400Invalid field value or combinationDescriptive error string
401Missing or malformed Authorization header"Missing Authorization header"
403Invalid developer token"Invalid token"
400Missing audio"Missing audio file"
400Invalid model_id"Invalid model_id. Allowed: mini, advanced"
400Invalid biometric-age"Invalid biometric-age. Allowed: young-adult, middle-aged-adult, senior-adult, same, random"
400Invalid gender"Invalid gender. Allowed: same, random, opposite"
400Invalid emotion"Invalid emotion. Allowed: ..."
500Backend failure"Proxying failed"
503Model not loaded"Model not loaded"