Chọn ngôn ngữ
Chọn giao diện

Create Speech (Text-to-Speech)

Converts text into speech using a voice of your choice and returns audio.

Request

curl -X POST "https://api.kingcongstudio.com/v1/text-to-speech/$voice_id?output_format=mp3_44100_128" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: $API_KEY" \
  -d '{
  "text": "The first move is what sets everything in motion.",
  "model_id": "eleven_multilingual_v2",
  "with_transcript": false,
  "receive_url": "http://your-webhook-endpoint"
}'

Parameters

voice_id PATH Voice ID from List Voices endpoint
output_format QUERY Audio format (mp3_44100_128, mp3_44100_192, etc.)
text BODY Text content to convert to speech
model_id BODY Model ID (eleven_multilingual_v2, eleven_monolingual_v1)
with_transcript OPTIONAL Get transcript of the audio (true/false)
receive_url OPTIONAL Webhook endpoint to receive audio file

Success Response

{
  "success": true,
  "task_id": "uuid_task_id",
  "ec_remain_credits": 100
}

Webhook Response (or GET Task polling)

{
  "id": "uuid_task_id",
  "created_at": "2025-01-01T00:00:00.000Z",
  "status": "done",
  "error_message": null,
  "credit_cost": 1,
  "metadata": {
    "audio_url": "https://example.com/audio.mp3",
    "srt_url": "https://example.com/audio.srt",
    "json_url": "https://example.com/audio.json"
  },
  "type": "tts"
}

Read Elevenlabs documentation for more details (as Free user)

Dub an Audio File

Dubs a provided audio file into given language. Returns dubbed audio & transcript (srt).

Request

curl -X POST "https://api.kingcongstudio.com/v1/task/dubbing" \
  -H "xi-api-key: $API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F [email protected] \
  -F num_speakers="0" \
  -F disable_voice_cloning="false" \
  -F source_lang="auto" \
  -F target_lang="vi" \
  -F receive_url="http://your-webhook-endpoint"

Parameters

file FILE Audio file (m4a, mp3) - Max: 20MB or 5 minutes
num_speakers OPTIONAL Number of speakers (0 = auto detect) - Default: 0
disable_voice_cloning OPTIONAL [BETA] Use similar voice from library instead of cloning - Default: true
source_lang OPTIONAL Source language ("auto" for auto-detect) - Default: "auto"
target_lang REQUIRED Target language to dub into (vi, en, es, fr, de, ja, ko, zh, etc.)
receive_url OPTIONAL Webhook endpoint to receive result when done

Success Response

{
  "success": true,
  "task_id": "uuid_task_id",
  "ec_remain_credits": 95
}

Webhook Response (or GET Task polling)

{
  "id": "uuid_task_id",
  "created_at": "2025-01-01T00:00:00.000Z",
  "status": "done",
  "error_message": null,
  "credit_cost": 5,
  "metadata": {
    "audio_url": "https://example.com/dubbed_audio.mp3",
    "srt_url": "https://example.com/transcript.srt",
    "json_url": "https://example.com/transcript.json"
  },
  "type": "dubbing"
}

Speech to Text (Transcription)

Transcribes a provided audio file and returns transcript as JSON and SRT.

Request

curl -X POST "https://api.kingcongstudio.com/v1/task/speech-to-text" \
  -H "xi-api-key: $API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F [email protected] \
  -F receive_url="http://your-webhook-endpoint"

Parameters

file FILE Audio file - Max: 200MB
receive_url OPTIONAL Webhook endpoint to receive transcript when done

Success Response

{
  "success": true,
  "task_id": "uuid_task_id",
  "ec_remain_credits": 98
}

Webhook Response (or GET Task polling)

{
  "id": "uuid_task_id",
  "created_at": "2025-01-01T00:00:00.000Z",
  "status": "done",
  "error_message": null,
  "credit_cost": 2,
  "metadata": {
    "json_url": "https://example.com/transcript.json",
    "srt_url": "https://example.com/transcript.srt"
  },
  "type": "speech_to_text"
}

List Models

Retrieve available voice synthesis models.

Request

curl "https://api.kingcongstudio.com/v1/models" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: $API_KEY"

Success Response

{
  "models": [
    {
      "model_id": "eleven_multilingual_v2",
      "name": "Eleven Multilingual v2",
      "can_be_finetuned": false,
      "can_do_text_to_speech": true,
      "can_do_voice_conversion": true,
      "languages": ["en", "es", "fr", "de", "it", "pt", "pl", "hi", "ar", ...]
    },
    {
      "model_id": "eleven_monolingual_v1",
      "name": "Eleven English v1",
      "can_be_finetuned": false,
      "can_do_text_to_speech": true,
      "can_do_voice_conversion": false,
      "languages": ["en"]
    }
  ]
}

List Recommended Voices

Gets a list of all available voices for a user with search, filtering and pagination (as free user).

Request

