Get transcript summaries of Web videos.
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

40 рядки
1.0 KiB

  1. import { config } from 'dotenv';
  2. import { beforeAll, describe, it } from 'vitest';
  3. import { createSummarizer, VideoType } from '../src';
  4. import { writeFileSync } from 'fs';
  5. describe('blah', () => {
  6. beforeAll(() => {
  7. config();
  8. });
  9. it('works', () => new Promise<void>((done) => {
  10. const summarizer = createSummarizer({
  11. type: VideoType.YOUTUBE,
  12. url: 'https://www.youtube.com/watch?v=WeNgDxtBiyw',
  13. openaiApiKey: process.env.OPENAI_API_KEY as string,
  14. });
  15. summarizer.on('success', (data) => {
  16. const transcripts = JSON.parse(data.content as string) as {
  17. transcripts: { text: string }[],
  18. summary: string,
  19. };
  20. const transcriptText = transcripts.transcripts.map((t) => t.text).join('\n');
  21. writeFileSync('transcript.txt', transcriptText);
  22. writeFileSync('summary.txt', transcripts.summary);
  23. });
  24. summarizer.on('error', (err) => {
  25. console.log(err);
  26. done();
  27. });
  28. summarizer.on('end', () => {
  29. done();
  30. });
  31. summarizer.process();
  32. }), { timeout: 180000 });
  33. });