API TREBE

Breve descripción de las APIs ofrecidas por trebe.org So ofrecen servicios de traducción, transcripción y síntesis de voz. Cuando nos referimos a API gestionada queremos decir que con una sola llamada se completa el trabajo y se recibe el resultado en el correo asociado al APIKey, mientras que cuando hablamos de APIs directas se ofrecen 3 servicios para que el usuario los combine e integre en sus servicios. Estos 3 servicios son: la creación del trabajo, la consulta del estado, y la obtención del fichero resultante final.

POST Traducción de texto
{{protocol_host_port}}/translation/v1/translate

Traduce una cadena de texto de un idioma a otro, siendo los pares de idiomas bidireccionales soportados los siguientes:

  • EU - ES
  • EU - EN
  • EU - FR
  • ES - CA
  • ES - GL
  • ES - EN

En la llamada, además del apikey, que se le envía en el header, los parámetros que necesita en la llamada son:

  • sourcelanguage: para el idioma de origen, y cuyos valores aceptados son (es, eu, gl, ca, en, fr)
  • targetlanguage: para el idioma de destino, con los mismos posibles valores, pero teniendo en cuenta que se ajuste a uno de los pares de idiomas de traducción soportados
  • text: es el texto que se va a querer traducir
  • getsentences (opcional): si se quiere recibir información de wordProbs para estimación de calidad (para traductores)

En la respuesta, si la variable success es true, es que se ha ejecutado correctamente, y el texto traducido estará como valor de la variable message

HEADERS

apikey
{{id}}

None

BODY raw

                                                  
                                                    
{
    "sourcelanguage": "es",
    "targetlanguage": "eu",
    "text": "Esto es una prueba.",
    "getsentences": false
}
                                                  
                                              
Example Request
                                                
POST https://api.trebesrv.com/translation/v1/translate
{
    "sourcelanguage": "es",
    "targetlanguage": "eu",
    "text": "Esto es una prueba.",
    "getsentences": false
}
                                            
Example Response
200 - OK
                                                
POST https://api.trebesrv.com/translation/v1/translate
{
    "sourcelanguage": "es",
    "targetlanguage": "eu",
    "text": "Esto es una prueba.",
    "getsentences": true
}
                                            
Example Response
200 - OK
                                                
POST https://api.trebesrv.com/translation/v1/translate
{
    "sourcelanguage": "es",
    "targetlanguage": "eu",
    "text": "Esto es una prueba.",
    "getsentences": true
}
                                            
Example Response
401 - Unauthorized
                                                    
{
    "message": "No API key found in request"
}
                                                
POST Traducción de documentos con formato
{{protocol_host_port}}/translation/v1/doctrans

Partiendo del los mismos pares de idiomas que la traducción de textos, traduce un documento respetando en el formato de salida todo el formato del documento de origen.

Los tipos de documentos soportados son: .docx,.pptx,.xlsx,.txt,.odt,.html,.xml,.xliff,.xlf,.tmx

En la llamada, además del apikey, que se le envía en el header, los parámetros que necesita son:

  • sourcelanguage: para el idioma de origen, y cuyos valores aceptados son (es, eu, gl, ca, en, fr)
  • targetlanguage: para el idioma de destino, con los mismos posibles valores, pero teniendo en cuenta que se ajuste a uno de los pares de idiomas de traducción soportados
  • file: que es el nombre con el path del fichero que se quiere traducir
  • delivery (opcional): poner el valor “email-attachment” si en vez de recibir un link de descarga queremos recibirlo como adjunto en el correo.
  • outfilename (opcional): es el nombre que se le quiere dar al nuevo fichero generado.

En la respuesta, solo se recibe el id del proceso que se ha lanzado, ya que como hemos comentado el documento resultante generado se envía de modo asíncrono a la dirección de correo asociada al apikey.

HEADERS

apikey
{{id}}

None

BODY formdata

file
None

None

sourcelanguage
es

None

targetlanguage
eu

None

delivery
email-attachment

None

outfilename
None

None

Example Request
                                                
POST https://api.trebesrv.com/translation/v1/doctrans

                                            
Example Response
200 - OK
                                                    
