diff --git a/backend/app/api/v1/modules.py b/backend/app/api/v1/modules.py index 9165b73..1ba7b13 100644 --- a/backend/app/api/v1/modules.py +++ b/backend/app/api/v1/modules.py @@ -173,6 +173,10 @@ class VoiceToTextRequest(BaseModel): target_language: str = "EN-US" +class AltTextRequest(BaseModel): + asset_id: str + + class PromptEnhanceRequest(BaseModel): prompt: str style: str = "cinematic" @@ -679,15 +683,18 @@ async def get_sound_effect_formats(): @router.post("/text/alt-text") async def generate_alt_text( - file: UploadFile = File(...), - background_tasks: BackgroundTasks = None, + request: AltTextRequest, + background_tasks: BackgroundTasks, db: Session = Depends(get_db) ): """Generate alt text for image using GPT-4 Vision""" user = db.query(User).filter(User.email == "test@forge.ai").first() - from app.api.v1.assets import upload_asset - asset = await upload_asset(file=file, source_module="alt_text_generator", db=db) + # Validate asset exists + from app.models.asset import Asset + asset = db.query(Asset).filter(Asset.id == UUID(request.asset_id)).first() + if not asset: + raise HTTPException(status_code=404, detail="Asset not found") job = Job( user_id=user.id if user else None, @@ -701,8 +708,7 @@ async def generate_alt_text( db.commit() db.refresh(job) - if background_tasks: - background_tasks.add_task(alt_text_generator.generate, str(job.id)) + background_tasks.add_task(alt_text_generator.generate, str(job.id)) return job_response(job)