API Docs

    Overview
    Authentication
    Check Permission
    Text APIs
      Text Translation
      Text to Speech
      Text to Speech (Voice Cloning)
      Multi-Speaker Text to Text
      Multi-Speaker Text to Speech (Voice Cloning)
    Speech Recognition APIs
      Speech to Text
      Multi-Speaker Speech to Text
    Video APIs
      Video Subtitling
      Video Translation
      Video Translation (Voice Cloning)

API Docs

Text to Speech – Voice Cloning

Generate speech using cloned voices by combining text input with reference voice samples.

Create Text to Speech Voice Cloning Request

POST

/api/tts-w-vc

This endpoint converts written text into speech using a cloned human voice. The voice is selected using a predefined avatar profile.

The request is processed asynchronously. Once accepted, the API returns a unique log_id which can be used to track synthesis progress and retrieve the generated audio.


Request Body

project_title (string, required)

A human-readable title to identify the voice cloning project.

Example: "My Project"

input_text (string, required)

The text content that will be synthesized using the cloned voice.

Example: "Hello world"

language (string, required)

Language of the input text used for speech synthesis (for example: english, hindi).

View example →

avatar (string, required)

Identifier of the cloned voice avatar to be used for speech synthesis.

Example: "daaji"

View example →

Response

On successful submission, the API returns a unique log_id.
Use this log_id with the Fetch Text to Speech Voice Cloning By ID endpoint to retrieve the generated audio and processing details.

{
  "log_id": "695031477d5247d58c029e85"
}

curl

curl --location 'https://api.narris.io/api/tts-w-vc' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
  "project_title": "My Project",
  "input_text": "Hello world",
  "language": "english",
  "avatar": "daaji"
}'

Fetch Text to Speech Voice Cloning List

GET

/api/tts-w-vc/logs

This endpoint allows you to fetch a paginated list of text to speech requests generated using cloned voice avatars.

Each entry represents a voice cloning job and includes its current status, synthesis parameters, creation time, and completion time (if available).


Request Body

page (number, optional)

Page number for pagination.

Example: 1

limit (number, optional)

Number of records to return per page.

Example: 10


Response

On success, the API returns a paginated list of voice cloning logs.
Each log contains a unique _id which can be used with the Fetch Text to Speech Voice Cloning By ID endpoint to retrieve detailed synthesis results and generated audio.

{
  "total": 10,
  "page": 1,
  "limit": 10,
  "logs": [
    {
      "_id": "695031477d5247d58c029e85",
      "project_title": "My Project",
      "speed": "1",
      "pitch": "0",
      "status": "processing",
      "createdAt": "2025-12-27T19:19:35.036Z"
    },
    {
      "_id": "695031167d5247d58c029e62",
      "project_title": "My Project",
      "speed": "1",
      "pitch": "0",
      "status": "finished",
      "createdAt": "2025-12-27T19:18:46.737Z",
      "finishedAt": "2025-12-27T19:19:03.426Z"
    },
    {
      "_id": "694b3c1199f08a2ce975b2af",
      "project_title": "My Project",
      "speed": "1",
      "pitch": "0",
      "status": "failed",
      "createdAt": "2025-12-24T01:04:17.078Z"
    }
  ]
}

curl

curl --location 'https://api.narris.io/api/tts-w-vc/logs?page=1&limit=10' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY'

Fetch Text to Speech Voice Cloning By ID

GET

/api/tts-w-vc/{log_id}

This endpoint allows you to fetch the complete details of a text to speech request generated using a cloned voice avatar.

The response includes the original input text, selected avatar, language, synthesis parameters, processing status, and the generated audio output once the request is completed.


Request Body

log_id (string, required)

Unique identifier of the voice cloning text to speech request returned during creation or from logs.

Example: "6943deeac4e97d9166fd1626"


Response

On success, the API returns detailed information about the voice cloning request.
If synthesis is completed, the response includes a downloadable output_file URL for the generated audio.

{
  "_id": "6943deeac4e97d9166fd1626",
  "project_title": "My Project",
  "input_text": "Hello world",
  "language": "english",
  "avatar": "daaji",
  "speed": "1",
  "pitch": "0",
  "status": "finished",
  "createdAt": "2025-12-18T11:00:58.702Z",
  "updatedAt": "2025-12-18T11:01:17.255Z",
  "finishedAt": "2025-12-18T11:01:17.254Z",
  "output_file": "https://lingui-dev.s3.amazonaws.com/text_to_speech_with_voice_over/output/20251218110115_20251218110101.wav"
}

curl

curl --location 'https://api.narris.io/api/tts-w-vc/6943deeac4e97d9166fd1626' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY'

Notes for Developers

• Voice cloning requests require a valid reference audio sample to reproduce the target speaker’s voice characteristics.
• Requests are processed asynchronously. Always store the returned log_id to track cloning and audio generation status.
• Voice cloning jobs may remain in pending or processing state longer than standard TTS depending on audio length and model load.
• Use the Fetch Voice Cloning List endpoint to view all cloned voice jobs and Fetch Voice Cloning By ID to retrieve the generated audio output.