{
    "id": "ca7lsjebioemilkfrjig"
}
                                                
POST Traducción de subtítulos
{{protocol_host_port}}/translation/v1/subtrans

StartFragment

Partiendo del los mismos pares de idiomas que la traducción de textos, traduce un archivo de subtítulos, procesándolo en su conjunto, y regenerando los subtítulos y marcas de tiempo (es decir, no se trata de una traducción de subtítulos segmento a segmento).

Los tipos de documentos soportados son: .srt

En la llamada, además del apikey, que se le envía en el header, los parámetros que necesita son:

  • sourcelanguage: para el idioma de origen, y cuyos valores aceptados son (es, eu, gl, ca, en, fr)
  • targetlanguage: para el idioma de destino, con los mismos posibles valores, pero teniendo en cuenta que se ajuste a uno de los pares de idiomas de traducción soportados
  • file: que es el nombre con el path del fichero que se quiere traducir
  • delivery (opcional): poner el valor “email-attachment” si en vez de recibir un link de descarga queremos recibirlo como adjunto en el correo.
  • outfilename (opcional): es el nombre que se le quiere dar al nuevo fichero generado.

En la respuesta, solo se recibe el id del proceso que se ha lanzado, ya que como hemos comentado el documento resultante generado se envía de modo asíncrono a la dirección de correo asociada al apikey.

EndFragment

HEADERS

apikey
{{id}}

None

BODY formdata

file
None

None

sourcelanguage
es

None

targetlanguage
eu

None

delivery
email-attachment

None

outfilename
None

None

Example Request
                                                
POST https://api.trebesrv.com/translation/v1/subtrans

                                            
Example Response
200 - OK
                                                    
{
    "id": "ca7mndpe4mvccpgpdaug"
}
                                                
POST Transcripción
{{protocol_host_port}}/transcription/v1/transcribe

Partiendo de un archivo multimedia genera su correspondiente transcripción

Los formatos de entrada soportados son:

  • mp3
  • mp4
  • wav

Mientas que los formatos de salida posibles son:

  • srt (para generación de subtítulos)
  • stl (para generación de subtítulos)
  • vtt (para generación de subtítulos)
  • rtf (para generación de archivo de texto)
  • txt (para generación de archivo de texto)
  • xml (contiene todas las palabras con sus correspondientes marcas de tiempo y confianzas)
  • json (contiene todas las palabras con sus correspondientes marcas de tiempo y confianzas)

Los idiomas soportados, y que serán un parámetro de entrada de la llamada son:

  • es: para transcripción de audios en español
  • eu: para transcripción de audios en euskera
  • gl: para transcripción de audios en gallego
  • ca: para transcripción de audios en catalán
  • es_eu: para transcripción de audios que combinan español y euskera
  • es_ca: para transcripción de audios que combinan español y catalán
  • es_gl: para transcripción de audios que combinan español y gallego

En la llamada, además del apikey, que se le envía en el header, los parámetros que necesita son:

  • file: que es el nombre con el path del fichero que se quiere transcribir
  • languagemodel: para el idioma, que debe adoptar alguno de los valores arriba indicados (es, eu, gl, ca, eseu, esca, es_gl)
  • diarization (opcional): por defecto false (valor alternativo auto) para que detecte los hablantes
  • delivery (opcional): poner el valor “email-attachment” si en vez de recibir un link de descarga queremos recibirlo como adjunto en el correo.
  • formats (opcional): se le indicarán todos los formatos de salida que se quieren generar (se pueden incluir más de una línea con este parámetro)
  • outfilename (opcional): es el nombre que se le quiere dar al nuevo fichero generado.

En la respuesta, solo se recibe el id del proceso que se ha lanzado, ya que como hemos comentado el documento resultante generado se envía de modo asíncrono a la dirección de correo asociada al apikey.

HEADERS

apikey
{{id}}

None

BODY formdata

file
None

None

languagemodel
es

None

diarization
false

None

delivery
email-attachment

None

formats
srt

None

formats
rtf

None

formats
json

None

outfilename
None

None

Example Request
                                                
