Utilisez video-to-text-js pour envoyer un média, créer des tâches de transcription et consulter les résultats.
Le client Node.js encapsule les API publiques d’upload et de tâches avec des helpers typés.
Installation
Section intitulée « Installation »pnpm add video-to-text-jsInitialisation
Section intitulée « Initialisation »import { VideoToTextClient } from 'video-to-text-js'
const client = new VideoToTextClient({ apiKey: process.env.VTT_API_KEY!,})Transcrire un fichier
Section intitulée « Transcrire un fichier »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)Utilisez precision lorsque la précision est plus importante que le coût en crédits.
Upload et création manuels
Section intitulée « Upload et création manuels »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)Résultats de tâche
Section intitulée « Résultats de tâche »tasks.wait() retourne lorsque la tâche atteint SUCCEEDED. Si la tâche atteint FAILED ou CANCELED, le client lance APIError et utilise showError comme détail lorsque disponible.
Les détails de tâche incluent fullText, chunks, words, sourceDurationMs, resultLanguage, transcriptionMode et 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) }}Ressources
Section intitulée « Ressources »Pour le code source, les issues et les contributions, consultez le dépôt GitHub video-to-text-js. Installez la dernière version du package video-to-text-js depuis npm.