Aditu files API

Transcribe/Subtitle file

URL

https://api.aditu.eus

Methods

Transcribe a file. It can be either an audio file (.wav, .mp3) or a video file (.mp4, .webm). Only POST method is allowed.

Request example

{ 
	"api_id" : "<YOUR_API_ID>",
	"api_key" : "<YOUR_API_KEY>",
	"language" : "eu" | "es" | "eu-es",
	"channel" : 0 (left) | 1 (right) | 2 (stereo, default),
	"file" : <YOUR_FILE>,
	"bilingual_all" (optional): "yes" | "no" (default) # when eu-es, return both languages in results (most probable one first), else only most probable one
}
									
Response example

{ 
	"task_id" : "6dc0ce4d-08c5-4754-8ecc-5385e489684e",
}
									

Check transcription progress of a given task. Only POST method is allowed.

Request example

{ 
	"api_id" : "<YOUR_API_ID>",
	"api_key" : "<YOUR_API_KEY>",
	"task_id" : "6dc0ce4d-08c5-4754-8ecc-5385e489684e"
}
									
Response example Task is running

{
	"finished": False,
	"error": False,
	"percentage": "75",
	"message": "Running transcription", # Just an example
}
									
Task finished with errors.

{
	"finished": True,
	"error": True,
	"message": "There was an error", # Just an example
}
									
Task finished without errors.

{
	"finished": True,
	"error": False,
	"original_file": "<POSTED_FILE_URL>",
	"json": "<JSON_FILE>", # .json
	"trascription": "<TRANSCRIPTION_FILE>", # .txt
	"subtitles": "<SUBTITLES_FILE>", # .srt
	"execution_time": "67.25" #Time to transcribe file in seconds
}
									

Check user time information. Only POST method is allowed.

Request example

{ 
	"api_id" : "<YOUR_API_ID>",
	"api_key" : "<YOUR_API_KEY>"
}
									
Response example

{
	"user_time": 36000 # in seconds, 10 hours
}
									

Check user server space information. Only POST method is allowed.

Request example

{ 
	"api_id" : "<YOUR_API_ID>",
	"api_key" : "<YOUR_API_KEY>"
}
									
Response example

{
	"server_space": 5368709120, # in bytes, 5GB
	"used_server_space": 2254857830 # 2.1GB
}
									

Client software example

Python

Python script that calls the API with the contents of an audio or video file and retrieves the results: https://api.aditu.eus/static/api_client.py.

Shell script

Shell script that calls the API with the contents of an audio or video file and retrieves the results: https://api.aditu.eus/static/api_client.sh.

Subtitle edition interface

URL

https://aditu.eus

Methods

Returns an HTML page for editing the subtitles passed to it, intended to be opened in a browser tab. A callback URL can be passed to pass the modified subtitles, which will be called when click on "Save". The callback will receive as parameters the modified subtitles, transcription and words JSON, and the language, title and identifier number passed. Without a callback URL, when clicking on save the modified subtitles file will be downloaded. Only POST method is allowed.

Request example

{
	"api_id" : "<YOUR_API_ID>",
	"api_key" : "<YOUR_API_KEY>",
	"izenburua" : "<TITLE>", # filename or title to show on edition page
	"hizkuntza" : "eu" | "es" | "eu-es",
	"bideo_url" : "", # URL of video to show on edition page
	"srt" : "SRT_SUBTITLES", # subtitles to edit, in SRT format
	"txt" : "TRANSCRIPTION", # transcription of the subtitles to edit (optional)
	"json" : "WORDS_JSON", # words JSON of the subtitles to edit (optional)
	"gorde_url" : "", # URL to send edited subtitles to when click on "Save" (optional)
	"nid" : "", # identifier to pass to save URL (optional)
}
									
Response example

{
	<html>
		<head>
			...
		</head>
		<body>
			...
		</body>
	</html>
}
									

Client software example

HTML

HTML code that, when opened in a browser, will open Aditu's interface to edit the subtitles contained in the variables of the code: https://api.aditu.eus/static/post_open_external.html.

Translate file

URL

https://api.aditu.eus

Methods

Translate a file. It must be a subtitle file in SRT format. Only POST method is allowed.

Request example

{
	"api_id" : "<YOUR_API_ID>",
	"api_key" : "<YOUR_API_KEY>",
	"from_language" : "eu" | "es" | "eu-es",
	"to_language" : "eu" | "es" | "fr" | "ca" | "gl" | "en" |  "eues_inv" (only from eu-es),
	"srt" : SRT_FILE_CONTENT
}
									
Response example

{
	"task_id" : "6dc0ce4d-08c5-4754-8ecc-5385e489684e",
}
									

Check translation progress of a given task. Only POST method is allowed.

Request example

{
	"api_id" : "<YOUR_API_ID>",
	"api_key" : "<YOUR_API_KEY>",
	"task_id" : "6dc0ce4d-08c5-4754-8ecc-5385e489684e"
}
									
Response example Info not ready yet (allow up to 5 retries, with some seconds in between)

{
	"error": "ERROR",
	"message": "Server error", # Just an example
}
									
Task is running

{
	"finished": False,
	"error": False,
	"percentage": "75",
	"message": "Running translation", # Just an example
}
									
Task finished with errors.

{
	"finished": True,
	"error": True,
	"message": "There was an error", # Just an example
}
									
Task finished without errors.

{
	"finished": True,
	"error": False,
	"words": 369,
	"execution_time": 3.39 #Time to translate file in seconds
	"translated_subtitles": "1\\n00:00:00.380 --> 00:00:12.770\\nHa o\xc3\xaddo en varias ocasiones que nuestro organismo est\xc3\xa1 formado por varios aparatos o sistemas que act\xc3\xbaan unidos y coordinados entre s\xc3\xad.\\n\\n2\\n00:00:14.110 --> 00:00:19.320\\nPara profundizar en ello, en esta ocasi\xc3\xb3n analizaremos el aparato de tr\xc3\xa1fico.\\n\\n"
}
									

Client software example

Python

Python script that calls the API with the contents of a subtitles file (in SRT format) and retrieves the results: https://api.aditu.eus/static/api_client_translate.py.