UNPKG

gladia

Version:

Official TypeScript SDK for Gladia - State-of-the-art Speech to Text API

67 lines (66 loc) 2.69 kB
import { GladiaConfig, TranscriptionOptions, TranscriptionResult, RealTimeTranscriptionOptions } from './types'; export declare class GladiaClient { private readonly apiKey; private readonly baseUrl; private readonly defaultOptions; constructor(config: GladiaConfig); private request; private waitForResult; /** * Transcribe audio from a URL */ transcribeAudio(audioUrl: string, options?: TranscriptionOptions, waitOptions?: { pollingInterval?: number; maxRetries?: number; }): Promise<TranscriptionResult>; /** * Transcribe video from a URL (same as transcribeAudio) */ transcribeVideo(videoUrl: string, options?: TranscriptionOptions, waitOptions?: { pollingInterval?: number; maxRetries?: number; }): Promise<TranscriptionResult>; /** * Upload and transcribe a file */ transcribeFile(file: File | Blob, options?: TranscriptionOptions, waitOptions?: { pollingInterval?: number; maxRetries?: number; }): Promise<TranscriptionResult>; /** * Get a previously created transcription by ID */ getTranscription(id: string): Promise<TranscriptionResult>; /** * Delete a transcription by ID */ deleteTranscription(id: string): Promise<void>; /** * Create a WebSocket connection for real-time transcription */ createRealTimeTranscription(options?: RealTimeTranscriptionOptions): WebSocket; /** * Translate audio/video from a URL */ translateAudio(audioUrl: string, targetLanguages: string[] | string, options?: Omit<TranscriptionOptions, 'translation'>): Promise<TranscriptionResult>; /** * Generate a summary of audio/video */ summarizeAudio(audioUrl: string, options?: Omit<TranscriptionOptions, 'summarization'>): Promise<TranscriptionResult>; /** * Analyze sentiment in audio/video */ analyzeSentiment(audioUrl: string, options?: Omit<TranscriptionOptions, 'sentiment_analysis'>): Promise<TranscriptionResult>; /** * Recognize named entities in audio/video */ detectEntities(audioUrl: string, options?: Omit<TranscriptionOptions, 'named_entity_recognition'>): Promise<TranscriptionResult>; /** * Apply content moderation to audio/video */ moderateContent(audioUrl: string, options?: Omit<TranscriptionOptions, 'content_moderation'>): Promise<TranscriptionResult>; /** * Generate chapters for audio/video */ generateChapters(audioUrl: string, options?: Omit<TranscriptionOptions, 'chapterization'>): Promise<TranscriptionResult>; }