A API de fala para texto nº 1 em precisão de streaming

Números de telefone, e-mails e UUIDs saem certos de primeira, mesmo com ruído de fundo, e a detecção de turnos integrada avisa seu agente quando quem liga terminou de falar.
transcribe.py
with client.stt.auto_finalize.websocket(
    model="ink-2",
    encoding="pcm_s16le",
    sample_rate=16000,
) as ws:
    ws.send_raw(audio_chunk)
    for event in ws:
        if event.type == "turn.end":
            print(event.transcript)

wss://api.cartesia.ai/stt/turns/websocket

Exemplo completo

Fale e veja a transcrição aparecer

Esta demonstração do Ink 2 aceita inglês, espanhol, francês, hindi e japonês. Fale inglês nesta demonstração.

Clique ou pressione Space para iniciar uma transcrição
Toque para iniciar uma transcrição
Precisa de um assunto?
Qual música ou artista você tem ouvido sem parar?

Fala para texto em Python: sua primeira transcrição

Instale o SDK

Use Python 3.9 ou mais recente. O extra websockets adiciona streaming em tempo real.

Terminal
python3 -m pip install -U "cartesia[websockets]"

Configure sua chave de API

Crie uma chave no playground da Cartesia e guarde em uma variável de ambiente, para que ela nunca fique no seu código.

macOS / Linux
export CARTESIA_API_KEY="your-api-key"

Usa PowerShell?$env:CARTESIA_API_KEY="your-api-key"

Transcreva uma gravação

Salve este script como transcribe.py ao lado de um arquivo WAV mono de 16 bits chamado call.wav e execute. O script transmite o áudio na mesma velocidade em que foi gravado e imprime cada turno concluído.

Terminal
python3 transcribe.py

Para áudio ao vivo, envie os trechos do microfone ou da chamada telefônica conforme chegam, em vez de ler um arquivo.

Modelo
ink-2
Endpoint
/stt/turns/websocket
transcribe.py
import os
import time
import wave

from cartesia import Cartesia

client = Cartesia(api_key=os.environ["CARTESIA_API_KEY"])

with wave.open("call.wav", "rb") as audio:
    sample_rate = audio.getframerate()
    frames_per_chunk = sample_rate // 10  # 100 ms of audio

    with client.stt.auto_finalize.websocket(
        model="ink-2",
        encoding="pcm_s16le",
        sample_rate=sample_rate,
    ) as ws:
        while chunk := audio.readframes(frames_per_chunk):
            ws.send_raw(chunk)
            time.sleep(0.1)  # send audio as fast as it was recorded
        ws.send({"type": "close"})

        for event in ws:
            if event.type == "turn.end":
                print(event.transcript)
            elif event.type == "error":
                raise RuntimeError(event.message)

Escolha o endpoint certo para o seu áudio

Transmita áudio ao vivo por WebSocket. Envie uma gravação pronta em uma única requisição HTTP.

Agentes de voz

/stt/turns/websocket

Transporte
WebSocket
Retorna
Eventos de turno com transcrições completas

A Cartesia decide quando o falante terminou e envia um evento turn.end com o turno inteiro.

Leia o guia de detecção de turnos

Controle de turnos próprio

/stt/websocket

Transporte
WebSocket
Retorna
Atualizações da transcrição

Use quando seu app já tem um detector de atividade de voz ou push-to-talk. Envie finalize quando o falante parar para receber a transcrição na hora.

Leia a referência da API em tempo real

Arquivos gravados

/stt

Transporte
HTTP
Retorna
Uma transcrição

Envie um arquivo WAV ou MP3 inteiro e receba uma transcrição, com timestamps de palavras opcionais.

Leia a referência da API em lote

Preciso onde os agentes de voz costumam falhar

Quem liga dita números de cartão, soletra o nome e faz pausas no meio da frase. Seu agente precisa de uma transcrição correta em cada um desses momentos.

Nº 1 em precisão de streaming

O Ink-2, modelo de fala para texto em streaming da Cartesia, escreve corretamente números de telefone, e-mails e UUIDs e mantém a precisão em linhas telefônicas ruidosas, sem um filtro de ruído separado.

Detecção de turnos sem VAD

O Ink-2 decide quando um turno acabou pelo que a pessoa diz, então você pode dispensar o detector de atividade de voz (VAD) separado. Um evento turn.eager_end permite que seu LLM comece a responder antes de o turno ser confirmado.

