[tripo] fix negtive_prompt and mv2model (#212)

This commit is contained in:
seed93 2025-05-24 10:40:10 +08:00 committed by Robin Huang
parent a848e8c949
commit 89dbf015e3
2 changed files with 10 additions and 4 deletions

View File

@ -114,8 +114,11 @@ class TripoObjectReference(BaseModel):
type: str type: str
object: TripoObjectStorage object: TripoObjectStorage
class TripoFileEmptyReference(BaseModel):
pass
class TripoFileReference(RootModel): class TripoFileReference(RootModel):
root: Union[TripoFileTokenReference, TripoUrlReference, TripoObjectReference] root: Union[TripoFileTokenReference, TripoUrlReference, TripoObjectReference, TripoFileEmptyReference]
class TripoGetStsTokenRequest(BaseModel): class TripoGetStsTokenRequest(BaseModel):
format: str = Field(..., description='The format of the image') format: str = Field(..., description='The format of the image')

View File

@ -10,6 +10,7 @@ from comfy_api_nodes.apis.tripo_api import (
TripoTaskType, TripoTaskType,
TripoStyle, TripoStyle,
TripoFileReference, TripoFileReference,
TripoFileEmptyReference,
TripoUrlReference, TripoUrlReference,
TripoTaskResponse, TripoTaskResponse,
TripoTaskStatus, TripoTaskStatus,
@ -139,7 +140,7 @@ class TripoTextToModelNode:
request=TripoTextToModelRequest( request=TripoTextToModelRequest(
type=TripoTaskType.TEXT_TO_MODEL, type=TripoTaskType.TEXT_TO_MODEL,
prompt=prompt, prompt=prompt,
negative_prompt=negative_prompt, negative_prompt=negative_prompt if negative_prompt else None,
model_version=model_version, model_version=model_version,
style=style_enum, style=style_enum,
texture=texture, texture=texture,
@ -276,13 +277,15 @@ class TripoMultiviewToModelNode:
"image_back": image_back, "image_back": image_back,
"image_right": image_right "image_right": image_right
} }
if image_left is None and image_back is None and image_right is None:
raise RuntimeError("At least one of left, back, or right image must be provided for multiview")
for image_name in ["image", "image_left", "image_back", "image_right"]: for image_name in ["image", "image_left", "image_back", "image_right"]:
image_ = image_dict[image_name] image_ = image_dict[image_name]
if image_ is not None: if image_ is not None:
tripo_file = upload_image_to_tripo(image_, **kwargs) tripo_file = upload_image_to_tripo(image_, **kwargs)
images.append(tripo_file) images.append(tripo_file)
else: else:
images.append(None) images.append(TripoFileEmptyReference())
response = SynchronousOperation( response = SynchronousOperation(
endpoint=ApiEndpoint( endpoint=ApiEndpoint(
path="/proxy/tripo/v2/openapi/task", path="/proxy/tripo/v2/openapi/task",
@ -292,7 +295,7 @@ class TripoMultiviewToModelNode:
), ),
request=TripoMultiviewToModelRequest( request=TripoMultiviewToModelRequest(
type=TripoTaskType.MULTIVIEW_TO_MODEL, type=TripoTaskType.MULTIVIEW_TO_MODEL,
images=images, files=images,
model_version=model_version, model_version=model_version,
orientation=orientation, orientation=orientation,
texture=texture, texture=texture,