convert Tripo API nodes to V3 schema (#10469)

This commit is contained in:
Alexander Piskun 2025-10-25 01:48:34 +03:00 committed by GitHub
parent 388b306a2b
commit dd5af0c587
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 503 additions and 418 deletions

View File

@ -1,13 +1,20 @@
from __future__ import annotations from __future__ import annotations
from comfy_api_nodes.apis import (
TripoModelVersion,
TripoTextureQuality,
)
from enum import Enum from enum import Enum
from typing import Optional, List, Dict, Any, Union from typing import Optional, List, Dict, Any, Union
from pydantic import BaseModel, Field, RootModel from pydantic import BaseModel, Field, RootModel
class TripoModelVersion(str, Enum):
v2_5_20250123 = 'v2.5-20250123'
v2_0_20240919 = 'v2.0-20240919'
v1_4_20240625 = 'v1.4-20240625'
class TripoTextureQuality(str, Enum):
standard = 'standard'
detailed = 'detailed'
class TripoStyle(str, Enum): class TripoStyle(str, Enum):
PERSON_TO_CARTOON = "person:person2cartoon" PERSON_TO_CARTOON = "person:person2cartoon"
ANIMAL_VENOM = "animal:venom" ANIMAL_VENOM = "animal:venom"

File diff suppressed because it is too large Load Diff

View File

@ -20,6 +20,7 @@ from .conversions import (
trim_video, trim_video,
) )
from .download_helpers import ( from .download_helpers import (
download_url_as_bytesio,
download_url_to_bytesio, download_url_to_bytesio,
download_url_to_image_tensor, download_url_to_image_tensor,
download_url_to_video_output, download_url_to_video_output,
@ -56,6 +57,7 @@ __all__ = [
"upload_images_to_comfyapi", "upload_images_to_comfyapi",
"upload_video_to_comfyapi", "upload_video_to_comfyapi",
# Download helpers # Download helpers
"download_url_as_bytesio",
"download_url_to_bytesio", "download_url_to_bytesio",
"download_url_to_image_tensor", "download_url_to_image_tensor",
"download_url_to_video_output", "download_url_to_video_output",

View File

@ -240,6 +240,18 @@ async def download_url_to_video_output(
return VideoFromFile(result) return VideoFromFile(result)
async def download_url_as_bytesio(
url: str,
*,
timeout: float = None,
cls: type[COMFY_IO.ComfyNode] = None,
) -> BytesIO:
"""Downloads content from a URL and returns a new BytesIO (rewound to 0)."""
result = BytesIO()
await download_url_to_bytesio(url, result, timeout=timeout, cls=cls)
return result
def _generate_operation_id(method: str, url: str, attempt: int) -> str: def _generate_operation_id(method: str, url: str, attempt: int) -> str:
try: try:
parsed = urlparse(url) parsed = urlparse(url)