Files
freepik-api/app/schemas/image_editing.py

49 lines
1.8 KiB
Python
Raw Permalink Normal View History

from typing import Optional
from pydantic import BaseModel, Field
class UpscaleCreativeRequest(BaseModel):
image: str = Field(..., description='Base64-encoded image')
prompt: Optional[str] = None
scale_factor: Optional[str] = Field(None, description='2x, 4x, 8x, or 16x')
creativity: Optional[int] = Field(None, ge=-10, le=10)
resemblance: Optional[int] = Field(None, ge=-10, le=10)
optimized_for: Optional[str] = Field(
None,
description='standard, soft_portraits, hard_portraits, art_n_illustration, etc.',
)
class UpscalePrecisionRequest(BaseModel):
image: str = Field(..., description='Base64-encoded image')
scale_factor: Optional[str] = Field(None, description='2x or 4x')
class RelightRequest(BaseModel):
image: str = Field(..., description='Base64 or URL of image')
prompt: Optional[str] = None
transfer_light_from_reference_image: Optional[str] = Field(
None, description='Base64 or URL of reference image for light transfer',
)
light_transfer_strength: Optional[int] = Field(None, ge=0, le=100)
class StyleTransferRequest(BaseModel):
image: str = Field(..., description='Base64 or URL of image')
reference_image: str = Field(..., description='Base64 or URL of style reference image')
prompt: Optional[str] = None
style_strength: Optional[int] = Field(None, ge=0, le=100)
structure_strength: Optional[int] = Field(None, ge=0, le=100)
class ExpandRequest(BaseModel):
image: str = Field(..., description='Base64 or URL of image')
prompt: Optional[str] = None
class InpaintRequest(BaseModel):
image: str = Field(..., description='Base64 or URL of image')
mask: str = Field(..., description='Base64 or URL of mask image')
prompt: str = Field(..., min_length=1)