mirror of
https://git.datalinker.icu/comfyanonymous/ComfyUI
synced 2026-09-04 08:47:08 +08:00
Add Pixverse and updated Kling types (#75)
This commit is contained in:
parent
804b4808a7
commit
b44058276c
@ -1114,6 +1114,11 @@ class CameraControl(BaseModel):
|
||||
)
|
||||
|
||||
|
||||
class Duration(str, Enum):
|
||||
field_5 = '5'
|
||||
field_10 = '10'
|
||||
|
||||
|
||||
class Trajectory(BaseModel):
|
||||
x: Optional[int] = Field(
|
||||
None,
|
||||
@ -1133,6 +1138,18 @@ class DynamicMask(BaseModel):
|
||||
trajectories: Optional[List[Trajectory]] = None
|
||||
|
||||
|
||||
class Mode(str, Enum):
|
||||
std = 'std'
|
||||
pro = 'pro'
|
||||
|
||||
|
||||
class ModelName(str, Enum):
|
||||
kling_v1 = 'kling-v1'
|
||||
kling_v1_5 = 'kling-v1-5'
|
||||
kling_v1_6 = 'kling-v1-6'
|
||||
kling_v2_master = 'kling-v2-master'
|
||||
|
||||
|
||||
class KlingImage2VideoRequest(BaseModel):
|
||||
aspect_ratio: Optional[AspectRatio] = '16:9'
|
||||
callback_url: Optional[AnyUrl] = Field(
|
||||
@ -1217,247 +1234,6 @@ class KlingImage2VideoResponse(BaseModel):
|
||||
request_id: Optional[str] = Field(None, description='Request ID')
|
||||
|
||||
|
||||
class AspectRatio1(str, Enum):
|
||||
field_16_9 = '16:9'
|
||||
field_9_16 = '9:16'
|
||||
field_1_1 = '1:1'
|
||||
field_4_3 = '4:3'
|
||||
field_3_4 = '3:4'
|
||||
field_3_2 = '3:2'
|
||||
field_2_3 = '2:3'
|
||||
field_21_9 = '21:9'
|
||||
|
||||
|
||||
class ImageReference(str, Enum):
|
||||
subject = 'subject'
|
||||
face = 'face'
|
||||
|
||||
|
||||
class ModelName2(str, Enum):
|
||||
kling_v1 = 'kling-v1'
|
||||
kling_v1_5 = 'kling-v1-5'
|
||||
|
||||
|
||||
class KlingImageGenerationsRequest(BaseModel):
|
||||
aspect_ratio: Optional[AspectRatio1] = Field(
|
||||
'16:9', description='Aspect ratio of the generated images'
|
||||
)
|
||||
callback_url: Optional[AnyUrl] = Field(
|
||||
None, description='The callback notification address'
|
||||
)
|
||||
human_fidelity: Optional[float] = Field(
|
||||
0.45, description='Subject reference similarity', ge=0.0, le=1.0
|
||||
)
|
||||
image: Optional[str] = Field(
|
||||
None, description='Reference Image - Base64 encoded string or image URL'
|
||||
)
|
||||
image_fidelity: Optional[float] = Field(
|
||||
0.5, description='Reference intensity for user-uploaded images', ge=0.0, le=1.0
|
||||
)
|
||||
image_reference: Optional[ImageReference] = Field(
|
||||
None, description='Image reference type'
|
||||
)
|
||||
model_name: Optional[ModelName2] = Field('kling-v1', description='Model Name')
|
||||
n: Optional[int] = Field(1, description='Number of generated images', ge=1, le=9)
|
||||
negative_prompt: Optional[str] = Field(
|
||||
None, description='Negative text prompt', max_length=200
|
||||
)
|
||||
prompt: str = Field(..., description='Positive text prompt', max_length=500)
|
||||
|
||||
|
||||
class Image(BaseModel):
|
||||
index: Optional[int] = Field(None, description='Image Number (0-9)')
|
||||
url: Optional[AnyUrl] = Field(None, description='URL for generated image')
|
||||
|
||||
|
||||
class TaskResult1(BaseModel):
|
||||
images: Optional[List[Image]] = None
|
||||
|
||||
|
||||
class Data1(BaseModel):
|
||||
created_at: Optional[int] = Field(None, description='Task creation time')
|
||||
task_id: Optional[str] = Field(None, description='Task ID')
|
||||
task_result: Optional[TaskResult1] = None
|
||||
task_status: Optional[TaskStatus] = None
|
||||
task_status_msg: Optional[str] = Field(None, description='Task status information')
|
||||
updated_at: Optional[int] = Field(None, description='Task update time')
|
||||
|
||||
|
||||
class KlingImageGenerationsResponse(BaseModel):
|
||||
code: Optional[int] = Field(None, description='Error code')
|
||||
data: Optional[Data1] = None
|
||||
message: Optional[str] = Field(None, description='Error message')
|
||||
request_id: Optional[str] = Field(None, description='Request ID')
|
||||
|
||||
|
||||
class AudioType(str, Enum):
|
||||
file = 'file'
|
||||
url = 'url'
|
||||
|
||||
|
||||
class Mode2(str, Enum):
|
||||
text2video = 'text2video'
|
||||
audio2video = 'audio2video'
|
||||
|
||||
|
||||
class VoiceLanguage(str, Enum):
|
||||
zh = 'zh'
|
||||
en = 'en'
|
||||
|
||||
|
||||
class Input(BaseModel):
|
||||
audio_file: Optional[str] = Field(
|
||||
None,
|
||||
description='Local Path of Audio File. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB. Base64 code.',
|
||||
)
|
||||
audio_type: Optional[AudioType] = Field(
|
||||
None,
|
||||
description='Method of Transmitting Audio Files for Lip-Sync. Required when mode is audio2video.',
|
||||
)
|
||||
audio_url: Optional[AnyUrl] = Field(
|
||||
None,
|
||||
description='Audio File Download URL. Supported formats: .mp3/.wav/.m4a/.aac, maximum file size of 5MB.',
|
||||
)
|
||||
mode: Mode2 = Field(
|
||||
...,
|
||||
description='Video Generation Mode. text2video: Text-to-video generation mode; audio2video: Audio-to-video generation mode',
|
||||
)
|
||||
text: Optional[str] = Field(
|
||||
None,
|
||||
description='Text Content for Lip-Sync Video Generation. Required when mode is text2video. Maximum length is 120 characters.',
|
||||
)
|
||||
video_id: Optional[str] = Field(
|
||||
None,
|
||||
description='The ID of the video generated by Kling AI. Only supports 5-second and 10-second videos generated within the last 30 days.',
|
||||
)
|
||||
video_url: Optional[AnyUrl] = Field(
|
||||
None,
|
||||
description='Get link for uploaded video. Video files support .mp4/.mov, file size does not exceed 100MB, video length between 2-10s.',
|
||||
)
|
||||
voice_id: Optional[str] = Field(
|
||||
None,
|
||||
description='Voice ID. Required when mode is text2video. The system offers a variety of voice options to choose from.',
|
||||
)
|
||||
voice_language: Optional[VoiceLanguage] = Field(
|
||||
'zh', description='The voice language corresponds to the Voice ID.'
|
||||
)
|
||||
voice_speed: Optional[float] = Field(
|
||||
1,
|
||||
description='Speech Rate. Valid range: 0.8~2.0, accurate to one decimal place.',
|
||||
ge=0.8,
|
||||
le=2.0,
|
||||
)
|
||||
|
||||
|
||||
class KlingLipSyncRequest(BaseModel):
|
||||
callback_url: Optional[AnyUrl] = Field(
|
||||
None,
|
||||
description='The callback notification address. Server will notify when the task status changes.',
|
||||
)
|
||||
input: Input
|
||||
|
||||
|
||||
class TaskResult2(BaseModel):
|
||||
videos: Optional[List[Video]] = None
|
||||
|
||||
|
||||
class Data2(BaseModel):
|
||||
created_at: Optional[int] = Field(None, description='Task creation time')
|
||||
task_id: Optional[str] = Field(None, description='Task ID')
|
||||
task_info: Optional[TaskInfo] = None
|
||||
task_result: Optional[TaskResult2] = None
|
||||
task_status: Optional[TaskStatus] = None
|
||||
updated_at: Optional[int] = Field(None, description='Task update time')
|
||||
|
||||
|
||||
class KlingLipSyncResponse(BaseModel):
|
||||
code: Optional[int] = Field(None, description='Error code')
|
||||
data: Optional[Data2] = None
|
||||
message: Optional[str] = Field(None, description='Error message')
|
||||
request_id: Optional[str] = Field(None, description='Request ID')
|
||||
|
||||
|
||||
class ResourcePackType(str, Enum):
|
||||
decreasing_total = 'decreasing_total'
|
||||
constant_period = 'constant_period'
|
||||
|
||||
|
||||
class Status(str, Enum):
|
||||
toBeOnline = 'toBeOnline'
|
||||
online = 'online'
|
||||
expired = 'expired'
|
||||
runOut = 'runOut'
|
||||
|
||||
|
||||
class ResourcePackSubscribeInfo(BaseModel):
|
||||
effective_time: Optional[int] = Field(
|
||||
None, description='Effective time, Unix timestamp in ms'
|
||||
)
|
||||
invalid_time: Optional[int] = Field(
|
||||
None, description='Expiration time, Unix timestamp in ms'
|
||||
)
|
||||
purchase_time: Optional[int] = Field(
|
||||
None, description='Purchase time, Unix timestamp in ms'
|
||||
)
|
||||
remaining_quantity: Optional[float] = Field(
|
||||
None, description='Remaining quantity (updated with a 12-hour delay)'
|
||||
)
|
||||
resource_pack_id: Optional[str] = Field(None, description='Resource package ID')
|
||||
resource_pack_name: Optional[str] = Field(None, description='Resource package name')
|
||||
resource_pack_type: Optional[ResourcePackType] = Field(
|
||||
None,
|
||||
description='Resource package type (decreasing_total=decreasing total, constant_period=constant periodicity)',
|
||||
)
|
||||
status: Optional[Status] = Field(None, description='Resource Package Status')
|
||||
total_quantity: Optional[float] = Field(None, description='Total quantity')
|
||||
|
||||
|
||||
class Data3(BaseModel):
|
||||
code: Optional[int] = Field(None, description='Error code; 0 indicates success')
|
||||
msg: Optional[str] = Field(None, description='Error information')
|
||||
resource_pack_subscribe_infos: Optional[List[ResourcePackSubscribeInfo]] = Field(
|
||||
None, description='Resource package list'
|
||||
)
|
||||
|
||||
|
||||
class KlingResourcePackageResponse(BaseModel):
|
||||
code: Optional[int] = Field(None, description='Error code; 0 indicates success')
|
||||
data: Optional[Data3] = None
|
||||
message: Optional[str] = Field(None, description='Error information')
|
||||
request_id: Optional[str] = Field(
|
||||
None,
|
||||
description='Request ID, generated by the system, used to track requests and troubleshoot problems',
|
||||
)
|
||||
|
||||
|
||||
class Duration2(str, Enum):
|
||||
field_5 = '5'
|
||||
|
||||
|
||||
class ModelName3(str, Enum):
|
||||
kling_v1_6 = 'kling-v1-6'
|
||||
|
||||
|
||||
class KlingSingleImageEffectInput(BaseModel):
|
||||
duration: Duration2 = Field(
|
||||
..., description='Video Length in seconds. Only 5-second videos are supported.'
|
||||
)
|
||||
image: str = Field(
|
||||
...,
|
||||
description='Reference Image. URL or Base64 encoded string (without data:image prefix). File size cannot exceed 10MB, resolution not less than 300*300px, aspect ratio between 1:2.5 ~ 2.5:1.',
|
||||
)
|
||||
model_name: ModelName3 = Field(
|
||||
...,
|
||||
description='Model Name. Only kling-v1-6 is supported for single image effects.',
|
||||
)
|
||||
|
||||
|
||||
class AspectRatio2(str, Enum):
|
||||
field_16_9 = '16:9'
|
||||
field_9_16 = '9:16'
|
||||
field_1_1 = '1:1'
|
||||
|
||||
|
||||
class Config1(BaseModel):
|
||||
horizontal: Optional[float] = Field(None, ge=-10.0, le=10.0)
|
||||
pan: Optional[float] = Field(None, ge=-10.0, le=10.0)
|
||||
@ -1472,23 +1248,14 @@ class CameraControl1(BaseModel):
|
||||
type: Optional[Type] = Field(None, description='Predefined camera movements type')
|
||||
|
||||
|
||||
class Duration3(str, Enum):
|
||||
field_5 = '5'
|
||||
field_10 = '10'
|
||||
|
||||
|
||||
class Mode3(str, Enum):
|
||||
std = 'std'
|
||||
pro = 'pro'
|
||||
|
||||
|
||||
class ModelName4(str, Enum):
|
||||
class ModelName1(str, Enum):
|
||||
kling_v1 = 'kling-v1'
|
||||
kling_v1_6 = 'kling-v1-6'
|
||||
kling_v2_master = 'kling-v2-master'
|
||||
|
||||
|
||||
class KlingText2VideoRequest(BaseModel):
|
||||
aspect_ratio: Optional[AspectRatio2] = '16:9'
|
||||
aspect_ratio: Optional[AspectRatio] = '16:9'
|
||||
callback_url: Optional[AnyUrl] = Field(
|
||||
None, description='The callback notification address'
|
||||
)
|
||||
@ -1496,10 +1263,10 @@ class KlingText2VideoRequest(BaseModel):
|
||||
cfg_scale: Optional[float] = Field(
|
||||
0.5, description='Flexibility in video generation', ge=0.0, le=1.0
|
||||
)
|
||||
duration: Optional[Duration3] = '5'
|
||||
duration: Optional[Duration] = '5'
|
||||
external_task_id: Optional[str] = Field(None, description='Customized Task ID')
|
||||
mode: Optional[Mode3] = Field('std', description='Video generation mode')
|
||||
model_name: Optional[ModelName4] = Field('kling-v1', description='Model Name')
|
||||
mode: Optional[Mode] = Field('std', description='Video generation mode')
|
||||
model_name: Optional[ModelName1] = Field('kling-v1', description='Model Name')
|
||||
negative_prompt: Optional[str] = Field(
|
||||
None, description='Negative text prompt', max_length=2500
|
||||
)
|
||||
@ -1508,15 +1275,15 @@ class KlingText2VideoRequest(BaseModel):
|
||||
)
|
||||
|
||||
|
||||
class TaskResult3(BaseModel):
|
||||
class TaskResult1(BaseModel):
|
||||
videos: Optional[List[Video]] = None
|
||||
|
||||
|
||||
class Data4(BaseModel):
|
||||
class Data1(BaseModel):
|
||||
created_at: Optional[int] = Field(None, description='Task creation time')
|
||||
task_id: Optional[str] = Field(None, description='Task ID')
|
||||
task_info: Optional[TaskInfo] = None
|
||||
task_result: Optional[TaskResult3] = None
|
||||
task_result: Optional[TaskResult1] = None
|
||||
task_status: Optional[TaskStatus] = None
|
||||
updated_at: Optional[int] = Field(None, description='Task update time')
|
||||
|
||||
@ -1746,7 +1513,8 @@ class GenerationType3(str, Enum):
|
||||
|
||||
class LumaVideoModel(str, Enum):
|
||||
ray_2 = 'ray-2'
|
||||
ray_2_flash = 'ray-2-flash'
|
||||
ray_flash_2 = 'ray-flash-2'
|
||||
ray_1_6 = 'ray-1-6'
|
||||
|
||||
|
||||
class LumaVideoModelOutputDuration1(str, Enum):
|
||||
@ -1831,7 +1599,7 @@ class MinimaxFileRetrieveResponse(BaseModel):
|
||||
file: File
|
||||
|
||||
|
||||
class Status1(str, Enum):
|
||||
class Status(str, Enum):
|
||||
Queueing = 'Queueing'
|
||||
Preparing = 'Preparing'
|
||||
Processing = 'Processing'
|
||||
@ -2259,7 +2027,7 @@ class OpenAIImageGenerationResponse(BaseModel):
|
||||
usage: Optional[Usage] = None
|
||||
|
||||
|
||||
class AspectRatio3(RootModel[float]):
|
||||
class AspectRatio2(RootModel[float]):
|
||||
root: float = Field(
|
||||
...,
|
||||
description='Aspect ratio (width / height)',
|
||||
@ -2276,7 +2044,7 @@ class IngredientsMode(str, Enum):
|
||||
bytes_aliased = bytes
|
||||
|
||||
class PikaBodyGenerate22C2vGenerate22PikascenesPost(BaseModel):
|
||||
aspectRatio: Optional[AspectRatio3] = Field(
|
||||
aspectRatio: Optional[AspectRatio2] = Field(
|
||||
None, description='Aspect ratio (width / height)', title='Aspectratio'
|
||||
)
|
||||
duration: Optional[int] = Field(5, title='Duration')
|
||||
@ -2311,7 +2079,7 @@ class PikaBodyGenerate22KeyframeGenerate22PikaframesPost(BaseModel):
|
||||
|
||||
|
||||
class PikaBodyGenerate22T2vGenerate22T2vPost(BaseModel):
|
||||
aspectRatio: Optional[AspectRatio3] = Field(
|
||||
aspectRatio: Optional[AspectRatio2] = Field(
|
||||
None, description='Aspect ratio (width / height)', title='Aspectratio'
|
||||
)
|
||||
duration: Optional[int] = Field(5, title='Duration')
|
||||
@ -2995,14 +2763,14 @@ class Image(BaseModel):
|
||||
mimeType: Optional[str] = None
|
||||
|
||||
|
||||
class Image3(BaseModel):
|
||||
class Image1(BaseModel):
|
||||
bytesBase64Encoded: Optional[str] = None
|
||||
gcsUri: str
|
||||
mimeType: Optional[str] = None
|
||||
|
||||
|
||||
class Instance(BaseModel):
|
||||
image: Optional[Union[Image2, Image3]] = Field(
|
||||
image: Optional[Union[Image, Image1]] = Field(
|
||||
None, description='Optional image to guide video generation'
|
||||
)
|
||||
prompt: str = Field(..., description='Text description of the video')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user