FastAPI wrapper around FaceFusion v3.5.3 submodule with: - Sync and async (job-based) processing endpoints - FaceFusion bridge with manual key registration and Lock-serialized processing - Multi-target Dockerfile (CPU + CUDA GPU) - Docker Compose configs for dev, prod-cpu, and prod-gpu - Gitea CI/CD workflow with dual image builds - All 11 FaceFusion processors supported via options API Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
597 B
Python
32 lines
597 B
Python
from datetime import datetime
|
|
from enum import Enum
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class JobStatus(str, Enum):
|
|
pending = 'pending'
|
|
processing = 'processing'
|
|
completed = 'completed'
|
|
failed = 'failed'
|
|
cancelled = 'cancelled'
|
|
|
|
|
|
class JobCreateResponse(BaseModel):
|
|
job_id: str
|
|
status: JobStatus
|
|
|
|
|
|
class JobStatusResponse(BaseModel):
|
|
job_id: str
|
|
status: JobStatus
|
|
created_at: datetime
|
|
updated_at: Optional[datetime] = None
|
|
error: Optional[str] = None
|
|
|
|
|
|
class JobDeleteResponse(BaseModel):
|
|
job_id: str
|
|
deleted: bool
|