# Come trascrivere una registrazione di Zoom, Meet o Teams distinguendo chi parla

> Esporta la registrazione (MP4 o M4A), invia il suo URL a POST /transcribe con include_diarization su true, e ogni passaggio torna con un’etichetta speaker e i tempi di inizio e fine. Poi passa la trascrizione etichettata al tuo LLM per verbale e azioni. L’API trascrive registrazioni che fornisci tu; non entra in una riunione in corso.

Ultimo aggiornamento: 2026-10-18 · HTML: https://console.kolwrite.com/it/guides/meeting-transcription-api

## Trascrivere la registrazione distinguendo chi parla

Puoi caricare il file con `POST /upload` (fino a 100 MiB; per registrazioni più lunghe, estrai l'audio con ffmpeg) oppure usare un URL pubblico, e poi avviare il lavoro. Il parametro `num_speakers` è facoltativo: impostalo se sai già quante persone hanno parlato.

```bash
curl https://app.kolwrite.com/transcribe \
  -H "x-api-key: $KOLWRITE_API_KEY" -H "Content-Type: application/json" \
  -d '{"audio_url": "https://example.com/weekly-sync.mp4", "model": "oracle", "language": "auto",
       "include_diarization": true, "num_speakers": 4, "output_format": "json"}'
```

Per sapere quando è pronta, interroga `GET /transcribe/{jobId}` oppure imposta `webhook_url` per ricevere una chiamata sul tuo server appena finisce di elaborare una riunione lunga.

Ogni intervento riporta chi sta parlando, i tempi e le singole parole:

```json
{
  "jobId": "34c63d45-4cb5-473b-bc60-25c175e69c57",
  "status": "COMPLETED",
  "result": {
    "language": "en",
    "segments": [
      {
        "start": 1.0,
        "end": 3.75,
        "text": "Hello everyone and welcome to the show.",
        "speaker": "Speaker 1",
        "words": [
          { "start": 1.0, "end": 1.35, "word": "Hello" },
          { "start": 1.4, "end": 1.75, "word": "everyone" }
        ]
      }
    ]
  }
}
```

## Assegnare i nomi agli interlocutori

Le etichette assegnate a chi parla sono generiche (`Speaker 1`, `Speaker 2`). Sta poi a te associarle alle persone reali, aiutandoti ad esempio con la lista dei partecipanti o sentendo chi si presenta per primo. Basta una piccola mappatura nel codice per renderlo esplicito:

minutes.py

```python
# minutes.py — turn the diarized result into text an LLM can summarize
NAMES = {"Speaker 1": "Dana", "Speaker 2": "Omar", "Speaker 3": "Lee"}  # you decide who is who


def clock(seconds):
    m, s = divmod(int(seconds), 60)
    h, m = divmod(m, 60)
    return f"{h}:{m:02}:{s:02}" if h else f"{m}:{s:02}"


def meeting_text(result):
    lines = []
    for segment in result["segments"]:
        who = NAMES.get(segment.get("speaker"), segment.get("speaker", "Unknown"))
        lines.append(f'[{clock(segment["start"])}] {who}: {segment["text"]}')
    return "\n".join(lines)


PROMPT = """Below is a meeting transcript with timestamps. Write: (1) a five-line summary,
(2) decisions, (3) action items as "owner - task - [timestamp]". Use only what is in the transcript.

"""
# Send PROMPT + meeting_text(result) to the model you use.
```

## Estrarre il verbale e le attività

KolWrite ti fornisce la trascrizione completa di tempi ed etichette per chi parla; per generare i riassunti e la lista delle azioni puoi affidarti all’LLM che usi di solito. Conviene lasciare i timestamp nel testo, così ogni azione potrà rimandare al momento esatto in cui è stata detta. Ricordati anche di chiedere al modello di basarsi solo su quello che c’è nella trascrizione.

## Chiamate registrate con un interlocutore per canale

Se hai la registrazione stereo di una telefonata (per esempio con l'operatore sul canale sinistro e il cliente sul destro), non ti serve la diarizzazione: puoi separare chi parla direttamente in base al canale. Questa funzione supporta da 2 a 8 canali e non può essere usata insieme a `include_diarization`.

```json
{
  "audio_url": "https://example.com/support-call.wav",
  "model": "oracle",
  "channel_speaker_separation": "standard",
  "channel_labels": { "0": "Agent", "1": "Customer" },
  "output_format": "json"
}
```

Se gli interlocutori si parlano spesso sopra, usa `overlap` invece di `standard`. In questo caso la tariffa del modello viene calcolata sul valore più alto tra la durata totale del file e la somma del parlato rilevato sui vari canali.

## Quanto costa

| Lavoro | Modello | Costo |
| --- | --- | --- |
| Riunione di un'ora con interlocutori | `oracle` | 1,44 US$ |
| La stessa riunione, con diarizzazione Pro per audio difficile | `oracle` + `pro_diarization` | 1,68 US$ |
| 30 minuti, audio difficile, diarizzazione Pro | `oracle_max` + `pro_diarization` | 1,92 US$ |

La diarizzazione base e la separazione standard dei canali sono incluse nel prezzo. Trovi le tariffe in [/llms/pricing.md](https://console.kolwrite.com/llms/pricing.md).

## Cosa tenere a mente prima di usare le trascrizioni

- Durante le riunioni si condividono dati personali. Ricordati di avvisare i partecipanti che stai registrando e trascrivendo la chiamata, e proteggi i testi trascritti con la stessa cura che riservi ai file audio.
- Distinguere chi parla diventa più complicato se le persone si sovrappongono, hanno voci molto simili o usano microfoni di bassa qualità. Quando l'audio è difficile, prova ad attivare `pro_diarization` oppure usa la separazione per canali.
- Se la riunione si svolge in una sola lingua, imposta esplicitamente il parametro `language`. Il rilevamento automatico, infatti, seleziona un'unica lingua per l'intero file.
- Prima di prendere decisioni operative basandoti sul verbale, fai sempre controllare a una persona i nomi propri, le cifre e i punti concordati.

## Domande e risposte

### Come trascrivo una registrazione di Zoom con i nomi dei partecipanti?

Scarica la registrazione e inviala a `POST /transcribe` con `include_diarization: true`. L’API distingue chi parla con etichette come `Speaker 1` e `Speaker 2`; sta poi al tuo codice associarle ai nomi reali.

### Può collegarsi a una chiamata su Google Meet o Teams?

No. KolWrite lavora solo su file registrati, non trascrive in tempo reale e non partecipa alle riunioni in corso.

### Genera anche il verbale e l’elenco delle attività?

Ricevi la trascrizione completa dei tempi e delle etichette di chi parla. Poi passa questo testo al tuo LLM per fargli scrivere il verbale e le azioni da svolgere.

### Come si gestiscono le telefonate a due?

Se le due voci sono registrate su canali audio separati, usa `channel_speaker_separation` insieme a `channel_labels` invece della diarizzazione.

### Quali lingue sono supportate per le riunioni?

Tutte le 100 presenti nell’[elenco delle lingue](https://console.kolwrite.com/it/languages/), inclusi arabo ed ebraico. Se durante la riunione si parla una sola lingua, imposta il parametro `language`.

## Pagine correlate

- [API per i timestamp di ogni parola](https://console.kolwrite.com/it/guides/word-timestamps-api)
- [Strumento di trascrizione per agenti IA](https://console.kolwrite.com/it/guides/transcription-tool-for-ai-agents)
- [Call center e chiamate di vendita](https://console.kolwrite.com/it/use-cases/call-centers)
- [Aziende](https://console.kolwrite.com/it/use-cases/enterprise)
- [Documentazione dell’API](https://console.kolwrite.com/it/public_api_docs)

---
Ottieni una chiave API: https://console.kolwrite.com/auth?lang=it · Documentazione dell’API: https://console.kolwrite.com/it/public_api_docs · llms.txt: https://console.kolwrite.com/llms.txt
