Skip to content

fix(pricing): update HeyGen, OpenRouter, and Anthropic pricing - #1314

Merged
comfyui-wiki merged 7 commits into
Comfy-Org:mainfrom
lin-bot23:fix/pricing-update-heygen-openrouter-anthropic
Jul 23, 2026
Merged

fix(pricing): update HeyGen, OpenRouter, and Anthropic pricing#1314
comfyui-wiki merged 7 commits into
Comfy-Org:mainfrom
lin-bot23:fix/pricing-update-heygen-openrouter-anthropic

Conversation

@lin-bot23

Copy link
Copy Markdown
Contributor

Summary

Updated the partner node pricing page with new providers and price changes from recent ComfyUI PRs.

Changes

New Section — HeyGen

Added 5 HeyGen nodes with per-second/per-run pricing. Source: PR #14958.

Node Pricing
HeyGen Talking Photo 15.09 / sec
HeyGen Avatar Video 5.04–20.13 / sec (by engine)
HeyGen Create Avatar 301.73 / run
HeyGen Video Translate 10.05–20.13 / sec (by mode)
HeyGen Text to Speech ~0.20 / sec

Anthropic — New Models

Added 3 new Claude models from PR #15023: Opus 4.8, Fable 5, Sonnet 5 with cache pricing.

OpenRouter — Full Rewrite

Updated all model prices and added new models from PR #15021: Claude Opus 4.8, Fable 5, Sonnet 5, Haiku 4.5, GPT-5.6 family (sol/terra/luna), Grok 4.5, Kimi K3.

Checklist

  • All prices sourced from PriceBadge expressions in ComfyUI source
  • Credits = USD × 211 conversion applied
  • PR created by Hermes Agent (bot), do not merge

@lin-bot23
lin-bot23 force-pushed the fix/pricing-update-heygen-openrouter-anthropic branch from 87e9d96 to b048960 Compare July 23, 2026 02:43
@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Changes

Partner-node pricing pages update model and provider credit tables, add HeyGen pricing, revise localized provider content and metadata, and tighten heading-based translation reuse to avoid positional mismatches.

Partner pricing documentation

Layer / File(s) Summary
Translation section matching
.github/scripts/i18n/translate-i18n.ts
Requires stored heading labels to resolve existing translated content instead of falling back to positional matching.
English pricing updates
tutorials/partner-nodes/pricing.mdx
Updates ClaudeNode, ByteDance, HeyGen, OpenAI, and OpenRouter pricing content.
Localized core pricing
ja/tutorials/..., ko/tutorials/..., zh/tutorials/...
Refreshes translation metadata and updates Anthropic, ByteDance, and related provider tables.
HeyGen and image-provider sections
ja/tutorials/..., ko/tutorials/..., zh/tutorials/...
Adds HeyGen and revises HitPaw, Ideogram, Krea, and adjacent provider sections.
OpenRouter and downstream providers
ja/tutorials/..., ko/tutorials/..., zh/tutorials/...
Replaces OpenRouter tables and updates downstream provider pricing through the document.

Possibly related PRs

  • Comfy-Org/docs#1304: Fixes Markdown rendering in overlapping Ideogram and Krea pricing sections.
  • Comfy-Org/docs#1305: Updates Ideogram and Krea sections across localized pricing tutorials.

Suggested reviewers: comfyui-wiki

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

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.

@coderabbitai
coderabbitai Bot requested a review from comfyui-wiki July 23, 2026 02:44

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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 `@tutorials/partner-nodes/pricing.mdx`:
- Around line 303-310: Replace the em-dash placeholders in the Condition column
of the HeyGen pricing table with the approved plain-text placeholder “N/A” or
“None,” including the rows for Talking Photo, Create Avatar, and Text to Speech.
🪄 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: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 7de85d1e-caed-49f8-904d-95e4e00fcbda

📥 Commits

