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:
2026-02-16 14:07:36 +01:00
commit 99c24adfe8
32 changed files with 1814 additions and 0 deletions

View 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