Transcrição ao vivo
Ao vivoFale e veja suas palavras aparecerem enquanto fala, em muitos idiomas detectados automaticamente.
Transcrição ao vivo
Cobrado por segundo de áudio, reservando 1 min por vez. A sessão termina sozinha se o saldo acabar, depois de um tempo em silêncio ou no limite de tempo.
Exemplo realUma sessão ao vivo gravada
Idioma: tailandês · Uma execução real desta ferramenta. A sua a substitui.
O que foi dito
Transcrição
- สวัสดีค่ะ ยินดีต้อนรับสู่ร้านกาแฟของเรา วันนี้เรามีเค้กช็อกโกแลตตอบใหม่ๆ ลองชิมดูไหมคะ
Mais ferramentas de voz
Cada uma tem seu próprio endpoint e seu próprio preço. Use uma ou encadeie várias.
Ao vivoVoice TranslatorFale no seu idioma. Os outros ouvem no deles, com a sua própria voz, em qualquer app.Voz de entrada $0.0206/min · voz gerada $0.066/minAbrir
Ao vivoClonar minha vozSua própria voz a partir de uma gravação curta, com seu consentimento.$0.01296 por vozAbrir
Ao vivoTraduzir um arquivo de áudioEntra uma gravação, saem as mesmas palavras em outro idioma e voz.$0.3597/minAbrir
Ao vivoFalar com minha vozDigite um texto e ouça-o com a sua própria voz clonada.$0.39 por 1.000 caracteresAbrir
API de Transcrição ao vivo
Um único WebSocket: envie o áudio do microfone e receba as palavras enquanto fala e cada frase concluída com o idioma.
https:/ / api.opennan.com/ v1/ realtime/ sttPegue uma chave de API
Crie uma chave no console. Ela usa o mesmo saldo do playground.
Criar uma chaveEnvie sua primeira requisição
A mesma requisição que o playground envia. Defina OPENNAN_KEY com sua chave.
const ws = new WebSocket("wss://api.opennan.com/v1/realtime/stt"); ws.binaryType = "arraybuffer"; ws.onopen = () => { ws.send(JSON.stringify({ type: "auth", ticket: session.ticket })); ws.send(JSON.stringify({ "type": "session.config", "language": "auto" })); }; mic.ondata = (pcm16) => ws.send(pcm16); // 16 kHz mono 16-bit PCM, <= 65536 bytes a frame ws.onmessage = (e) => { const msg = JSON.parse(e.data); if (msg.type === "transcript.partial") showDraft(msg.text); if (msg.type === "transcript.final") addLine(msg.sentence_id, msg.text, msg.language); if (msg.type === "session.end") console.log("ended:", msg.reason); }; stop.onclick = () => ws.send(JSON.stringify({ type: "session.end" }));Leia os eventos
Enquanto você fala, o servidor envia eventos JSON; a voz chega em trechos de áudio base64 com o formato.
- session.started
- Sua sessão está aberta, com preço e limites
- transcript.partial
- Palavras enquanto você ainda fala
- transcript.final
- Uma frase concluída e o idioma
- usage
- Segundos e custo até agora
- error
- Um problema, com um código e palavras simples
- session.end
- Por que terminou: você, saldo, silêncio ou limite de tempo
Erros e como resolver
401Chave ausente ou errada
Envie o cabeçalho Authorization: Bearer com uma chave do console.
402Saldo insuficiente
Adicione crédito em Faturamento e envie a mesma chamada de novo.
400Um valor não é aceito
Leia error.message: ele indica o campo. Use um valor da tabela de parâmetros.
429Requisições demais
Aguarde alguns segundos e tente de novo, esperando mais após cada 429.
Transcrição ao vivo: perguntas
Quanto custa Transcrição ao vivo?
$0.00846/min, cobrado por segundo de áudio. O tempo é reservado minuto a minuto e acertado conforme você usa; a sessão para de forma limpa quando o saldo não cobre o próximo minuto.
Como faço a chamada?
Abra um WebSocket para WSS https://api.opennan.com/v1/realtime/stt. No navegador, envie uma mensagem auth com sua chave como primeira mensagem em até 5 segundos; de um servidor, você pode usar o cabeçalho Authorization. Depois envie a configuração da sessão e áudio PCM de 16 bits, mono, a 16 kHz. As chaves nunca vão na URL.
Sou cobrado quando algo falha?
Não. Uma etapa que falha não é cobrada, e o motivo é mostrado em palavras simples.
Posso usar a voz de outra pessoa?
Não. Você só pode clonar a sua própria voz, com uma gravação sua lendo uma frase de consentimento que fornecemos. As vozes nunca são compartilhadas entre contas.
Meu agente de IA pode usar?
Sim, pela API. Peça que ele leia https://api.opennan.com/llms.txt para aprender como.