POST https://api.trebesrv.com/transcription/v1/transcribe

                                            
Example Response
200 - OK
                                                    
{
    "id": "f44f763940-WZDuT5whcF1l"
}
                                                
POST Síntesis de texto
{{protocol_host_port}}/synthesis/v1/synthesize

Partiendo de un texto genera un audio con la voz que le corresponde.

El formato de entrada del texto debe ser texto plano.

Actualmente, las voces soportadas son:

  • nerea: voz femenina para euskera
  • laura: voz femenina para español
  • mikel: voz masculina para español

En la llamada, además del apikey, que se le envía en el header, los parámetros que necesita son:

  • normalize: true
  • voice: nombre de la voz con la que se quiere locutar el texto (vincula idioma)
  • text: texto que se desea locutar
  • delivery (opcional): poner el valor “email-attachment” si en vez de recibir un link de descarga queremos recibirlo como adjunto en el correo.
  • outfilename (opcional): es el nombre que se le quiere dar al nuevo fichero generado.

En la respuesta, solo se recibe el id del proceso que se ha lanzado, ya que como hemos comentado el documento resultante generado se envía de modo asíncrono a la dirección de correo asociada al apikey.

HEADERS

apikey
{{id}}

None

BODY raw

Example Request
Example Response
200 - OK
                                                    
{
    "id": "nerea-pCD5kXxO-S7QpaXhP2RUeZMl"
}
                                                
POST Traducción de texto
{{protocol_host_port}}/translation/v1/translate

Es el mismo método que en el API gestionada.

En este caso se muestra un ejemplo con el valor getSentences a true.

La respuesta recoge los wordProbs en el campo attention (para su posterior procesamiento por el cliente para estimación de calidad)

HEADERS

apikey
{{id}}

None

BODY raw

                                                  
                                                    
{
 "sourcelanguage":"es",
 "targetlanguage":"eu",
 "text": "Esto es una prueba.",
 "getsentences": true
}
                                                  
                                              
Example Request
                                                
POST https://api.trebesrv.com/translation/v1/translate
{
 "sourcelanguage":"es",
 "targetlanguage":"eu",
 "text": "Esto es una prueba.",
 "getsentences": true
}
                                            
Example Response
200 - OK
POST Traductor de documentos (crear trabajo)
{{protocol_host_port}}/translation/v1/doctrans/jobs

Partiendo del los mismos pares de idiomas que la traducción de textos, traduce un documento respetando en el formato de salida todo el formato del documento de origen.

Los tipos de documentos soportados son: .docx,.pptx,.xlsx,.txt,.odt,.html,.xml,.xliff,.xlf,.tmx

En la llamada, además del apikey, que se le envía en el header, los parámetros que necesita son:

  • sourcelanguage: para el idioma de origen, y cuyos valores aceptados son (es, eu, gl, ca, en, fr)
  • targetlanguage: para el idioma de destino, con los mismos posibles valores, pero teniendo en cuenta que se ajuste a uno de los pares de idiomas de traducción soportados
  • file: que es el nombre con el path del fichero que se quiere traducir

En la respuesta, solo se recibe el id del proceso que se ha lanzado, y que servirá para componer el resto de llamadas, para obtener información y descargar el resultado.

HEADERS

apikey
{{id}}

None

BODY formdata

file
None

Fichero que se desea traducir

sourcelanguage
eu

Idioma de origen (es, eu, en, fr, ca, gl)

targetlanguage
es

Idioma de destino (es, eu, en, fr, ca, gl)

Example Request
                                                
POST https://api.trebesrv.com/translation/v1/doctrans/jobs

                                            
Example Response
200 - OK
                                                    
{
    "id": "cab01v6bioemilkfrl40"
}
                                                
GET Traductor de documentos (consultar status)
{{protocol_host_port}}/translation/v1/doctrans/jobs/{{jobId}}/info

La URL se compone con el jobID cuyo valor es el ID que devuelve la llamada para generar el proceso de traducción.

La información se obtiene sobre este trabajo, y el único parámetro de la llamada, es el APIKey que se le envía en el Header.