As palavras do seu produto, escritas certo

A orientação por termos-chave direciona o reconhecimento para os nomes e jargões que seus clientes usam. Envie até 100 termos em cada conexão.

SDKs e frameworks de agentes de voz

Os SDKs oficiais de Python e JavaScript cuidam do WebSocket para você, e as integrações da Cartesia com Pipecat e LiveKit adicionam o Ink-2 a um agente existente.

Onde a fala para texto entra em um agente de voz

O Ink-2 fica entre o áudio de quem liga e o seu LLM, e os eventos de turno dizem ao agente quando responder.

01

Seu áudio

Transmita áudio do microfone, do navegador ou de chamadas telefônicas em PCM bruto, μ-law ou A-law, na taxa de amostragem que sua fonte já usa.

02

Ink-2

Escreve a transcrição enquanto a pessoa fala e envia turn.end quando ela termina.

03

Seu agente

Passa o turno concluído para o seu LLM. Comece a resposta no turn.eager_end para responder mais rápido e descarte-a se chegar um turn.resume.

Segurança de nível empresarial.Da nuvem ao ambiente local.

  • Selo Em conformidade com a HIPAA

    Em conformidade com a HIPAA

  • Selo SOC 2 Type 2

    SOC 2 Type 2

  • Selo GDPR

    GDPR

  • Selo PCI

    PCI

Adicione fala para texto ao seu produto

Uma conta gratuita inclui até 111 minutos de transcrição com o Ink-2 por mês. Fale com a gente sobre preços por volume, implantação em infraestrutura própria ou um BAA.

Perguntas frequentes sobre a API de fala para texto

Qual é a melhor API de fala para texto?

Para conversas ao vivo, como agentes de voz, escolha a API que é precisa durante o streaming e sabe quando o falante terminou. O Ink-2 é nº 1 em precisão de fala para texto em streaming e detecta os turnos sozinho, então um único modelo substitui um modelo de transcrição e um detector de atividade de voz.

Existe uma API de fala para texto gratuita?

Sim. Uma conta gratuita da Cartesia inclui créditos mensais que cobrem até 111 minutos de transcrição com o Ink-2 pela API, e os planos pagos oferecem mais. Para testar fala para texto sem escrever código, use a ferramenta online gratuita.

Quanto custa a API de fala para texto da Cartesia?

A transcrição com o Ink-2 custa 3 créditos por segundo de áudio, descontados dos créditos mensais do seu plano. O plano gratuito cobre até 111 minutos por mês, e a página de preços mostra quantos minutos cada plano pago inclui.

Como converter fala em texto com Python?

Instale o SDK com pip install "cartesia[websockets]", defina CARTESIA_API_KEY e abra um WebSocket com client.stt.auto_finalize.websocket(model="ink-2", ...). Envie trechos de áudio bruto com send_raw e leia cada transcrição concluída nos eventos turn.end. A seção de Python desta página traz um script completo.

Posso transcrever arquivos de áudio com a API de fala para texto da Cartesia?

Sim. O endpoint em lote recebe uma gravação inteira, como um arquivo WAV ou MP3, em uma única requisição HTTP e devolve uma transcrição, com timestamps de palavras opcionais. O WebSocket em tempo real só aceita áudio na velocidade em que foi gravado, então a API em lote é o jeito mais rápido de transcrever um arquivo.

Quais idiomas a API de fala para texto da Cartesia suporta?

O Ink-2 transcreve inglês, espanhol, francês, hindi e japonês, e detecta qual deles está sendo falado.

O que é uma API de fala para texto?

Uma API de fala para texto (também chamada de API de STT, de reconhecimento de fala ou de transcrição) recebe o áudio do seu app e devolve as palavras em texto. Uma API em streaming devolve a transcrição enquanto a pessoa ainda está falando, que é o que agentes de voz e legendas ao vivo precisam.

Posso executar a API de fala para texto da Cartesia na minha própria infraestrutura?

Sim. O Ink-2 pode ser implantado em infraestrutura própria (inclusive ambientes isolados da rede), na sua VPC da AWS, GCP ou Azure, ou com licença OEM incorporada ao seu produto. Essas implantações e a retenção zero de dados estão disponíveis em contratos empresariais.