INTEGRITY Dokumentace

Přepis

RealtimeKit nabízí dva režimy přepisu založené na Cloudflare Workers AI:

Režim Model Doba zpracování Případ použití
V reálném čase Deepgram Nova-3 Během schůzky Živé titulky pro účastníky
Po schůzce Whisper Large v3 Turbo Po skončení schůzky Soubory přepisu a webhooky

RealtimeKit zpracovává zvukový stream každého účastníka samostatně. To pomáhá rozpoznat jednotlivé mluvčí ve výsledném přepisu.

Doporučujeme přejít na plán Workers Paid, abyste se vyhnuli limitům zpracování Workers AI v plánu Free. Více informací najdete v Fakturace a limity plánu Free.

Přepis v reálném čase

Přepis v reálném čase streamuje zvuk účastníků do Deepgram Nova-3 ve Workers AI a odesílá události přepisu účastníkům schůzky během schůzky.

Zapněte přepis v reálném čase

Přepis v reálném čase pro účastníky zapnete nastavením permissions.transcription_enabled: true v účastníkově předvolba. Umožňuje vám rozhodnout, čí zvuk se přepisuje. Můžete tak například přepisovat zvuk řečníka, aniž byste přepisovali zvuk publika.

Chcete-li aktualizovat existující předvolbu, použijte API pro aktualizaci předvolby:

curl -X PATCH "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/presets/$PRESET_ID" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "permissions": {
      "transcription_enabled": true
    }
  }'

Chcete-li vytvořit přednastavení, viz Referenční dokumentace API pro vytvoření předvolby.

RealtimeKit přepisuje zvuk pouze u účastníků, kteří se připojí s předvolbou, jež má permissions.transcription_enabled: true.

Během schůzky RealtimeKit streamuje aktualizace přepisu do klientského SDK. Pro přístup ke stávajícím přepisům z meeting.ai.transcripts nebo naslouchejte novým událostem přepisu pomocí meeting.ai.on("transcript", ...), přečtěte si Využívat přepisy v reálném čase.

Konfigurovat nastavení přepisu

Předvolba určuje, čí zvuk se přepisuje. Konfigurace schůzky určuje, jak RealtimeKit tento zvuk přepisuje. Použijte ai_config.transcription a nastavte mluvený jazyk, vylepšit rozpoznávání vlastních výrazů a řídit filtrování vulgarit pro konkrétní schůzku.

curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/meetings" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Weekly product review",
    "ai_config": {
      "transcription": {
        "language": "en-US",
        "keywords": ["RealtimeKit", "Cloudflare"],
        "profanity_filter": false
      }
    }
  }'
Možnost Typ Výchozí Popis
language string en-US Kód jazyka pro přepis
keywords string[] [] Výrazy pro zlepšení rozpoznávání (jména, žargon)
profanity_filter boolean false Filtrování urážlivého jazyka

Jazyky podporované pro přepis v reálném čase

Přepis v reálném čase pohání Deepgram Nova-3 ve Workers AI.

Nova-3 ve Workers AI podporuje pro přepis tyto jazyky:

Jazyk Kód(y)
Angličtina en, en-US, en-AU, en-GB, en-IN, en-NZ
Španělština es, es-419
Francouzština fr, fr-CA
Němčina de, de-CH
Hindština hi
Ruština ru
Portugalština pt, pt-BR, pt-PT
Japonština ja
Italština it
Nizozemština nl

Použijte multi pro automatickou vícejazyčnou detekci napříč všemi výše uvedenými jazyky.

Pokud není zadán žádný jazyk, model použije výchozí hodnotu en-US. Pro nejlepší přesnost výslovně nastavte jazykový kód odpovídající vašemu zvuku.

Využívat přepisy v reálném čase

Přepis v reálném čase odesílá do klientského SDK průběžné i finální aktualizace přepisu. Průběžné aktualizace použijte pro živé titulky, finální pak pro historii přepisu nebo uložený stav UI.

Client SDK

// Get transcript entries already received by the client.
const transcripts = meeting.ai.transcripts;

// Listen for transcript updates during the meeting.
meeting.ai.on("transcript", (transcript) => {
	if (transcript.isPartialTranscript) {
		updateLiveCaption(transcript.peerId, transcript.transcript);
		return;
	}

	appendFinalTranscript(transcript);
});

Payload přepisu

