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

Convert written text into natural-sounding speech using our Text to Speech API.

Create Text to Speech Request

POST

/api/tts

This endpoint converts written text into natural-sounding speech using Narris Text to Speech models. The request is processed asynchronously for optimal performance and scalability.

Once the request is accepted, the API returns a unique log_id that can be used to track the synthesis status and retrieve the generated audio.


Request Body

project_title (string, required)

A human-readable title to identify the text to speech project.

Example: "My Project"

input_text (string, required)

The text content that will be converted into spoken audio.

Example: "Hello world"

language (string, required)

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

View example →

Response

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

{
  "log_id": "69502fa57d5247d58c029e54"
}

curl

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

Fetch Text to Speech List

GET

/api/tts/logs

This endpoint allows you to fetch a paginated list of previously created text to speech requests.

Each entry represents a speech synthesis job and includes its current status, voice 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 text to speech logs.
Each log contains a unique _id which can be used with the Fetch Text to Speech By ID endpoint to retrieve the generated audio and detailed job information.

{
  "total": 6,
  "page": 1,
  "limit": 10,
  "logs": [
    {
      "_id": "69502fa57d5247d58c029e54",
      "project_title": "My Project",
      "speed": "1",
      "pitch": "0",
      "status": "finished",
      "createdAt": "2025-12-27T19:12:37.595Z",
      "finishedAt": "2025-12-27T19:12:44.665Z"
    },
    {
      "_id": "694b3c0f99f08a2ce975b2a3",
      "project_title": "My Project",
      "speed": "1",
      "pitch": "0",
      "status": "finished",
      "createdAt": "2025-12-24T01:04:15.852Z",
      "finishedAt": "2025-12-24T01:04:26.577Z"
    }
  ]
}

curl

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

Fetch Text to Speech By ID

GET

/api/tts/{log_id}

This endpoint allows you to fetch the complete details of a text to speech request using its unique log_id.

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


Request Body

log_id (string, required)

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

Example: "69502fa57d5247d58c029e54"


Response

On success, the API returns detailed information about the text to speech request.
If audio generation is completed, the response will include the generated audio URL along with timestamps and status information.

{
  "_id": "6943dafed14f265546c786a6",
  "project_title": "My Project",
  "input_text": "Hello world",
  "language": "english",
  "speed": "1",
  "pitch": "0",
  "status": "finished",
  "createdAt": "2025-12-18T10:44:14.679Z",
  "updatedAt": "2025-12-18T10:44:24.442Z",
  "finishedAt": "2025-12-18T10:44:24.441Z",
  "output_file": "https://lingui-dev.s3.amazonaws.com/text_to_speech/output/20251218104422_20251218104417.wav"
}

curl

curl --location 'https://api.narris.io/api/tts/69502fa57d5247d58c029e54' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY'

Notes for Developers

• Text to Speech requests are processed asynchronously. Always store the returned log_id to track audio generation status.
• Audio generation may remain in pending or processing state for a short time depending on voice complexity and system load.
• Use the Fetch Text to Speech List endpoint to view all synthesis jobs and the Fetch Text to Speech By ID endpoint to retrieve the generated audio output.