|
|
|
|
|
|
|
|
|
|
|
|
|
|
from __future__ import annotations |
|
|
|
|
|
from typing import Optional |
|
|
|
|
|
from pydantic import BaseModel, Field |
|
|
|
|
|
|
|
|
class V2OpenAPII2VResp(BaseModel): |
|
|
video_id: Optional[int] = Field(None, description='Video_id') |
|
|
|
|
|
|
|
|
class V2OpenAPIT2VReq(BaseModel): |
|
|
aspect_ratio: str = Field( |
|
|
..., description='Aspect ratio (16:9, 4:3, 1:1, 3:4, 9:16)', examples=['16:9'] |
|
|
) |
|
|
duration: int = Field( |
|
|
..., |
|
|
description='Video duration (5, 8 seconds, --model=v3.5 only allows 5,8; --quality=1080p does not support 8s)', |
|
|
examples=[5], |
|
|
) |
|
|
model: str = Field( |
|
|
..., description='Model version (only supports v3.5)', examples=['v3.5'] |
|
|
) |
|
|
motion_mode: Optional[str] = Field( |
|
|
'normal', |
|
|
description='Motion mode (normal, fast, --fast only available when duration=5; --quality=1080p does not support fast)', |
|
|
examples=['normal'], |
|
|
) |
|
|
negative_prompt: Optional[str] = Field( |
|
|
None, description='Negative prompt\n', max_length=2048 |
|
|
) |
|
|
prompt: str = Field(..., description='Prompt', max_length=2048) |
|
|
quality: str = Field( |
|
|
..., |
|
|
description='Video quality ("360p"(Turbo model), "540p", "720p", "1080p")', |
|
|
examples=['540p'], |
|
|
) |
|
|
seed: Optional[int] = Field(None, description='Random seed, range: 0 - 2147483647') |
|
|
style: Optional[str] = Field( |
|
|
None, |
|
|
description='Style (effective when model=v3.5, "anime", "3d_animation", "clay", "comic", "cyberpunk") Do not include style parameter unless needed', |
|
|
examples=['anime'], |
|
|
) |
|
|
template_id: Optional[int] = Field( |
|
|
None, |
|
|
description='Template ID (template_id must be activated before use)', |
|
|
examples=[302325299692608], |
|
|
) |
|
|
water_mark: Optional[bool] = Field( |
|
|
False, |
|
|
description='Watermark (true: add watermark, false: no watermark)', |
|
|
examples=[False], |
|
|
) |
|
|
|