curl "https://api.kingcongstudio.com/v2/voices" \
  -H "xi-api-key: $API_KEY"

Read Elevenlabs documentation for response format and filtering options

List Shared Voices

Retrieves a list of shared voices (as free user).

Request

curl "https://api.kingcongstudio.com/v1/shared-voices" \
  -H "xi-api-key: $API_KEY"

Read Elevenlabs documentation for response format

Get Common Configuration

Retrieves common configuration settings from Minimax service (model, language support, etc.)

Request

curl "https://api.kingcongstudio.com/v1m/common/config" \
  -H "xi-api-key: $API_KEY"

Text-to-Speech Task

Converts text to speech using Minimax TTS service. Supports both synchronous and asynchronous processing.

Request

curl -X POST "https://api.kingcongstudio.com/v1m/task/text-to-speech" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: $API_KEY" \
  -d '{
  "text": "Hello, this is a test message for text-to-speech conversion.",
  "model": "speech-2.6-hd",
  "voice_setting": {
    "voice_id": "209533299589184", 
    "vol": 1, 
    "pitch": 0, 
    "speed": 1 
  },
  "language_boost": "Auto",
  "with_transcript": false,
  "receive_url": "http://your-webhook-endpoint"
}'

Parameters

text REQUIRED Text to convert to speech
model REQUIRED TTS model (turbo models cost 0.6x credits)
voice_setting.voice_id REQUIRED Your Voice ID
language_boost OPTIONAL Language boost - Default: Auto
voice_setting.speed OPTIONAL Speed - Default: 1 (Min: 0.01, Max: 10.00)
voice_setting.pitch OPTIONAL Pitch - Default: 0 (Min: -12, Max: 12)
voice_setting.vol OPTIONAL Volume - Default: 1 (Min: 0.5, Max: 2.0)
receive_url OPTIONAL Webhook URL to receive the audio file

Success Response

{
  "success": true,
  "task_id": "uuid_task_id",
  "ec_remain_credits": 100
}

Webhook Response

{
  "id": "uuid_task_id",
  "created_at": "2025-01-01T00:00:00.000Z",
  "status": "done",
  "error_message": null,
  "credit_cost": 1,
  "metadata": {
    "audio_url": "https://example.com/audio.mp3",
    "srt_url": "https://example.com/audio.srt"
  },
  "type": "minimax_tts"
}

Clone Voice

Uploads an audio file to create a custom voice clone.

Request

curl -X POST "https://api.kingcongstudio.com/v1m/voice/clone" \
  -H "xi-api-key: $API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F file=@audio_sample.mp3 \
  -F voice_name="My Voice" \
  -F preview_text="Hello world" \
  -F language_tag="English" \
  -F need_noise_reduction=true \
  -F gender_tag="male"

Parameters

file FILE Audio file (mp3) - Max: 20MB or 5 minutes
voice_name REQUIRED Name for the cloned voice
preview_text REQUIRED Preview text for testing
language_tag REQUIRED Language (e.g. "English")
need_noise_reduction OPTIONAL Remove noise from audio (true/false)
gender_tag REQUIRED Gender: "male" or "female"

Success Response

{
  "success": true,
  "cloned_voice_id": 12345
}

Delete Voice Clone

Deletes a voice clone and all its references.

Request

curl -X DELETE "https://api.kingcongstudio.com/v1m/voice/clone/$voice_clone_id" \
  -H "xi-api-key: $API_KEY"

Success Response

{
  "success": true
}

List Voice Clones

Retrieves all voice clones owned by the authenticated user.

Request

curl "https://api.kingcongstudio.com/v1m/voice/clone" \
  -H "xi-api-key: $API_KEY"

Get Voice List

Retrieves available voices from Minimax service.

Request

curl -X POST "https://api.kingcongstudio.com/v1m/voice/list" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: $API_KEY" \
  -d '{
  "page": 1,
  "page_size": 30,
  "tag_list": []
}'

Parameters

page OPTIONAL Page number - Default: 1
page_size OPTIONAL Items per page - Default: 30
tag_list OPTIONAL Filter tags (language, accent, gender, age)

Music Generation

Generates music using Minimax AI music generation service. Supports both idea-based and lyrics-based generation.

Request

curl -X POST "https://api.kingcongstudio.com/v1m/task/music-generation" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: $API_KEY" \
  -d '{
  "title": "My Song Title",
  "idea": "A relaxing jazz piece for a quiet evening",
  "n": 1,
  "style_id": "8",
  "mood_id": "5",
  "scenario_id": "5",
  "rewrite_idea_switch": false,
  "receive_url": "http://your-webhook-endpoint"
}'

Parameters

