Skip to content

smoke: structure parity gate must fail here - #10

Closed
lin-bot23 wants to merge 123 commits into
mainfrom
tmp/structure-gate-smoke
Closed

lin-bot23 wants to merge 123 commits into
mainfrom
tmp/structure-gate-smoke

Conversation

@lin-bot23

Copy link
Copy Markdown
Owner

Temporary: proves the new Structure Parity workflow fails when a localized page loses a CardGroup wrapper.

comfy-pr-bot and others added 30 commits September 6, 2026 22:07
…m cloud@f1e7d82 (Comfy-Org#1622)

Co-authored-by: mattmillerai <7741082+mattmillerai@users.noreply.github.com>
…Claude Fable 5.1 workflows (Comfy-Org#1621)

* docs: document Multiframe Reference, Recraft V4 style reference, and Claude Fable 5.1 workflows

Sync docs with workflow_templates Comfy-Org#1236 (2026-09-04):

- MiniMax H3 open-weights page: add the video_minimax_h3_multiframe_reference
  workflow section (chained Add Guide nodes pinning frames on the output
  timeline), with model downloads, storage tree, prompting tips, and update
  the template count from three to four
- Recraft V4 page: add the api_recraft_v4_style_reference workflow under the
  Recraft V4 styles section (Create Style node builds a reusable style_id
  from reference images)
- Anthropic Claude page: add the api_anthropic_claude_fable5_1 workflow
  section for the Fable 5.1 template

All pages synced across EN/zh/ja/ko.

* docs: align zh/ko temperature note with EN wording
* docs: document GPT-6 Astra in the OpenAI Chat tutorial and pricing

* docs(partner-nodes): move GPT-6 Astra content to a dedicated page

Move the GPT-6 Astra sections (intro paragraph and template walkthrough)
out of the OpenAI Chat page into a new gpt-6-astra page, in all four
locales. The Chat page returns to its previous state. The new page
cross-links the Chat tutorial and keeps the Cloud/Download cards and the
pricing link. Add the page to the OpenAI group in docs.json navigation
for en/zh/ja/ko.

* docs(partner-nodes): expand GPT-6 Astra page with model usage guidance

Document how to use the model in ComfyUI rather than only the template:
when to pick GPT-6 Astra over cheaper models, the OpenAI Chat node
inputs and downstream uses of its String output (Preview Any, Save
Text, CLIP Text Encode, partner node text inputs), and reasoning effort
levels low through max with the Advanced Options node.

* docs(partner-nodes): fix zh wording in GPT-6 Astra reasoning table
…r discontinued (Comfy-Org#1624)

* docs(partner-nodes): remove dead Reve Comfy Cloud links, note provider discontinued

The Reve templates (api_reve_image_create/edit/remix) were archived and
can no longer be run on Comfy Cloud, so the Run on Comfy Cloud cards
pointed to non-functional links. Removed them from all four locales and
expanded the existing warnings to state that the provider discontinued
the Reve service. Download Workflow cards keep working because the
archived JSON files remain in workflow_templates.

* docs(partner-nodes): note OpenAI discontinued DALL-E models in deprecation warnings

Expand the existing deprecation warnings on the DALL-E 2 and DALL-E 3
tutorial pages (all four locales) to state that OpenAI discontinued the
models, matching the provider-discontinued wording used for Reve.
…omfy-Org#1629)

* docs: add Comfy Router section to homepage and rename sidebar title

- Rename sidebarTitle from Introduction to Home (zh/ja/ko localized)
- Add Comfy Router card section (Quickstart, Available Models, API Reference) linking to development/comfy-router pages
- Add missing Build Custom Nodes section to zh/ja/ko homepages to match upstream EN structure
- Sync translationSourceHash for all three locales

* fix: link translated homepages to EN Comfy Router models page

* docs: translate Comfy Router models page and add to zh/ja/ko navigation

- Add zh/ja/ko translations of development/comfy-router/models.mdx
- Register the page in the Comfy Router group of each language navigation
- Point translated homepage Available Models cards to the localized page

* fix(i18n): resolve broken anchors and untranslated paragraphs in Router models translations

* fix(i18n): use plain model names for untranslated per-model example links
…overview and per-workflow pages (Comfy-Org#1625)

* docs: document the MiniMax H3 Fun ControlNet Union workflow

* docs: split MiniMax H3 tutorial into overview + per-workflow pages

Split the 500-line minimax-h3.mdx into four focused pages across EN/zh/ja/ko:

- minimax-h3.mdx: overview with model intro, key features, workflow index
  cards, output resolution, prompt writing guide, prompt embeddings, and
  Sage Attention
- minimax-h3-native.mdx: T2V, I2V, and R2V template workflows plus advanced
  native-node techniques (guide anchoring #15439, latent noise masks #15375)
- minimax-h3-multiframe.mdx: Multiframe Reference workflow
- minimax-h3-fun-controlnet.mdx: Fun ControlNet Union workflow

docs.json nav updated for all four languages; translation hashes synced.

* docs: fix localized anchor slugs in zh/ja overview workflow index

* docs: SEO-optimize MiniMax H3 page titles and descriptions

Front-load 'ComfyUI MiniMax H3' keywords in all 16 titles/descriptions
(EN/zh/ja/ko x 4 pages), following the repo's existing title pattern
(e.g. 'ComfyUI Wan2.1 VACE Video Examples'). Sidebar titles now say
Overview / Native workflows / Multiframe Reference / Fun ControlNet Union.

* docs: split MiniMax H3 prompt writing into a dedicated prompt guide page

- New minimax-h3-prompt-guide page (EN/zh/ja/ko): official MiniMax prompt
  writing guides, general prompting tips, and the prompt embeddings table
- Overview page now indexes it and keeps workflow/resolution/speedup content
- Cross-page prompt guide links repointed to the new page in all languages
- docs.json nav updated for all four languages
…fy-Org#1637)

* docs: add GPT Image 2.5 Flare and Sunburst partner node tutorial

New tutorials/partner-nodes/openai/gpt-image-2-5 page (EN/zh/ja/ko)
covering the four new template workflows: Flare T2I, Flare image edit,
Sunburst T2I, and Sunburst image edit. Documents the OpenAI GPT Image
2.5 node settings (model variants, sizes up to 3840, quality levels
low-max, reference images, mask inpainting) and per-template prompting
tips. Nav updated for all four languages.

Templates: Comfy-Org/workflow_templates#1247
Node: Comfy-Org/ComfyUI#16190

* docs: generalize image edit sections, fix localized snippet imports

- Flare/Sunburst image edit sections now present the workflows as
  general-purpose image editing (character appearance replacement,
  object edits, background swaps, style conversion) with the template
  examples as demonstrations, per review feedback
- Use localized snippet imports in zh/ja/ko to satisfy validate-links
…Org#1638)

* docs: add v0.34.6 and v0.35.0 changelog and publish CMS release notes

Ship popup copy for both ComfyUI and Cloud across all locales, and tighten CMS staging rules for OSS model names, templates, and partner removals.

* docs: translate v0.34.6 and v0.35.0 changelog to ja/zh/ko
…m cloud@ba8f414 (Comfy-Org#1623)

Co-authored-by: mattmillerai <7741082+mattmillerai@users.noreply.github.com>
* docs(desktop): fix Linux install guide for Ubuntu 26.04

- Add missing build prerequisites (build-essential, git): pnpm run init
  compiles node-pty via node-gyp and fails with 'not found: make' on a
  fresh Ubuntu install
- Document the official Linux packages (.deb / AppImage) that now exist
  on the Downloads page, instead of claiming only Windows/macOS ship
- Mark Node.js/pnpm/build tools as source-build-only requirements

Discussed in Comfy-Org#1630

* docs(desktop): address CodeRabbit review on Linux install changes

- Make sandboxed AppImage launch the default; document --no-sandbox only
  as a fallback for distributions that block Electron's sandbox
  (Ubuntu 24.04+ AppArmor user namespace restrictions)
- Sync the Desktop FAQ with the new Linux package guidance in EN/JA/KO/ZH
  (system requirements, admin rights, download instructions)
- Resync translation hashes

* docs(desktop): update Desktop overview with official Linux packages

Sync the overview intro and Linux card in EN/JA/KO/ZH with the new
package guidance (.deb / AppImage now available). Addresses CodeRabbit
review on PR Comfy-Org#1632.

* docs(desktop): point Linux downloads to the Comfy Desktop README

Linux builds are distributed through the Comfy Desktop repository
README and its universal download link; comfy.org/download does not
list Linux.

- linux.mdx / faq.mdx (EN/JA/KO/ZH): replace the Downloads page
  references with the Comfy Desktop repository + universal download link
- install-link snippet (EN/JA/KO/ZH): it still claimed Linux had no
  official installer; now lists Linux (AppImage / .deb)

Translation hashes synced (pnpm translate:sync-hash).

* docs(desktop): use a runnable AppImage command in the Linux guide

`./<name>.AppImage` is not runnable as written (the shell parses
`<name>` as a redirect). Use `./*.AppImage`, matching the chmod line
and the repository README.

Translation hashes synced.

* docs(desktop): fix the Linux log path for packaged installs

Packaged builds take their app name from productName ("Comfy Desktop"),
so the log lives at `~/.config/Comfy Desktop/logs`; the previous path
(`~/.config/comfyui-desktop-2/logs`) applies to source runs only. Adds a
note that packaged installs also keep the app profile there, and points
to the repository reset script for a full cleanup.

Translation hashes synced.

---------

Co-authored-by: lin-bot23 <linzhixiong23@gmail.com>
…g#1645)

The ComfyUI README (Comfy-Org/ComfyUI #16217) replaced the experimental
RDNA 3/3.5/4-only Windows AMD instructions with stable ROCm 10.0 support via
AMD multi-architecture PyTorch packages (device-* extras, RDNA 2/3/3.5/4,
no separate HIP SDK). The docs still described the old experimental state.

Updates the Supported Hardware bullet in all four languages. The Linux ROCm
7.2 line is unchanged (still matches upstream).
Adds the Gemini 3.8 Flash row to the Google Gemini chat pricing table in all
four languages. Pricing matches the Gemini 3.7 Flash tier: the node's
price_badge expression applies the same [0.002145, 0.010725] USD per 1K tokens
list to both models (Comfy-Org/ComfyUI #16195).

Refs: Comfy-Org/ComfyUI #16195
* Make Router model pages practical and retry-safe

The generated model pages now explain Router calls directly, use the provider's current request examples, and make callers supply one persisted idempotency key per logical request. SDK snippets use an 11-minute deadline so Router can return its own timeout details.\n\nConstraint: Code pages are generated from checked-in model specs and schemas\nRejected: Hand-edit generated pages or hide retry persistence in SDK defaults | generation must remain reproducible and application retries need a durable key\nConfidence: high\nScope-risk: moderate\nDirective: Keep generated SDK deadlines above Router's documented default and persist a request key before the initial dispatch\nTested: bun run code-pages:gen; bun run code-pages:check; bun run code-pages:check-providers; git diff --check\nNot-tested: Hosted preview; live model invocation

* Keep model-page footers focused on first calls

The footer's primary next step should take a reader from an individual model page to a runnable Router example. The catalog/reference page remains useful, but it is not the clearest onboarding destination.\n\nConstraint: Footer cards appear on every generated model page\nRejected: Link the catalog as the primary next step | it duplicates discovery material instead of helping readers make their first call\nConfidence: high\nScope-risk: narrow\nDirective: Keep the model-page footer oriented around immediate, runnable next steps\nTested: git diff --check\nNot-tested: Hosted preview

* Use plain retry language in model snippets

Generated examples now explain idempotency in direct terms: store one UUID before starting a generation and use it again for a retry.\n\nConstraint: The instruction appears in every generated SDK example\nRejected: Internal terminology such as logical request | it does not tell readers what to do\nConfidence: high\nScope-risk: narrow\nDirective: Keep retry guidance concrete and action-oriented\nTested: bun run code-pages:gen; bun run code-pages:check; git diff --check\nNot-tested: Hosted preview

* Describe Router error headers as responses

The footer now explains that Router sends X-Comfy-Error-Type when a request fails, rather than implying callers must use or set the header.\n\nConstraint: Error guidance must distinguish request and response headers\nRejected: Classify a failure with the header | it obscures that Router sends the value\nConfidence: high\nScope-risk: narrow\nDirective: Describe response metadata as information Router returns\nTested: git diff --check\nNot-tested: Hosted preview

* Make generated model pages honest and useful

Stop presenting empty request bodies as runnable quickstarts, preserve curated
request/result pairs alongside published schema fixtures, and label shared
provider examples accurately. Render Meshy's preview and refine schemas with
their actual fields, correct ambiguous types, retain retry keys in every client,
and clarify asset handling for curated image and video models.

Constraint: Model-page MDX remains generated from code.yaml and synced Router schemas
Rejected: Edit generated pages directly | regeneration would overwrite the fixes
Rejected: Add guessed request bodies | provider requirements are not established
Confidence: high
Scope-risk: moderate
Directive: Fix incorrect synced fixtures in the upstream Router contract
Tested: 24 unit tests; 177 page freshness and snippet syntax checks; provider-schema comparison with zero errors; full Mintlify validation; information-retention audit
Not-tested: Paid model invocations

* Keep curl examples concise

Remove only the redundant retry comment; retain the request-key variable and behavior.

Tested: 24 unit tests and 198 generated pages with snippet validation.
Scope-risk: narrow

* Let TypeScript examples use automatic SDK idempotency

Remove redundant UUID generation and explain the SDK default. Leave timeouts, Python, and curl unchanged.

Tested: 24 unit tests and 198 generated pages with snippet validation.
Scope-risk: narrow

* Use the SDK default timeout in TypeScript examples

Remove the explicit timeout option without changing Python or curl examples.

Tested: 24 unit tests and 198 generated pages with snippet validation.
Scope-risk: narrow

* Use the Python SDK default timeout in model examples

Remove redundant Python timeout overrides and regenerate model pages. Keep curl max-time because curl has no default overall deadline.

Tested: 24 unit tests and 198 generated pages with snippet validation.
Scope-risk: narrow

* Keep model examples focused on the request and response

Remove redundant response labels and expanded introductions. Let Python use SDK-generated idempotency keys and clarify the existing footer without changing schema examples.

Tested: 24 unit tests, 198 fresh pages with snippet syntax validation, JSON example preservation, git diff --check.
Scope-risk: narrow

* Preserve the original curl example setup

Remove the added request-key variable and timeout. Regenerate pages with the original inline UUID header.

Tested: 24 unit tests and 198 generated pages with snippet validation.
Scope-risk: narrow

* Keep curated model pages to one request and response example

Remove the supplementary schema-example accordion. Keep schema-only pages and the schema JSON unchanged.

Tested: 24 unit tests and 198 generated pages with snippet validation.
Scope-risk: narrow

* Keep type fallback and response examples within the requested scope

Restore the original object fallback and remove model-mismatch commentary. Preserve response payloads and regenerate pages.

Tested: 23 unit tests and 198 generated pages with snippet validation.
Scope-risk: narrow

* Make the Opus example identify the model being called

Adjust the shared Haiku fixture only when rendering the Opus 4.6 response example. The synced schema and runtime API are unchanged.

Related: https://platform.claude.com/docs/en/models/opus-4-6/overview#model-ids
Tested: 23 unit tests and 198 fresh pages with snippet validation.
Scope-risk: narrow

* Make shared response examples identify the documented model

Apply provider-specific model fields and documented aliases when rendering examples. Correct Luma request.model as well as the top-level model. Keep curated examples and synced API schemas unchanged.

Tested: 23 unit tests, 198 generated pages with snippet validation, 29-page diff restricted to model identifier values.
Not-tested: Live paid model responses; examples use documented provider identifiers.
Scope-risk: narrow

* Keep only focused model-page regression tests

Remove three static or obsolete checks and redundant prose assertions. Retain coverage for missing request examples, Meshy variants, provider model identifiers, and curated example pairing.

Tested: 20 unit tests and 198 generated page freshness and snippet checks.
Scope-risk: narrow

* Keep this PR free of the added generator test file

Remove gen-code-pages.test.ts as requested; retain existing tests and generated-page validation.

Tested: 16 existing unit tests and 198 generated page freshness and snippet checks.
Scope-risk: narrow

* Use the verified BytePlus model identifier in its example

Remove an unsupported dola alias and render the model ID from the Router schema identifier.

Related: https://docs.byteplus.com/en/docs/ModelArk/1541523
Tested: 16 existing unit tests and 198 generated pages with snippet validation.
Scope-risk: narrow
…oud@910bdd7 (Comfy-Org#1640)

Co-authored-by: mattmillerai <7741082+mattmillerai@users.noreply.github.com>
…1647)

* Rename Examples page Serverless header to Comfy API

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KE35yNVsMpyrSSpghfVc2E

* Add Next steps cards to Router quickstart, hyperlink raw platform URLs

- Replace the quickstart's Choose a model outro with a Next steps
  CardGroup linking to Getting an API Key and the Router models page
- Convert raw platform.comfy.org URLs in prose to markdown links
  (account login, delete account, get-api-key snippet)
- Redirect the trailing-slash /development/comfy-router/models/ URL
  to the models page

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KE35yNVsMpyrSSpghfVc2E

* Use descriptive link text instead of raw URLs

Replace URL-as-link-text with descriptive text across English pages:
- gen-code-pages template and all 198 Router model code pages now say
  "your Comfy workspace" for the API key link
- Router headers, account login, delete account, get-api-key snippet,
  and serverless pricing links reworded the same way

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KE35yNVsMpyrSSpghfVc2E

* Remove trailing-slash models redirect that loops

Mintlify strips the trailing slash before matching redirect sources, so
/development/comfy-router/models/ matched the models page itself and
redirected it to itself in a loop.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KE35yNVsMpyrSSpghfVc2E

* Move Router API guide to /api, generate a models catalog page

The slug /development/comfy-router/models served the "Using the Comfy
Router API" guide while the actual model pages lived underneath it,
so the URL promised a catalog and delivered a guide.

- Rename models.mdx to api.mdx and retarget every guide link
  (headers, reference, limitations, model page footer, nav entry,
  and the old /reliability redirect)
- gen-code-pages.ts now emits development/comfy-router/models.mdx,
  a catalog landing page listing every model by provider, and lists
  it first in the Models nav group; --check keeps it fresh
- Browse-the-catalog links (home, Examples, quickstart Next steps)
  keep pointing at /models, which now shows the catalog

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KE35yNVsMpyrSSpghfVc2E

---------

Co-authored-by: Claude <noreply@anthropic.com>
…es (Comfy-Org#1649)

* docs: add runnable request examples to the 18 Router wan video model pages

Every Comfy Router model page emits its Python, TypeScript and cURL snippets
from one `example` object. 23 of the 198 generated pages carried no example, so
they rendered a fallback note instead of a `<CodeGroup>` and left the reader to
assemble a request from the parameter table.

Add a `code.yaml` spec for each of the 18 wan video models, the documented
authoring surface for a hand-written request body. `router-schemas/` is written
wholesale by the spec-sync bot on every sync, so an example added there would
not survive; the schema keeps rendering the Input and Output field tables
exactly as before, and only the example body lives in `code.yaml`.

Each body uses fields the model's own published schema documents, and points
`input.img_url` / `input.media[].url` / `input.reference_video_urls` at
first-party assets in Comfy-Org/workflow_templates that resolve today and sit
inside the documented bounds. No `example.invalid` placeholders.

The remaining five pages (ltx x2, gemini-interactions x2, minimax) publish
`x-comfy-input-schema-authored: false` and document no request fields at all, so
there is nothing to build an example from. Their fallback note now says why and
sends the reader to the provider's own API reference rather than to an input
section that has no fields in it.

* docs: spell HappyHorse the way the rest of the docs do on its Router pages

The auto-derived title rule produced `Happyhorse`; the tutorials, the built-in
node pages and the product itself spell it `HappyHorse`. Now that these pages
carry a hand-written spec the name is set there.

* docs: make the t2v sample results report the resolution their request asked for

Every t2v example requests `resolution: 720P` but reported
`usage.video_ratio: 1920*1080`, a 1080P size, so the sample response
contradicted the sample request on the same page. Set it to `1280*720`, one of
the 720P sizes the model's own schema documents.

Six pages carried this, not the four the review flagged: `wan2.5-t2v-preview`
had it unflagged, and `wan3.0-video-prime` was flagged for its summary instead.
Every page reporting `usage.SR: 720` was already consistent and is untouched.

Also narrow the Wan 3.0 Video Prime summary. It claimed Prime takes "the same
prompt and media list" as the base model, which reads as provider-level parity;
what the two schemas actually establish is that Router validates both against
the same prompt and media schema, and the shared schema description is explicit
that acceptance there does not imply provider acceptance.
…ages (Comfy-Org#1656)

* docs: rename un-cancel actions to Resume subscription

The ComfyUI frontend unified the un-cancel verb to Resume subscription
(Resume subscription in Plan & Credits, Resume {plan} in the profile
menu). Update the cancel-subscription page to match the UI wording.

* docs: update AMD Windows install to ROCm 10.0 multi-architecture packages

The AMD section of the GPU dependencies snippet still showed the old
ROCm 7.2 pip commands for all platforms. ComfyUI README (Windows AMD
section) now documents AMD's multi-architecture PyTorch packages with
ROCm 10.0: device-* extras install the GPU kernels and ROCm runtime
without a separate HIP SDK. Keep the Linux ROCm 7.2 instructions and
add the Windows ROCm 10.0 instructions with the per-GPU device extras
table. All four languages updated.

* docs: drop raw {plan} placeholder from resume-subscription copy

The pricing-table button label is "Resume {plan}" where {plan} is filled at
runtime with the plan name (frontend #17318, UnifiedPricingTable). The docs
page copied the raw locale string, so readers saw a literal "{plan}". Also
fixes the surface mapping: the profile menu button reads "Resume
subscription" (subscription.reactivatePlan), the {plan} variant only exists
in the pricing table.
…omfy-Org#1657)

The in-app popup should show those model names as plain text, not inline code.
…omfy-Org#1654)

* docs: align Tripo and OpenRouter pricing with current partner nodes

- OpenRouter: add the OpenRouter Image node (microsoft/mai-image-2.6 and
  mai-image-2.6-flash) token-based rates; split the OpenRouter section
  into Chat and Image subsections
- Tripo: add the new Tripo: Smart Segment node introduced with the v3
  API migration; document the Legacy generation nodes deprecated in
  ComfyUI v0.35.1; note the v3 multiview node rates

* docs(zh): use Token instead of 令牌 for LLM billing units

令牌 as the Chinese term for the text-metering unit reads awkwardly.
Use "Token" (industry-standard in Chinese AI docs) for all billing-token
references in the zh pricing page. Auth-credential tokens elsewhere in the
docs keep 令牌 (correct usage for credentials).
…els-folder snippet (Comfy-Org#1659)

* docs: fix outdated Comfy Desktop model folder steps, extract find-models-folder snippet

The Comfy Desktop steps on get_started/first_generation still described the
removed logo > Help > Open folder > Open models folder menu flow. Replace
them with the capsule menu > Storage tab guidance already used in
basic-concepts/models, and move the whole model location block into a
reusable snippet so pages share one source:

- New snippet: snippets/install/find-models-folder.mdx (en/zh/ja/ko)
- get_started/first_generation now renders <FindModelsFolder /> in all four locales
- Remove the outdated desktop_model_folder_path screenshot (no remaining references)

* docs: describe ComfyUI/models/ as the default location in find-models-folder snippet

CodeRabbit: models can also live in extra_model_paths directories, so
state the default explicitly in all four locales.
…rd, Gemini Omni Flash preview, Nano Banana 2 turnaround, Pixal3D multi-view) (Comfy-Org#1642)

* docs: document new workflow templates for Seedance 2.0, Gemini Omni Flash, Nano Banana 2, and Pixal3D

- seedance-2-0: add 4K R2V and Storyboard-to-Video template sections
- gemini-omni-flash: add preview T2V template section with retirement note (2026-09-30, per node source)
- nano-banana-2: add Character turnaround sheet workflow; translate the previously untranslated "Use it" section to zh/ja/ko
- pixal3d: add multi-view-to-3D section with model cards (ComfyUI #16048)
- All four languages synced, translationSourceHash refreshed
- Per-model code card links point to the canonical EN generated pages (translated /code pages do not exist)

Refs: Comfy-Org/workflow_templates Comfy-Org#1241, Comfy-Org#1247; Comfy-Org/ComfyUI #16048

* fix(i18n): point translated nano-banana-2 code cards to localized Router models page

* docs: address CodeRabbit review on templates-sync-0910

- pixal3d.mdx: correct model installation instruction. The workflow uses
  the models; users must download them and place them in models/
  subdirectories (was: 'The workflow downloads these models')
- seedance-2-0.mdx: add a pricing Note to the R2V 4K section pointing to
  the Seedance 2.0 pricing entries. The pricing.mdx tables already contain
  the Seedance 2.0 4K rows (1.207 / 0.724 credits per 1K tokens) in all
  four languages, so no pricing table change is needed

* docs: fix zh pricing anchor to localized heading slug

* docs: remove pricing note from Seedance 2.0 R2V 4K section

Keep pricing info out of the tutorial; rates live on the pricing page.
…oud@f648e5d (Comfy-Org#1661)

Co-authored-by: mattmillerai <7741082+mattmillerai@users.noreply.github.com>
…oud@d71afee (Comfy-Org#1667)

Co-authored-by: mattmillerai <7741082+mattmillerai@users.noreply.github.com>
…ishes under a non-JSON media type (Comfy-Org#1671)

`loadModelSchema` read the 200 response only under `application/json`. The two
ElevenLabs models that return raw audio publish their 200 under the `*/*`
wildcard instead (their Router output component declares
`x-comfy-router-output-media-type`), so the loader saw no schema and both pages
rendered "Router does not publish an output schema for this model." and omitted
the Examples Output block. Router does publish one, so the pages stated the
opposite of the served contract.

Read the 200's content entry regardless of media type: prefer `application/json`
when the response offers it, otherwise take the remaining entry, and record the
media type on `ModelSchema`. A 200 whose schema is an opaque scalar body now
renders as a single ResponseField named for that media type and carrying the
schema's own prose, and its Examples Output renders as prose rather than a JSON
string literal inside a ```json fence. The placeholder sentence stays for a 200
that publishes no schema at all.

The script half of the generator moves under an `import.meta.main` guard, the
same shape `check-provider-schemas.ts` already uses, so the loader and the
renderers can be unit tested without regenerating every page on import.
…ons (Comfy-Org#1663)

* docs: sync OpenRouter LLM supported model list with current node options

* docs: replace em dash placeholders with None in OpenRouter LLM model table
)

* pricing: add GPT Image 2.5 Flare and Sunburst rate table

* pricing: rework GPT Image 2.5 rates as token-based table

* pricing: add text-input rate row for GPT Image 2.5
…oud@f42cd6e (Comfy-Org#1675)

Co-authored-by: mattmillerai <7741082+mattmillerai@users.noreply.github.com>
* Clarify Serverless behavior at common decision points

Developer feedback repeatedly asks what a deployment provides, how to investigate slow provisioning, and what deployment deletion removes. Add concise answers alongside the existing cost FAQs so readers can act without leaving the guide.

Constraint: Keep the FAQ focused on observed questions and current documented CLI behavior

Rejected: Compare Serverless with the interactive UI | the managed endpoint description answers the question directly

Confidence: high

Scope-risk: narrow

Tested: npx mint validate; npx mint broken-links; git diff --check

* Use title case for Comfy Router Quickstart

The Router quickstart title and its navigation label used inconsistent casing. Standardize them so the page name reads consistently across both routes.

Confidence: high

Scope-risk: narrow

Tested: git diff --check; repository search for remaining lowercase title

* Help developers choose Router and meet Cloud prerequisites

Put the Cloud subscription requirement alongside the first workflow example and give hosted-model users a direct Router quickstart entry.

Scope-risk: narrow
Tested: Mint build validation; internal link targets; git diff --check

* Explain how one Build supports multiple workflows

Describe uploading workflows to preselect dependencies, submitting graphs to the deployed endpoint, and using separate deployments for different GPU types. Align the SDK guide with this behavior.

Related: https://comfy-organization.slack.com/archives/C0BD6BR53QX/p1785992013507639
Related: https://comfy-organization.slack.com/archives/C0BD6BR53QX/p1788818475698749
Scope-risk: narrow
Tested: Mint build validation; git diff --check

* Describe the SDK workflow response shape accurately

Clarify that get_workflow returns a response object whose format identifies the graph representation and whose graph property holds the executed workflow.

Confidence: high

Scope-risk: narrow

Tested: Verified against comfy-python-sdk JobWorkflow and comfy-typescript-sdk JobWorkflowResult; npx mint validate; git diff --check

* Document Serverless request and storage behavior

Customers need to know how concurrent requests use the worker pool and whether workers share persistent model storage. Record the confirmed queue order, automatic distribution, scaling bounds, and read-only storage behavior in the FAQ.

Related: https://comfy-organization.slack.com/archives/C0BD6BR53QX/p1788814979837869

Confidence: high

Scope-risk: narrow

Tested: npx mint validate; git diff --check

* Keep Router setup and schema guidance current

State the access and credit prerequisites beside API-key setup, and remove a model-specific fallback-schema claim that no longer matches the published schema.

Rejected: Change the generated 409 guidance | the source contract confirms a conflicting request needs a new key

Confidence: high

Scope-risk: narrow

Tested: npx mint validate; git diff --check

* Give users both capacity recovery options

When the selected region or GPU is unavailable, state that users can retry later or choose another currently available pair.

Related: Comfy-Org#1633

Confidence: high

Scope-risk: narrow

Tested: npx mint validate; git diff --check

* Update development/serverless/overview.mdx

Co-authored-by: Robin Huang <robin.j.huang@gmail.com>

* Name the managed workflow surface consistently

Use Comfy API as the product name across the English developer documentation while reserving serverless for descriptive architecture. Preserve the existing serverless paths and legacy SDK anchor so terminology cleanup does not break inbound links.

Constraint: openapi-v2.yaml is generated one-way from the upstream API contract

Rejected: Rename development/serverless paths | would break stable documentation URLs without improving visible terminology

Confidence: high

Scope-risk: moderate

Directive: Refer to the product as Comfy API; use serverless only as a descriptive adjective

Tested: npx mint validate; npx mint broken-links; git diff --check; English terminology scan

Not-tested: Generated translations and the upstream source for openapi-v2.yaml

* Clarify serverless queue handling and status monitoring

The deployment FAQ implied a global FIFO queue and showed an ambiguous status command. The documentation now reflects capacity-based processing and requires an explicit deployment selector for monitoring.

Constraint: Keep the PR scope limited to the two verified review findings
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Do not promise request ordering unless the platform contract explicitly guarantees it
Tested: git diff --check
Not-tested: No project lint script or local formatter is available

---------

Co-authored-by: Robin Huang <robin.j.huang@gmail.com>
comfy-pr-bot and others added 28 commits September 22, 2026 20:24
…oud@92b92d2 (Comfy-Org#1753)

Co-authored-by: deepme987 <42841935+deepme987@users.noreply.github.com>
…y-Org#1764)

The MiniMax H3 templates now load minimax_h3_video_vae_int8_convrot instead of
minimax_h3_video_vae_fp16 (workflow_templates#1280). Update the model download
cards and storage trees on the MiniMax H3 and FastVideo FastH3 pages in all four
languages, and refresh the translation hashes.
* Simplify Router model coverage and default example selection

Show provider support as checkmarks in the model matrix and select the queued example by default without moving or duplicating generated code blocks.

Constraint: Base the change on origin/main and keep the existing model-page examples intact.
Rejected: Reorder the generated code tabs | it creates noisy diffs by moving every snippet.
Confidence: high
Scope-risk: moderate
Reversibility: clean
Directive: Use the Tabs default index when changing the default example so generated snippets remain stable.
Tested: 65 Bun generator tests; code-pages check with 207 pages fresh; git diff --check
Not-tested: Production deployment rendering

* Keep the development overview focused on core workflows

Remove the Deploy ComfyUI and Connect AI agents cards from the development overview so the use-case section highlights the two primary workflow entry points.

Constraint: Leave the remaining overview content and navigation unchanged.
Confidence: high
Scope-risk: narrow
Reversibility: clean
Tested: git diff --check; verified the two remaining use-case cards
Not-tested: Production deployment rendering

* Make Router quickstart steps easier to navigate

Expose each numbered quickstart step in Mintlify's right-hand table of contents by rendering step titles as level-two headings. Keep the existing Steps component and page content intact.

Constraint: Preserve the numbered Steps presentation and use Mintlify-supported title sizing
Confidence: high
Scope-risk: narrow
Reversibility: clean
Tested: git diff --check; Mintlify Steps documentation confirms titleSize supports h2
Not-tested: Live preview rendering

* Make queued delivery the Router quickstart default

Use the queued request flow in the quickstart and place the generated provider pages behind an All Models dropdown. Remove the separate queue explanation and the read-and-save step to keep the guide focused.

Constraint: Preserve existing provider and model links across all four localized navigation trees
Confidence: high
Scope-risk: moderate
Reversibility: clean
Tested: git diff --check; docs.json parsed; structural comparison confirmed all existing navigation entries remain in place
Not-tested: Live Mintlify preview rendering and SDK snippet execution

* Show the Router quickstart outline on the right

Remove the custom CSS rule that hid the right sidebar on the quickstart. Its Steps now render as heading-level sections that populate the table of contents.

Constraint: Preserve the existing wide-screen-only exception for the Router API reference
Confidence: high
Scope-risk: narrow
Reversibility: clean
Tested: Local Mintlify preview rendered the right sidebar with all quickstart steps; Models and All Models dropdowns expanded in preview; git diff --check
Not-tested: Hosted PR preview rendering

* Keep the All Models dropdown in generated navigation

Teach the model-page generator to emit provider groups beneath All Models so code generation preserves the requested collapsible catalog navigation.

Constraint: The Models sidebar is generated by code-pages:gen and must stay fresh
Confidence: high
Scope-risk: narrow
Reversibility: clean
Tested: 65 Bun generator tests passed; pnpm code-pages:check reported 207 pages fresh; git diff --check
Not-tested: Hosted CI after this commit

* Keep the mirrored quickstart unchanged in the docs PR

Move the quickstart content changes to the Comfy-Org/cloud source PR, where the sync-owned page is maintained. Keep the docs-owned CSS outline change so the synchronized heading-level steps can appear in the right sidebar.

Constraint: The docs repo publishes the Cloud quickstart verbatim and its sync-owned check rejects direct page edits
Confidence: high
Scope-risk: narrow
Reversibility: clean
Tested: git diff --check
Not-tested: Hosted docs sync after the Cloud PR merges
Related: Comfy-Org/cloud#10333

* Remove Swift snippets from generated Router model pages

Keep generated model examples in Python, TypeScript, and cURL. Update the page generator, curated descriptions, and regression tests, then regenerate every model page so future code generation preserves the change.

Constraint: Model code pages are generator-owned outputs and must remain fresh
Confidence: high
Scope-risk: broad
Reversibility: clean
Tested: 57 Bun generator tests passed; pnpm code-pages:check reports 207 pages fresh; no Swift references remain in English or localized model pages; git diff --check
Not-tested: Hosted Mintlify preview rendering

* Keep Router model examples aligned with async SDK usage

The generated model pages include both direct and queued Python examples. Use AsyncComfy consistently, and remove the client-selection block from the Router API page to keep its guide focused.

Constraint: Keep quickstart source changes in the Cloud PR
Rejected: Edit generated model pages by hand | generator output must remain reproducible
Confidence: high
Scope-risk: moderate
Directive: Keep the generator and checked-in code pages in sync
Tested: 58 Bun generator tests; 207 generated pages fresh; 422 Python snippets compile
Not-tested: Mintlify visual rendering

* Keep the Router quickstart focused on the result example

Remove the standalone download warning paragraph from the result-reading step, as requested, while keeping the step's example intact.

Constraint: Preserve the surrounding result-reading instructions
Confidence: high
Scope-risk: narrow
Tested: git diff --check
Not-tested: Mintlify visual rendering

* Keep the Router quickstart centered on its request example

Remove the small returned-URL prompt and curl snippet from the result step, as requested, while keeping the illustrative response.

Constraint: Preserve the surrounding quickstart steps
Confidence: high
Scope-risk: narrow
Tested: git diff --check
Not-tested: Mintlify visual rendering

* Group workflow guides with deployment docs

Keep the deployment and workflow sections together in the Developers sidebar. Nest Run Workflows under Deploy ComfyUI so its pages appear one level lower at the end of that group.

Constraint: Preserve existing page order within Run Workflows

Confidence: high

Scope-risk: narrow

Tested: Parsed docs.json and confirmed Run Workflows is nested under Deploy ComfyUI; git diff --check

Not-tested: Mintlify sidebar rendering not run

* Keep workflow links in their current sidebar group

The nesting change adds visual weight and a broad reindent to the navigation diff. Restore the prior structure so the left sidebar stays as it was.

Constraint: Revert only the Run Workflows navigation change

Confidence: high

Scope-risk: narrow

Tested: Reviewed reverted docs.json diff and git diff --cached --check

* Name the Router API section by its task

Call the sidebar destination How to call a model so readers can identify its purpose at a glance. Keep links and the shortcut card in sync with the sidebar label.

Constraint: Preserve the page title and route

Confidence: high

Scope-risk: narrow

Tested: Reviewed references and git diff --check

Not-tested: Sidebar rendering not run

* Restore the existing Router API label

The proposed label was not confirmed as the intended section name. Restore the previous sidebar and link labels while keeping the Router pages otherwise unchanged.

Constraint: Revert only the label rename

Confidence: high

Scope-risk: narrow

Tested: Reviewed the revert diff and git diff --cached --check

* Label the model use case by its action

Use Run Models for the hosted model card on the main developer overview so it reads clearly beside Run workflows.

Constraint: Keep the overview card destination and description

Confidence: high

Scope-risk: narrow

Tested: Reviewed the one-line content diff and git diff --check

* Clarify model actions on developer overview

Use Run Models as the section heading, retain the hosted-model quickstart card, and point the second card to browsing the model catalog.

Constraint: Preserve the main overview card layout

Confidence: high

Scope-risk: narrow

Tested: Reviewed the overview diff and git diff --check

* Restore model use-case card title

Keep the Use cases heading and title the first card Run Models. Retain Browse models as the second card linking to the model catalog.

Constraint: Preserve the overview's two-card layout

Confidence: high

Scope-risk: narrow

Tested: Reviewed the overview diff and git diff --check

* Link model browsing to Comfy.org

Keep Browse models as the second developer overview card and send it to the Comfy.org model browser.

Constraint: Preserve the user-provided destination

Confidence: high

Scope-risk: narrow

Tested: Reviewed the card destination and git diff --check

* Remove workflow quickstart from developer overview

Keep the overview focused on its use-case cards and remove the separate workflow tutorial steps below them.

Constraint: Preserve the use-case heading and both cards

Confidence: high

Scope-risk: narrow

Tested: Confirmed the cards remain and Quick Start/Steps are absent; git diff --check

* Move queued delivery into the Router API guide

Keep request discovery, execution modes, queued submission, collection, response shapes, billing and queue errors together in the Router API guide. Retarget its links and keep the former queue URL redirecting to the new section.

Constraint: Preserve the old English queue URL and localized queue guides

Confidence: high

Scope-risk: moderate

Tested: Regenerated model pages, parsed docs.json, checked that queue links target the new API section, and ran git diff --check

Not-tested: Mintlify rendering and full docs checks

* Remove upstream-owned Router edits from docs PR

Leave the synchronized quickstart and limitations copies at the current main revision. Their new queued-delivery links now live in the Cloud source PR, where the sync will pick them up.

Constraint: Do not hand-edit sync-owned docs copies

Confidence: high

Scope-risk: narrow

Tested: Confirmed both files match origin/main and checked the staged diff

* Preserve links to the old queued delivery URL

The link-rot check still sees the sync-owned quickstart and limitations copies until the Cloud source syncs. Keep their old target available through an unlisted bridge page pointing to the consolidated API section.

Constraint: Leave sync-owned quickstart and limitations copies unchanged in the Docs PR

Confidence: high

Scope-risk: narrow

Tested: Confirmed the bridge page exists, docs.json parses, sync-owned check passes locally, and git diff --check
…g#1727)

* i18n: sync zh/ja/ko translations with origin/main (2026-09-19)

Adds the missing zh/ja/ko translations for the Comfy Router pages synced from
cloud@9d88fe9 (Comfy-Org#1717, Comfy-Org#1718, Comfy-Org#1721): development/comfy-router/{models,quickstart,
reference,limitations}.mdx plus 51 per-model code pages (bria, fal, openai, wan,
byteplus, wavespeed).

Repairs applied after the automated pass:
- removed duplicated ParamField blocks (wan2-7-videoedit ja, wan3-0-video ko,
  seedream-5-0-pro ko) and orphan closing tags glued to prose
- removed stray mid-page <RouterCodeFooter /> duplicates (4 files)
- restored the dropped queued-delivery paragraph (/requests) in the seed-audio
  pages and retargeted its link to the localized queue page
- localized the reference#result-assets anchor on zh pages (EN slug does not
  exist on the zh page)
- added the 45 corresponding navigation entries to docs.json

Verified: structure parity with EN (headings, ParamField balance, code fences),
content parity (technical tokens, code blocks, paragraphs), link validation and
anchor checks all clean.

* i18n: repair translator glue bugs in the Router code pages

Follow-up to the automated pass. Three pages came out of the translator with
duplicated ParamField blocks whose content no longer matched their field, so
they were re-translated from EN and then repaired:

- ja wan2-7-videoedit, ko wan3-0-video, ko seedream-5-0-pro-260628: re-translated
  (the previous versions carried stale numbers, e.g. 10 MiB instead of the 20 MiB
  Router body cap, and were missing the sequential_image_generation_options block)
- removed the duplicated ParamField blocks the translator emitted, keeping the
  variant that matches the EN field content
- merged the split-out `origin` bullet back into parameters.audio_setting
  (there is no parameters.origin field in the schema)
- restored EN heading levels (the translator had promoted nested ### headings to ##)
- removed a stray mid-page RouterCodeFooter duplicate

Verified locally: structure parity (headings, ParamField balance, fences, single
footer), content parity (tokens, code blocks, paragraphs), anchors, link
validation, and `mint validate` (0 parse errors).

* i18n: sync zh/ja/ko translations with origin/main (2026-09-20)

* i18n: translate the remaining English Queue a request section on the Router queue page

* i18n: sync zh/ja/ko translations with origin/main (2026-09-22)

Translate the Comfy Router pages refreshed by the cloud spec syncs, plus the
token-usage samples and the SDK surface snippets.

- 675 files: zh/ja/ko code pages, provider pages, SDK snippets and the
  partner-node tutorials that gained the Router entry point
- Restored the queued-delivery paragraph (/requests) that the automated pass
  dropped on 240 pages, and the geometry_resolution field on the Meshy pages
- Split tag/text glue left by the automated pass (Tabs/Tab, ParamField,
  ResponseField) and moved the api.mdx Swift snippet back inside its CodeGroup
- Localized the untranslated Possible values lines (172 occurrences)
- Removed a stale duplicate Output section on the ElevenLabs pages and added
  the missing Examples > Output paragraph

Verified: content parity 0 gaps, code blocks byte-identical apart from
translated comments, skeleton parity with EN, check-anchors OK.

* i18n: fix the zh/ja/ko Comfy Router sync defects found in review

Structural repairs to the zh/ja/ko translations of the Comfy Router pages,
from a full review of the branch against the English source.

- delete the 18 orphan alias pages whose English source Comfy-Org#1740 retired
  (models/fal/fal-{gpt-image-2,nano-banana-2,nano-banana-pro,seedance-2-0,seedance-2-5}
  and models/wavespeed/wavespeed-nano-banana-pro), drop their 18 sidebar
  entries and add the 18 locale redirects that Comfy-Org#1740 added for English
- remove the stray mid-page <RouterCodeFooter /> in 16 files, so the footer
  renders once per page
- restore the sidebarTitle dropped from 6 frontmatters
- translate the quick-start paragraph left in English in 14 files
- ko models/meshy/remesh: the intro paragraph had become an H1
- ja/ko tutorial nano-banana-2: the <ReqHint/>+<UpdateReminder/> pair was
  rendered twice
- sdks.mdx: drop the paragraphs that no longer exist in English and restore
  the [API Proxy for Self-Hosted ComfyUI] sentence with its link
- reference.mdx: restore the dropped Type: [RouterErrorType] line (all three
  locales now match English)
- align untranslated section headings with each locale's own majority
  wording (Quick start / Schema / Examples / Input / Output, 253 sites),
  turn the zh '## 架构' mistranslation of '## Schema' (architecture) into
  '## Schema' and unify the remaining zh variants (40 sites)
- models.mdx: replace the frontmatter copied from api.mdx, where the models
  page was shown in the sidebar under the api page's label
- restore 'float' as inline code where it had been translated

Verified after the change: check-anchors.py on every changed file OK; the
locale page sets are back in parity with English (comfy-router 213/213/213/213,
tutorials 88/88/88/88, snippets complete); one footer per page; 0 files with an
English quick-start paragraph; no prose link points at a deleted page.

AI-generated fixes (Hermes agent, profile agent-task). Replaced prose lines were
taken from the same locale's own existing wording wherever an equivalent line
existed; the per-change log stays outside the repo, in the review workbench.

* i18n: fix the regressions and factual errors the second review pass found

Round 2 of the review fixes for the zh/ja/ko Comfy Router pages. Each change is
anchored on the English source, on the base commit or on a same-locale donor page.

- remove two '#Schema#pieceN' generator placeholders that leaked into the zh
  nano-banana-pro and ja gpt-5-5 pages
- zh tutorial nano-banana-2: restore the heading the PR had reverted to
  '## Use it' plus an anchor that does not exist in English
- restore '--[parameters]' as the CLI placeholder in the zh/ja/ko seedance pages
- wan2-5-i2i-preview: the pages said the default is 1 where the schema says 4
  (zh/ja/ko)
- drop the invented 'Google' qualifier from 'web search' descriptions in 8
  places (zh/ja/ko), where English never names a vendor
- meshy-5/6/7: align ultra_mode and texture_resolution with the same-locale
  meshy-7-1 page, whose text matches the current English

Verified: the English ultra_mode text is byte-identical across meshy-5/6/7/7-1.

AI-generated fixes (Hermes agent, profile agent-task).

* i18n: normalize the zh/ja/ko Router pages and fix the review findings

- restore the blank line after the Schema heading on 71 zh pages
- unify the queued-delivery link label to each locale's own majority form (323 files)
- unify the schema type label per locale (类型 / 型 / 타입); restore two type lines
  that the previous pass dropped in ko reference.mdx
- restore the bria `sync` ParamField caveat on the 14 pages that had dropped it
- fix `4280*1280` -> `1280*1280` in wan2-5-i2i-preview (zh/ja/ko)
- drop the duplicated stopgap paragraph in api-development/sdks.mdx (3 locales)
- localize the remaining English headings/labels and the translated boolean literals
- add the missing sidebarTitle to reference.mdx (3 locales)
- format docs.json the way `pnpm code-pages:gen` writes it; the code-pages CI check passes

* i18n: round-2 fixes — restore values, unify headings/labels, refresh frontmatter

- restore the status enum values (Pending/Reasoning/...) and the beeble webhook
  enum literals that had been translated
- move the ja api.mdx "24 hour retention" paragraph below its heading; the
  Timeouts-and-collection section was rendering empty
- drop the stale `bfl/flux-2-pro` fallback paragraph that English deleted (3 locales)
- rename the sdks "Serverless deployment" section to "Comfy API deployment" (3 locales)
  and refresh the out-of-date limitations title/description (3 locales)
- localize the anchored `## Quick start {#quick-start}` and `## Examples {#examples}` headings
- unify ko/ja terminology (예시, 사고 연쇄, 思考の連鎖, Unix 에포크, API 레퍼런스)
  and revert the two localized <Tab title> values to the corpus default
- restore the boolean literals (true/false) in zh/ko prose

* i18n: finish the round-2 content fixes on the Router pages

- ja image-edit-restore: correct the collect comment (200 = complete, 202 = still running)
- remove the stray '#' lines in ja wan2-7-videoedit and ko wan3-0-video
- remove the left-behind English sentences and the duplicated rendering in
  ja seedream-4.5 and ko seedream-4.0 (one had a stray translator arrow)
- translate the still-English schema sentence on zh flux-pro-1-0-expand

* i18n: translate the remaining English Schema section on zh flux-pro-1-0-canny

The zh page rendered 25 ParamField/ResponseField descriptions and the schema
sentence in English. They are now translated, matching the wording the sibling
zh Router pages use (范围:/格式:, and "由 Router 在 GET .../openapi.json
提供的 schema 生成,该文档与请求到达提供商之前用于校验调用的文档相同。").

* i18n: restore the minimax-h3 intro sentence and trailing notes (zh/ja/ko)

- the intro now describes H3 as an omni-modal model that renders picture and
  audio together (English line 11), in all three locales
- zh gains the two trailing paragraphs English has (the MP4 audio-track note and
  the 12-hour signed-URL note); ja/ko follow once their patches are applied

* i18n: add the two trailing minimax-h3 notes to the ja page

English carries an MP4 audio-track note and a 12-hour signed-URL note after the
Output example; the ja page stopped at the code block. The reviewer produced a
full-file patch, so only the missing paragraphs were inserted.

* i18n: complete the ko pages — minimax-h3 trailing notes and the gemini-2-5-flash-image Schema section

- ko minimax-h3 gains the two English trailing paragraphs (MP4 audio track, 12-hour
  signed URL), matching zh/ja
- ko google/gemini-2-5-flash-image: the 66 schema blocks that still rendered in
  English are now translated (80 prose lines), keeping every tag, attribute,
  backticked literal and blank-line position identical; renderings reuse the
  wording already used on the ko sibling Router pages

* i18n: fill the last English fields on ja/ko Router pages

- ja google/gemini-3-8-flash: the temperature description reuses the rendering of
  its identical-EN sibling ja/gemini-3-7-flash
- ko veo veo-3-0/3-1-fast-generate-001 and ko fal h3-max-turbo: untranslated field
  descriptions replaced by the rendering their identical-EN sibling pages carry
- elevenlabs eleven-sfx-v2 (zh/ja/ko): restore the sentence explaining that
  eleven_sfx_v2 is Comfy's id and that the vendor enum rejects it with 422

* i18n: repair the regressions the verification pass found

- restore the colon on 30 type-label lines the label unifier stripped
  (zh 类型:/ ja 型:/ ko 타입:), including the fence-free ones in reference.mdx
- unify the remaining ko 유형: labels to 타입:
- revert one bad literal edit: 实际后果true: -> 实际后果:
- ko beeble switchx: webhook status values back to the English literals
- ko reference.mdx: blank line before the restored type line in the two
  error_type fields

* i18n: translate the English Schema section of the ko openai/gpt-4o page

122 English prose lines across 73 ParamField/ResponseField blocks were still
rendering in English. They now carry Korean renderings; 70 of the 73 blocks
reuse the wording that a Korean sibling page with the byte-identical English
body already uses, so terminology stays consistent with the corpus.

* i18n: separate the import block from the intro prose in the three api.mdx pages

Mintlify's MDX parser reads the top-of-file import block as one ESM statement and
failed with "Unable to parse import/exports with acorn" because the intro
paragraph followed the last import without a blank line. Pre-existing since the
original branch head; `mint-checks` (broken-links) has been failing on it.

* i18n: put the field body on its own line after the opening tag (7 files)

Mintlify's MDX parser rejects `<ParamField …>  text` written on one line
("Expected a closing tag … before the end of paragraph"): it treats the block as
inline JSX. Ten occurrences across ja/ko/zh (nano-banana-2, nano-banana-pro,
gpt-image-2) now follow the structure the English pages use.

* i18n: add the missing closing paragraph to the Router code-page footer snippets

The English footer carries a paragraph explaining that the page documents one
partner model, that the same SDK package also ships the workflow client, and a
link to the SDK pages. The zh/ja/ko snippets omitted it, so every localized model
page lost that paragraph and its link.

* i18n: finish the ko veo fast pages and restore the dropped link in ja happyhorse

- ko veo-3.0/3.1-fast-generate-001: the storageUri field description, the task
  field description and the "generated from the schema" sentence were still
  English; use the renderings already present on the veo siblings.
- ja happyhorse-1-1-r2v: the workspace sentence had been flattened to a bare URL,
  dropping the link that the other ja pages keep.

* i18n: drop the navigation rows that point at retired pages and link the unlinked ones

The three localized sidebars kept navigating to pages that no longer exist - the
newer of them were only ever translated, never retired the way the English tree
was: kling v1/v1-5/v1-6/v2-1/v2-1-master/v2-master, the early byteplus models
(seedance-1-0-lite-*, seededit-3-0-i2i-250628, seedream-3-0-t2i-250415) and
development/api-development/overview. Each already has an English *and* localized
redirect, so the rows were dead links in the sidebar for zh, ja and ko alike;
they are removed (11 per locale, English is unaffected).

Thirteen localized pages per locale existed on disk but were reachable only by
URL - they are now listed where the English tree lists them: comfy-router/queue,
comfy-router/providers, the meshy-7-1 and openrouter/chat-completions model pages,
run-workflows/overview, api-development/quickstart, comfyui-server/api-proxy,
deploy/overview, deploy/cloud, deploy/self-hosting, serverless/overview,
examples and comfy-api/overview. Groups that the English tree has and the
localized trees lack are mirrored with only the pages that actually exist.

Also removes a duplicated sidebar row that all four languages carried: the
ByteDance Bernini-R tutorial was listed both directly under Tutorials/Video and
inside its ByteDance subgroup.

Verified with an independent audit of every navigation row against the files on
disk: dead rows, unlinked localized pages and duplicate rows are now zero in all
four languages (39 OpenAPI operation entries per language are untouched - they
are operation ids, not file paths).

* i18n: localize the last English response labels and drop an em dash

- reference.mdx zh/ja/ko: 59 lines still carried the English labels
  'Body: ... -- Headers: ...' inside ResponseField blocks; relabeled with the same
  file's own wording (zh 响应体/响应头, ja ボディ/ヘッダー, ko 본문/헤더)
- ja tutorial nano-banana-2: the page title used an em dash where English has none

AI-generated fixes (Hermes agent, profile agent-task).

* wip: translation sync for upstream cloud spec syncs (backup)

* i18n: sync zh/ja/ko translations with origin/main (2026-09-23)

- Router code pages: the API-key link now points at the Router onboarding URL
  (?onboarding=router), matching the English pages
- Router guides (models, quickstart, providers, headers, limitations) and the
  comfy-api / samples overview pages resynced with the current English sources
- New provider: Higgsfield pages translated into zh/ja/ko and added to the three
  localized sidebars
- Repaired translation glue (Tab/ParamField tag joins, headings glued to the
  preceding paragraph) and normalised whitespace artifacts

* i18n: final round of fixes on the synced Router pages

Fixes on top of the latest sync commit, all confined to the localized trees:

- MDX traps that broke the Mintlify build: fences glued to JSX tags, tags
  sharing a line with their body text, headings glued to the previous
  sentence (ja seed-audio pages).
- Untranslated schema fields filled from same-language sibling pages whose
  English source is byte-identical: wan happyhorse-1.0-r2v (zh),
  wan3.0-video-prime (ja), wan2.7-i2v (ko), byteplus seedream-4.5 (zh).
- Removed a translator meta-commentary line ("Wait — I shouldn't include the
  English. Let me output only the Korean MDX:") that leaked into the body of
  ko byteplus seedream-4.5, together with the English sentence it was
  commenting on and a duplicated paragraph; same English-in-body glue cleaned
  in four sibling seedream pages.
- Localized the API-key link on the 15 pages where English already points at
  the Router onboarding URL (?onboarding=router); pages whose English source
  still uses the plain profile URL stay aligned with English.
- Added the missing keywords frontmatter key to the three localized
  api-reference/v2/overview pages (English keeps its own value).
- Repointed the localized SDK cards in development/examples.mdx at the real
  anchor (#serverless-deployment) instead of a translated fragment, fixing
  three broken in-page links (one per locale).

anchors/links/code-pages checks pass; docs.json navigation audited again for
dead rows, unlinked localized pages and duplicate rows: zero in all four
languages.

* i18n(ja): drop a tool-call token leaked into the wan3.0-video-prime page

The sync commit left a raw tool-call token glued in front of the second
<Tab> in ja/development/comfy-router/models/wan/wan3-0-video-prime/code.mdx.
The Mintlify MDX parser choked on it ("Unexpected character U+FF5C before
name"), which failed mint-checks for the whole PR, and the broken markup was
visible on the rendered page. The token is removed, the tab keeps the same
indentation as the zh and ko pages, and a repository-wide scan confirms no
other tool-call token of this kind is left anywhere.

* i18n(zh): remove a translation-block marker glued into the <Tabs> tag

The sync pipeline left its block reference (path.mdx#Quick start#piece2)
pasted straight after <Tabs> in zh google/gemini-3-8-flash/code.mdx, which the
Mintlify parser rejects ("Expected a closing tag for <Tabs>") and which failed
mint-checks. A repository-wide scan of prose (outside code fences) shows no
other occurrence of this marker pattern.

* i18n: translate the Router response-header descriptions and catch up with the English source

The ko headers page still carried the English bodies for all nine response
headers (X-Comfy-Request-Id through Cache-Control); they are now Korean, using
the terminology already used by the sibling ko Router pages. All three
localized pages were also missing the two sentences English gained in the same
section (replayed 201 on the queued submit route, polling hint on a queued
request's status and result reads); zh and ja now carry them, so the three
translations match the English source in full. Response field names, types and
all inline code tokens are unchanged.

---------

Co-authored-by: Daxiong (Lin) <contact@comfyui-wiki.com>
The root pages comfy-router-quickstart.mdx, comfy-router-reference.mdx and
comfy-router-limitations.mdx are legacy duplicates of the canonical
development/comfy-router/{quickstart,reference,limitations}.mdx pages, which
are the versions listed in the navigation. docs.json already redirects the
root URLs to the canonical paths; the physical root files currently shadow
those redirects and duplicate content that has since diverged (for example
limitations was renamed to "capabilities and limits" on the canonical page).

Removing the files lets the existing redirects take effect.
Point the Comfy Router overview card to the workflow-running use case so visitors can move from the overview into running workflows against a deployment.

Confidence: high
Scope-risk: narrow
Tested: git diff --check
Not-tested: Docs build
…ns (Comfy-Org#1767)

* docs(developers): reorganize Developer nav and add deploy use case

- Add a Deploy ComfyUI workflows card to development/overview
- Nest the Run Workflows group under Deploy ComfyUI
- Group Examples and Demo Apps under a new Examples group

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GD5qLMwkpAvru7AM7DAp7f

* docs(router): split the Router API page into a Router API nav group

Break the 575-line Using the Router API page into task pages under a new
Router API group: Discover models, Schemas and results, Queued requests,
Errors and retries, and Billing. api.mdx becomes the group overview and
keeps id targets for its old section anchors, so links from the
upstream-owned limitations.mdx and outside bookmarks still resolve.

Queued delivery returns to development/comfy-router/queue. The model
page generator now links there, and all code pages are regenerated.
Reference, Headers, and Limitations move into a Reference group.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GD5qLMwkpAvru7AM7DAp7f

* docs(developers): merge Demo Apps into Examples, drop moved-sections table

- Fold development/samples/overview into development/examples under a
  Full Demos heading, and redirect the old URL to the new section
- Remove the Sections that moved table from the Router API overview

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GD5qLMwkpAvru7AM7DAp7f

---------

Co-authored-by: Claude <noreply@anthropic.com>
…ecraft V4.1 Flash (Comfy-Org#1772)

* docs: add Tencent HY Image 3.5 Preview and sync Claude Opus 5.5 and Recraft V4.1 Flash

* docs: refresh Recraft pricing tables and add Recraft V4.1 Flash row

Updates every Recraft row in the partner node pricing tables for EN, zh, ja, and ko, and adds the recraftv4_1_flash entry.

* docs: address the remaining review findings on the HY Image 3.5 page

Two findings were still open at the current head:

- Image edit step 1 now tells readers to upload the sample image into the
  `Load Image` node that the downloaded workflow already wires to the edit
  node. That node refers to `futuristic_brutalist_motorcycle.png` by filename
  (verified in api_tencent_hy_image_3_5_preview_image_edit.json: LoadImage ->
  HunyuanImageEditApi), so it stays empty until the file is uploaded. Editing
  your own images by connecting 1 to 5 images to the `images` input is kept as
  the alternative.
- The two images now carry content-specific alt text in all four locales: the
  text-to-image result is a poster of white capitals over a glossy liquid-metal
  shape, and the edit input is an angular matte black concept motorcycle on an
  orange paddock stand against a deep red background.

The other five findings from the first review round are already addressed at
this head (Hunyuan3D note under its 3D heading, 1K/2K/custom base rate wording,
the lower custom tier rows, the duplicate Recraft Flash thumbnail, and the
image-edit auto guidance), so the threads are answered individually.

---------

Co-authored-by: Daxiong (Lin) <contact@comfyui-wiki.com>
workflow_templates added two templates that the tutorials did not
reference yet:

- utility_moge3_geometry_estimation (MoGe 3 geometry estimation)
- api_tripo_p2_multiview_to_model (Tripo P2 multiview to model)

The MoGe page gains a MoGe 3 geometry estimation section with the
preview, cloud and download cards, input asset, and run steps. The
Tripo P2 multiview section gains the same cards, input assets, and
run steps instead of only describing the node.

Also corrects two claims on the Tripo P2 page that the template does
not support: the multiview node needs at least one view besides the
front view, and the texture, rig, retarget, and conversion stages in
the template are bypassed and unconnected rather than running before
saving.
* changelog: add v0.37.2 release notes

* changelog: shorten v0.37.2 release notes

Drop repeated model names so each bullet states the change in one clause.

* cms: publish v0.37.2 release notes for comfyui and cloud

Softens the Recraft Flash claim to a relative faster/lower-cost option, and records Cloud UTM shortlinks in staging.

* cms: revert v0.37.2 to draft in Strapi registry

Unpublish comfyui and cloud release notes; keep draft-only until intentionally published.

* docs(cms): require explicit Cloud confirmation before CMS push

Agents must ask again about Cloud on every sync/publish request; default remains comfyui only.

* docs(cms): write Cloud hard gate in English and scope CLI examples

Keep the skill English-only, and add --project comfyui to preview/sync/publish examples so Cloud is not implied.

---------

Co-authored-by: Daxiong (Lin) <contact@comfyui-wiki.com>
…oud@60dbd49 (Comfy-Org#1765)

Co-authored-by: mattmillerai <7741082+mattmillerai@users.noreply.github.com>
…oud@b7609a2 (Comfy-Org#1778)

Co-authored-by: mattmillerai <7741082+mattmillerai@users.noreply.github.com>
…-Org#1777)

* i18n: sync zh/ja/ko translations with origin/main (2026-09-25)

Sync the Comfy Router page set and the recently changed development pages
(api/overview/examples/sdks, custom-nodes/backend/lifecycle, root index) in
zh/ja/ko, add the newly published router pages to the localized navigation,
and repoint localized anchors that were regressed to English slugs.

* i18n: fix content and code correspondence findings from the PR review

A line-by-line review of the 675 translation files against their English
sources found content-level defects that structural checks cannot see. This
commit corrects them, keeping code lines, identifiers and string values
byte-identical to English.

Content correctness:

- eleven-sfx-v2: the `loop` ParamField concluded the opposite of the English
  source in all three locales ("the route does not accept that model, so it
  may have no effect" instead of "this route forwards eleven_sfx_v2 as that
  model, so it applies here").
- ko/wan/happyhorse-1-1-t2v: leaked translation scaffolding ("Careful: my job
  is to translate the whole English fragment. Let me produce it.", "Output:")
  plus the untranslated English body were rendered on the page.
- ko/wan/wan2-7-videoedit and zh/wan/happyhorse-1-1-i2v: leftover "EN -> KO"
  annotation lines and an untranslated English sentence in the parameter body.
- nano-banana-2-lite: the closing sentence of the last paragraph (the
  `candidates[0].content.parts[0].inlineData.data` / scan `parts` note) was
  missing in all three locales.
- ko/runway/aleph2: a fabricated `possible values: auto, low` line inside the
  `keyframes` ParamField that belongs to a different field.
- zh meshy-5/6/7/7-1: "is equivalent to" was mistranslated and dropped the
  literal `true`.
- zh queue/errors/headers/limitations/reference and ko equivalents: untranslated
  link text and headings, ja "record" mistranslated as "video recording".
- ja/ko/zh comfy-router/queue and ja/zh/ko api-development/sdks: frontmatter
  titles and descriptions narrowed to the scope the English source describes.
- ko meshy-7: frontmatter title/description were not localized.
- ko veo-3.0-fast / veo-3.1-fast: inline API paths lost the `veo/` provider
  segment.

Type and attribute fidelity:

- zh comfy-router/headers and reference: nine `type=` attributes and inline
  type names had been translated (`type="字符串"`); they are API type names and
  now match English again.
- ja/zh/ko comfy-router/reference: the "authentication headers" link pointed at
  the Quickstart page instead of the localized headers page, and lost its anchor.

Consistency pass (labels, headings, structure):

- Localized the remaining English Tab titles, `Model ID:` / `Endpoint:` /
  `Range:` / `Format:` / `Possible values:` labels.
- Localized code comments and docstrings in the files that still carried
  English ones (code lines untouched).
- Restored the blank line before `### Output` where the localized pages had it
  glued to the preceding paragraph, and removed heading text that had been
  glued to prose.
- Removed headings anchors that the English source does not define, plus a
  duplicated paragraph, a duplicated status code, and bare URLs glued to
  Korean particles.

Verification: component/field/heading counts match English for all 675 files,
code blocks match under the comment-aware comparison, translation hashes are in
sync, anchors and internal links all resolve, `code-pages:check` reports 209
pages fresh.

---------

Co-authored-by: i18n-cron <lin@local>
* docs: add Workspaces documentation for Comfy Cloud

- New cloud/workspace.mdx page covering Personal and Team workspaces
- Feature flag availability note included
- Fixed member limit to reflect 30-member cap (from teamWorkspaceStore.ts)
- Replaced em dashes with colons or periods per style guide
- Removed all ja/zh/ko translation files and localized nav entries
- Added workspace links to get_started/cloud.mdx, interface/overview.mdx,
  support/subscription/managing.mdx, and docs.json English navigation

* docs: align the Comfy Cloud workspaces page with the shipped product

- Recheck every claim against cloud origin/main and the frontend
- Document the Workspace settings sections, seats, invites, and billing model
- Add an invited-member path, what is separate per workspace, and more FAQ
- Drop unshipped per-member credit limits and menu items that do not exist

* docs: use accordions for the workspaces FAQ

* docs: add delete-workspace steps to the workspaces page

* docs: add screenshots to the workspaces page

* docs: separate the create-workspace screenshots with a paragraph

* docs: move the create-workspace screenshots into their steps

* docs: translate the workspaces page into zh, ja and ko

* docs: translate the workspace cross-links into zh, ja and ko

* docs: state when Delete Workspace becomes available after cancelling a plan

* docs: mark model import and the free tier as shipped on the Cloud page

---------

Co-authored-by: lin-bot23 <linzhixiong23@gmail.com>
…-Org#1788)

* i18n: sync zh/ja/ko translations with origin/main (2026-09-26)

* i18n: finish the CodeRabbit findings on the 2026-09-26 sync

- ko seedream-5.0-flash: keep the boolean literals in the stream flag
  description (false = / true =), matching the English source.
- zh higgsfield-byok: use full-width punctuation in the intro paragraph and
  the localized term for endpoint.
- zh byteplus/seed-audio-1-0 and zh synclabs/sync-3: localize the Input
  heading (the other zh pages already use the localized heading).
…ation prompts (Comfy-Org#1789)

* i18n: keep API literals, heading and punctuation rules in the prompts

The 2026-09-26 sync PR drew 14 review comments and almost all of them were the
same three classes of defect, because the translation prompt only guarded code
inside fenced blocks. Prose labels of API values, heading localization and
Chinese punctuation had no rule at all.

- translate-i18n.ts (buildTranslationInstructions, shared by the QwenMT and LLM
  paths): keep a value the caller sends (booleans, enums, JSON keys, model ids,
  endpoint paths) byte-for-byte identical inside prose labels too, keep the
  label's punctuation and its own line, translate the heading text the way the
  target language's pages do while keeping any {#anchor} untouched, use
  full-width punctuation in Chinese prose, reuse the terminology of sibling
  pages and never invent words, and never reverse the polarity of a sentence.
- review-i18n.ts (judge prompt): report a translated literal, an English heading
  that the language's siblings localize, ASCII punctuation in Chinese prose, a
  term that disagrees with sibling pages, and a reversed polarity.
- README.md and the docs-i18n-translate skill: document the same rules for hand
  edits.

No translated page is touched by this change.

* i18n: distinguish the senses of link instead of banning the word

The terminology rule added in this PR used "link is 链接, not 连线" as an example of
an invented word. That is wrong: 连线 is the established Chinese term for a link
between nodes in a graph (LLink, node connections, canvas wiring), and the zh pages
already use it that way 57 times across 18 files, while 链接 is used 268 times for
hyperlinks.

Ask for the sense to be kept apart instead: an English link that points at a URL or
a document is a 链接, and a link between nodes is a 连线. The 顶固 / 固定 example
stays as it is, since 顶固 is not a word.

Found in review by @lin-bot23.

* i18n: make the terminology rule verifiable

The terminology instruction asked the model to reuse the wording of sibling pages
in the same language, but neither translation path nor the judge is given sibling
text: they receive the English source, the current translation and the glossary.
As CodeRabbit pointed out on this PR, that rule had no sibling to compare against.

State what the pipeline can actually enforce instead: follow the glossary below
when it covers a term, and use the same rendering for a term everywhere in the
file. The judge prompt now reports a term that contradicts the supplied
terminology, is inconsistent inside the file, is an invented word, or lost its
sense. The README and the docs-i18n-translate skill say the same for hand edits.

Injecting excerpts of same-language sibling pages into both requests would be a
larger change (context builder, token budget, tests) and is left for a follow-up.
…Org#1793)

* docs: sync built-in nodes documentation (2026-09-22 to 09-27)

* docs: list the exact Seedream model identifiers in the localized model rows

---------

Co-authored-by: lin-bot23 <lin-bot23@users.noreply.github.com>
The OpenAI Sora - Video node was removed from ComfyUI, so the pricing
section now states that the node is retired instead of only planned for
deprecation. Rates are kept for reference, matching the DALL-E section.
- ControlNet tutorial: author page lllyasviel.github.io is gone; link
  the author's GitHub profile instead
- Kandinsky 5 tutorial: project page moved to kandinskylab.github.io
- Qwen-Image-Layered and Qwen-Image-Edit-2511 tutorials: blog posts
  moved from qwenlm.github.io to qwen.ai/blog
- Load3D, Load3DAnimation, Preview3D, Preview3DAnimation: six menu
  screenshots referenced docs/Load3d/ (lowercase d); the directory in
  embedded-docs is Load3D, so the images 404ed
- ko LTX-2.5 partner-node page: ltx.io/model/ltx-2.5 should be
  ltx-2-5, matching the EN/ja/zh copies
- README and localized readmes: Mintlify writing-content page moved

Localized copies (ja/zh/ko) updated in the same commit.
…1803)

The earlier text to image and image edit templates now load a second text
encoder for prompt enhancement, which the Model links section did not list.
Adds the two enhancement encoders, updates the storage tree, and documents
the refine_prompt, PE_model, and thinking_mode controls.
* docs(agent): reflect Comfy Agent GA on Cloud, local coming soon

Comfy Agent shipped generally available on Comfy Cloud (no more
private-alpha gate); Comfy Desktop support is still coming soon. Also
bring the overview page up to parity with the new comfy.org/agent
landing page (PR #18449): free-token/pricing info, and the
agent-can-build-custom-tools ("vibe crafting") capability, both
missing from docs. Waitlist card is kept but reframed for local
access only.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* docs(agent): align Comfy Agent card on the MCP page with GA availability

The "Related: Comfy Agent" card on agent-tools/mcp.mdx still advertised a
private alpha and told readers to join the waitlist, contradicting the GA
wording this branch introduces on the Agent pages. Use the same sentence as
the Comfy Agent card on agent-tools/index.mdx.

* i18n: sync zh/ja/ko for the Comfy Agent GA update

Translates the four agent-tools pages changed on this branch for zh, ja and ko:
in-app-agent, in-app-agent-installation, index and mcp. Includes the MCP page's
"Related: Comfy Agent" card, which still advertised a private alpha and a
waitlist in every locale, and the "Comfy Agent" naming that replaces "Comfy
In-App Agent" in the index card and comparison table.

* docs(agent): add public skills and multi-chat sessions to What it can do

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* i18n: sync zh/ja/ko for public skills and multi-chat sessions

Translates the additions from 2820545: the "Use a public skill" section and
the personal/public skills wording on in-app-agent-skills, and the two new
"What it can do" bullets on in-app-agent (public skills, multiple chats).

* i18n: fix ja/ko phrasing and stale frontmatter on the Agent pages

- ja in-app-agent-skills: "自分のスキル" read as the Agent's own skills; say
  "あなたの個人スキル" so the comparison points at the reader's skills.
- ja in-app-agent + ko in-app-agent: the waitlist link text mixed two verb
  forms ("...に参加する]してください"); use the single-form phrasing already
  used in the Note.
- ja/zh/ko in-app-agent: refresh the frontmatter title and description. The
  section-level translator keeps the target frontmatter as-is unless the file
  has no stored block hashes, so the GA rename and the new description never
  reached these three files and they still advertised the private alpha.

* docs(agent): move network-connection note out of the where-you-can-use-it table

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* docs(agent): rewrite What it costs, add per-token pricing table

Official Opus 4.8 list-price rate (no partner-node markup), 1.43x
below the marked-up Anthropic rate on the Partner Node Pricing page.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* docs(agent): drop the list-price framing sentence from pricing table

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* docs(agent): reapply intro rewrite and description tweak from Jo's edit

Recovered from the earlier corrupted save; these two were complete
and unambiguous. The Note banner trim from the same edit was left out
pending wording confirmation.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* docs(agent): note real-time canvas building at the end of Build and edit workflows

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* i18n: sync zh/ja/ko for the rewritten intro, costs table, and canvas note

Translates everything the last five English commits changed on
agent-tools/in-app-agent.mdx:

- the rewritten intro paragraph
- the network-connection sentence moved out of the "Where you can use it" table
- the "What it costs" rewrite plus the new "Pricing per token" table
- the real-time canvas building sentence in "Build and edit workflows"

The section-level translator also replaced the stale second intro paragraph and
the extra "Network connection" table row the three locales still carried.

ja sidebarTitle still read "In-App Agent", the English label from the private
alpha page, while zh and ko were already localized; it is now
"アプリ内エージェント".

* i18n: align the agent-tools locales with the English after the parity audit

Five fixes, all inside the pages this PR already touches:

- zh in-app-agent: the newly translated costs paragraph addressed the reader
  as 您 twice; the rest of the file uses 你 (26 times).
- zh in-app-agent: "A template includes a connected graph" was translated as
  连接式画面 ("connected screen"); use 连通的节点图, matching zh's 节点图. The
  line predates this branch, but the section is one this PR rewrote.
- ja in-app-agent: restore "for you" in the Coming soon on local promise,
  which zh (为你) and ko (만들어 줍니다) both keep.
- ko index: the new Requires row said 대기자 명단 while the Agent pages this
  PR translated say 웨이팅 리스트; the repo-wide count is 6 to 1 for the
  latter.
- ko in-app-agent-skills: the five example prompts were still English. ko
  translates prompts everywhere else (1052 localized prompt lines repo-wide
  against 7 English, five of which are exactly these), and zh and ja carry
  all five translated. Four of the five predate this branch.

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Daxiong (Lin) <contact@comfyui-wiki.com>
A localized page can lose MDX structure that the English source has and still
pass every existing check: `translate:dry-run` compares section hashes only,
`mint-checks` fails on broken links only, `check-anchors` looks at fragments,
and the markdown renders fine without the missing pieces. The result is a page
that quietly drops its download cards, workflow preview images or CardGroup
wrappers.

Concrete debt found this week: 48 tutorial pages across ja/zh/ko were missing
120 cards, 112 CardGroup wrappers and 78 images versus their English sources
(zh/tutorials/video/hunyuan/hunyuan-video.mdx had 13 cards in English and 0 in
zh), plus 22 asset links that used raw.githubusercontent.com/.../refs/heads/main
where the English page uses github.com/.../blob/main.

This adds `check-structure-parity.ts` plus its bun:test suite and a workflow:

- compares Card, CardGroup, Tab, Tabs, callouts, Steps, Step, Accordion,
  AccordionGroup, Frame, Columns, Tiles, h2/h3/h4, images and asset links
  (raw.githubusercontent.com, github.com/Comfy-Org/*, cloud.comfy.org) against
  the English counterpart of each localized file;
- missing elements and links fail, extra elements warn (a locale may add
  something on purpose, e.g. the zh home page social icon);
- strips frontmatter and fenced code so a `<Card>` inside a code sample is not
  counted, and normalizes embedded-docs locale paths so `.../docs/APG/ja.md`
  compares equal to the English `.../docs/APG/en.md`;
- runs on the files a pull request changes (a ratchet), so the historical
  backlog never blocks a merge; `--all` reports that backlog (127 files today)
  for a burn-down.

Usage: `bun .github/scripts/i18n/check-structure-parity.ts [--all] [--base=<ref>] [--json]`.
Tests: `bun test ./.github/scripts/i18n/check-structure-parity.test.ts` (13 pass).

Verified: the gate passes on an unchanged tree and fails with the offending
counts and links when a CardGroup wrapper and an image are removed from a ja page.
Two robustness fixes found while running the new check against a second work
tree:

- resolve the repository with `git rev-parse --show-toplevel` of the working
  directory instead of the script's own location, so tooling can invoke it from
  another checkout (CI still runs it from the repo root);
- trim that output, because `execFileSync` keeps the trailing newline and an
  untrimmed path makes every later `git` call fail silently.

Running it from the docs work tree now reports the 60 localized files a sync
branch changes (4 still missing structure/links, plus warnings for extra
headings), which is the behaviour the gate needs.
@lin-bot23 lin-bot23 closed this Sep 29, 2026
@lin-bot23
lin-bot23 deleted the tmp/structure-gate-smoke branch September 29, 2026 02:46
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.

10 participants