Verwenden Sie video-to-text-js, um Medien hochzuladen, Transkriptionsaufgaben zu erstellen und Ergebnisse abzufragen.
Der Node.js Client kapselt die öffentlichen Upload- und Task-APIs mit typisierten Hilfsfunktionen.
Installation
Abschnitt betitelt „Installation“pnpm add video-to-text-jsInitialisierung
Abschnitt betitelt „Initialisierung“import { VideoToTextClient } from 'video-to-text-js'
const client = new VideoToTextClient({ apiKey: process.env.VTT_API_KEY!,})Datei transkribieren
Abschnitt betitelt „Datei transkribieren“import { readFile } from 'node:fs/promises'
const file = await readFile('meeting.mp4')
const task = await client.transcriptions.transcribeFile(file, { filename: 'meeting.mp4', mimetype: 'video/mp4', language: 'Auto', timestampMode: 'CHUNK', transcriptionMode: 'balanced', timeoutMs: 10 * 60 * 1000,})
console.log(task.fullText)Verwenden Sie precision, wenn Genauigkeit wichtiger ist als Kreditkosten.
Upload und manuelle Erstellung
Abschnitt betitelt „Upload und manuelle Erstellung“const upload = await client.uploads.create({ filename: 'meeting.mp4', mimetype: 'video/mp4',})
await client.uploads.put(upload.uploadUrl, file, { mimetype: 'video/mp4',})
const asset = await client.uploads.complete(upload.uploadId, { fileKey: upload.fileKey, fileUrl: upload.fileUrl, filename: 'meeting.mp4', mimetype: 'video/mp4', fileSize: file.byteLength,})
const created = await client.tasks.create({ assetId: asset.assetId, language: 'Auto', timestampMode: 'CHUNK', transcriptionMode: 'balanced',})
const result = await client.tasks.wait(created.transcriptId)console.log(result.fullText)Task-Ergebnisse
Abschnitt betitelt „Task-Ergebnisse“tasks.wait() gibt zurück, sobald die Aufgabe SUCCEEDED erreicht. Wenn die Aufgabe FAILED oder CANCELED erreicht, wirft der Client APIError und verwendet showError als Detail, falls vorhanden.
Task-Details enthalten fullText, chunks, words, sourceDurationMs, resultLanguage, transcriptionMode und billedCredits.
import { APIError, RateLimitError, UploadError } from 'video-to-text-js'
try { await client.transcriptions.transcribeFile(file, { filename: 'meeting.mp4', mimetype: 'video/mp4', })} catch (error) { if (error instanceof RateLimitError) { console.error('Please retry later.') } else if (error instanceof UploadError) { console.error('The media upload did not complete.') } else if (error instanceof APIError) { console.error(error.errorCode, error.detail) }}Ressourcen
Abschnitt betitelt „Ressourcen“Für Quellcode, Issues und Beiträge besuchen Sie das GitHub-Repository video-to-text-js. Installieren Sie die neueste Version des Pakets video-to-text-js über npm.