| from __future__ import annotations
|
|
|
| from enum import Enum
|
| from typing import Optional
|
|
|
| from pydantic import BaseModel, Field
|
|
|
|
|
| pixverse_templates = {
|
| "Microwave": 324641385496960,
|
| "Suit Swagger": 328545151283968,
|
| "Anything, Robot": 313358700761536,
|
| "Subject 3 Fever": 327828816843648,
|
| "kiss kiss": 315446315336768,
|
| }
|
|
|
|
|
| class PixverseIO:
|
| TEMPLATE = "PIXVERSE_TEMPLATE"
|
|
|
|
|
| class PixverseStatus(int, Enum):
|
| successful = 1
|
| generating = 5
|
| deleted = 6
|
| contents_moderation = 7
|
| failed = 8
|
|
|
|
|
| class PixverseAspectRatio(str, Enum):
|
| ratio_16_9 = "16:9"
|
| ratio_4_3 = "4:3"
|
| ratio_1_1 = "1:1"
|
| ratio_3_4 = "3:4"
|
| ratio_9_16 = "9:16"
|
|
|
|
|
| class PixverseQuality(str, Enum):
|
| res_360p = "360p"
|
| res_540p = "540p"
|
| res_720p = "720p"
|
| res_1080p = "1080p"
|
|
|
|
|
| class PixverseDuration(int, Enum):
|
| dur_5 = 5
|
| dur_8 = 8
|
|
|
|
|
| class PixverseMotionMode(str, Enum):
|
| normal = "normal"
|
| fast = "fast"
|
|
|
|
|
| class PixverseStyle(str, Enum):
|
| anime = "anime"
|
| animation_3d = "3d_animation"
|
| clay = "clay"
|
| comic = "comic"
|
| cyberpunk = "cyberpunk"
|
|
|
|
|
|
|
| class PixverseTextVideoRequest(BaseModel):
|
| aspect_ratio: PixverseAspectRatio = Field(...)
|
| quality: PixverseQuality = Field(...)
|
| duration: PixverseDuration = Field(...)
|
| model: Optional[str] = Field("v3.5")
|
| motion_mode: Optional[PixverseMotionMode] = Field(PixverseMotionMode.normal)
|
| prompt: str = Field(...)
|
| negative_prompt: Optional[str] = Field(None)
|
| seed: Optional[int] = Field(None)
|
| style: Optional[str] = Field(None)
|
| template_id: Optional[int] = Field(None)
|
| water_mark: Optional[bool] = Field(None)
|
|
|
|
|
| class PixverseImageVideoRequest(BaseModel):
|
| quality: PixverseQuality = Field(...)
|
| duration: PixverseDuration = Field(...)
|
| img_id: int = Field(...)
|
| model: Optional[str] = Field("v3.5")
|
| motion_mode: Optional[PixverseMotionMode] = Field(PixverseMotionMode.normal)
|
| prompt: str = Field(...)
|
| negative_prompt: Optional[str] = Field(None)
|
| seed: Optional[int] = Field(None)
|
| style: Optional[str] = Field(None)
|
| template_id: Optional[int] = Field(None)
|
| water_mark: Optional[bool] = Field(None)
|
|
|
|
|
| class PixverseTransitionVideoRequest(BaseModel):
|
| quality: PixverseQuality = Field(...)
|
| duration: PixverseDuration = Field(...)
|
| first_frame_img: int = Field(...)
|
| last_frame_img: int = Field(...)
|
| model: Optional[str] = Field("v3.5")
|
| motion_mode: Optional[PixverseMotionMode] = Field(PixverseMotionMode.normal)
|
| prompt: str = Field(...)
|
|
|
| seed: Optional[int] = Field(None)
|
|
|
|
|
|
|
|
|
|
|
| class PixverseImageUploadResponse(BaseModel):
|
| ErrCode: Optional[int] = None
|
| ErrMsg: Optional[str] = None
|
| Resp: Optional[PixverseImgIdResponseObject] = Field(None, alias='Resp')
|
|
|
|
|
| class PixverseImgIdResponseObject(BaseModel):
|
| img_id: Optional[int] = None
|
|
|
|
|
| class PixverseVideoResponse(BaseModel):
|
| ErrCode: Optional[int] = Field(None)
|
| ErrMsg: Optional[str] = Field(None)
|
| Resp: Optional[PixverseVideoIdResponseObject] = Field(None)
|
|
|
|
|
| class PixverseVideoIdResponseObject(BaseModel):
|
| video_id: int = Field(..., description='Video_id')
|
|
|
|
|
| class PixverseGenerationStatusResponse(BaseModel):
|
| ErrCode: Optional[int] = Field(None)
|
| ErrMsg: Optional[str] = Field(None)
|
| Resp: Optional[PixverseGenerationStatusResponseObject] = Field(None)
|
|
|
|
|
| class PixverseGenerationStatusResponseObject(BaseModel):
|
| create_time: Optional[str] = Field(None)
|
| id: Optional[int] = Field(None)
|
| modify_time: Optional[str] = Field(None)
|
| negative_prompt: Optional[str] = Field(None)
|
| outputHeight: Optional[int] = Field(None)
|
| outputWidth: Optional[int] = Field(None)
|
| prompt: Optional[str] = Field(None)
|
| resolution_ratio: Optional[int] = Field(None)
|
| seed: Optional[int] = Field(None)
|
| size: Optional[int] = Field(None)
|
| status: Optional[int] = Field(None)
|
| style: Optional[str] = Field(None)
|
| url: Optional[str] = Field(None)
|
|
|