Opennan

Transcrição ao vivo

Ao vivo

Fale e veja suas palavras aparecerem enquanto fala, em muitos idiomas detectados automaticamente.

$0.00846/minEtapas que falham não são cobradas

Transcrição ao vivo

$0.00846/min
Como você fala
Segure o botão (ou Espaço) enquanto fala; ao soltar, a frase é concluída.

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.

Pronto

Exemplo realUma sessão ao vivo gravada

Idioma: tailandês · Uma execução real desta ferramenta. A sua a substitui.

O que foi dito

0:00 / 0:00

Transcrição

  1. สวัสดีค่ะ ยินดีต้อนรับสู่ร้านกาแฟของเรา วันนี้เรามีเค้กช็อกโกแลตตอบใหม่ๆ ลองชิมดูไหมคะ

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.

WSShttps://api.opennan.com/v1/realtime/stt
  1. Pegue uma chave de API

    Crie uma chave no console. Ela usa o mesmo saldo do playground.

    Criar uma chave
  2. Envie 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" }));
  3. 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.

Usamos apenas os cookies de que o site precisa, como seu idioma e um código de indicação. Sem anúncios. Contamos as visitas com uma análise sem cookies. Veja nossa Política de Cookies para mais detalhes.