Skip to content

[Partner Nodes] Tripo3D 3.1 model#13788

Merged
Kosinkadink merged 4 commits intomasterfrom
feat/api-nodes/tripo3d-3.1-model
May 9, 2026
Merged

[Partner Nodes] Tripo3D 3.1 model#13788
Kosinkadink merged 4 commits intomasterfrom
feat/api-nodes/tripo3d-3.1-model

Conversation

@bigcat88
Copy link
Copy Markdown
Contributor

@bigcat88 bigcat88 commented May 7, 2026

API Node PR Checklist

Scope

  • Is API Node Change

Pricing & Billing

  • Need pricing update
  • No pricing update

If Need pricing update:

  • Metronome rate cards updated
  • Auto‑billing tests updated and passing

QA

  • QA done
  • QA not required

Comms

  • Informed Kosinkadink

bigcat88 added 2 commits May 7, 2026 11:16
Signed-off-by: bigcat88 <bigcat88@icloud.com>
Signed-off-by: bigcat88 <bigcat88@icloud.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 7, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

This pull request updates the Tripo node implementation to enhance pricing transparency and refine polling behavior. The poll_until_finished function now extracts USD pricing from the consumed_credit field returned in polling responses. Simultaneously, pricing badge expressions across seven Tripo nodes are revised: the three primary generation nodes (Text-to-Model, Image-to-Model, Multiview-to-Model) receive new credit formulas based on model version and feature flags, while four utility nodes (Texture, Refine, Rig, Retarget) have approximate formatting metadata added to their pricing outputs. All USD price outputs are now marked with approximate formatting.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 10.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title refers to a Tripo3D model update but doesn't clearly convey the main change: pricing formula simplifications and deprecated quad parameter. Consider a more specific title like '[Partner Nodes] Tripo3D 3.1: Update pricing formulas and deprecate quad parameter' to better reflect the actual changes.
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The pull request description addresses the pricing updates through a checklist format, confirming that pricing and billing updates have been completed and QA has been done.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@comfy_api_nodes/nodes_tripo.py`:
- Line 63: The price_extractor lambda currently uses a falsy check which treats
0 as absent; update the condition to check presence explicitly using "is not
None" on x.data.consumed_credit so a zero consumption yields 0.0 rather than
None—locate the price_extractor assignment (price_extractor=lambda x: ...) and
replace the falsy check with an explicit "is not None" check against
x.data.consumed_credit while keeping the multiplication by 0.01 when present.
- Around line 778-779: The USD badge calculation compares $texFmt to the
lowercase string "jpeg" while the texture_format widget emits uppercase values
(e.g. "JPEG"), so ($texFmt != "jpeg") is always true and forces $advanced
truthy; update the comparison to match the widget casing (compare $texFmt to
"JPEG" or normalize $texFmt via .toLowerCase() before comparing) in the
expression that produces {"type":"usd","usd": ($advanced ? 0.1 : 0.05),
"format": {"approximate": true}} so the badge correctly shows $0.05 for
non-advanced selections.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 054469c8-a88d-46ad-8903-6c88910cf17a

📥 Commits

Reviewing files that changed from the base of the PR and between 25757a5 and e1a6800.

⛔ Files ignored due to path filters (1)
  • comfy_api_nodes/apis/tripo.py is excluded by !comfy_api_nodes/apis/**
📒 Files selected for processing (1)
  • comfy_api_nodes/nodes_tripo.py

Comment thread comfy_api_nodes/nodes_tripo.py
Comment thread comfy_api_nodes/nodes_tripo.py
@bigcat88 bigcat88 added the preview-cpu Creates a preview ephemeral environment for this PR (CPU only) label May 8, 2026
…node

Signed-off-by: bigcat88 <bigcat88@icloud.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
comfy_api_nodes/nodes_tripo.py (1)

63-63: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Use is not None instead of a falsy check on consumed_credit.

if x.data.consumed_credit treats 0 as absent, so a task that legitimately consumed zero credits will report None to the price badge instead of 0.0. Presence/absence and "zero cost" are semantically different signals here.

🛠️ Proposed fix
-        price_extractor=lambda x: x.data.consumed_credit * 0.01 if x.data.consumed_credit else None,
+        price_extractor=lambda x: x.data.consumed_credit * 0.01 if x.data.consumed_credit is not None else None,
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@comfy_api_nodes/nodes_tripo.py` at line 63, The lambda assigned to
price_extractor incorrectly treats a zero consumed_credit as absent by using a
falsy check; update the conditional to explicitly check for presence with "is
not None" on x.data.consumed_credit so that 0 is preserved (e.g., use
x.data.consumed_credit is not None) and return x.data.consumed_credit * 0.01
when present, otherwise None; locate the price_extractor lambda to apply this
change.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@comfy_api_nodes/nodes_tripo.py`:
- Line 63: The lambda assigned to price_extractor incorrectly treats a zero
consumed_credit as absent by using a falsy check; update the conditional to
explicitly check for presence with "is not None" on x.data.consumed_credit so
that 0 is preserved (e.g., use x.data.consumed_credit is not None) and return
x.data.consumed_credit * 0.01 when present, otherwise None; locate the
price_extractor lambda to apply this change.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 045a88ea-0862-4065-bc14-0e0a2f517ae3

📥 Commits

Reviewing files that changed from the base of the PR and between e1a6800 and 421aaf7.

📒 Files selected for processing (1)
  • comfy_api_nodes/nodes_tripo.py

@Kosinkadink Kosinkadink merged commit 7bbf1e8 into master May 9, 2026
17 checks passed
@bigcat88 bigcat88 deleted the feat/api-nodes/tripo3d-3.1-model branch May 9, 2026 04:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview-cpu Creates a preview ephemeral environment for this PR (CPU only)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants