| from __future__ import annotations |
|
|
| from enum import Enum |
| from typing import Optional, List |
| from pydantic import BaseModel, Field |
|
|
|
|
| class Rodin3DGenerateRequest(BaseModel): |
| seed: int = Field(..., description="seed_") |
| tier: str = Field(..., description="Tier of generation.") |
| material: str = Field(..., description="The material type.") |
| quality: str = Field(..., description="The generation quality of the mesh.") |
| mesh_mode: str = Field(..., description="It controls the type of faces of generated models.") |
|
|
| class GenerateJobsData(BaseModel): |
| uuids: List[str] = Field(..., description="str LIST") |
| subscription_key: str = Field(..., description="subscription key") |
|
|
| class Rodin3DGenerateResponse(BaseModel): |
| message: Optional[str] = Field(None, description="Return message.") |
| prompt: Optional[str] = Field(None, description="Generated Prompt from image.") |
| submit_time: Optional[str] = Field(None, description="Submit Time") |
| uuid: Optional[str] = Field(None, description="Task str") |
| jobs: Optional[GenerateJobsData] = Field(None, description="Details of jobs") |
|
|
| class JobStatus(str, Enum): |
| """ |
| Status for jobs |
| """ |
| Done = "Done" |
| Failed = "Failed" |
| Generating = "Generating" |
| Waiting = "Waiting" |
|
|
| class Rodin3DCheckStatusRequest(BaseModel): |
| subscription_key: str = Field(..., description="subscription from generate endpoint") |
|
|
| class JobItem(BaseModel): |
| uuid: str = Field(..., description="uuid") |
| status: JobStatus = Field(...,description="Status Currently") |
|
|
| class Rodin3DCheckStatusResponse(BaseModel): |
| jobs: List[JobItem] = Field(..., description="Job status List") |
|
|
| class Rodin3DDownloadRequest(BaseModel): |
| task_uuid: str = Field(..., description="Task str") |
|
|
| class RodinResourceItem(BaseModel): |
| url: str = Field(..., description="Download Url") |
| name: str = Field(..., description="File name with ext") |
|
|
| class Rodin3DDownloadResponse(BaseModel): |
| list: List[RodinResourceItem] = Field(..., description="Source List") |
|
|
|
|
|
|
|
|
|
|