{
	"id": "1a2b3c4d-5678-90ab-cdef-1234567890ab",
	"name": "Alice",
	"peerId": "4f5g6h7i-8j9k-0lmn-opqr-1234567890st",
	"userId": "uvwxyz-1234-5678-90ab-cdefghijklmn",
	"customParticipantId": "abc123xyz",
	"transcript": "Hello everyone",
	"isPartialTranscript": false,
	"timestamp": 1716700000000
}
Pole Popis
id Jedinečné ID záznamu přepisu
name Zobrazované jméno účastníka, který mluvil
peerId ID peeru účastníka, který mluvil. Při opětovném připojení se změní.
userId Trvalé ID účastníka
customParticipantId Identifikátor účastníka nastavený při jeho přidání
transcript Přepsaný text
isPartialTranscript true pro průběžné aktualizace, false pro závěrečné aktualizace
timestamp Časové razítko Unix epoch v milisekundách

Přepis po schůzce

Přepis po schůzce vytvoří přepis po ukončení schůzky pomocí Whisper Large v3 Turbo ve Workers AI a doručuje jej prostřednictvím webhook nebo REST API. Aby bylo možné identifikovat řečníky, RealtimeKit zpracovává zvuk každého účastníka zvlášť před vytvořením finální přepis.

Zapněte přepis po schůzce

Přepis po skončení schůzky můžete zapnout už při jejím vytváření. Nastavte transcribe_on_end: true a vygenerovat tak přepis po skončení schůzky. Chcete-li vygenerovat také shrnutí automaticky poté, co je přepis k dispozici, nastavte summarize_on_end: true.

curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/meetings" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Weekly product review",
    "transcribe_on_end": true,
    "summarize_on_end": true,
    "ai_config": {
      "transcription": {
        "language": "en"
      }
    }
  }'

Použijte ai_config.transcription.language a nastavit tak jazyk přepisu. Podporované hodnoty najdete v Jazyky podporované po schůzce. Pokud transcribe_on_end není nastaveno, RealtimeKit negeneruje přepis schůzky.

Jazyky podporované po schůzce

Přepis po schůzce podporuje Whisper Large v3 Turbo kódy jazyků. Vynechte ai_config.transcription.language a nechat tak Whisper rozpoznat mluvený jazyk.

Mezi běžné jazykové kódy patří:

Jazyk Kód Jazyk Kód Jazyk Kód
Angličtina en Španělština es Francouzština fr
Němčina de Hindština hi Portugalština pt
Japonština ja Italština it Nizozemština nl
Ruština ru Čínština zh Kantonština yue

Další jazykové kódy po schůzce

Jazyk Kód
Afrikánština af
Albánština sq
Amharština am
Arabština ar
Ásámština as
Ázerbájdžánština az
Baškirština ba
Baskičtina eu
Běloruština be
Bengálština bn
Bosenština bs
Bretonština br
Bulharština bg
Katalánština ca
Chorvatština hr
Čeština cs
Dánština da
Estonština et
Faerština fo
Finština fi
Galicijština gl
Gruzínština ka
Řečtina el
Gudžarátština gu
Haitská kreolština ht
Hauština ha
Havajština haw
Hebrejština he
Maďarština hu
Islandština is
Indonéština id
Jávština jw
Kannadština kn
Kazaština kk
Khmerština km
Korejština ko
Laoština lo
Latina la
Lotyština lv
Lingalština ln
Litevština lt
Lucemburština lb
Makedonština mk
Malgaština mg
Malajština ms
Malajálamština ml
Maltština mt
Maorština mi
Maráthština mr
mongolština mn
Myanmar my
nepálština ne
norština no
norština (nynorsk) nn
okcitánština oc
Paštština ps
Perština fa
Polish pl
paňdžábština pa
Rumunština ro
Sanskrt sa
Srbština sr
Šonština sn
Sindhština sd
Sinhálština si
Slovenština sk
Slovinština sl
Somálština so
Sundánština su
Svahilština sw
Švédština sv
Tagalština tl
Tádžičtina tg
Tamilština ta
Tatarština tt
Telugština te
Thajština th
Tibetština bo
turkmenština tk
turečtina tr
Ukrajinština uk
Urdština ur
uzbečtina uz
vietnamština vi
Velština cy
jidiš yi
jorubština yo

Formáty výstupu

Přepisy po schůzce jsou k dispozici v několika formátech. Pro workflow aplikací použijte CSV nebo JSON, pro titulkové soubory použijte SRT nebo VTT.

