Spaces:
Running
on
Zero
Running
on
Zero
| 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" | |
| # NOTE: forgoing descriptions for now in return for dev speed | |
| 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(...) | |
| # 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 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) | |