Reviewing files that changed from the base of the PR and between eeb0c7a and b048960.

📒 Files selected for processing (1)
  • tutorials/partner-nodes/pricing.mdx

Comment thread tutorials/partner-nodes/pricing.mdx Outdated
@lin-bot23
lin-bot23 force-pushed the fix/pricing-update-heygen-openrouter-anthropic branch from b048960 to b5d5eb3 Compare July 23, 2026 02:47

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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 `@tutorials/partner-nodes/pricing.mdx`:
- Around line 20-22: Update the changed Anthropic and OpenRouter pricing rows in
the pricing table to use the documented 211 credits per dollar conversion,
recalculating each credit value from its public API price. Ensure entries such
as anthropic/claude-fable-5 reflect 2110 input credits per 1M for a $10 price,
or clearly document any intentional markup rule if different rates must remain.
🪄 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: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 0a60c5d4-2735-4d89-9042-b998f70053a0

📥 Commits

Reviewing files that changed from the base of the PR and between b048960 and b5d5eb3.

📒 Files selected for processing (1)
  • tutorials/partner-nodes/pricing.mdx

Comment thread tutorials/partner-nodes/pricing.mdx
@lin-bot23
lin-bot23 force-pushed the fix/pricing-update-heygen-openrouter-anthropic branch from b5d5eb3 to 1be7707 Compare July 23, 2026 13:01

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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 `@ko/tutorials/partner-nodes/pricing.mdx`:
- Around line 696-733: Remove the stale duplicate Ideogram, Krea, and OpenRouter
pricing sections across ko/tutorials/partner-nodes/pricing.mdx lines 455-486 and
696-733, and zh/tutorials/partner-nodes/pricing.mdx lines 696-733; retain
exactly one updated section for each provider in every ja/, ko/, and zh/ pricing
page, preserving the current model and rate data in the retained sections.
🪄 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: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: bc87c2af-c7f7-4a3c-9ce0-c4cc3119a8da

📥 Commits

Reviewing files that changed from the base of the PR and between b5d5eb3 and 1be7707.

📒 Files selected for processing (4)
  • ja/tutorials/partner-nodes/pricing.mdx
  • ko/tutorials/partner-nodes/pricing.mdx
  • tutorials/partner-nodes/pricing.mdx
  • zh/tutorials/partner-nodes/pricing.mdx

Comment thread ko/tutorials/partner-nodes/pricing.mdx Outdated
@lin-bot23
lin-bot23 force-pushed the fix/pricing-update-heygen-openrouter-anthropic branch from 1be7707 to d2e5b32 Compare July 23, 2026 13:16

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
tutorials/partner-nodes/pricing.mdx (1)

18-25: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Prune the retired ClaudeNode rows in every pricing page. The refresh added Opus 4.8 / Fable 5 / Sonnet 5 but left the previous Opus 4.7/4.6, Sonnet 4.6/4.5, and Haiku 4.5 rows in place, so each table now stacks new and stale models together, risking outdated or conflicting charges. The English source is the root; translations inherit the clutter, so trim it at the top and let the fix trickle down.

  • tutorials/partner-nodes/pricing.mdx#L18-L25: remove the superseded rows at Lines 21–25 if the three new models replace them (or explicitly document why both generations remain).
  • ja/tutorials/partner-nodes/pricing.mdx#L69-L76: delete the stale rows at Lines 72–76 after the source is corrected.
  • ko/tutorials/partner-nodes/pricing.mdx#L69-L76: delete the stale rows at Lines 72–76.
  • zh/tutorials/partner-nodes/pricing.mdx#L69-L76: delete the stale rows at Lines 72–76.