El formato de la respuesta es el siguiente (2 campos):

  • status: indica estado del proceso
  • message: es el mensaje asociado

El estatus es:

  • -1: si hay algún error
  • 0: el proceso está en espera, en cola
  • 1: se está procesando la solicitud
  • 2: ha terminado

Se recomienda insertar una demora de (por lo menos) 3 segundos entre llamadas de consulta para que no bloquee la cuenta por abuso.

HEADERS

apikey
{{id}}

None

BODY formdata

Example Request
                                                
GET https://api.trebesrv.com/translation/v1/doctrans/jobs/{{jobId}}/info
                                            
Example Response
200 - OK
                                                    
{
    "message": "processing",
    "status": 1
}
                                                
                                                
GET {{protocol_host_port}}/translation/v1/doctrans/jobs/{{jobId}}/info
                                            
Example Response
200 - OK
                                                    
{
    "message": "processed",
    "status": 2
}
                                                
GET Traductor de documentos (obtener resultados)
{{protocol_host_port}}/translation/v1/doctrans/jobs/{{jobId}}/result

La URL se compone con el jobID que es el ID que devuelve la llamada para generar el proceso de traducción.

La resultado es la descarga del trabajo generado, y el único parámetro de la llamada, es el APIKey que se le envía en el Header.

HEADERS

apikey
{{id}}

None

Example Request
                                                
GET {{protocol_host_port}}/translation/v1/doctrans/jobs/{{jobId}}/result
                                            
POST Traductor de subtítulos (crear trabajo)
{{protocol_host_port}}/translation/v1/subtrans/jobs
HEADERS

apikey
{{id}}

None

BODY formdata

file
None

None

sourcelanguage
es

None

targetlanguage
eu

None

Example Request
                                                
POST https://api.trebesrv.com/translation/v1/subtrans/jobs

                                            
Example Response
200 - OK
                                                    
{
    "id": "cac9bfhe4mvccpgpdc6g"
}
                                                
GET Traductor de subtítulos (consultar status)
https://api.trebesrv.com/translation/v1/subtrans/jobs/{{jobId}}/info

La URL se compone con el jobID cuyo valor es el ID que devuelve la llamada para generar el proceso de traducción.

La información se obtiene sobre este trabajo, y el único parámetro de la llamada, es el APIKey que se le envía en el Header.

El formato de la respuesta es el siguiente (2 campos):

  • status: indica estado del proceso
  • message: es el mensaje asociado

El estatus es:

  • -1: si hay algún error
  • 0: el proceso está en espera, en cola
  • 1: se está procesando la solicitud
  • 2: ha terminado

Se recomienda insertar una demora de (por lo menos) 3 segundos entre llamadas de consulta para que no bloquee la cuenta por abuso.

HEADERS

apikey
{{id}}

None

BODY formdata

Example Request
                                                
GET https://api.trebesrv.com/translation/v1/subtrans/jobs/{{jobId}}/info
                                            
Example Response
200 - OK
                                                    
{
    "message": "processing",
    "status": 1
}
                                                
                                                
GET https://api.trebesrv.com/translation/v1/subtrans/jobs/{{jobId}}/info
                                            
Example Response
200 - OK
                                                    
{
    "message": "processed",
    "status": 2
}
                                                
GET Traductor de subtítulos (obtener resultados)
{{protocol_host_port}}/translation/v1/subtrans/jobs/{{jobId}}/result

La URL se compone con el jobID que es el ID que devuelve la llamada para generar el proceso de traducción.

La resultado es la descarga del trabajo generado, y el único parámetro de la llamada, es el APIKey que se le envía en el Header.

HEADERS

apikey
{{id}}

None

Example Request
                                                
GET {{protocol_host_port}}/translation/v1/subtrans/jobs/{{jobId}}/result
                                            
POST Transcripción (crear trabajo)
{{protocol_host_port}}/transcription/v1/jobs
HEADERS

apikey
{{id}}

None

BODY formdata

file
None

None

languagemodel
es_eu

None

diarization
auto

None

Example Request
                                                
POST https://api.trebesrv.com/transcription/v1/jobs

                                            
Example Response
200 - OK
                                                    
