Voice Clone TTS

Provide text and a voice (speaker) to synthesize speech in that voice (voice cloning). No file upload required — the input is text.

Create Task

Basics

ItemValue
MethodPOST
Path/task/audio_tts_clone
Content-Typeapplication/json
AuthAuthorization header (pass the API Key directly)

Request Body

FieldTypeRequiredDefaultDescription
textstringYesText to synthesize; non-empty, up to 2000 characters
speakerstringYesVoice code (see "Available Voices" below)
text_langstringNozhTarget language; phase 1 supports Chinese zh
output_formatstringNowavOutput audio format: wav or mp3
speednumberNovoice presetSpeech speed factor (0.5 ~ 2.0); defaults to the voice's preset speed

Available Voices (speaker)

VoiceCode (speaker)GenderDemo
NarratornarratorMale
Sweet Girl (internal members only)sweet_femaleFemale
Cantonese Sistercantonese_accentFemale
Radio Hostessradio_femaleFemale
Heartwarming Sisterheartwarming_femaleFemale
Kind Voicekind_femaleFemale
LecturerlecturerMale
Professor Franprofessor_franMale
Energetic Female (internal members only)energetic_femaleFemale

The voice list is updated over time; refer to the latest docs before calling. "Demo" plays a sample clip per voice. Voices marked "internal members only" are available to Gitruck Cloud internal members; other accounts requesting them receive a parameter error explaining why.

Billing

Billed by synthesized duration (minutes). Because the audio is the output (no input audio to probe at creation time), the duration is estimated from the character count (Chinese ≈ 200 chars/minute).

Example Request

curl -X POST https://api.ai-mcn.tv:10000/task/audio_tts_clone \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Hello, welcome to this episode.",
    "speaker": "narrator",
    "output_format": "wav",
    "speed": 1.0
  }'

Success Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "task_id": "537489015178247",
    "task_type": "audio_tts_clone",
    "status": "queued"
  }
}

Query Task Result

Basics

ItemValue
MethodGET
Path/task/audio_tts_clone/{task_id}
AuthAuthorization header (pass the API Key directly)

Response (output_result)

FieldTypeDescription
file_idstringSynthesized audio file ID
download_urlstringAudio download path
speakerstringVoice code used

Success Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "task_id": "537489015178247",
    "status": "completed",
    "progress": 100,
    "output_result": {
      "file_id": "537489015178248",
      "download_url": "/download/a1/output_tts.wav",
      "speaker": "narrator"
    },
    "create_time": "2026-06-21T08:00:00Z",
    "update_time": "2026-06-21T08:00:12Z"
  }
}

Error Codes

CodeHTTPDescriptionResolution
6013400Missing required parameter (text / speaker)Provide the parameter
6011400Invalid business parameter (unavailable speaker, text too long, speed out of range, etc.)Fix per the parameter spec
6502401Authentication failedCheck the Authorization header
6201402Insufficient quotaTop up in the dashboard
6202402Insufficient balanceTop up in the dashboard

Limits

  • Up to 2000 characters per request; split longer text into multiple calls.
  • Phase 1 supports Chinese (zh) target language only.
  • Only authorized, quality-approved voices are available (see "Available Voices").
  • Voices marked "internal members only" require Gitruck Cloud internal membership; other accounts requesting them receive a parameter error (no silent fallback to another voice).