"""出图 API。""" from __future__ import annotations from fastapi import APIRouter, HTTPException from ..providers import ProviderError from ..schemas import GenerateIn from ..services import generation as svc router = APIRouter(prefix="/api", tags=["generate"]) @router.post("/generate") def generate(payload: GenerateIn): try: return svc.generate( provider_id=payload.provider_id, model=payload.model, prompt=payload.prompt, size=payload.size, ratio=payload.ratio, n=payload.n, images=payload.images, profile_name=payload.profile_name, ) except ProviderError as exc: raise HTTPException(status_code=exc.status, detail=exc.message) @router.get("/generations") def list_generations(): return svc.list_generations()