-
Notifications
You must be signed in to change notification settings - Fork 203
docs: sync with ComfyUI backend changes (Gemini 3.7 Flash pricing, ROCm dynamic VRAM default, Qwen-Image-Layered template output) #1467
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -97,13 +97,13 @@ This model regenerates the full image as well as the layers, so a generation alw | |
| | `2` (template default) | 3 | The full image, then 2 layers | | ||
| | `5` | 6 | The full image, then 5 layers | | ||
|
|
||
| **The first image is the full image, not a layer.** In the image to layers workflow it reproduces the input image, so discard it when you only want the layers. `layers` accepts `0`, which gives you that image on its own. | ||
| **The first image is the full image, not a layer.** The image to layers workflow drops it automatically with a `LatentCut` node (`dim` `t`, `index` `1`) before the batch split, so the template outputs `layers` images. If you build a custom graph without that node, discard the first image when you only want the layers. `layers` accepts `0`, which gives you that image on its own. | ||
|
|
||
| **Compositing all of the layers back together recreates the full image.** Use it as a check: if stacking the layers does not reproduce the first image, the decomposition did not do what you wanted. | ||
|
|
||
| ### How the layers become separate images | ||
|
|
||
| The **Empty Qwen Image Layered Latent** node allocates a 5D latent shaped `[batch_size, 16, layers + 1, height // 8, width // 8]`. The layers sit on the third axis, the same temporal axis that video models use for frames. The **LatentCutToBatch** node with `dim` set to `t` moves that axis into the batch dimension, so after **VAE Decode** each layer is a separate image in the batch. | ||
| The **Empty Qwen Image Layered Latent** node allocates a 5D latent shaped `[batch_size, 16, layers + 1, height // 8, width // 8]`. The layers sit on the third axis, the same temporal axis that video models use for frames. The **LatentCutToBatch** node with `dim` set to `t` moves that axis into the batch dimension, so after **VAE Decode** each layer is a separate image in the batch. The template inserts a `LatentCut` node (`dim` `t`, `index` `1`) before `LatentCutToBatch` to drop the full-image entry, so the decoded batch contains only the layers. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win Use one layer-index convention after the cut. All four pages say that the full-image entry is removed before
📍 Affects 4 files
🤖 Prompt for AI Agents |
||
|
|
||
| A layer's position in the stack is therefore its index in the batch, counting from the full image at index 0. There is no z-index field and no per-layer metadata carrying that order, so reordering or filtering the batch reorders the layers. | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -276,6 +276,7 @@ Token-based billing; thought tokens use the output text rate. | |
|
|
||
| | Model | Input credits / 1K | Output credits / 1K | | ||
| | :------------------------------------------------------ | -----------------: | :------------------ | | ||
| | Gemini 3.7 Flash (`gemini-3.7-flash`) | 0.45365 | 2.26403 | | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -e
printf '%s\n' '--- matching rows ---'
rg -n -C 4 'Gemini 3\.7 Flash|gemini-3\.7-flash|211|credit|pricing period|effective' \
tutorials/partner-nodes/pricing.mdx \
ja/tutorials/partner-nodes/pricing.mdx \
ko/tutorials/partner-nodes/pricing.mdx \
zh/tutorials/partner-nodes/pricing.mdx
printf '%s\n' '--- table headers and nearby pricing context ---'
for f in tutorials/partner-nodes/pricing.mdx ja/tutorials/partner-nodes/pricing.mdx ko/tutorials/partner-nodes/pricing.mdx zh/tutorials/partner-nodes/pricing.mdx; do
echo "### $f"
wc -l "$f"
sed -n '250,295p' "$f" 2>/dev/null || true
sed -n '300,340p' "$f" 2>/dev/null || true
doneRepository: Comfy-Org/docs Length of output: 50370 🌐 Web query:
💡 Result: As of August 21, 2026, Google offers Gemini 3.7 Flash with introductory pricing that remains in effect through December 31, 2026 [1][2]. Starting January 1, 2027, the standard pricing for Gemini 3.7 Flash will be $1.50 per 1 million input tokens and $7.50 per 1 million output tokens [1][3][2][4]. The current introductory pricing, available through December 31, 2026, is $0.75 per 1 million input tokens and $3.75 per 1 million output tokens [1][2][5]. Citations:
🏁 Script executed: #!/bin/bash
set -e
for f in tutorials/partner-nodes/pricing.mdx ja/tutorials/partner-nodes/pricing.mdx ko/tutorials/partner-nodes/pricing.mdx zh/tutorials/partner-nodes/pricing.mdx; do
echo "### $f"
sed -n '1,14p' "$f"
rg -n -A 8 -B 4 'Gemini 3\.7 Flash' "$f"
done
python3 - <<'PY'
from decimal import Decimal
credit_per_usd = Decimal("211")
periods = {
"introductory through 2026-12-31": ("0.75", "3.75"),
"standard from 2027-01-01": ("1.50", "7.50"),
}
for name, (input_usd, output_usd) in periods.items():
input_credits = Decimal(input_usd) * credit_per_usd / 1000
output_credits = Decimal(output_usd) * credit_per_usd / 1000
print(name, "input/output credits per 1K =", input_credits, output_credits)
for value in ("0.45365", "2.26403"):
print(value, "credits per 1K => USD per 1M =", Decimal(value) * 1000 / credit_per_usd)
PYRepository: Comfy-Org/docs Length of output: 5737 🌐 Web query:
💡 Result: As of August 21, 2026, the pricing for Gemini 3.7 Flash under the Google Gemini Developer API Paid Tier is $0.75 per 1 million tokens for input and $3.75 per 1 million tokens for output [1]. The output pricing includes costs associated with thinking tokens [1]. Additionally, context caching for this model is priced at $0.075 to $1.00 per 1 million tokens per hour for storage [1]. Grounding with Google Search and Google Maps is provided with a shared monthly free tier of 5,000 requests across Gemini 3 models, after which the cost is $14 per 1,000 search queries [1]. Citations: Correct the Gemini 3.7 Flash rates in all four locales. The introductory rates through December 31, 2026 convert to 📍 Affects 4 files
🤖 Prompt for AI AgentsSource: MCP tools |
||
| | Gemini 3.5 Flash (`gemini-3.5-flash`) | 0.3165 | 1.899 | | ||
| | Gemini 3.1 Pro (`gemini-3.1-pro-preview`) | 0.422 | 2.532 | | ||
| | Gemini 3.1 Flash-Lite (`gemini-3.1-flash-lite-preview`) | 0.05275 | 0.3165 | | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: Comfy-Org/docs
Length of output: 32434
🏁 Script executed:
Repository: Comfy-Org/docs
Length of output: 32780
🏁 Script executed:
Repository: Comfy-Org/docs
Length of output: 11009
🏁 Script executed:
Repository: Comfy-Org/docs
Length of output: 13973
Correct the
layers=0output contract.In all four pages, state that raw output is
layers + 1, while template output islayersonly whenlayers >= 1. Withlayers=0,LatentCutclampsindex=1to0, so the template retains and outputs one full image. Usemax(layers, 1)for the template count. The count must count.tutorials/image/qwen/qwen-image-layered.mdx#L100-L106ja/tutorials/image/qwen/qwen-image-layered.mdx#L90-L96ko/tutorials/image/qwen/qwen-image-layered.mdx#L110-L116zh/tutorials/image/qwen/qwen-image-layered.mdx#L110-L116🧰 Tools
🪛 LanguageTool
[grammar] ~100-~100: Use a hyphen to join words.
Context: ...the full image, not a layer.** The image to layers workflow drops it automatically w...
(QB_NEW_EN_HYPHEN)
📍 Affects 4 files
tutorials/image/qwen/qwen-image-layered.mdx#L100-L100(this comment)ja/tutorials/image/qwen/qwen-image-layered.mdx#L90-L90ko/tutorials/image/qwen/qwen-image-layered.mdx#L110-L110zh/tutorials/image/qwen/qwen-image-layered.mdx#L110-L110🤖 Prompt for AI Agents