Fix alt-text endpoint to accept asset_id

This commit is contained in:
DJP 2025-12-10 09:45:04 -05:00
parent f2506d9287
commit 0fb0edc224

View file

@ -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)