Files
FiDA_Python/src/schemas/generate_3D.py
2026-04-13 12:11:34 +08:00

51 lines
3.3 KiB
Python
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from pydantic import BaseModel, Field, confloat, HttpUrl
from typing import Optional, List, Dict, Any
class ImageTo3DRequest(BaseModel):
input_images: List[str] = Field(..., description="输入图片路径列表")
model: str = Field(default="single", description="模型类型: single 或 multi")
bucket_name: str = Field(..., description="输入图片路径列表")
user_id: str = Field(..., description="用户id")
task_id: str = Field(...)
callback_url: str # 必填,客户端提供的回调地址
class ToSVGRequest(BaseModel):
minio_glb_path: str = Field(..., description="输入图片路径列表")
bucket_name: str = Field(..., description="输入图片路径列表")
user_id: str = Field(..., description="用户id")
task_id: str = Field(...)
callback_url: str # 必填
class Tripo3dApiModel(BaseModel):
input_images: List[str] = Field(..., description="输入图片路径列表")
bucket_name: str = Field(..., description="输入图片路径列表")
user_id: str = Field(..., description="用户id")
callback_url: str # 必填,客户端提供的回调地址
task_id: str = Field()
model: str = Field(default="single", description="模型类型: single 或 multi")
model_version: Optional[str] = Field(default="v3.1-20260211", description="Model version, e.g. v3.1-20260211 / v3.0-20250812 / v2.5-20250123")
poll_interval: Optional[float] = Field(default=2.0, description="Polling interval (seconds)")
poll_timeout: Optional[float] = Field(default=1800.0, description="Max polling time (seconds)")
request_timeout: Optional[float] = Field(default=120.0, description="HTTP request timeout (seconds)")
texture: Optional[bool] = Field(default=True, description="是否生成纹理")
pbr: Optional[bool] = Field(default=True, description="是否生成 PBR 材质")
texture_quality: Optional[str] = Field(default="standard", description="Texture quality: standard / detailed")
texture_alignment: Optional[str] = Field(default="original_image", description="Texture alignment mode: original_image / geometry")
orientation: Optional[str] = Field(default="default", description="Orientation mode: default / align_image")
face_limit: Optional[int] = Field(default=None, description="限制输出模型的面数")
model_seed: Optional[int] = Field(default=None, description="模型生成随机种子")
texture_seed: Optional[int] = Field(default=None, description="纹理生成随机种子")
auto_size: Optional[str] = Field(default=None, description="Auto size option")
quad: Optional[str] = Field(default=None, description="Enable quad remeshing")
compress: Optional[str] = Field(default=None, description="Compress option")
generate_parts: Optional[str] = Field(default=None, description="Generate segmented parts")
smart_low_poly: Optional[str] = Field(default=None, description="Smart low poly optimization")
download_outputs: Optional[bool] = Field(default=True, description="是否下载输出文件(现在改为上传到 MinIO")
save_task_json: Optional[bool] = Field(default=True, description="是否保存 task JSON")
print_payload: Optional[bool] = Field(default=False, description="是否打印请求 payload")
print_output: Optional[bool] = Field(default=True, description="是否打印输出结果")