Formát Případ použití
CSV Tabulkové procesory a analýza dat
JSON Programový přístup
SRT Soubory titulků videa
VTT Titulky webového videa (<track> element)

Příklady

"1000","peer-123","user-456","cust-789","Alice","Hello everyone"
"3000","peer-234","user-567","cust-890","Bob","Hi Alice"

Řádky CSV používají následující pořadí polí: čas začátku v milisekundách, peer ID, user ID, vlastní ID účastníka, jméno účastníka a text přepisu.

[
	{
		"startTime": 1000,
		"endTime": 2500,
		"sentence": "Hello everyone",
		"peerData": {
			"id": "peer-123",
			"userId": "user-456",
			"displayName": "Alice",
			"cpi": "cust-789",
			"joinedAt": "2024-08-07T10:15:29.000Z",
			"leftAt": ""
		}
	}
]
1
00:00:01,000 --> 00:00:02,500
Alice: Hello everyone

2
00:00:03,000 --> 00:00:04,500
Bob: Hi Alice

Využívat přepisy po schůzce

Jakmile RealtimeKit dokončí zpracování přepisu po schůzce, můžete URL adresu pro stažení přepisu získat pomocí webhooku, nebo ji načíst přes REST API. Webhooky použijte pro asynchronní backendové workflow, REST API pak tehdy, když potřebujete přepis načíst pro konkrétní relaci.

Webhook

Nakonfigurujte meeting.transcript událost v Webhooky RealtimeKit:

{
	"event": "meeting.transcript",
	"meeting": {
		"id": "bbb8940e-1b97-402a-97d6-2708b7feca41",
		"title": "Weekly sync",
		"endedAt": "2026-06-03T10:30:00.000Z",
		"createdAt": "2026-06-03T10:00:00.000Z",
		"sessionId": "05e57591-d89e-45c9-ae44-08dc1eaad0e0",
		"startedAt": "2026-06-03T10:00:00.000Z",
		"status": "LIVE",
		"organizedBy": {
			"id": "c94c437b-592a-4a39-b9e2-47ef1451e43b",
			"name": "Example organization"
		}
	},
	"transcriptDownloadUrl": "https://example.com/transcript.csv",
	"transcriptDownloadUrlExpiry": "2026-06-10T10:30:00.000Z"
}

REST API

Viz Načtení úplného přepisu relace.

curl -X GET "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/sessions/$SESSION_ID/transcript" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Dostupnost přepisu

Přepisy jsou dostupné po dobu 7 dnů po skončení schůzky. Soubory přepisu stáhněte nebo zkopírujte před vypršením platnosti URL vrácené webhookem nebo REST API.

Fakturace a limity plánu Free

Výchozí přepis RealtimeKit nahrává zvukový track každého účastníka a zpracovává jej pomocí Workers AI. Používání Workers AI se účtuje na váš účet Cloudflare pomocí ceny audio modelů, které se odvíjí od zvukových minut účastníků, nikoli od délky schůzky.

V plánu Workers Free zahrnuje Workers AI 10,000 Neurons denně. Pokud chcete využívat více než 10,000 Neurons denně, přejděte na plán Workers Paid. Workers Paid zahrnuje stejných 10,000 bezplatných Neuronů denně, poté účtuje další využití za $0.011 za 1 000 Neurons.

Na plán Workers Paid můžete přejít v Cloudflare dashboard v části Správa účtu.

Přepis RealtimeKit využívá tyto sazby zvukových modelů Workers AI:

Režim přepisu Model Workers AI Neurons za minutu zvuku
Po schůzce @cf/openai/whisper-large-v3-turbo 46.63
V reálném čase @cf/deepgram/nova-3 WebSocket 836.36

Zpracování a ukládání dat

Přepis RealtimeKit je spravovaný proces přepisu. Je-li přepis zapnutý, RealtimeKit zpracovává zvuk účastníků pomocí Workers AI a ukládá výstupy přepisu v úložišti spravovaném službou RealtimeKit.

Pro přepis v reálném čase streamuje RealtimeKit zvuk účastníků, kteří mají přepis zapnutý, do Workers AI a během schůzky odesílá aktualizace přepisu účastníkům schůzky.

Pro přepis po skončení schůzky zpracovává RealtimeKit zvuk každého účastníka zvlášť, po skončení schůzky vytváří finální soubory přepisu a zpřístupňuje je prostřednictvím webhooku nebo REST API.