34 lines
857 B
Python
34 lines
857 B
Python
"""出图 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()
|