tregu0458/youtubetranscript
0
1from fastapi import FastAPI, HTTPException2from langchain.document_loaders import YoutubeLoader3 4app = FastAPI()5 6@app.post("/transcripts",tags=["Transcript"])7def get_youtube_transcript(youtube_url: str, language: str = "ja"):8 try:9 loader = YoutubeLoader.from_youtube_url(10 youtube_url=youtube_url,11 add_video_info=True,12 language=[language],13 )14 docs = loader.load()15 # transcript = " ".join([doc.page_content for doc in docs])16 return {"transcript": str(docs)}17 except Exception as e:18 error_msg = str(e)19 return {"messsage": error_msg}20 21@app.get("/transcripts",tags=["Transcript"])22def get_youtube_transcript(youtube_url: str, language: str = "ja",length:int = 150000):23 try:24 loader = YoutubeLoader.from_youtube_url(25 youtube_url=youtube_url,26 add_video_info=True,27 language=[language],28 )29 docs = loader.load()30 textTranscript = str(docs)31 if len(textTranscript)<length:32 return {"transcript": textTranscript}33 else:34 return {"transcript": textTranscript[:int(length/2)]+textTranscript[len(textTranscript) - int(length/2):]}35 except Exception as e:36 error_msg = str(e)37 return {"messsage": error_msg}