{
    "id": "ba60ec2f86-KwCFv9axE0jS"
}
                                                
GET Transcripción (consultar status)
{{protocol_host_port}}/transcription/v1/jobs/{{jobId}}/info

La URL se compone con el jobID cuyo valor es el ID que devuelve la llamada para generar el proceso de traducción.

La información se obtiene sobre este trabajo, y el único parámetro de la llamada, es el APIKey que se le envía en el Header.

El formato de la respuesta es el siguiente (2 campos):

  • status: indica estado del proceso
  • message: es el mensaje asociado
  • details: que contienen un JSON con la información del estado del proceso, indicando que partes del proceso se han ejecutado y sus resultados parciales.

El estatus es:

  • -1: si hay algún error
  • 0: el proceso está en espera, en cola
  • 1: se está procesando la solicitud
  • 2: ha terminado

Se recomienda insertar una demora de (por lo menos) 3 segundos entre llamadas de consulta para que no bloquee la cuenta por abuso.

HEADERS

apikey
{{id}}

None

BODY formdata

Example Request
                                                
GET https://api.trebesrv.com/transcription/v1/jobs/{{jobId}}/info

                                            
Example Response
200 - OK
                                                
GET {{protocol_host_port}}/transcription/v1/jobs/{{jobId}}/info

                                            
Example Response
200 - OK
                                                
GET {{protocol_host_port}}/transcription/v1/jobs/{{jobId}}/info

                                            
Example Response
200 - OK
GET Transcripción (obtener resultados)
{{protocol_host_port}}/transcription/v1/jobs/{{jobId}}/result/0

La URL se compone con el jobID que es el ID que devuelve la llamada para generar el proceso de traducción.

La resultado es la descarga del trabajo generado, y el único parámetro de la llamada, es el APIKey que se le envía en el Header.

En el caso de la transcripción, como el reusltado puede ser mñas de un fichero, se indica con /0, /1, … el fichero que se quiere descargar (por tipo de extensión), según los indicado en la sección de files en la consulta anterior (la de info, o consulta del status)

HEADERS

apikey
{{id}}

None

Example Request
                                                
GET {{protocol_host_port}}/transcription/v1/jobs/{{jobId}}/result/0
                                            
POST Síntesis de voz (crear trabajo)
{{protocol_host_port}}/synthesis/v1/jobs
HEADERS

apikey
{{id}}

None

BODY raw

Example Request
Example Response
200 - OK
                                                    
{
    "id": "nerea-XWCHoHhU-BXQWPiOSRqe3Jgg"
}
                                                
GET Síntesis de voz (consultar status)
{{protocol_host_port}}/synthesis/v1/jobs/{{jobId}}/info

La URL se compone con el jobID cuyo valor es el ID que devuelve la llamada para generar el proceso de traducción.

La información se obtiene sobre este trabajo, y el único parámetro de la llamada, es el APIKey que se le envía en el Header.

El formato de la respuesta es el siguiente (2 campos):

  • status: indica estado del proceso
  • message: es el mensaje asociado

El estatus es:

  • -1: si hay algún error
  • 0: el proceso está en espera, en cola
  • 1: se está procesando la solicitud
  • 2: ha terminado

Se recomienda insertar una demora de (por lo menos) 3 segundos entre llamadas de consulta para que no bloquee la cuenta por abuso.

HEADERS

apikey
{{id}}

None

Example Request
                                                
GET https://api.trebesrv.com/synthesis/v1/jobs/{{jobId}}/info
                                            
Example Response
200 - OK
                                                    
{
    "message": "processed",
    "status": 2
}
                                                
GET Síntesis de voz (obtener resultados)
{{protocol_host_port}}/synthesis/v1/jobs/{{jobId}}/result

La URL se compone con el jobID que es el ID que devuelve la llamada para generar el proceso de traducción.

La resultado es la descarga del trabajo generado, y el único parámetro de la llamada, es el APIKey que se le envía en el Header.

HEADERS

apikey
{{id}}

None

Example Request
                                                
GET {{protocol_host_port}}/synthesis/v1/jobs/{{jobId}}/result