Modelo de transcrição de áudio baseado no whisper-large-v3-turbo, otimizado para múltiplos idiomas.
curl -X POST http://38.242.217.81:5000/transcribe \
-H 'X-API-Key: sua_chave_api' \
-F 'file=@/caminho/para/seu/audio.mp3'
import requests
def transcrever_audio(api_key, caminho_audio):
url = 'http://38.242.217.81:5000/transcribe'
headers = {
'X-API-Key': api_key
}
# Preparar o arquivo de áudio
with open(caminho_audio, 'rb') as audio_file:
files = {
'file': (audio_file.name, audio_file, 'audio/mpeg')
}
# Fazer a requisição
response = requests.post(url,
headers=headers,
files=files)
return response.json()
# Exemplo de uso
api_key = 'sua_chave_api'
audio = 'caminho/para/seu/audio.mp3'
try:
resultado = transcrever_audio(api_key, audio)
print(resultado['transcricao'])
except Exception as e:
print(f'Erro: {str(e)}')
async function transcreverAudio(apiKey, inputElement) {
if (!inputElement.files || !inputElement.files[0]) {
throw new Error('Nenhum arquivo de áudio selecionado');
}
const formData = new FormData();
formData.append('file', inputElement.files[0]);
try {
const response = await fetch('http://38.242.217.81:5000/transcribe', {
method: 'POST',
headers: {
'X-API-Key': apiKey
},
body: formData
});
if (!response.ok) {
throw new Error('Erro na transcrição: ' + response.statusText);
}
const data = await response.json();
return data;
} catch (error) {
console.error('Erro:', error);
throw error;
}
}
// Exemplo de uso com input file
const apiKey = 'sua_chave_api';
const inputElement = document.querySelector('input[type="file"]');
inputElement.addEventListener('change', async () => {
try {
const resultado = await transcreverAudio(apiKey, inputElement);
console.log('Transcrição:', resultado.transcricao);
} catch (error) {
console.error('Erro na transcrição:', error);
}
});