🤖 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 `@tutorials/partner-nodes/pricing.mdx` around lines 18 - 25, Remove the
superseded ClaudeNode pricing rows for Opus 4.7/4.6, Sonnet 4.6/4.5, and Haiku
4.5 from the source table in tutorials/partner-nodes/pricing.mdx (lines 18-25),
retaining the newly added Opus 4.8, Fable 5, and Sonnet 5 rows. Apply the same
stale-row removal in ja/tutorials/partner-nodes/pricing.mdx (lines 69-76),
ko/tutorials/partner-nodes/pricing.mdx (lines 69-76), and
zh/tutorials/partner-nodes/pricing.mdx (lines 69-76) so all translations match
the corrected English source.
🤖 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 `@tutorials/partner-nodes/pricing.mdx`:
- Around line 702-703: Synchronize the Opus 4.7 pricing rows across the
OpenRouter tables in the English and ja/ko/zh locale copies. Update the rows
identified by anthropic/claude-opus-4.7 to use the intended rate consistently,
including both split rows in translated tables, and align them with the
ClaudeNode table’s 1055 / 5275 per 1M values.

---

Outside diff comments:
In `@tutorials/partner-nodes/pricing.mdx`:
- Around line 18-25: Remove the superseded ClaudeNode pricing rows for Opus
4.7/4.6, Sonnet 4.6/4.5, and Haiku 4.5 from the source table in
tutorials/partner-nodes/pricing.mdx (lines 18-25), retaining the newly added
Opus 4.8, Fable 5, and Sonnet 5 rows. Apply the same stale-row removal in
ja/tutorials/partner-nodes/pricing.mdx (lines 69-76),
ko/tutorials/partner-nodes/pricing.mdx (lines 69-76), and
zh/tutorials/partner-nodes/pricing.mdx (lines 69-76) so all translations match
the corrected English source.
🪄 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: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 644d5ecc-80e2-4457-a39c-e572d69a58fa

📥 Commits

Reviewing files that changed from the base of the PR and between 1be7707 and d2e5b32.

📒 Files selected for processing (4)
  • ja/tutorials/partner-nodes/pricing.mdx
  • ko/tutorials/partner-nodes/pricing.mdx
  • tutorials/partner-nodes/pricing.mdx
  • zh/tutorials/partner-nodes/pricing.mdx

Comment thread tutorials/partner-nodes/pricing.mdx
@lin-bot23
lin-bot23 force-pushed the fix/pricing-update-heygen-openrouter-anthropic branch from d2e5b32 to 443fe2e Compare July 23, 2026 13:29

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/scripts/i18n/translate-i18n.ts (1)

797-800: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Don’t let the positional gremlin reuse content on failures.

The initial pass now maps heading sections by stored label order, but existingByIndex[i] is still used as the translation reference and as the fallback when validation fails. If an existing label is missing/shifted on the EN side, a later section can reuse the previous target section’s content on retry. Derive the header-section fallback from storedLabels/targetHeadingSections instead of existingByIndex, or make the fallback fail-fast. No more Tencent-to-Topaz tag-teaming!

🤖 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 @.github/scripts/i18n/translate-i18n.ts around lines 797 - 800, Update the
heading_sections branch in the existingBlock selection so fallback content is
derived from storedLabels/targetHeadingSections rather than existingByIndex[i].
Ensure missing or shifted English labels cannot reuse a neighboring section’s
content during validation retries; use a fail-fast empty fallback if no matching
stored section exists. Keep the non-heading_sections label lookup unchanged.
🤖 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 `@ko/tutorials/partner-nodes/pricing.mdx`:
- Line 448: Remove the stray leading pipe from the Ideogram header row at
ko/tutorials/partner-nodes/pricing.mdx lines 448-448 and the DALL·E separator
row at lines 673-673, so both rows begin with a single pipe and align with their
tables.
- Around line 775-777: Insert a blank line between the two Korean explanatory
sentences and another blank line before the Pixverse table beginning with “| 모델
|”. Preserve the existing text and table content while matching the spacing used
by the corresponding ja/zh sections.
- Around line 479-515: Remove the surplus leading `작업` cell from every data row
in the affected Kling tables: `kling-video-o1`, `kling-v3-omni`, and the
generation rows under `kling-v3`. Make each row begin with its actual operation
value (`생성` or `비디오 → 비디오, 편집`) so it matches the three- or four-column header
and preserves the credit-per-second value.

