File size: 1,335 Bytes
6da61e1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from fastapi import Request
from app.controllers.v1.base import new_router
from app.models.schema import VideoScriptResponse, VideoScriptRequest, VideoTermsResponse, VideoTermsRequest
from app.services import llm
from app.utils import utils

# 认证依赖项
# router = new_router(dependencies=[Depends(base.verify_token)])
router = new_router()


@router.post("/scripts", response_model=VideoScriptResponse, summary="Create a script for the video")
def generate_video_script(request: Request, body: VideoScriptRequest):
    video_script = llm.generate_script(video_subject=body.video_subject,
                                       language=body.video_language,
                                       paragraph_number=body.paragraph_number)
    response = {
        "video_script": video_script
    }
    return utils.get_response(200, response)


@router.post("/terms", response_model=VideoTermsResponse, summary="Generate video terms based on the video script")
def generate_video_terms(request: Request, body: VideoTermsRequest):
    video_terms = llm.generate_terms(video_subject=body.video_subject,
                                     video_script=body.video_script,
                                     amount=body.amount)
    response = {
        "video_terms": video_terms
    }
    return utils.get_response(200, response)