L'API di trascrizione vocale n. 1 per accuratezza nello streaming

Numeri di telefono, email e UUID escono giusti al primo colpo, anche con rumore di fondo, e il rilevamento dei turni integrato dice al tuo agente quando chi chiama ha finito.
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

Esempio completo

Parla e guarda la trascrizione in diretta

Questa demo di Ink 2 supporta inglese, spagnolo, francese, hindi e giapponese. Per questa demo, parla in inglese.

Fai clic o premi Space per avviare una trascrizione
Tocca per avviare una trascrizione
Ti serve un argomento?
A quale hobby ti stai appassionando ultimamente?

Trascrizione vocale in Python: la tua prima trascrizione

Installa l'SDK

Usa Python 3.9 o successivo. L'extra websockets aggiunge lo streaming in tempo reale.

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

Imposta la chiave API

Crea una chiave nel playground di Cartesia e salvala in una variabile d'ambiente, così non finisce mai nel codice.

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

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

Trascrivi una registrazione

Salva questo script come transcribe.py accanto a un file WAV mono a 16 bit chiamato call.wav, poi eseguilo. Lo script trasmette l'audio alla stessa velocità con cui è stato registrato e stampa ogni turno concluso.

Terminale
python3 transcribe.py

Per l'audio dal vivo, invia i blocchi del microfono o della telefonata man mano che arrivano, invece di leggere un file.

Modello
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)

Scegli l'endpoint adatto al tuo audio

Trasmetti audio dal vivo tramite WebSocket. Carica una registrazione completa con una sola richiesta HTTP.

Agenti vocali

/stt/turns/websocket

Trasporto
WebSocket
Restituisce
Eventi di turno con trascrizioni complete

Cartesia capisce quando chi parla ha finito e invia un evento turn.end con l'intero turno.

Leggi la guida al rilevamento dei turni

Gestione dei turni tua

/stt/websocket

Trasporto
WebSocket
Restituisce
Aggiornamenti della trascrizione

Usalo se la tua app ha già un rilevatore di attività vocale o il push-to-talk. Invia finalize quando chi parla si ferma per ricevere subito la trascrizione.

Leggi il riferimento dell'API in tempo reale

File registrati

/stt

Trasporto
HTTP
Restituisce
Una sola trascrizione

Carica un intero file WAV o MP3 e ricevi una sola trascrizione, con timestamp delle parole opzionali.

Leggi il riferimento dell'API batch

Accurata dove gli agenti vocali di solito sbagliano

Chi chiama detta numeri di carta, fa lo spelling del proprio nome e si ferma a metà frase. Il tuo agente ha bisogno di una trascrizione corretta in ognuno di questi momenti.

N. 1 per accuratezza nello streaming

Ink-2, il modello di trascrizione vocale in streaming di Cartesia, scrive correttamente numeri di telefono, email e UUID e resta accurato sulle linee telefoniche rumorose senza un filtro antirumore separato.

Rilevamento dei turni senza VAD

Ink-2 capisce quando un turno è finito da ciò che dice chi chiama, così puoi fare a meno del rilevatore di attività vocale (VAD) separato. Un evento turn.eager_end permette al tuo LLM di iniziare la risposta prima che il turno sia confermato.

Le parole del tuo prodotto, scritte giuste

Il prompting con termini chiave orienta il riconoscimento verso i nomi e il gergo usati da chi chiama. Passa fino a 100 termini per ogni connessione.

SDK e framework per agenti vocali

Gli SDK ufficiali per Python e JavaScript gestiscono il WebSocket al posto tuo, e le integrazioni di Cartesia con Pipecat e LiveKit aggiungono Ink-2 a un agente esistente.

Dove si colloca la trascrizione vocale in un agente vocale

Ink-2 sta tra l'audio di chi chiama e il tuo LLM, e i suoi eventi di turno dicono all'agente quando rispondere.

01

Il tuo audio

Trasmetti l'audio di microfono, browser o telefonate come PCM grezzo, μ-law o A-law, alla frequenza di campionamento che la sorgente usa già.

02

Ink-2

Scrive la trascrizione mentre chi chiama parla e invia turn.end quando ha finito.

03

Il tuo agente

Passa il turno concluso al tuo LLM. Avvia la risposta su turn.eager_end per rispondere prima, e scartala se arriva turn.resume.

Sicurezza di livello enterprise.Dal cloud al locale.

  • Badge Conforme a HIPAA

    Conforme a HIPAA

  • Badge SOC 2 Type 2

    SOC 2 Type 2

  • Badge GDPR

    GDPR

  • Badge PCI

    PCI

Aggiungi la trascrizione vocale al tuo prodotto

Un account gratuito include fino a 111 minuti al mese di trascrizione con Ink-2. Contattaci per prezzi a volume, distribuzione on-premise o un BAA.

Domande frequenti sull'API di trascrizione vocale

Qual è la migliore API di trascrizione vocale?

Per le conversazioni dal vivo, come gli agenti vocali, scegli l'API che resta accurata in streaming e capisce quando chi parla ha finito. Ink-2 è al primo posto per accuratezza nella trascrizione vocale in streaming e rileva i turni da solo, quindi un unico modello sostituisce un modello di trascrizione più un rilevatore di attività vocale.

Esiste un'API di trascrizione vocale gratuita?

Sì. Un account Cartesia gratuito include crediti mensili che coprono fino a 111 minuti di trascrizione con Ink-2 tramite l'API, e i piani a pagamento ne aggiungono altri. Per provare la trascrizione vocale senza scrivere codice, usa lo strumento online gratuito.

Quanto costa l'API di trascrizione vocale di Cartesia?

La trascrizione con Ink-2 costa 3 crediti per secondo di audio, scalati dai crediti mensili del tuo piano. Il piano gratuito copre fino a 111 minuti al mese, e la pagina dei prezzi indica i minuti inclusi in ogni piano a pagamento.

Come si converte la voce in testo con Python?

Installa l'SDK con pip install "cartesia[websockets]", imposta CARTESIA_API_KEY e apri un WebSocket con client.stt.auto_finalize.websocket(model="ink-2", ...). Invia i blocchi di audio grezzo con send_raw e leggi ogni trascrizione conclusa dagli eventi turn.end. La sezione Python di questa pagina contiene uno script completo.

Posso trascrivere file audio con l'API di trascrizione vocale di Cartesia?

Sì. L'endpoint batch riceve un'intera registrazione, come un file WAV o MP3, con una sola richiesta HTTP e restituisce una sola trascrizione, con timestamp delle parole opzionali. Il WebSocket in tempo reale accetta l'audio solo alla velocità con cui è stato registrato, quindi l'API batch è il modo più rapido per trascrivere un file.

Quali lingue supporta l'API di trascrizione vocale di Cartesia?

Ink-2 trascrive inglese, spagnolo, francese, hindi e giapponese, e riconosce quale di queste lingue si sta parlando.

Che cos'è un'API di trascrizione vocale?

Un'API di trascrizione vocale (detta anche API STT, di riconoscimento vocale o speech to text) riceve l'audio dalla tua app e restituisce le parole come testo. Un'API in streaming restituisce la trascrizione mentre chi parla sta ancora parlando, ed è ciò che serve agli agenti vocali e ai sottotitoli in diretta.

Posso eseguire l'API di trascrizione vocale di Cartesia nella mia infrastruttura?

Sì. Ink-2 si distribuisce on-premise (anche in ambienti air-gapped), nel tuo VPC su AWS, GCP o Azure, oppure come licenza OEM integrata nel tuo prodotto. Queste distribuzioni e la conservazione zero dei dati sono disponibili con i contratti enterprise.