Skip to main content
POST
/
v1
/
translate
Translate an existing transcript or audio
curl --request POST \
  --url https://api.sky-scribe.com/v1/translate \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "target_language": "<string>",
  "transcription_id": "<string>",
  "audio_url": "<string>",
  "original_language": "<string>",
  "format": [
    "json"
  ],
  "callback": "<string>",
  "diarize": true,
  "team_id": "<string>",
  "folder_id": "<string>",
  "output_config": {
    "include_timestamps": true,
    "include_speakers": false
  }
}
'
{
  "status": "completed",
  "id": "<string>",
  "data": {
    "json": {
      "original_language": "<string>",
      "target_language": "<string>",
      "text": "<string>",
      "segments": [
        {
          "source_segment_id": "<string>",
          "start": 123,
          "end": 123,
          "text": "<string>",
          "speaker": "<string>"
        }
      ]
    },
    "doc": {
      "url": "<string>"
    },
    "pdf": {
      "url": "<string>"
    },
    "txt": {
      "url": "<string>"
    },
    "markdown": "<string>",
    "srt": {
      "url": "<string>"
    },
    "vtt": {
      "url": "<string>"
    },
    "csv": {
      "url": "<string>"
    }
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

Translate an existing transcript or audio.

target_language
string
required

Target language code (BCP-47).

transcription_id
string

ID of an existing SkyScribe transcription.

audio_url
string<uri>

Optional audio/video URL to transcribe + translate.

original_language
string

Optional source language hint. Defaults to "auto" if undefined.

format
enum<string>[]

(Optional) Output formats to generate. Available: doc, pdf, txt, markdown, srt, vtt, csv, json. Defaults to ["json"] if not provided.

Available options:
doc,
pdf,
txt,
markdown,
srt,
vtt,
csv,
json
callback
string<uri>

(Optional) Webhook URL for async processing. If provided, the job runs asynchronously and results are sent to this URL when complete. Without callback, the endpoint processes synchronously.

diarize
boolean

(Optional) Enable speaker diarization when processing audio.

team_id
string

(Optional) Team identifier. If not provided, uses your default workspace.

folder_id
string

(Optional) Folder identifier. If not provided, file will be added to the root of the workspace.

output_config
object

(Optional) Configuration for output formatting.

Response

Translation response. Returns one of two response types:

Option 1 - Completed (status: "completed"): Returned when no callback URL is provided (synchronous processing). Response includes status, id, and data with all requested formats (defaults to json if not specified).

Option 2 - Pending (status: "pending"): Only returned when callback URL is provided (asynchronous processing). Response includes status, id, and poll_url to check progress. Results will be sent to the callback URL when complete.

status
enum<string>
required
Available options:
completed
id
string
required
data
object
required

Map of requested formats to their data. Only formats specified in the request will be present. If no formats were specified, defaults to json only.