File size: 1,313 Bytes
a99c918
 
6299828
a99c918
6299828
3982365
8a7264a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d522665
a99c918
 
 
 
 
 
 
1d2edca
 
 
d522665
1d2edca
a99c918
 
3982365
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from fastapi import FastAPI, HTTPException
from langchain.document_loaders import YoutubeLoader

app = FastAPI()

@app.post("/transcripts",tags=["Transcript"])
def get_youtube_transcript(youtube_url: str, language: str = "ja"):
    try:
        loader = YoutubeLoader.from_youtube_url(
            youtube_url=youtube_url,
            add_video_info=True,
            language=[language],
        )
        docs = loader.load()
        # transcript = " ".join([doc.page_content for doc in docs])
        return {"transcript": str(docs)}
    except Exception as e:
        error_msg = str(e)
        return {"messsage": error_msg}

@app.get("/transcripts",tags=["Transcript"])
def get_youtube_transcript(youtube_url: str, language: str = "ja",length:int = 150000):
    try:
        loader = YoutubeLoader.from_youtube_url(
            youtube_url=youtube_url,
            add_video_info=True,
            language=[language],
        )
        docs = loader.load()
        textTranscript = str(docs)
        if len(textTranscript)<length:
            return {"transcript": textTranscript}
        else:
            return {"transcript": textTranscript[:int(length/2)]+textTranscript[len(textTranscript) - int(length/2):]}
    except Exception as e:
        error_msg = str(e)
        return {"messsage": error_msg}