Algrow

Docs

Voice Management

List, clone, and delete voices.

Manage your Stealth TTS voices — list available voices, clone custom voices from audio samples, and delete cloned voices.

GET/api/voices/stealth

List available Stealth voices. Returns built-in voices plus any voices you have cloned.

Response Fields

FieldTypeDescription
voice_idstringUse this as the voice_id parameter in /api/generate-simple
namestringDisplay name of the voice
languagestringLanguage code (e.g. en, es, de)
is_clonedbooleanWhether this voice was cloned by you

200 Success 401 Auth failed

Example Request
curl "https://api.algrow.online/api/voices/stealth" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
{
  "success": true,
  "voices": [
    {
      "voice_id": "james",
      "name": "James",
      "language": "en",
      "description": "",
      "tags": [],
      "is_cloned": false
    },
    {
      "voice_id": "my-custom-voice",
      "name": "My Custom Voice",
      "language": "en",
      "description": "Cloned from sample",
      "tags": ["custom"],
      "is_cloned": true
    }
  ]
}

POST/api/voices/clone

Clone a custom Stealth voice from an audio sample. Upload up to 30 seconds of clear speech audio. The cloned voice can then be used with provider=stealth in the generate endpoint.

Clone limits by plan: Professional — 30 clones, Ultimate — unlimited. Requires Professional or Ultimate plan.

Request Parameters (multipart form-data)

NameTypeRequiredDefaultDescription
displayNamestringRequired—Name for the cloned voice
audioFilefileRequired—Audio sample (MP3, WAV, M4A, OGG, WEBM). Max 15MB, max 30 seconds.
langCodestringOptionalEN_USLanguage of the audio. Values: EN_US, ES_ES, FR_FR, DE_DE, PT_BR, IT_IT, JA_JP, KO_KR, ZH_CN, RU_RU, AR_SA, PL_PL, NL_NL, HI_IN, HE_IL
transcriptionstringOptional—Text transcription of the audio sample (improves clone quality)
descriptionstringOptional—Description of the voice
tagsstringOptional—Comma-separated tags (e.g. narrator,deep)
removeBackgroundNoisestringOptionalfalseSet to true to remove background noise from the sample

200 Created 400 Validation error 401 Auth failed 403 Plan / limit

Example Request
curl -X POST "https://api.algrow.online/api/voices/clone" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "displayName=My Narrator" \
-F "langCode=EN_US" \
-F "audioFile=@sample.mp3" \
-F "transcription=Hello, this is a sample of my voice." \
-F "removeBackgroundNoise=true"
Response
{
  "success": true,
  "voice": {
    "voice_id": "my-narrator",
    "name": "My Narrator",
    "language": "EN_US",
    "description": "",
    "tags": []
  }
}

DELETE/api/voices/stealth/:voice_id

Delete a cloned Stealth voice. Only voices you own can be deleted. This action is permanent.

Path Parameters

NameTypeRequiredDescription
voice_idstringRequiredThe voice_id of the cloned voice to delete

200 Deleted 401 Auth failed 404 Not found

Example Request
curl -X DELETE "https://api.algrow.online/api/voices/stealth/my-narrator" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
{
  "success": true
}

GET/api/voices/minimax

List MiniMax voices you have cloned. MiniMax has no built-in catalog — every voice in your library was created via /api/voices/minimax/clone. Requires Professional or Ultimate plan.

Headers

NameTypeRequiredDescription
AuthorizationstringRequiredBearer token: Bearer YOUR_API_KEY

Response Fields

FieldTypeDescription
voice_idstringUse this as the voice_id parameter in /api/generate-simple with provider=minimax
namestringDisplay name you assigned when cloning
languagestringLanguage tag assigned at clone time (e.g. English, Spanish)
is_clonedbooleanAlways true — MiniMax voices are user-cloned only
created_atstringISO-8601 timestamp when the voice was cloned

200 Success 401 Auth failed 403 Plan required

Example Request
curl "https://api.algrow.online/api/voices/minimax" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
{
  "success": true,
  "voices": [
    {
      "voice_id": "user_abc123_my_narrator",
      "name": "My Narrator",
      "language": "English",
      "is_cloned": true,
      "created_at": "2026-06-01T12:00:00"
    }
  ]
}

POST/api/voices/minimax/clone

Clone a custom MiniMax voice from an audio sample. Upload a clear speech sample of at least 30 seconds. The cloned voice can then be used with provider=minimax in the generate endpoint. Requires Professional or Ultimate plan.

Headers

NameTypeRequiredDescription
AuthorizationstringRequiredBearer token: Bearer YOUR_API_KEY
Content-TypestringAutoSet automatically by curl -F. If manual: multipart/form-data

Clone limits by plan: Professional — 8 clones, Ultimate — 15 clones. Requires Professional or Ultimate.

Request Parameters (multipart form-data)

NameTypeRequiredDefaultDescription
voice_namestringRequired—Display name for the cloned voice
audio_filefileRequired—Audio sample (MP3, WAV, M4A, OGG, WEBM). Max 5MB. Min 30 seconds.
languagestringOptionalEnglishLanguage of the sample. Values: English, Chinese, Spanish, French, German, Italian, Portuguese, Polish, Russian, Ukrainian, Czech, Slovak, Croatian, Serbian, Bulgarian, Dutch, Romanian, Swedish, Norwegian, Afrikaans, Catalan, Greek, Lithuanian, Latvian, Vietnamese, Indonesian, Malay, Tagalog, Swahili, Hindi, Japanese, Korean, Danish, Finnish, Hungarian, Slovenian
need_noise_reductionstringOptionaltrueSet to false to skip background-noise reduction on the sample

Response Fields

FieldTypeDescription
voice_idstringUse this as the voice_id parameter in /api/generate-simple with provider=minimax
namestringDisplay name you supplied
languagestringLanguage tag assigned to the clone
is_clonedbooleanAlways true

200 Created 400 Validation error 401 Auth failed 403 Plan / limit 502 Upstream error

Example Request
curl -X POST "https://api.algrow.online/api/voices/minimax/clone" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "voice_name=My Narrator" \
-F "audio_file=@sample.mp3" \
-F "language=English" \
-F "need_noise_reduction=true"
Response
{
  "success": true,
  "voice": {
    "voice_id": "user_abc123_my_narrator",
    "name": "My Narrator",
    "language": "English",
    "is_cloned": true
  }
}

DELETE/api/voices/minimax/{voice_id}

Delete one of your cloned MiniMax voices. Removes the voice from your library and best-effort deletes it upstream. Requires Professional or Ultimate plan.

Headers

NameTypeRequiredDescription
AuthorizationstringRequiredBearer token: Bearer YOUR_API_KEY

Path Parameters

NameTypeRequiredDescription
voice_idstringRequiredThe voice_id of one of your cloned MiniMax voices (from /api/voices/minimax)

200 Deleted 401 Auth failed 403 Plan required 404 Not owned

Example Request
curl -X DELETE "https://api.algrow.online/api/voices/minimax/user_abc123_my_narrator" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
{
  "success": true
}