优化fastapi逻辑
This commit is contained in:
@@ -16,6 +16,11 @@ from api.schemas.content import (
|
||||
TitleGenerateRequest,
|
||||
TitleGenerateResponse,
|
||||
)
|
||||
from pixelle_video.utils.content_generators import (
|
||||
generate_narrations_from_topic,
|
||||
generate_image_prompts,
|
||||
generate_title,
|
||||
)
|
||||
|
||||
router = APIRouter(prefix="/content", tags=["Content Generation"])
|
||||
|
||||
@@ -40,9 +45,10 @@ async def generate_narration(
|
||||
try:
|
||||
logger.info(f"Generating {request.n_scenes} narrations from text")
|
||||
|
||||
# Call narration generator service
|
||||
narrations = await pixelle_video.narration_generator(
|
||||
text=request.text,
|
||||
# Call narration generator utility function
|
||||
narrations = await generate_narrations_from_topic(
|
||||
llm_service=pixelle_video.llm,
|
||||
topic=request.text,
|
||||
n_scenes=request.n_scenes,
|
||||
min_words=request.min_words,
|
||||
max_words=request.max_words
|
||||
@@ -76,8 +82,9 @@ async def generate_image_prompt(
|
||||
try:
|
||||
logger.info(f"Generating image prompts for {len(request.narrations)} narrations")
|
||||
|
||||
# Call image prompt generator service
|
||||
image_prompts = await pixelle_video.image_prompt_generator(
|
||||
# Call image prompt generator utility function
|
||||
image_prompts = await generate_image_prompts(
|
||||
llm_service=pixelle_video.llm,
|
||||
narrations=request.narrations,
|
||||
min_words=request.min_words,
|
||||
max_words=request.max_words
|
||||
@@ -93,7 +100,7 @@ async def generate_image_prompt(
|
||||
|
||||
|
||||
@router.post("/title", response_model=TitleGenerateResponse)
|
||||
async def generate_title(
|
||||
async def generate_title_endpoint(
|
||||
request: TitleGenerateRequest,
|
||||
pixelle_video: PixelleVideoDep
|
||||
):
|
||||
@@ -110,9 +117,11 @@ async def generate_title(
|
||||
try:
|
||||
logger.info("Generating title from text")
|
||||
|
||||
# Call title generator service
|
||||
title = await pixelle_video.title_generator(
|
||||
text=request.text
|
||||
# Call title generator utility function
|
||||
title = await generate_title(
|
||||
llm_service=pixelle_video.llm,
|
||||
content=request.text,
|
||||
strategy="llm"
|
||||
)
|
||||
|
||||
return TitleGenerateResponse(
|
||||
|
||||
@@ -8,7 +8,7 @@ from loguru import logger
|
||||
from api.dependencies import PixelleVideoDep
|
||||
from api.schemas.image import ImageGenerateRequest, ImageGenerateResponse
|
||||
|
||||
router = APIRouter(prefix="/image", tags=["Image"])
|
||||
router = APIRouter(prefix="/image", tags=["Basic Services"])
|
||||
|
||||
|
||||
@router.post("/generate", response_model=ImageGenerateResponse)
|
||||
|
||||
@@ -8,7 +8,7 @@ from loguru import logger
|
||||
from api.dependencies import PixelleVideoDep
|
||||
from api.schemas.llm import LLMChatRequest, LLMChatResponse
|
||||
|
||||
router = APIRouter(prefix="/llm", tags=["LLM"])
|
||||
router = APIRouter(prefix="/llm", tags=["Basic Services"])
|
||||
|
||||
|
||||
@router.post("/chat", response_model=LLMChatResponse)
|
||||
|
||||
@@ -9,7 +9,7 @@ from api.dependencies import PixelleVideoDep
|
||||
from api.schemas.tts import TTSSynthesizeRequest, TTSSynthesizeResponse
|
||||
from pixelle_video.utils.tts_util import get_audio_duration
|
||||
|
||||
router = APIRouter(prefix="/tts", tags=["TTS"])
|
||||
router = APIRouter(prefix="/tts", tags=["Basic Services"])
|
||||
|
||||
|
||||
@router.post("/synthesize", response_model=TTSSynthesizeResponse)
|
||||
@@ -33,7 +33,7 @@ async def tts_synthesize(
|
||||
# Call TTS service
|
||||
audio_path = await pixelle_video.tts(
|
||||
text=request.text,
|
||||
voice_id=request.voice_id
|
||||
voice=request.voice_id
|
||||
)
|
||||
|
||||
# Get audio duration
|
||||
|
||||
Reference in New Issue
Block a user