In `@tutorials/partner-nodes/pricing.mdx`:
- Line 715: Split the combined x-ai/grok-4.20 and x-ai/grok-4.3 entry into two
separate pricing-table rows, preserving the same input and output prices for
each model ID and keeping each Model cell valid.
- Around line 14-18: Add a concise partner-credit conversion formula/markup note
beneath the relevant pricing sections in the pricing documentation, explicitly
showing how listed dollar prices convert to credits for both token-based
OpenRouter/Claude entries and the HeyGen per-second/run entries. Keep the
existing pricing tables unchanged and make the arithmetic auditable without
investigating or documenting the markup’s origin.

---

Outside diff comments:
In @.github/scripts/i18n/translate-i18n.ts:
- Around line 797-800: Update the heading_sections branch in the existingBlock
selection so fallback content is derived from storedLabels/targetHeadingSections
rather than existingByIndex[i]. Ensure missing or shifted English labels cannot
reuse a neighboring section’s content during validation retries; use a fail-fast
empty fallback if no matching stored section exists. Keep the
non-heading_sections label lookup unchanged.
🪄 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: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 91b5387c-c7a6-4e41-92e0-2e13dce9b654

📥 Commits

Reviewing files that changed from the base of the PR and between d2e5b32 and f92c17b.

📒 Files selected for processing (5)
  • .github/scripts/i18n/translate-i18n.ts
  • ja/tutorials/partner-nodes/pricing.mdx
  • ko/tutorials/partner-nodes/pricing.mdx
  • tutorials/partner-nodes/pricing.mdx
  • zh/tutorials/partner-nodes/pricing.mdx

Comment thread ko/tutorials/partner-nodes/pricing.mdx Outdated
Comment thread ko/tutorials/partner-nodes/pricing.mdx Outdated
Comment thread ko/tutorials/partner-nodes/pricing.mdx
Comment on lines 14 to +18
| Model | Input credits / 1K | 5m Cache Write credits / 1K | 1h Cache Write credits / 1K | Cache Hit credits / 1K | Output credits / 1K |
| :--------- | -----------------: | --------------------------: | --------------------------: | ---------------------: | :------------------ |
| Opus 4.8 | 1.509 | 1.886 | 3.017 | 0.151 | 7.543 |
| Fable 5 | 3.017 | 3.772 | 6.035 | 0.302 | 15.087 |
| Sonnet 5 | 0.603 | 0.754 | 1.207 | 0.060 | 3.017 |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Files matching pricing.mdx:"
fd -a 'pricing\.mdx$' . | sed 's#^\./##'

file="$(fd 'pricing\.mdx$' . | head -n 1)"
if [ -n "${file:-}" ]; then
  echo
  echo "Line count:"
  wc -l "$file"
  echo
  echo "Relevant sections around requested line ranges:"
  for start in 1 260 600 680; do
    end=$((start+45))
    echo "--- $start-$end ---"
    sed -n "${start},${end}p" "$file" | nl -ba -v "$start"
  done
fi

echo
echo "Search credit conversion/markup terms in file:"
rg -n "credit|Credits|USD|211|301|markup|Provider|OpenRouter|HeyGen|OpenAI|Anthropic" "$file" || true

Repository: Comfy-Org/docs

Length of output: 571


🏁 Script executed:

#!/bin/bash
set -euo pipefail

file="tutorials/partner-nodes/pricing.mdx"
echo "file=$file"
wc -l "$file"
echo

for range in "1,50" "255,315" "595,635" "690,740"; do
  echo "--- lines ${range} ---"
  sed -n "${range}p" "$file" | awk '{printf "%6d  %s\n", NR+offset, $0}' offset=0
