summarizely-cli
Version:
YouTube summarizer that respects your existing subscriptions. No API keys required.
46 lines • 1.33 kB
TypeScript
import { Config } from '../config';
import { VideoSummaryCache } from '../cache';
import { Provider } from '../types';
export interface VideoServiceOptions {
config?: Config;
cache?: VideoSummaryCache;
}
export interface SummarizeOptions {
url: string;
provider?: Provider;
model?: string;
forceRefresh?: boolean;
maxChars?: number;
stream?: boolean;
onProgress?: (message: string) => void;
}
export interface SummarizeResult {
success: boolean;
url: string;
videoId?: string;
title?: string;
summary?: string;
path?: string;
provider?: Provider;
model?: string;
cached?: boolean;
duration?: number;
error?: string;
}
export declare class VideoService {
private config;
private cache;
constructor(options?: VideoServiceOptions);
summarize(options: SummarizeOptions): Promise<SummarizeResult>;
batch(urls: string[], options?: Partial<SummarizeOptions>): Promise<SummarizeResult[]>;
private checkCache;
private cacheResult;
private processVideoWithRetry;
private processVideoInternal;
private fetchCaptionsWithCache;
private selectProviderWithPriority;
private isRecoverableError;
private delay;
}
export declare function getVideoService(): VideoService;
//# sourceMappingURL=video.service.d.ts.map