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

Video Translation

Translate spoken content in videos into other languages with synchronized audio and subtitles.

Create Video Translation Request

POST

/api/vt

This endpoint translates spoken content in a video from one language to another. The pipeline includes speech recognition, translation, and synthesis to generate a translated video output.

Requests are processed asynchronously. Once accepted, the API returns a unique log_id that can be used to track processing status and retrieve the final translated video.


Request Body

project_title (string, required)

A human-readable title to identify the video translation project.

Example: "My Project"

file (file, optional)

Video file to be translated. Required if youtube_url is not provided.

Example: "video.mp4"

youtube_url (string, optional)

YouTube video URL to translate. Required if file is not provided. Do not provide both file and youtube_url.

Example: "https://www.youtube.com/watch?v=XXXX"

input_language (string, required)

Language spoken in the source video.

View example →

output_language (string, required)

Target language into which the video should be translated.

View example →

ttt_model (string, required)

Text Translation model used to translate the recognized speech.

View example →

stt_model (string, required)

Speech to Text model used to extract spoken content from the video.

Example: "narris_fast"

speed (number, optional)

Playback speed of the translated audio. Defaults to 1.

Example: 1

pitch (number, optional)

Pitch adjustment for translated audio. Defaults to 0.

0

Note: You must provide either a video file or a youtube_url. Providing both or neither will result in a validation error.


Response

On successful submission, the API returns a unique log_id.
Use this log_id with the Fetch Video Translation By ID endpoint to retrieve the translated video and processing metadata.

{
  "log_id": "694d96ef7d5247d58c02984c"
}

curl

curl --location 'https://api.narris.io/api/vt' \
--header 'x-api-key: YOUR_API_KEY' \
--form 'project_title="My Project"' \
--form 'file=@"/path/to/video.mp4"' \
--form 'input_language="english"' \
--form 'output_language="hindi"' \
--form 'ttt_model="narris"' \
--form 'stt_model="narris_fast"' \
--form 'speed="1"' \
--form 'pitch="0"'

Fetch Video Translation List

GET

/api/vt/logs

This endpoint allows you to fetch a paginated list of previously created video translation requests.

Each entry represents a video translation job and includes its current status, input source, and timestamps.


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 video translation logs.
Each log contains a unique _id which can be used with the Fetch Video Translation By ID endpoint to retrieve the translated video output and metadata.

{
  "total": 2,
  "page": 1,
  "limit": 10,
  "logs": [
    {
      "_id": "694ae751edd62bc79702edfb",
      "project_title": "My Project",
      "input_file": "https://lingui-dev.s3.amazonaws.com/input/trim_copy_1766516561227.mp4",
      "status": "pending",
      "createdAt": "2025-12-23T19:02:41.919Z"
    },
    {
      "_id": "694adceac08501b29ef8109f",
      "project_title": "My Project",
      "input_file": "https://lingui-dev.s3.amazonaws.com/input/trim_copy_1766513897882.mp4",
      "status": "finished",
      "createdAt": "2025-12-23T18:18:18.350Z",
      "finishedAt": "2025-12-23T18:18:50.347Z",
      "output_file": "https://lingui-dev.s3.amazonaws.com/video_features/output/20251223181848_20251223181846.mp4"
    }
  ]
}

curl

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

Fetch Video Translation By ID

GET

/api/vt/{log_id}

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

The response includes input video details, source and target languages, speech and translation models used, processing status, timestamps, and the final translated video output once the job is completed.


Request Body

log_id (string, required)

Unique identifier of the video translation request returned during creation or from video translation logs.

Example: "694adceac08501b29ef8109f"


Response

On success, the API returns detailed information about the video translation request.
If processing is completed, the output_file field will contain the translated video URL.

{
  "_id": "694adceac08501b29ef8109f",
  "project_title": "My Project",
  "input_file": "https://lingui-dev.s3.amazonaws.com/input/trim_copy_1766513897882.mp4",
  "input_language": "english",
  "output_language": "hindi",
  "speed": "1",
  "pitch": "0",
  "ttt_model": "narris",
  "stt_model": "narris_fast",
  "status": "finished",
  "createdAt": "2025-12-23T18:18:18.350Z",
  "updatedAt": "2025-12-23T18:18:50.348Z",
  "finishedAt": "2025-12-23T18:18:50.347Z",
  "output_file": "https://lingui-dev.s3.amazonaws.com/video_features/output/20251223181848_20251223181846.mp4"
}

curl

curl --location 'https://api.narris.io/api/vt/694adceac08501b29ef8109f' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY'

Notes for Developers

• Video translation requests are processed asynchronously. Always store the returned log_id to track translation status.
• Jobs may remain in pending or processing state depending on video length, target language, and system load.
• Use the Fetch Video Translation List endpoint to view all translation jobs and Fetch Video Translation By ID to retrieve the final translated video and associated metadata.