gladia
Version:
Official TypeScript SDK for Gladia - State-of-the-art Speech to Text API
67 lines (66 loc) • 2.69 kB
TypeScript
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>;
}