title OPTIONAL Song title (max 40 characters)
idea REQUIRED Music idea/description (min 20, max 300 characters)
lyrics OPTIONAL Song lyrics (min 50, max 3000 characters)
style_id OPTIONAL Music style ID (1-18): Pop, Rock, Jazz, etc.
mood_id OPTIONAL Music mood ID (1-11): Relaxed, Happy, Sad, etc.
scenario_id OPTIONAL Music scenario ID (1-10): Coffee shop, Travel, etc.
n OPTIONAL Number of tracks (default: 1, min: 1, max: 3)
rewrite_idea_switch OPTIONAL Rewrite idea for better results (default: false)
receive_url OPTIONAL Webhook URL to receive generated music

Success Response

{
  "success": true,
  "task_id": "uuid_task_id",
  "ec_remain_credits": 100
}

Webhook Response

{
  "id": "uuid_task_id",
  "created_at": "2025-01-01T00:00:00.000Z",
  "status": "done",
  "error_message": null,
  "credit_cost": 1,
  "metadata": {
    "audio_url": [
      "https://example.com/music_track_1.mp3",
      "https://example.com/music_track_2.mp3"
    ],
    "cover_url": [
      "https://example.com/cover_1.jpg",
      "https://example.com/cover_2.jpg"
    ]
  },
  "type": "minimax_music"
}

Purchase Proxy

Purchase proxy by quantity and TTL (minutes).

Request

curl -X POST "https://api.kingcongstudio.com/v1p/proxy/purchase" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: $API_KEY" \
  -d '{
  "ttl": 10,
  "quantity": 5
}'

Parameters

ttl REQUIRED Time to live: 5 or 10 minutes
quantity REQUIRED Quantity to buy

Success Response

{
  "success": true,
  "data": {
    "purchased_proxies": [
      {
        "id": 1,
        "proxy": "http://user:pass@host:port",
        "socks5": {
          "host": "host",
          "port": 1080,
          "username": "user",
          "password": "pass"
        },
        "ttl_minutes": 60,
        "credit_cost": 1250,
        "expires_at": "2025-01-01T00:00:00.000Z"
      }
    ],
    "total_cost": 6250,
    "total_purchased": 5,
    "requested_quantity": 5,
    "refunded_credits": 0,
    "unavailable_proxies": 0
  }
}

Your Purchased Proxies

List of your purchased proxies.

Request

curl "https://api.kingcongstudio.com/v1p/proxy/purchases" \
  -H "xi-api-key: $API_KEY"

Success Response

{
  "success": true,
  "data": {
    "purchases": [
      {
        "id": 1,
        "proxy": "http://user:pass@host:port",
        "socks5": {
          "host": "host",
          "port": 1080,
          "username": "user",
          "password": "pass"
        },
        "ttl_minutes": 10,
        "credit_cost": 1250,
        "expires_at": "2025-01-01T00:00:00.000Z"
      }
    ],
    "total": 1
  }
}

Get Task

Retrieves a task detail by task id. For polling if you don't use webhook.

Request

curl "https://api.kingcongstudio.com/v1/task/$task_id" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: $API_KEY"

Success Response

{
  "id": "uuid_task_id",
  "created_at": "2025-01-01T00:00:00.000Z",
  "status": "doing",
  "error_message": null,
  "credit_cost": 1,
  "metadata": {
    "audio_url": "https://example.com/audio.mp3",
    "srt_url": "https://example.com/audio.srt",
    "json_url": "https://example.com/audio.json"
  },
  "progress": 60,
  "type": "tts"
}

Status values: "doing", "done", "error" | Progress: 0-100

List Tasks

List current user's tasks with pagination and optional type filter.

Request

curl "https://api.kingcongstudio.com/v1/tasks?page=1&limit=20&type=tts" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: $API_KEY"

Query Parameters

page OPTIONAL Page number (default: 1)
limit OPTIONAL Items per page: 1-100 (default: 20)
type OPTIONAL Task type filter (tts, dubbing, minimax_tts, etc.)

Success Response

{
  "success": true,
  "data": [
    {
      "id": "uuid_task_id",
      "created_at": "2025-01-01T00:00:00.000Z",
      "status": "doing",
      "error_message": null,
      "credit_cost": 1,
      "metadata": {
        "audio_url": "https://example.com/audio.mp3",
        "srt_url": "https://example.com/audio.srt"
      },
      "type": "tts",
      "progress": 60
    }
  ],
  "page": 1,
  "limit": 20,
  "total": 42
}

Delete Task

Delete tasks and get refund (if available).

Request

curl -X POST "https://api.kingcongstudio.com/v1/task/delete" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: $API_KEY" \
  --data-raw '{"task_ids":["uuid_task_id"]}'

Success Response

{
  "success": true,
  "refund_credits": 100
}

Get Credits

Returns total available credits of current user.

Request

curl "https://api.kingcongstudio.com/v1/credits" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: $API_KEY"

Success Response

{
  "success": true,
  "credits": 123
}

Health Check

Check service health/config status.

Request

curl "https://api.kingcongstudio.com/v1/health-check" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: $API_KEY"

Success Response

{
  "success": true,
  "data": {
    "elevenlabs": "good",
    "minimax": "good"
  }
}

Status values: "good", "degraded", "overloaded"