done

echo
echo "Credit conversion related terms:"
rg -n -i "credit|credits|USD|usd|211|301|markup|partner|Provider|OpenRouter|HeyGen|OpenAI|Anthropic" "$file" || true

echo
echo "Markdown table rows in Anthropic/OpenRouter/HeyGen sections:"
python3 - <<'PY'
from pathlib import Path
p=Path("tutorials/partner-nodes/pricing.mdx")
lines=p.read_text().splitlines()
for header in ["## Anthropic","## HeyGen","## OpenAI","## OpenRouter"]:
    print(f"--- {header} ---")
    for i,l in enumerate(lines,1):
        if l.startswith(header):
            start=i
            end=i+80
            for row in lines[start-1:end]:
                if row.strip().startswith("|"):
                    print(f"{row}")
PY

Repository: Comfy-Org/docs

Length of output: 43853


🏁 Script executed:

#!/bin/bash
set -euo pipefail

file="tutorials/partner-nodes/pricing.mdx"

echo "Mathematical relationships in pricing rows:"
python3 - <<'PY'
from pathlib import Path
import re

def parse_number(s):
    s = s.strip()
    if not s or s == "~":
        return None
    # take first signed float in string
    m = re.search(r'([+-]?\d+(?:\.\d+)?)', s)
    return float(m.group(1)) if m else None

for header in ["## Anthropic","## HeyGen","## OpenAI","## OpenRouter","## Beeble","## BFL","## Kling","## Seed","## Hunyuan3D: Embeds"]:
    lines = Path(file).read_text().splitlines()
    print(f"\n--- {header} ---")
    hits = []
    for i,l in enumerate(lines):
        if l.strip() == header:
            section_start = i
            for j in range(section_start+1, min(section_start+80, len(lines))):
                row = lines[j].strip()
                if j == section_start + 1 or not row.startswith("|"):
                    continue
                if header == "## OpenRouter" and not row.startswith("| anthropic"):
                    continue
                if header == "## OpenRouter" and not re.match(r"^ anthropic/claude-", row.split("|",3)[2].strip()):
                    continue
                values = [x.strip() for x in row.split("|") if x.strip() and x != row]
                nums = parse_number(values[-1])
                if nums and (nums < 10 or header in ("## Beeble","## BFL","## Hunyuan3D: Embeds")):
                    hits.append((j+1, nums))
    print(hits)
    ratios = [x/0.211 if y < 0.212 else y/x for x,y in zip(hits, hits[1:]) if x and y]
    print("first two ratio (x1 or next/value):", ratios[:2])
PY

echo
echo "Nearby credit conversion notes anywhere:"
rg -n "credits per USD|credits/USD|USD to credit|credit conversion|211 credits|301|markup|partner markup|Partner Node" tutorials/partner-nodes/pricing.mdx . --glob '!**/.git/**' --glob '!**/node_modules/**' | head -n 200

Repository: Comfy-Org/docs

Length of output: 308


🏁 Script executed:

#!/bin/bash
set -euo pipefail

file="tutorials/partner-nodes/pricing.mdx"

echo "Mathematical relationships for Anthropic credit values:"
python3 - <<'PY'
from pathlib import Path
import re

def parse_number(s):
    s = s.strip()
    if not s or s == "~":
        return None
    m = re.search(r'%([+-]?\d+(?:\.\d+)?)%|(?:sora-v3|sora-2)-0626', s)
    if m:
        return float(m.group(1))
    s = m.group(2) if m else s
    m = re.search(r'^([+-]?\d+(?:\.\d+)?)', s)
    return float(m.group(1)) if m else None

text = Path("tutorials/partner-nodes/pricing.mdx").read_text().splitlines()
sections = {"# Anthropic": None, "## OpenRouter": None, "## HeyGen": None}
for i, line in enumerate(text):
    if line in sections:
        sections[line] = i

