Initial commit: Freepik REST API
FastAPI async wrapper for Freepik cloud AI API supporting image generation (Mystic, Flux Dev/Pro, SeedReam), video generation (Kling, MiniMax, Seedance), image editing (upscale, relight, style transfer, expand, inpaint), and utilities (background removal, classifier, audio isolation). Includes async task tracking with polling, Docker containerization, and Gitea CI/CD workflow. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
35
app/schemas/image_generation.py
Normal file
35
app/schemas/image_generation.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class MysticRequest(BaseModel):
|
||||
prompt: str = Field(..., min_length=1, max_length=4000)
|
||||
negative_prompt: Optional[str] = None
|
||||
resolution: Optional[str] = None
|
||||
styling: Optional[dict] = None
|
||||
seed: Optional[int] = None
|
||||
num_images: Optional[int] = Field(None, ge=1, le=4)
|
||||
|
||||
|
||||
class FluxDevRequest(BaseModel):
|
||||
prompt: str = Field(..., min_length=1, max_length=4000)
|
||||
image: Optional[str] = Field(None, description='Base64-encoded image for img2img')
|
||||
guidance_scale: Optional[float] = Field(None, ge=1.0, le=20.0)
|
||||
num_images: Optional[int] = Field(None, ge=1, le=4)
|
||||
seed: Optional[int] = None
|
||||
|
||||
|
||||
class FluxProRequest(BaseModel):
|
||||
prompt: str = Field(..., min_length=1, max_length=4000)
|
||||
image: Optional[str] = Field(None, description='Base64-encoded image for img2img')
|
||||
guidance_scale: Optional[float] = Field(None, ge=1.0, le=20.0)
|
||||
seed: Optional[int] = None
|
||||
|
||||
|
||||
class SeedreamRequest(BaseModel):
|
||||
prompt: str = Field(..., min_length=1, max_length=4000)
|
||||
image: Optional[str] = Field(None, description='Base64-encoded image for img2img')
|
||||
aspect_ratio: Optional[str] = None
|
||||
num_images: Optional[int] = Field(None, ge=1, le=4)
|
||||
seed: Optional[int] = None
|
||||
Reference in New Issue
Block a user