diff --git a/.github/scripts/i18n/translate-i18n.ts b/.github/scripts/i18n/translate-i18n.ts index 6894585f2..f6d7af87f 100644 --- a/.github/scripts/i18n/translate-i18n.ts +++ b/.github/scripts/i18n/translate-i18n.ts @@ -86,9 +86,11 @@ import { changelogLabelHash, documentBlockHashes, getSectionSyncStatus, + parseBlockHashLabelOrderFromFrontmatter, parseBlockHashesFromFrontmatter, parseDocument, parseFrontmatterAndBody, + parseHeadingSections, parseTargetSectionsByIndex, resolveChunkStrategy, serializeChunkedDocument, @@ -689,12 +691,36 @@ async function translateChunkedFile( ? parseTargetSectionsByIndex(parseFrontmatterAndBody(existingContent).body, enDoc.blocks.length) : []; + // Use stored label order (from frontmatter) to map EN labels to target section positions. + // This handles the case where a new H2 section is inserted in the middle of the English + // source — without this, all target sections after the insertion would shift by one position + // and the wrong section content would be preserved (e.g. Tencent content replaced by Topaz). + const storedLabels = existingFmBody + ? parseBlockHashLabelOrderFromFrontmatter(existingFmBody) + : []; + const targetHeadingSections = + strategy === "heading_sections" && existingContent + ? parseHeadingSections(parseFrontmatterAndBody(existingContent).body) + : []; + const slots: BlockSlot[] = enDoc.blocks.map((b, i) => { if (!force && !status.pendingBlocks.includes(b.label)) { - const content = - strategy === "heading_sections" - ? existingByIndex[i] ?? null - : existingByLabel.get(b.label) ?? null; + let content: string | null = null; + + if (strategy === "heading_sections") { + // Match by stored label position (stable across insertions), not by EN index + const storedPos = storedLabels.indexOf(b.label); + if (storedPos >= 0 && storedPos < targetHeadingSections.length) { + content = targetHeadingSections[storedPos].content; + } + // Fallback to positional (works when target and EN section counts match) + if (!content?.trim()) { + content = existingByIndex[i] ?? null; + } + } else { + content = existingByLabel.get(b.label) ?? null; + } + return { label: b.label, content: content?.trim() ? content : null }; } return { label: b.label, content: null }; diff --git a/installation/update_comfyui.mdx b/installation/update_comfyui.mdx index eacc35a08..300c9f61f 100644 --- a/installation/update_comfyui.mdx +++ b/installation/update_comfyui.mdx @@ -287,6 +287,21 @@ Differences between versions: +### How to Update ComfyUI Manager + +ComfyUI Manager is a built-in extension. Updating it is separate from updating ComfyUI core. + +| Setup | Update Method | +|-------|---------------| +| **Desktop** | ComfyUI Manager is bundled with Comfy Desktop and updates automatically with the Desktop app. No separate action is needed. | +| **Portable / Manual** | ComfyUI Manager is built into ComfyUI core and updates when you update ComfyUI itself (via `update_comfyui.bat` or `git pull`). No separate install step is required for the built-in version. | +| **Legacy (Git clone into `custom_nodes/`)** | If you installed ComfyUI Manager by cloning into `ComfyUI/custom_nodes/`, update it by running `git pull` inside that folder: | +| | `cd ComfyUI/custom_nodes/comfyui-manager && git pull` | + + +If a custom node or workflow shows a **"ComfyUI Manager update required"** message, first update ComfyUI core (see the tabs above for your setup). The built-in Manager updates alongside ComfyUI. + + ### What to Do When Errors Occur After Updates? 1. **Check Dependencies**: Run `pip install -r requirements.txt` to ensure all dependencies are updated diff --git a/ja/tutorials/partner-nodes/ideogram/ideogram-v3.mdx b/ja/tutorials/partner-nodes/ideogram/ideogram-v3.mdx new file mode 100644 index 000000000..f3fe2085c --- /dev/null +++ b/ja/tutorials/partner-nodes/ideogram/ideogram-v3.mdx @@ -0,0 +1,42 @@ +--- +title: "ComfyUI Ideogram 3.0 パートナーノード公式サンプル" +description: "このガイドでは、ComfyUIでIdeogram 3.0 パートナーノードを使用する方法を説明します" +sidebarTitle: "Ideogram 3.0" +translationSourceHash: 13e120c5 +translationFrom: tutorials/partner-nodes/ideogram/ideogram-v3.mdx +--- + +import ReqHint from "/snippets/ja/tutorials/partner-nodes/req-hint.mdx"; +import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"; + +Ideogram 3.0は、Ideogramによる強力なテキストから画像へのモデルで、フォトリアリスティックな品質、正確なテキストレンダリング、一貫したスタイル制御で知られています。 + +Ideogram V3ノードは現在、2つのモードに対応しています: +- テキストから画像へのモード +- 画像編集モード(画像とマスクの両方の入力が提供された場合) + + + + +## Ideogram 3.0 パートナーノード テキストから画像へのモード + +画像とマスクの入力なしでIdeogram V3を使用する場合、ノードはテキストから画像へのモードで動作します。 + +### 1. ワークフローファイルのダウンロード + +以下のファイルをダウンロードし、ComfyUIにドラッグ&ドロップしてワークフローを読み込みます: + +![Ideogram 3.0 ComfyUI ワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/ideogram/v3/ideogram_v3_t2i.png) + +### 2. ワークフローのステップを完了する + +![Ideogram 3.0 ワークフローのステップ](/images/tutorial/api_nodes/ideogram/ideogram_v3_t2i.jpg) + +番号付きのステップに従って基本的なワークフローを完了します: +1. `Ideogram V3`ノードの`prompt`フィールドに画像の説明を入力します +2. `Run`をクリックするか、ショートカット`Ctrl(cmd) + Enter`を使用して画像を生成します +3. APIが結果を返した後、`Save Image`ノードで生成済み画像を確認します。画像は`ComfyUI/output/`ディレクトリに保存されます + +## Ideogram 3.0 パートナーノード 画像編集モード + +[更新予定] \ No newline at end of file diff --git a/ja/tutorials/partner-nodes/pricing.mdx b/ja/tutorials/partner-nodes/pricing.mdx index 94982060c..7e0cc2f50 100644 --- a/ja/tutorials/partner-nodes/pricing.mdx +++ b/ja/tutorials/partner-nodes/pricing.mdx @@ -3,7 +3,7 @@ title: "価格" description: "本記事では、現在提供中のパートナーノードの価格を一覧表示します。すべての価格はクレジット単位(211クレジット = 1米ドル)で表記されています。" sidebarTitle: "価格" mode: wide -translationSourceHash: 5df0676f +translationSourceHash: c864b96d translationFrom: tutorials/partner-nodes/pricing.mdx translationBlockHashes: "_intro": 845592d4 @@ -31,6 +31,7 @@ translationBlockHashes: "Rodin 3D": 2eb41834 "Runway": 94ec479a "Sonilo": 48b9c581 + "sync.so": 590402a9 "Tencent": f1efbad9 "Topaz": 3eabf417 "Tripo": 0d9ddbf9 @@ -856,6 +857,15 @@ Gen3a Turbo、Gen4 Turbo、First-Last-Frame: **5秒** または **10秒**。総 | Sonilo 動画から音楽生成 | 1.9 / 秒 | | Sonilo テキストから音楽生成 | 0.5275 / 秒 | +## sync.so + +総クレジット = **(クレジット / 秒) × `duration`**. + +| Node | クレジット | +| :---------------------------- | :----------- | +| sync.so Lip Sync | ~40.13 / sec | +| sync.so Talking Image | ~40.13 / sec | + ## Tencent **`3.1`** は **`3.0`** と同じレートを使用しますが、LowPolyをサポートしていません。 diff --git a/ko/tutorials/partner-nodes/ideogram/ideogram-v3.mdx b/ko/tutorials/partner-nodes/ideogram/ideogram-v3.mdx new file mode 100644 index 000000000..586e9444e --- /dev/null +++ b/ko/tutorials/partner-nodes/ideogram/ideogram-v3.mdx @@ -0,0 +1,42 @@ +--- +title: "ComfyUI Ideogram 3.0 파트너 노드 공식 예제" +description: "이 가이드는 ComfyUI에서 Ideogram 3.0 파트너 노드를 사용하는 방법을 설명합니다" +sidebarTitle: "Ideogram 3.0" +translationSourceHash: 13e120c5 +translationFrom: tutorials/partner-nodes/ideogram/ideogram-v3.mdx +--- + +import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx"; +import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx"; + +Ideogram 3.0은 Ideogram의 강력한 텍스트 기반 이미지 생성 모델로, 사실적인 품질, 정확한 텍스트 렌더링 및 일관된 스타일 제어로 유명합니다. + +Ideogram V3 노드는 현재 두 가지 모드를 지원합니다: +- 텍스트 기반 이미지 생성 모드 +- 이미지 편집 모드 (이미지와 마스크 입력이 모두 제공된 경우) + + + + +## Ideogram 3.0 파트너 노드 텍스트 기반 이미지 생성 모드 + +Ideogram V3를 이미지 및 마스크 입력 없이 사용하면 노드가 텍스트 기반 이미지 생성 모드로 작동합니다. + +### 1. 워크플로 파일 다운로드 + +다음 파일을 다운로드하여 ComfyUI로 드래그하여 워크플로를 로드하세요: + +![Ideogram 3.0 ComfyUI Workflow](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/ideogram/v3/ideogram_v3_t2i.png) + +### 2. 워크플로 단계 완료 + +![Ideogram 3.0 Workflow Steps](/images/tutorial/api_nodes/ideogram/ideogram_v3_t2i.jpg) + +번호가 매겨진 단계에 따라 기본 워크플로를 완료하세요: +1. `Ideogram V3` 노드의 `prompt` 필드에 이미지 설명을 입력하세요 +2. `Run`을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용하여 이미지를 생성하세요 +3. API가 결과를 반환한 후, `Save Image` 노드에서 생성된 이미지를 확인하세요. 이미지는 `ComfyUI/output/` 디렉토리에 저장됩니다 + +## Ideogram 3.0 파트너 노드 이미지 편집 모드 + +[업데이트 예정] \ No newline at end of file diff --git a/ko/tutorials/partner-nodes/pricing.mdx b/ko/tutorials/partner-nodes/pricing.mdx index fe2dc2351..13fe519f7 100644 --- a/ko/tutorials/partner-nodes/pricing.mdx +++ b/ko/tutorials/partner-nodes/pricing.mdx @@ -3,7 +3,7 @@ title: "가격 정책" description: "이 문서에는 현재 파트너 노드의 가격 정책이 나와 있습니다. 모든 가격은 크레딧 단위로 표시됩니다(211 크레딧 = 1 USD)." sidebarTitle: "가격 정책" mode: wide -translationSourceHash: 5df0676f +translationSourceHash: c864b96d translationFrom: tutorials/partner-nodes/pricing.mdx translationBlockHashes: "_intro": 845592d4 @@ -31,6 +31,7 @@ translationBlockHashes: "Rodin 3D": 2eb41834 "Runway": 94ec479a "Sonilo": 48b9c581 + "sync.so": 590402a9 "Tencent": f1efbad9 "Topaz": 3eabf417 "Tripo": 0d9ddbf9 @@ -856,6 +857,15 @@ Sonilo 텍스트로 음악 생성: 총 크레딧 = (크레딧/초) × `duration` | Sonilo 비디오로 음악 생성 | 1.9 /초 | | Sonilo 텍스트로 음악 생성 | 0.5275 /초 | +## sync.so + +총 크레딧 = **(크레딧/초) × `duration`**. + +| 노드 | 크레딧 | +| :---------------------------- | :----------- | +| sync.so Lip Sync | ~40.13 / 초 | +| sync.so Talking Image | ~40.13 / 초 | + ## Tencent **`3.1`**은(는) **`3.0`**과(와) 동일한 요금을 사용하지만 LowPoly를 지원하지 않습니다. diff --git a/tutorials/partner-nodes/pricing.mdx b/tutorials/partner-nodes/pricing.mdx index d17981951..34c360471 100644 --- a/tutorials/partner-nodes/pricing.mdx +++ b/tutorials/partner-nodes/pricing.mdx @@ -810,6 +810,15 @@ Text to Music: total credits = **(credits / sec) × `duration`** (1–360 second | Sonilo Video to Music | 1.9 / sec | | Sonilo Text to Music | 0.5275 / sec | +## sync.so + +Total credits = **(credits / sec) × `duration`**. + +| Node | Credits | +| :---------------------------- | :----------- | +| sync.so Lip Sync | ~40.13 / sec | +| sync.so Talking Image | ~40.13 / sec | + ## Tencent **`3.1`** uses the same rates as **`3.0`** but does not support LowPoly. diff --git a/zh/tutorials/partner-nodes/ideogram/ideogram-v3.mdx b/zh/tutorials/partner-nodes/ideogram/ideogram-v3.mdx new file mode 100644 index 000000000..9b1a6547b --- /dev/null +++ b/zh/tutorials/partner-nodes/ideogram/ideogram-v3.mdx @@ -0,0 +1,42 @@ +--- +title: "ComfyUI Ideogram 3.0 合作节点官方示例" +description: "本指南介绍如何在 ComfyUI 中使用 Ideogram 3.0 合作节点" +sidebarTitle: "Ideogram 3.0" +translationSourceHash: 13e120c5 +translationFrom: tutorials/partner-nodes/ideogram/ideogram-v3.mdx +--- + +import ReqHint from "/snippets/zh/tutorials/partner-nodes/req-hint.mdx"; +import UpdateReminder from "/snippets/zh/tutorials/update-reminder.mdx"; + +Ideogram 3.0 是 Ideogram 推出的强大文生图模型,以其逼真的画质、精准的文本渲染和一致风格控制而著称。 + +Ideogram V3 节点目前支持两种模式: +- 文生图模式 +- 图像编辑模式(同时提供图像和遮罩输入时) + + + + +## Ideogram 3.0 合作节点文生图模式 + +使用 Ideogram V3 时,若未提供图像和遮罩输入,节点将运行在文生图模式。 + +### 1. 下载工作流文件 + +下载并将以下文件拖入 ComfyUI 以加载工作流: + +![Ideogram 3.0 ComfyUI 工作流](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/ideogram/v3/ideogram_v3_t2i.png) + +### 2. 完成工作流步骤 + +![Ideogram 3.0 工作流步骤](/images/tutorial/api_nodes/ideogram/ideogram_v3_t2i.jpg) + +按照编号步骤完成基础工作流: +1. 在 `Ideogram V3` 节点的 `prompt` 字段中输入图像描述 +2. 点击 `运行` 或使用快捷键 `Ctrl(Cmd) + Enter` 生成图像 +3. API 返回结果后,在 `保存图像` 节点中查看已生成的图像。图像会保存到 `ComfyUI/output/` 目录 + +## Ideogram 3.0 合作节点图像编辑模式 + +[待更新] \ No newline at end of file diff --git a/zh/tutorials/partner-nodes/pricing.mdx b/zh/tutorials/partner-nodes/pricing.mdx index ed39b95ed..e7817f3bf 100644 --- a/zh/tutorials/partner-nodes/pricing.mdx +++ b/zh/tutorials/partner-nodes/pricing.mdx @@ -3,7 +3,7 @@ title: "定价" description: "本文列出了当前合作节点的价格。所有价格均以积分计价(211 积分 = 1 美元)。" sidebarTitle: "定价" mode: wide -translationSourceHash: 5df0676f +translationSourceHash: c864b96d translationFrom: tutorials/partner-nodes/pricing.mdx translationBlockHashes: "_intro": 845592d4 @@ -31,6 +31,7 @@ translationBlockHashes: "Rodin 3D": 2eb41834 "Runway": 94ec479a "Sonilo": 48b9c581 + "sync.so": 590402a9 "Tencent": f1efbad9 "Topaz": 3eabf417 "Tripo": 0d9ddbf9 @@ -856,6 +857,15 @@ Gen3a Turbo、Gen4 Turbo 以及 First-Last-Frame:**5s** 或 **10s**。总积 | Sonilo 视频生成音乐 | 1.9 / 秒 | | Sonilo 文本生成音乐 | 0.5275 / 秒 | +## sync.so + +总积分 = **(积分/秒) × `duration`**。 + +| 节点 | 积分 | +| :------------------------ | :----------- | +| sync.so Lip Sync | ~40.13 / 秒 | +| sync.so Talking Image | ~40.13 / 秒 | + ## 腾讯 **`3.1`** 使用与 **`3.0`** 相同的费率,但不支持 LowPoly。