print("# Anthropic numeric rows:")
for i in range(sections["# Anthropic"]+1, sections["## OpenRouter"]):
    line = text[i].strip()
    if not line.startswith("|") or "Model" in line:
        continue
    nums = sorted({parse_number(part) for part in line.split("|") if parse_number(part)}, key=lambda x: (x is None, x))
    print(f"{i+1}: {nums}")

print("\n## OpenRouter Anthropic numeric rows:")
for i in range(sections["## OpenRouter"]+1, len(text)):
    line = text[i].strip()
    if not line.startswith("|") or "Model" in line:
        continue
    if not re.match(r"^ anthropic/claude", line.split("|",3)[2].strip()):
        continue
    nums = [parse_number(part) for part in line.split("|") if parse_number(part)]
    print(f"{i+1}: {nums}")

print("\n## HeyGen numeric rows:")
for i in range(sections["## HeyGen"]+1, len(text)):
    line = text[i].strip()
    if not line.startswith("|") or "HeyGen" in line:
        continue
    nums = [parse_number(part) for part in line.split("|") if parse_number(part)]
    if nums:
        print(f"{i+1}: {nums}")
PY

echo
echo "All credit conversion/market markup references:"
rg -n -i "credits per (?:USD|dollar)|credit conversion|211 credits|301|markup|partner markup|Partner Node" tutorials/partner-nodes/pricing.mdx --glob '!**/.git/**' --glob '!**/node_modules/**' || true

Repository: Comfy-Org/docs

Length of output: 375


🌐 Web query:

OpenRouter Claude Opus 4.8 $5 $25 per 1M tokens

💡 Result:

As of July 23, 2026, the pricing for Claude Opus 4.8 on OpenRouter is $5.00 per 1 million input tokens and $25.00 per 1 million output tokens [1][2][3]. This pricing structure is consistent with Anthropic's official rates [4][5]. OpenRouter maintains a "no markup on inference" policy, meaning the rates charged are the pass-through provider rates [6]. Key details regarding Claude Opus 4.8 on OpenRouter include: - Context Window: 1 million tokens [1][2]. - Fast-Mode Variant: There is also a "Claude Opus 4.8 (Fast)" model available, which offers identical capabilities but provides higher output speeds at double the price ($10.00/1M input and $50.00/1M output) [7][3][5]. - Effective Pricing: Actual costs can be significantly lower than the listed rates due to prompt caching, depending on the amount of repeated context sent in requests [2][8]. It is important to note that while OpenRouter does not add a markup to the inference cost itself, users should be aware of platform-level fees, such as a 5.5% credit card processing fee for top-ups or potential 5% charges for "Bring Your Own Key" (BYOK) usage over 1 million tokens per month [6].

Citations:


Add the partner-credit conversion formula to the pricing doc.

This page lists values in credits without saying how prices become credits. The OpenRouter/Claude rows match $5/$25 per 1M, but the listed credits equal ~1508.65/7543.25; HeyGen shows $0.05/sec and 301.73/run mapping to 15.09 and 301.73. Add a short formula/markup note under the relevant sections so users can audit charges. No markup archaeology required, just keep the price math visible so users do not get lost in the credits forest.

🤖 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 `@tutorials/partner-nodes/pricing.mdx` around lines 14 - 18, Add a concise
partner-credit conversion formula/markup note beneath the relevant pricing
sections in the pricing documentation, explicitly showing how listed dollar
prices convert to credits for both token-based OpenRouter/Claude entries and the
HeyGen per-second/run entries. Keep the existing pricing tables unchanged and
make the arithmetic auditable without investigating or documenting the markup’s
origin.

Comment thread tutorials/partner-nodes/pricing.mdx Outdated
@comfyui-wiki
comfyui-wiki merged commit 6c18909 into Comfy-Org:main Jul 23, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants