mirror of
https://git.datalinker.icu/comfyanonymous/ComfyUI
synced 2025-12-08 21:44:33 +08:00
101 lines
2.8 KiB
Python
101 lines
2.8 KiB
Python
from typing import Optional
|
|
from enum import Enum
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class Pikaffect(str, Enum):
|
|
Cake_ify = "Cake-ify"
|
|
Crumble = "Crumble"
|
|
Crush = "Crush"
|
|
Decapitate = "Decapitate"
|
|
Deflate = "Deflate"
|
|
Dissolve = "Dissolve"
|
|
Explode = "Explode"
|
|
Eye_pop = "Eye-pop"
|
|
Inflate = "Inflate"
|
|
Levitate = "Levitate"
|
|
Melt = "Melt"
|
|
Peel = "Peel"
|
|
Poke = "Poke"
|
|
Squish = "Squish"
|
|
Ta_da = "Ta-da"
|
|
Tear = "Tear"
|
|
|
|
|
|
class PikaBodyGenerate22C2vGenerate22PikascenesPost(BaseModel):
|
|
aspectRatio: Optional[float] = Field(None, description='Aspect ratio (width / height)')
|
|
duration: Optional[int] = Field(5)
|
|
ingredientsMode: str = Field(...)
|
|
negativePrompt: Optional[str] = Field(None)
|
|
promptText: Optional[str] = Field(None)
|
|
resolution: Optional[str] = Field('1080p')
|
|
seed: Optional[int] = Field(None)
|
|
|
|
|
|
class PikaGenerateResponse(BaseModel):
|
|
video_id: str = Field(...)
|
|
|
|
|
|
class PikaBodyGenerate22I2vGenerate22I2vPost(BaseModel):
|
|
duration: Optional[int] = 5
|
|
negativePrompt: Optional[str] = Field(None)
|
|
promptText: Optional[str] = Field(None)
|
|
resolution: Optional[str] = '1080p'
|
|
seed: Optional[int] = Field(None)
|
|
|
|
|
|
class PikaBodyGenerate22KeyframeGenerate22PikaframesPost(BaseModel):
|
|
duration: Optional[int] = Field(None, ge=5, le=10)
|
|
negativePrompt: Optional[str] = Field(None)
|
|
promptText: str = Field(...)
|
|
resolution: Optional[str] = '1080p'
|
|
seed: Optional[int] = Field(None)
|
|
|
|
|
|
class PikaBodyGenerate22T2vGenerate22T2vPost(BaseModel):
|
|
aspectRatio: Optional[float] = Field(
|
|
1.7777777777777777,
|
|
description='Aspect ratio (width / height)',
|
|
ge=0.4,
|
|
le=2.5,
|
|
)
|
|
duration: Optional[int] = 5
|
|
negativePrompt: Optional[str] = Field(None)
|
|
promptText: str = Field(...)
|
|
resolution: Optional[str] = '1080p'
|
|
seed: Optional[int] = Field(None)
|
|
|
|
|
|
class PikaBodyGeneratePikadditionsGeneratePikadditionsPost(BaseModel):
|
|
negativePrompt: Optional[str] = Field(None)
|
|
promptText: Optional[str] = Field(None)
|
|
seed: Optional[int] = Field(None)
|
|
|
|
|
|
class PikaBodyGeneratePikaffectsGeneratePikaffectsPost(BaseModel):
|
|
negativePrompt: Optional[str] = Field(None)
|
|
pikaffect: Optional[str] = None
|
|
promptText: Optional[str] = Field(None)
|
|
seed: Optional[int] = Field(None)
|
|
|
|
|
|
class PikaBodyGeneratePikaswapsGeneratePikaswapsPost(BaseModel):
|
|
negativePrompt: Optional[str] = Field(None)
|
|
promptText: Optional[str] = Field(None)
|
|
seed: Optional[int] = Field(None)
|
|
modifyRegionRoi: Optional[str] = Field(None)
|
|
|
|
|
|
class PikaStatusEnum(str, Enum):
|
|
queued = "queued"
|
|
started = "started"
|
|
finished = "finished"
|
|
failed = "failed"
|
|
|
|
|
|
class PikaVideoResponse(BaseModel):
|
|
id: str = Field(...)
|
|
progress: Optional[int] = Field(None)
|
|
status: PikaStatusEnum
|
|
url: Optional[str] = Field(None)
|