GoTranscript offers cloud-native API solutions for quick, continuous transcription and captioning, ensuring precision in every output.
Using GoTranscript API you can submit files for:
When you will make an order, money will be deducted from your GoTranscript wallet.
Authentication is done with an api_token
parameter given in the request body.
Your api_token
is: login_to_see_token
if returned status code is 200
, it indicates that the request was fulfilled successfully and that no error was encountered.
if you receive a status code 400
, it typically indicate that there was an issue with the request that was sent. Among other things,
this could mean that you did not authenticate correctly, or that your request is malformed.
Return codes in the 500
range typically indicate that there is a server-side problem.
This means that we are having an issue on our end and cannot fulfill your request currently.
When a request is successful, a response body will typically be sent back in the form of a JSON
object.
Please take a look at API calls to see what data object will be given. In case of error, standard response
object will be given:
// HTTP 400 Bad Request Error Response
{
'mode' => 'string',
'status' => 'string',
'error' => 'string'
}
GoTranscript uses callbacks to notify your application when your requested job is done.
With every API request, an additional callback_url
parameter can be given.
The value of this parameter must be a valid HTTP URL address, which must be able to handle POST requests.
In case you dont want to pass callback_url
parameter in every API call, you can set it globally in your API settings page.
When your application receives a callback, it must respond with the string ok. If the response is not ok, the request will be retried up to a maximum of 10 attempts, with random time intervals between each attempt.
Send POST request to GoTranscript to order transcription.
Name | Type | Description |
---|---|---|
api_token | String | Your API token. Your current API token is: login_to_see_token |
mode | String | Can be one of the following: test , live . When set to test , file price is calculated but not charged from your wallet. This way you can test how much it will cost to make an order. When you want to make a real order, change test to live . |
url | String | File url you want to transcribe. |
language | String | Language of file. List of available languages: english,arabic,bengali,bosnian,catalan,chinese-simplified,chinese-traditional,croatian,czech,danish,dutch,filipino,finnish,french,german,greek,hebrew,hindi,indonesian,italian,japanese,korean,lithuanian,malay,persian-dari,persian-farsi,polish,portuguese,romanian,russian,serbian,slovak,slovenian,spanish,swahili,swedish,thai,turkish,ukrainian,vietnamese . |
comment | String | Here you can specify names of speakers or other information for transcribers. |
from | Integer | Start file transcription from this amount of seconds. |
till | Integer | Finish file transcription at this amount of seconds. |
text_format | String | Available values: clean_verbatim (default), full_verbatim |
timestamping | String | Available values: not_required (default), every_10_seconds , every_30_seconds , every_2_minutes , change_of_speaker |
turnaround_time | String | Available values: 12_hours , 1_days , 3_days , 5_days (default).
The following languages supports only 3_days , 5_days value: dutch.
The following languages supports only 5_days value: bosnian,catalan,croatian,filipino,french,hebrew,indonesian,lithuanian,persian-dari,persian-farsi,portuguese,romanian,russian,serbian,swahili,swedish,turkish,vietnamese.
|
number_of_speakers | String | Available values: 1_or_2 (default), 3_or_more |
callback_url | String | When order is finished, you can specify url which will be used for callback. |
Response will be in JSON
format.
{
"mode":"live",
"status":"success",
"order_id":123, // order_id will be set only when wallet is charged (live mode)
"order_total":12.34 // $12.34 dollars
"seconds":68, // order duration in seconds
"in_wallet":0, // how much money you have left in your GoTranscript wallet
"delivery_estimate":"2024-12-21 16:23:01", // (UTC time)
}
When file transcription is finished, POST request will be sent to your specified URL. This request will include a payload data in multipart/form-data
format with the following values:
{
'mode' => 'live',
'order_id' => 123,
'transcription_url' => 'https://gotranscript.com/api/v4/test-file/transcriptions?api_token=login_to_see_token',
'language' => 'english', // language of transcription
}
Transcription file format: transcription_url
returns .docx
document url. You can also get transcription in different formats by adding format query parameter to the url with available values: docx
, doc
, pdf
, text
, html
or json
.
Example: https://gotranscript.com/api/v4/test-file/transcriptions?api_token=login_to_see_token&format=json
To test how your server responds to request from gotranscript.com, click on the link below.
Send test response to your server
This API transcribes audio into your chosen language and provides both the transcription and caption files.
Note:
you can select a different language for translation. For instance, if you choose German for an English file, both the transcription and captions will be in German.
Name | Type | Description |
---|---|---|
api_token | String | Your API token. Your current API token is: login_to_see_token |
mode | String | Can be one of the following: test , live . When set to test , file price is calculated but not charged from your wallet. This way you can test how much it will cost to make an order. When you want to make a real order, change test to live . |
url | String | Audio url to transcribe. |
language | String | Language of audio file. List of available languages: english,arabic,catalan,czech,danish,dutch,finnish,french,german,greek,hebrew,hindi,indonesian,italian,japanese,korean,lithuanian,polish,portuguese,romanian,russian,serbian,slovak,slovenian,spanish,swedish,thai,turkish,ukrainian . |
callback_url | String | When order is finished, you can specify url which will be used for callback. |
Response will be in JSON
format.
{
"mode":"live",
"status":"success",
"order_id":123, // order_id will be set only when wallet is charged (live mode)
"order_total":12.34 // $12.34 dollars
"seconds":68, // order duration in seconds
"in_wallet":0, // how much money you have left in your GoTranscript wallet
"ai_transcripts_minutes_left": 1200, // AI transcripts subscription time left in minutes
"delivery_estimate":"2024-12-21 16:23:01", // (UTC time)
}
If a callback_url
parameter is specified in the order request, then POST request will be sent to your specified URL when the state of the order changes. This request will include a payload data in multipart/form-data
format with the following values:
Name | Type | Description |
---|---|---|
mode | String | Can be one of the following: test , live . |
order_id | Integer | Order ID. |
status | String | Can be one of the following: finished , refunded . A refund will be provided to your wallet if we are unable to transcribe the file. |
language | String | Language of transcription. |
transcription_url | String | URL of the completed transcription or an empty string if the status parameter value is not finished . |
captions_url | String | URL of the completed captions or an empty string if the status parameter value is not finished . |
Transcription file format: transcription_url
returns .docx
document url. You can also get transcription in different formats by adding format query parameter to the url with available values: docx
, doc
, pdf
, text
, html
or json
.
Example: https://gotranscript.com/api/v4/test-file/automatic_transcriptions?api_token=login_to_see_token&format=json
To test how your server responds to request from gotranscript.com, click on the link below.
Send test response to your server
Get your AI transcription proofread. Upload your audio file and AI transcription text, and we'll return the corrected text.
For low-quality AI transcriptions, we'll refund your money to the GoTranscript wallet. You can then decide whether to order a human transcription.
Name | Type | Description |
---|---|---|
api_token | String | Your API token. Your current API token is: login_to_see_token |
mode | String | Can be one of the following: test , live . When set to test , file price is calculated but not charged from your wallet. This way you can test how much it will cost to make an order. When you want to make a real order, change test to live . |
audio_url | String | Audio file url you want to transcribe. |
transcription_url | String | Audio transcription file url you want to correct. |
language | String | Language of file. List of available languages: english,arabic,bengali,bosnian,catalan,chinese-simplified,chinese-traditional,croatian,czech,danish,dutch,filipino,finnish,french,german,greek,hebrew,hindi,indonesian,italian,japanese,korean,lithuanian,malay,persian-dari,persian-farsi,polish,portuguese,romanian,russian,serbian,slovak,slovenian,spanish,swahili,swedish,thai,turkish,ukrainian,vietnamese . |
text_format | String | Available values: clean_verbatim (default), full_verbatim . |
timestamping | String | Available values: not_required (default), every_10_seconds , every_30_seconds , every_2_minutes , change_of_speaker . |
turnaround_time | String | Available values: 12_hours , 1_days , 3_days , 5_days (default).
The following languages supports only 3_days , 5_days value: dutch.
The following languages supports only 5_days value: bosnian,catalan,croatian,filipino,french,hebrew,indonesian,lithuanian,persian-dari,persian-farsi,portuguese,romanian,russian,serbian,swahili,swedish,turkish,vietnamese.
|
captions | Boolean | Set this parameter to true if you want to order captions along with the transcription proofreading. Default value is false .
|
comment | String | Here you can specify names of speakers or other information for transcribers. |
callback_url | String | When order is finished, you can specify url which will be used for callback. |
Response will be in JSON
format.
{
"mode":"live",
"status":"success",
"order_id":123, // order_id will be set only when wallet is charged (live mode)
"order_total":12.34 // $12.34 dollars
"seconds":68, // order duration in seconds
"in_wallet":0, // how much money you have left in your GoTranscript wallet
"delivery_estimate":"2024-12-21 16:23:01", // (UTC time)
}
If a callback_url
parameter is specified in the order request, then POST request will be sent to your specified URL when the state of the order changes. This request will include a payload data in multipart/form-data
format with the following values:
Name | Type | Description |
---|---|---|
mode | String | Can be one of the following: test , live . |
order_id | Integer | Order ID. |
status | String | Can be one of the following: finished , refunded . Refund will be given if your supplied AI transcription quality is too low. |
proofread_transcription_url | String | URL of the completed transcription or an empty string if the status parameter value is not finished . |
proofread_captions_url | String | If captions parameter was enabled in the order request and the order process is complete (indicated by a status of finished ), the proofread_captions_url field will contain a URL pointing to the completed proofread transcription captions file. Otherwise, the proofread_captions_url will not be present in the response. |
Transcription file format. transcription_url
returns .docx document url. You can also get transcription in different formats by adding parameter to transcription_url
: docx, doc, pdf, text, html or json
Example: https://gotranscript.com/api/v4/test-file/transcription_proofreading?api_token=login_to_see_token&format=json
To test how your server responds to request from gotranscript.com, click on the link below.
Send test response to your server
The Transcription Forced Alignment API aligns spoken words from audio files with timestamps, providing accurate segmentations.
Upload the audio file and its transcription text to obtain timestamps for individual word segments.
Note:
audio files of up to 1 hour in length are currently accepted per request.
Name | Type | Description |
---|---|---|
api_token | String | Your API token. Your current API token is: login_to_see_token |
mode | String | Can be one of the following: test , live . When set to test , file price is calculated but not charged from your wallet. This way you can test how much it will cost to make an order. When you want to make a real order, change test to live . |
audio_url | String | The url pointing to the audio file to be processed for forced alignment. This file should contain the spoken content corresponding to the provided transcription, enabling the API to accurately align words with their respective timestamps. |
transcription_url | String | The url of the audio transcription file to be aligned. This file should contain only words spoken in given audio file. |
language | String | The language of the submitted audio and transcript. List of available languages: english,french,spanish. |
callback_url | String | When order is finished, you can specify url which will be used for callback. |
Response will be in JSON
format.
{
"mode":"live",
"status":"success",
"order_id":123, // order_id will be set only when wallet is charged (live mode)
"order_total":12.34 // $12.34 dollars
"seconds":68, // order duration in seconds
"in_wallet":0, // how much money you have left in your GoTranscript wallet
"delivery_estimate":"2024-12-21 16:23:01", // (UTC time)
}
If a callback_url
parameter is specified in the order request, then POST request will be sent to your specified URL when the state of the order changes. This request will include a payload data in multipart/form-data
format with the following values:
Name | Type | Description |
---|---|---|
mode | String | Can be one of the following: test , live . |
order_id | Integer | Order ID. |
status | String | Can be one of the following: finished , refunded . |
language | String | Language of audio and transcription. |
forced_alignment_transcription_url | String | Url pointing to the completed transcription alignment JSON file. This file contains an array of aligned transcription word segments, each accompanied by its corresponding begin and end timestamps. forced_alignment_transcription_url can be empty string if the status parameter value is not finished . |
To test how your server responds to request from gotranscript.com, click on the link below.
Send test response to your serverSend POST request to GoTranscript to order translation.
Name | Type | Description |
---|---|---|
api_token | String | Your API token. Your current API token is: login_to_see_token |
mode | String | Can be one of the following: test , live . When set to test , file price is calculated but not charged from your wallet. This way you can test how much it will cost to make an order. When you want to make a real order, change test to live . |
url | String | File url you want to translate. |
translate_from | String | Translate from the given file text language. List of available languages: english,albanian,arabic,armenian,azerbaijani,bengali,bosnian,bulgarian,catalan,simplified-chinese,traditional-chinese,croatian,czech,danish,dutch,estonian,filipino,finnish,french,french-canadian,georgian,german,greek,hebrew,hungarian,indian-gujarati,indian-hindi,indian-tamil,indonesian,italian,japanese,korean,kurdish,kyrgyz,latvian,lithuanian,luxembourgish,macedonian,malay,nepali,norwegian,pashto,persian-farsi,polish,portuguese,portuguese-brazil,portuguese-portugal,romanian,russian,serbian,slovak,slovenian,somali,spanish-latin,spanish,swahili,swedish,thai,turkish,ukrainian,urdu,vietnamese . |
translate_to | String | Translate the given file text to a given language. List of available languages: english,albanian,arabic,armenian,azerbaijani,bengali,bosnian,bulgarian,catalan,simplified-chinese,traditional-chinese,croatian,czech,danish,dutch,estonian,filipino,finnish,french,french-canadian,georgian,german,greek,hebrew,hungarian,indian-gujarati,indian-hindi,indian-tamil,indonesian,italian,japanese,korean,kurdish,kyrgyz,latvian,lithuanian,luxembourgish,macedonian,malay,nepali,norwegian,pashto,persian-farsi,polish,portuguese,portuguese-brazil,portuguese-portugal,romanian,russian,serbian,slovak,slovenian,somali,spanish-latin,spanish,swahili,swedish,thai,turkish,ukrainian,urdu,vietnamese . |
comment | String | Here you can specify additional information for translators. |
callback_url | String | When order is finished, you can specify url which will be used for callback. |
Response will be in JSON
format.
{
"mode":"live",
"status":"success",
"order_id":123, // order_id will be set only when wallet is charged (live mode)
"order_total":12.34 // $12.34 dollars
"seconds":0, // order duration in seconds
"words":68, // order word count
"in_wallet":0, // how much money you have left in your GoTranscript wallet
"delivery_estimate":"2024-12-21 16:23:01", // (UTC time)
}
When file transcription is finished, POST request will be sent to your specified URL. This request will include a payload data in multipart/form-data
format with the following values:
{
'mode' => 'live',
'order_id' => 123,
'translation_url' => 'https://gotranscript.com/api/v4/test-file/translations?api_token=login_to_see_token'
}
To test how your server responds to request from gotranscript.com, click on the link below.
Send test response to your serverSend POST request to GoTranscript to order captions.
Name | Type | Description |
---|---|---|
api_token | String | Your API token. Your current API token is: login_to_see_token |
mode | String | Can be one of the following: test , live . When set to test , file price is calculated but not charged from your wallet. This way you can test how much it will cost to make an order. When you want to make a real order, change test to live . |
url | String | File url you want to make captions for. |
language | String | Language of file. List of available languages: english,arabic,bengali,bosnian,catalan,chinese-simplified,chinese-traditional,croatian,czech,danish,dutch,filipino,finnish,french,german,greek,hebrew,hindi,indonesian,italian,japanese,korean,lithuanian,malay,persian-dari,persian-farsi,polish,portuguese,romanian,russian,serbian,slovak,slovenian,spanish,swahili,swedish,thai,turkish,ukrainian,vietnamese . |
comment | String | Here you can specify names of speakers or other information for subtitlers. |
from | Integer | Start file transcription from this amount of seconds. |
till | Integer | Finish file transcription at this amount of seconds. |
text_format | String | Available values: clean_verbatim (default), full_verbatim |
timestamping | String | Available values: not_required (default), every_10_seconds , every_30_seconds , every_2_minutes , change_of_speaker |
turnaround_time | String | Available values: 12_hours , 1_days , 3_days , 5_days (default).
The following languages supports only 3_days , 5_days value: dutch.
The following languages supports only 5_days value: bosnian,catalan,croatian,filipino,french,hebrew,indonesian,lithuanian,persian-dari,persian-farsi,portuguese,romanian,russian,serbian,swahili,swedish,turkish,vietnamese.
|
number_of_speakers | String | Available values: 1_or_2 (default), 3_or_more |
callback_url | String | When order is finished, you can specify url which will be used for callback. |
Response will be in JSON
format.
{
"mode":"live",
"status":"success",
"order_id":123, // order_id will be set only when wallet is charged (live mode)
"order_total":12.34 // $12.34 dollars
"seconds":68, // order duration in seconds
"in_wallet":0, // how much money you have left in your GoTranscript wallet
"delivery_estimate":"2024-12-21 16:23:01", // (UTC time)
}
When file transcription is finished, POST request will be sent to your specified URL. This request will include a payload data in multipart/form-data
format with the following values:
{
'mode' => 'live',
'order_id' => 123,
'captions_url' => 'https://gotranscript.com/api/v4/test-file/captions?api_token=login_to_see_token',
'transcription_url' => 'https://gotranscript.com/api/v4/test-file/transcriptions?api_token=login_to_see_token',
'language' => 'english' // language of captions
}
To test how your server responds to request from gotranscript.com, click on the link below.
Send test response to your serverSend POST request to GoTranscript to order subtitles.
Name | Type | Description |
---|---|---|
api_token | String | Your API token. Your current API token is: login_to_see_token |
mode | String | Can be one of the following: test , live . When set to test , file price is calculated but not charged from your wallet. This way you can test how much it will cost to make an order. When you want to make a real order, change test to live . |
url | String | File url you want to make subtitles for. |
translate_from | String | Language of file. List of available languages: english,albanian,arabic,armenian,azerbaijani,bengali,bosnian,bulgarian,catalan,simplified-chinese,traditional-chinese,croatian,czech,danish,dutch,estonian,filipino,finnish,french,french-canadian,georgian,german,greek,hebrew,hungarian,indian-gujarati,indian-hindi,indian-tamil,indonesian,italian,japanese,korean,kurdish,kyrgyz,latvian,lithuanian,luxembourgish,macedonian,malay,nepali,norwegian,pashto,persian-farsi,polish,portuguese,portuguese-brazil,portuguese-portugal,romanian,russian,serbian,slovak,slovenian,somali,spanish-latin,spanish,swahili,swedish,thai,turkish,ukrainian,urdu,vietnamese . |
translate_to | String | Subtitle the given file to a given language. List of available languages: english,albanian,arabic,armenian,azerbaijani,bengali,bosnian,bulgarian,catalan,simplified-chinese,traditional-chinese,croatian,czech,danish,dutch,estonian,filipino,finnish,french,french-canadian,georgian,german,greek,hebrew,hungarian,indian-gujarati,indian-hindi,indian-tamil,indonesian,italian,japanese,korean,kurdish,kyrgyz,latvian,lithuanian,luxembourgish,macedonian,malay,nepali,norwegian,pashto,persian-farsi,polish,portuguese,portuguese-brazil,portuguese-portugal,romanian,russian,serbian,slovak,slovenian,somali,spanish-latin,spanish,swahili,swedish,thai,turkish,ukrainian,urdu,vietnamese . |
comment | String | Here you can specify additional information for subtitles. |
callback_url | String | When order is finished, you can specify url which will be used for callback. |
Response will be in JSON
format.
{
"mode":"live",
"status":"success",
"order_id":123, // order_id will be set only when wallet is charged (live mode)
"order_total":12.34 // $12.34 dollars
"seconds":0, // order duration in seconds
"in_wallet":0, // how much money you have left in your GoTranscript wallet
"delivery_estimate":"2024-12-21 16:23:01", // (UTC time)
}
When file transcription is finished, POST request will be sent to your specified URL. This request will include a payload data in multipart/form-data
format with the following values:
{
'mode' => 'live',
'order_id' => 123,
'subtitles_url' => 'https://gotranscript.com/api/v4/test-file/subtitles?api_token=login_to_see_token'
}
To test how your server responds to request from gotranscript.com, click on the link below.
Send test response to your serverSend GET request to GoTranscript to get list of orders.
Name | Type | Description |
---|---|---|
api_token | String | Your API token. Your current API token is: login_to_see_token |
mode | String | Can be one of the following: test , live . When set to test , the API will return a list of the sample orders for testing purposes. |
cursor | String | This field is used to paginate results. The cursor parameter will be automatically filled in the next_page_url . |
Name | Type | Description |
---|---|---|
id | Integer | Order ID. |
type | String | Can be one of the following: transcriptions , captions , translations , subtitles . |
price | Float | Amount of money paid for order in USD . |
paid_at | String or null | The date and time the order was paid in UTC time. Null value if order is not paid yet. |
delivery_estimate | String | The date and time the order should be done in UTC time. Null value if order is not paid yet. |
finished_at | String or null | The date and time the order was finished in UTC time. Null value if order is not finished yet. |
comment | String | User comment passed as an argument. |
seconds | Integer | Total duration of the order's audio files (in seconds). |
words | Integer | Total number of words in the order's documents. |
translate_from | String | Translate from the given file text language. Value passed as an argument with translation or subtitle order. |
translate_to | String | Translate the given file text to a given language. Value passed as an argument with translation or subtitles order. |
language | String | Language of file. Value passed via language argument. Value passed as an argument with transcription or captions order. |
text_format | String | Value passed as an argument with transcription or captions order. |
timestamping | String | Value passed as an argument with transcription or captions order. |
turnaround_time | String | Value passed as an argument with transcription or captions order. |
number_of_speakers | String | Value passed as an argument with transcription or captions order. |
captions | Boolean | Value passed as an argument with transcription proofreading order. |
transcription_url | String | Transcription file url, will be served after order is finished. |
proofread_transcription_url | String | Proofread transcription file url, will be served after order is finished. |
proofread_captions_url | String | Proofread transcription file url, will be served after order is finished. |
captions_url | String | Captions file url, will be served after order is finished. |
translation_url | String | Translations file url, will be served after order is finished. |
subtitles_url | String | Subtitles file url, will be served after order is finished. |
Response will be in JSON
format.
{
"orders": [
{
"id": 1,
"type": "captions",
"price": 1.21,
"paid_at": "2022-11-20 21:00:00",
"delivery_estimate": "2022-11-20 21:00:00",
"finished_at": "2022-11-20 21:00:00",
"comment": "Speaker names: John and Dave",
"seconds": 1000,
"words": 0,
"language": "english",
"text_format": "clean_verbatim",
"timestamping": "not_required",
"turnaround_time": "days_3",
"number_of_speakers": "1_or_2",
"captions_url": "https://gotranscript.com/api/v4/orders/1/captions?api_token=login_to_see_token"
},
...
],
"next_page_url": https://gotranscript.com/api/v4/orders?mode=test&api_token=login_to_see_token&cursor=string
}
Send GET request to GoTranscript to get order.
Name | Type | Description |
---|---|---|
api_token | String | Your API token. Your current API token is: login_to_see_token |
mode | String | Can be one of the following: test , live . When set to test , the API will return one of the sample orders for testing purposes. |
Order response description can be found here.
Response will be in JSON
format.
{
"data": {
"id": 1,
"type": "captions",
"price": 1.21,
"paid_at": "2022-11-20 21:00:00",
"delivery_estimate": "2022-11-20 21:00:00",
"finished_at": "2022-11-20 21:00:00",
"comment": "Speaker names: John and Dave",
"seconds": 1000,
"words": 0,
"language": "english",
"text_format": "clean_verbatim",
"timestamping": "not_required",
"turnaround_time": "days_3",
"number_of_speakers": "1_or_2",
"captions_url": "https://gotranscript.com/api/v4/orders/1/captions?api_token=login_to_see_token"
]
}
}
When api is used in live mode (not in testing), you can go to login. There you will see your orders and their statuses.
After an order is finished, some file are randomly selected to check their quality. When errors are found, they are fixed and one more request is sent to your specified API url. This request looks the same as original. It can be ignored if you already downloaded the file or you can redownload the file to get a version with fixed errors.
Different file types can return different callback data, please take a look at every API Callback object section.
We’re Ready to Help
Call or Book a Meeting Now