Skip to content

ASR

O endpoint de ASR permite a transcrição de arquivos de áudio em texto usando modelos disponíveis na plataforma SipPulse AI. Você pode enviar um arquivo de áudio e obter a transcrição correspondente.

Endpoints

GET /asr/models

Este endpoint retorna uma lista de todos os modelos de ASR disponíveis.

Parâmetros de Consulta

  • status (opcional): O status dos modelos. Pode ser active ou inactive. O padrão é active.

Exemplo de Requisição

bash
curl -X 'GET' \
  'https://api.sippulse.ai/v1/asr/models' \
  -H 'Content-Type: application/json' \
  -H 'api-key: $SIPPULSE_API_KEY'
python
import requests

url = "https://api.sippulse.ai/v1/asr/models"
headers = {
    "Content-Type": "application/json",
    "api-key": "SIPPULSE_API_KEY"
}

response = requests.get(url, headers=headers)
print(response.json())
javascript
const url = "https://api.sippulse.ai/v1/asr/models";
const headers = {
  "Content-Type": "application/json",
  "api-key": "SIPPULSE_API_KEY",
};

fetch(url, {
  method: "GET",
  headers: headers,
})
  .then((response) => response.json())
  .then((data) => console.log(data))
  .catch((error) => console.error("Error:", error));

Exemplo de Resposta

json
[
  {
    "name": "whisper-1",
    "status": "active"
    // ...
  }
]

POST /asr/transcribe

Este endpoint transcreve um arquivo de áudio em texto usando o modelo especificado.

Parâmetros de Consulta

  • model (obrigatório): O nome do modelo a ser utilizado para a transcrição.
  • language (opcional): O idioma do áudio.
  • prompt (opcional): Um prompt opcional para orientar a transcrição.
  • temperature (opcional): O controle de aleatoriedade na transcrição.
  • response_format (opcional): O formato da resposta (text, json, vtt, srt, verbose_json).
  • input_sample_rate (opcional): Se o arquivo de entrada for um arquivo PCM, especifique a taxa de amostragem. O padrão é 8000.
  • instance (opcional): Se você deseja usar uma instância específica, especifique-a aqui. Aplicável apenas para modelos de instância.

Corpo da Requisição

O corpo da requisição deve ser enviado como multipart/form-data e deve incluir o arquivo de áudio a ser transcrito.

json
{
  "file": "binary" // O arquivo de áudio a ser transcrito
}

Exemplo de Requisição

bash
curl -X 'POST' \
  'https://api.sippulse.ai/v1/asr/transcribe?model=whisper-1&language=en&response_format=json' \
  -H 'api-key: $SIPPULSE_API_KEY' \
  -F 'file=@path/to/audiofile.wav'
python
import requests

url = "https://api.sippulse.ai/v1/asr/transcribe"
params = {
    "model": "whisper-1",
    "language": "en",
    "response_format": "json"
}
headers = {
    "api-key": "SIPPULSE_API_KEY"
}
files = {
    "file": open("path/to/audiofile.wav", "rb")
}

response = requests.post(url, headers=headers, params=params, files=files)
print(response.json())
javascript
const fs = require("fs");

const url =
  "https://api.sippulse.ai/v1/asr/transcribe?model=whisper-1&language=en&response_format=json";
const headers = {
  "api-key": "SIPPULSE_API_KEY",
};

const fileStream = fs.createReadStream("path/to/audiofile.wav");

const formData = new FormData();
formData.append("file", fileStream);

fetch(url, {
  method: "POST",
  headers: headers,
  body: formData,
})
  .then((response) => response.json())
  .then((data) => console.log(data))
  .catch((error) => console.error("Error:", error));

Exemplo de Resposta

json
{
  "text": "This is the transcribed text of the audio file."
}

Conclusão

O endpoint de ASR da SipPulse AI oferece uma maneira eficiente de transcrever arquivos de áudio em texto, suportando vários parâmetros para personalizar a transcrição. Utilize as informações e exemplos fornecidos para integrar essa funcionalidade em suas aplicações.