| from fastapi import Request |
|
|
| from app.controllers.v1.base import new_router |
| from app.models.schema import ( |
| VideoScriptRequest, |
| VideoScriptResponse, |
| VideoTermsRequest, |
| VideoTermsResponse, |
| ) |
| from app.services import llm |
| from app.utils import utils |
|
|
| |
| |
| 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) |
|
|