AFRIA-Speech

Modelo de transcrição de áudio baseado no whisper-large-v3-turbo, otimizado para múltiplos idiomas.

Teste o Modelo

Configurações do Modelo

Parâmetros Padrão

  • Modelo Base: whisper-large-v3-turbo
  • Response Format: json
  • Temperature: 0.0
  • Language: pt

Formatos Suportados

  • Áudio: .mp3, .wav, .m4a, .ogg
  • Tamanho Máximo: 25MB

Exemplos de Uso

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);
    }
});

Erros Comuns

400 Bad Request

  • Nenhum arquivo enviado
  • Nenhum arquivo selecionado
  • Tipo de arquivo não permitido

401 Unauthorized

  • API key ausente ou inválida
  • API key expirada
  • Assinatura expirada