diff --git a/.cursor/skills/docs-i18n-translate/SKILL.md b/.cursor/skills/docs-i18n-translate/SKILL.md
index 747dc37f5..c7d337da6 100644
--- a/.cursor/skills/docs-i18n-translate/SKILL.md
+++ b/.cursor/skills/docs-i18n-translate/SKILL.md
@@ -52,7 +52,9 @@ Requires **Bun**.
| `pnpm translate:snippets` | Snippets only |
| `pnpm translate -- --pages-only` | Skip snippets |
| `pnpm translate:check-truncation` | Scan for truncated output |
+| `pnpm translate:repair-fences` | Append missing closing ``` (no API) |
| `pnpm translate:repair-truncated -- --lang ko` | Re-translate flagged files |
+| `pnpm translate:sync-hash` | Refresh hashes after manual zh/ja/ko edits (no API) |
| `pnpm translate:sync-docs-json` | Sync `docs.json` nav paths (labels preserved) |
| `pnpm translate:sync-docs-json -- --translate-nav-labels` | Also translate new EN nav labels |
| `pnpm glossary:sync` | Rebuild glossary from ComfyUI frontend |
@@ -70,6 +72,20 @@ pnpm translate -- changelog/index.mdx # or specific paths
pnpm translate:check-truncation # if long page / changelog
```
+### Small English edits (manual translation)
+
+When only a line or paragraph changed:
+
+```bash
+# 1. Edit English + update zh/ja/ko by hand (or ask Cursor to patch matching sections)
+# 2. Sync hashes so translate skips the file
+pnpm translate:sync-hash -- path/to/page.mdx
+pnpm translate:sync-hash -- --verify path/to/page.mdx # optional sanity check
+```
+
+For larger or new sections, use `pnpm translate -- path/to/page.mdx` (chunked pages
+only re-translate changed `##` sections when `auto_chunk` applies).
+
### Changelog (`changelog/index.mdx`)
- Strategy: `update_blocks` (configured in `translation-config.json`)
@@ -96,7 +112,7 @@ pnpm translate -- changelog/index.mdx --lang zh
| Strategy | When | Config |
|----------|------|--------|
-| `heading_sections` | Long reference pages | `chunked_files` or `auto_chunk` (≥10k chars, ≥4 `##`) |
+| `heading_sections` | Long reference pages | `chunked_files` or `auto_chunk` (≥3k chars, ≥2 `##`) |
| `update_blocks` | Changelog | `chunked_files` entry for `changelog/index.mdx` |
Checkpoints per block — safe to resume after interrupt.
@@ -134,7 +150,8 @@ pnpm glossary:sync # after frontend locale updates
When user updates English docs and needs translations:
- [ ] Identify changed files (or run `pnpm translate:dry-run`)
-- [ ] Run `pnpm translate` for affected paths — **not** `cms:prepare` unless CMS/Strapi
+- [ ] For small edits: hand-update translations, then `pnpm translate:sync-hash -- `
+- [ ] For larger edits: run `pnpm translate` for affected paths — **not** `cms:prepare` unless CMS/Strapi
- [ ] For changelog, translate **docs** `zh/changelog/` etc., not CMS staging
- [ ] After long pages, run `pnpm translate:check-truncation`
- [ ] Commit translated MDX + updated `translationSourceHash` / `translationBlockHashes`
@@ -148,6 +165,7 @@ When user updates English docs and needs translations:
|------|------|
| `.github/scripts/i18n/translate-i18n.ts` | Entry point |
| `.github/scripts/i18n/chunked-translate.ts` | Block splitting/reassembly |
+| `.github/scripts/i18n/sync-hash-i18n.ts` | Hash-only sync after manual edits |
| `.github/scripts/i18n/translation-config.json` | Languages, skip paths, chunked files |
| `.github/scripts/i18n/glossary.mjs` | Term injection |
| `.github/scripts/i18n/README.md` | Full reference |
@@ -158,7 +176,9 @@ When user updates English docs and needs translations:
| Issue | Fix |
|-------|-----|
| File skipped | English hash unchanged — use `pnpm translate:force` or edit EN source |
+| Manual translation done | `pnpm translate:sync-hash -- ` to refresh hashes |
| Truncated translation | `translate:repair-truncated` or add to `chunked_files` |
+| Missing closing ``` only | `translate:repair-fences` (structural); re-translate if code inside block was cut |
| Wrong term | `glossary/overrides/{lang}.json` or `preserve_terms` |
| PR i18n comment | Run `pnpm translate` for listed files |
| Changelog date still English | Re-run translate for that block; dates derived from EN |
diff --git a/.env.local.example b/.env.local.example
index 7bf8ed6f9..70d5ca27d 100644
--- a/.env.local.example
+++ b/.env.local.example
@@ -3,48 +3,53 @@
# cp .env.local.example .env.local
#
+# -----------------------------------------------------------------------------
+# Mintlify analytics (pnpm analytics:fetch*)
+# Dashboard: https://app.mintlify.com/settings/organization/api-keys
+# Script docs: .github/scripts/analytics/README.md
+#
+# MINTLIFY_API_KEY — Admin API key (mint_…). Not the Assistant key (mint_dsc_).
+# MINTLIFY_PROJECT_ID — Project ID for this docs deployment (docs.comfy.org).
+# ANALYTICS_PAGE_LIMIT — optional, rows per page (1–1000, default 200)
+# ANALYTICS_PAGE_DELAY_MS — optional, ms between pages (default 36000 ≈ 100 req/h)
+# -----------------------------------------------------------------------------
+
MINTLIFY_API_KEY=
+MINTLIFY_PROJECT_ID=
+# ANALYTICS_PAGE_LIMIT=200
+# ANALYTICS_PAGE_DELAY_MS=36000
-# Used by: npm run translate, npm run cms:sync, etc.
-# Requires Bun: https://bun.sh
+# Used by: pnpm translate, pnpm cms:sync, etc. Requires Bun: https://bun.sh
# -----------------------------------------------------------------------------
-# Translation API (translate-i18n.ts)
-# OpenAI-compatible endpoint. Works with OpenRouter, DeepSeek, DashScope Qwen-MT, etc.
+# Translation API (pnpm translate, pnpm cms:prepare)
+# OpenAI-compatible endpoint — OpenRouter, DeepSeek, DashScope Qwen-MT, etc.
# -----------------------------------------------------------------------------
# --- OpenRouter ---
-# API keys: https://openrouter.ai/keys
-# Docs: https://openrouter.ai/docs
-# Models: any OpenRouter model id, e.g. deepseek/deepseek-chat, anthropic/claude-sonnet-4
+# https://openrouter.ai/keys
# TRANSLATE_API_KEY=
# TRANSLATE_API_BASE_URL=https://openrouter.ai/api/v1
# TRANSLATE_API_MODEL=deepseek/deepseek-chat
# --- DeepSeek ---
-# API keys: https://platform.deepseek.com/api_keys
-# Docs: https://api-docs.deepseek.com/
-# Models: deepseek-v4-pro (quality) | deepseek-v4-flash (faster/cheaper)
-# Note: deepseek-chat / deepseek-reasoner are deprecated after 2026-07-24.
+# https://platform.deepseek.com/api_keys
# TRANSLATE_API_KEY=
# TRANSLATE_API_BASE_URL=https://api.deepseek.com
# TRANSLATE_API_MODEL=deepseek-v4-pro
-# TRANSLATE_API_MODEL=deepseek-v4-flash
# TRANSLATE_CONCURRENCY=5
-# --- DashScope Qwen-MT (alternative) ---
+# --- DashScope Qwen-MT ---
# TRANSLATE_API_KEY=
# TRANSLATE_API_BASE_URL=https://dashscope-intl.aliyuncs.com/compatible-mode/v1
# TRANSLATE_API_MODEL=qwen-mt-plus
-# --- Other fallbacks ---
# TRANSLATE_CJK_API_KEY=
# DASHSCOPE_API_KEY=
# -----------------------------------------------------------------------------
-# Translation quality review (review-i18n.ts / npm run translate:review) — optional
-# Independent LLM-as-a-judge that scores translations. Use a CHEAP/FAST model —
-# evaluation is lighter than translation. Falls back to TRANSLATE_* if unset.
+# Translation review (pnpm translate:review) — optional
+# Falls back to TRANSLATE_* when unset. Prefer a cheap/fast model.
# -----------------------------------------------------------------------------
# REVIEW_API_KEY=
@@ -53,30 +58,23 @@ MINTLIFY_API_KEY=
# REVIEW_CONCURRENCY=5
# -----------------------------------------------------------------------------
-# Glossary sync (sync-glossary.mjs) — optional
-# Path to the ComfyUI frontend locales. Defaults to ../ComfyUI_frontend/src/locales;
-# also settable via frontend_locales_path in translation-config.json.
+# Glossary sync (pnpm glossary:sync) — optional
# -----------------------------------------------------------------------------
# FRONTEND_LOCALES_PATH=../ComfyUI_frontend/src/locales
# -----------------------------------------------------------------------------
-# Optional — external link tracking (track-external-links.py)
-# Usually set in GitHub Actions; only needed for local runs
+# External link tracking (track-external-links.py) — optional, usually CI only
# -----------------------------------------------------------------------------
# GITHUB_TOKEN=
# -----------------------------------------------------------------------------
-# Strapi CMS — changelog sync (see .github/scripts/cms/README.md)
-# Create token: Strapi Admin → Settings → API Tokens (find/create/update release-note)
+# Strapi CMS (pnpm cms:sync) — see .github/scripts/cms/README.md
+# Create token: Strapi Admin → Settings → API Tokens (release-note permissions)
+# CMS_SYNC_ALL=1 — optional full backfill (see cms README)
# -----------------------------------------------------------------------------
# CMS_BASE_URL=https://cms.example.com
# CMS_API_TOKEN=
# CMS_PROJECT=comfyui
-
-# Translation (cms:prepare — same keys as pnpm translate)
-# TRANSLATE_API_KEY=
-# TRANSLATE_API_BASE_URL=
-# TRANSLATE_API_MODEL=qwen-mt-plus
diff --git a/.github/scripts/analytics/README.md b/.github/scripts/analytics/README.md
new file mode 100644
index 000000000..d64b77e23
--- /dev/null
+++ b/.github/scripts/analytics/README.md
@@ -0,0 +1,107 @@
+# Mintlify analytics cache
+
+Local cache of Mintlify AI assistant, search, and feedback data for docs gap analysis.
+
+**Credentials:** [`.env.local.example`](../../../.env.local.example)
+
+## Design
+
+### Goal
+
+Find where the docs AI assistant fails (`unanswered`), what users search for, and negative page feedback — before editing content.
+
+### Data sources (Mintlify Admin API)
+
+Three endpoints, fetched in order:
+
+| Phase | API | What you get |
+|-------|-----|--------------|
+| **assistant** | `/v1/analytics/{projectId}/assistant` | User question, response, sources, `resolutionStatus` (`answered` / `unanswered`) |
+| **searches** | `/v1/analytics/{projectId}/searches` | Search terms, hit counts, CTR, top clicked page |
+| **feedback** | `/v1/analytics/{projectId}/feedback` | Page ratings and comments |
+
+There is no CSV export API — only paginated JSON. The dashboard “Export to CSV” is email-based and not scriptable. This CLI paginates, merges, and writes lean local reports.
+
+### Fetch model
+
+```
+CLI → 7-day date chunks (configurable) → paginated API pages → store/ merge → by-day/ + summary files
+```
+
+- **Incremental:** if `manifest.json` exists, only fetch since last `dateTo` (1-day overlap).
+- **Checkpoint:** `checkpoint.json` + `store/` survive Ctrl+C, 504, or 429; re-run the same command to resume.
+- **Flush:** every 10 API pages and after each chunk; assistant reports are written before searches start.
+- **Rate limit:** 100 requests/org/hour shared across all analytics endpoints. Default 36s between pages.
+
+### Output layout (gitignored: `tmp/analytics-cache/`)
+
+| Path | Purpose |
+|------|---------|
+| `assistant-summary.md` | **Start here** — index linking to daily files |
+| `by-day/YYYY-MM-DD.md` | That day's conversations (unanswered first) |
+| `by-day/YYYY-MM-DD.json` | Slim JSON per day |
+| `unanswered-index.json` | Days with unanswered questions |
+| `searches-top.json` | Top 100 search terms (lean mode) |
+| `feedback-negative.json` | Negative feedback only (lean mode) |
+| `store/` | Raw merge state for resume/incremental |
+| `checkpoint.json` | In-progress run state (removed on success) |
+| `manifest.json` | Last completed run metadata |
+
+Use `--full` for monolithic JSON exports. Use `--assistant-only` to skip searches and feedback.
+
+### Recommended workflows
+
+| Task | Command |
+|------|---------|
+| Regular docs tuning | `pnpm analytics:fetch` (30 days, incremental) |
+| AI Q&A only | `pnpm analytics:fetch:assistant` |
+| One year of history | `pnpm analytics:fetch:all` |
+| Custom dates | `pnpm analytics:fetch -- --date-from YYYY-MM-DD --date-to YYYY-MM-DD --fresh` |
+
+After a run, read `assistant-summary.md` → `by-day/YYYY-MM-DD.md` → `unanswered-index.json`.
+
+---
+
+## Setup
+
+```bash
+cp .env.local.example .env.local
+# Fill MINTLIFY_API_KEY + MINTLIFY_PROJECT_ID — see .env.local.example
+```
+
+## Commands
+
+```bash
+pnpm analytics:fetch # incremental if cache exists, else last 30 days
+pnpm analytics:fetch:assistant # AI Q&A only (30 days; add --all for 1 year)
+pnpm analytics:fetch:all # ~1 year, all three datasets; auto-resume
+pnpm analytics:fetch -- --fresh # ignore cache, refetch window
+pnpm analytics:fetch -- --resume # resume interrupted run only
+pnpm analytics:fetch -- --days 14
+pnpm analytics:fetch -- --date-from 2025-01-01 --date-to 2025-12-31
+pnpm analytics:fetch -- --assistant-only
+pnpm analytics:fetch -- --full
+pnpm analytics:fetch:dry-run
+```
+
+### Date range
+
+| Flag | Meaning |
+|------|---------|
+| (default) | Last **30 days** |
+| `--all` | Last **365 days** (1 year) |
+| `--days N` | Last **N days** |
+| `--date-from` + `--date-to` | Custom range; **both required**; last day is **inclusive** |
+
+Use `--fresh` when changing the date window so old checkpoint/store does not mix with the new range.
+
+### Checkpoint resume
+
+1. Progress in `tmp/analytics-cache/checkpoint.json`
+2. Re-run the same command — finished chunks are skipped
+3. `pnpm analytics:fetch -- --assistant-only --resume` — stop after assistant if stuck in searches phase
+
+### Resilience
+
+- **504 / 414:** 7-day chunks; page 2+ sends cursor only; auto-bisect on 414
+- **429:** backoff + resume; override throttle via `ANALYTICS_PAGE_LIMIT` / `ANALYTICS_PAGE_DELAY_MS` (see `.env.local.example`)
diff --git a/.github/scripts/analytics/analytics-checkpoint.ts b/.github/scripts/analytics/analytics-checkpoint.ts
new file mode 100644
index 000000000..67f17c4a6
--- /dev/null
+++ b/.github/scripts/analytics/analytics-checkpoint.ts
@@ -0,0 +1,205 @@
+import { mkdir, readFile, rename, unlink, writeFile } from "fs/promises";
+import { randomBytes } from "crypto";
+import { dirname, join } from "path";
+import type {
+ AssistantConversation,
+ DateRange,
+ FeedbackEntry,
+ SearchRow,
+} from "./mintlify-analytics.ts";
+import { chunkKey, isoDateOnly } from "./mintlify-analytics.ts";
+
+export const CHECKPOINT_FILE = "checkpoint.json";
+export const STORE_DIR = "store";
+
+export interface FetchCheckpoint {
+ version: 1;
+ status: "in_progress" | "failed" | "complete";
+ projectId: string;
+ targetRange: DateRange;
+ chunkDays: number;
+ mode: "lean" | "full";
+ assistantOnly: boolean;
+ startedAt: string;
+ updatedAt: string;
+ phase: "assistant" | "searches" | "feedback" | "finalize";
+ completedChunks: {
+ assistant: string[];
+ searches: string[];
+ feedback: string[];
+ };
+ error?: string;
+}
+
+export interface ConversationStore {
+ range: DateRange;
+ conversations: AssistantConversation[];
+}
+
+export interface SearchStore {
+ range: DateRange;
+ totalSearches: number;
+ searches: SearchRow[];
+}
+
+export interface FeedbackStore {
+ range: DateRange;
+ feedback: FeedbackEntry[];
+}
+
+export interface ManifestSnapshot {
+ fetchedAt: string;
+ projectId: string;
+ dateFrom: string;
+ dateTo: string;
+}
+
+export function storePath(cacheDir: string, name: string): string {
+ return join(cacheDir, STORE_DIR, name);
+}
+
+export function checkpointPath(cacheDir: string): string {
+ return join(cacheDir, CHECKPOINT_FILE);
+}
+
+export async function readJsonFile(path: string): Promise {
+ try {
+ return JSON.parse(await readFile(path, "utf-8")) as T;
+ } catch {
+ return null;
+ }
+}
+
+export async function writeJsonFile(path: string, data: unknown): Promise {
+ await mkdir(dirname(path), { recursive: true });
+ const tmp = `${path}.${randomBytes(8).toString("hex")}.tmp`;
+ const content = `${JSON.stringify(data, null, 2)}\n`;
+ try {
+ await writeFile(tmp, content, "utf-8");
+ await rename(tmp, path);
+ } catch (error) {
+ await unlink(tmp).catch(() => {});
+ throw error;
+ }
+}
+
+export async function loadCheckpoint(cacheDir: string): Promise {
+ return readJsonFile(checkpointPath(cacheDir));
+}
+
+export async function saveCheckpoint(cacheDir: string, checkpoint: FetchCheckpoint): Promise {
+ await mkdir(cacheDir, { recursive: true });
+ checkpoint.updatedAt = new Date().toISOString();
+ await writeJsonFile(checkpointPath(cacheDir), checkpoint);
+}
+
+export async function clearCheckpoint(cacheDir: string): Promise {
+ try {
+ await unlink(checkpointPath(cacheDir));
+ } catch {
+ // ignore missing file
+ }
+}
+
+export function completedChunkSet(checkpoint: FetchCheckpoint, resource: keyof FetchCheckpoint["completedChunks"]): Set {
+ return new Set(checkpoint.completedChunks[resource]);
+}
+
+export async function markChunkComplete(
+ cacheDir: string,
+ checkpoint: FetchCheckpoint,
+ resource: keyof FetchCheckpoint["completedChunks"],
+ range: DateRange
+): Promise {
+ const key = chunkKey(range);
+ if (!checkpoint.completedChunks[resource].includes(key)) {
+ checkpoint.completedChunks[resource].push(key);
+ }
+ await saveCheckpoint(cacheDir, checkpoint);
+}
+
+export async function loadConversationStore(cacheDir: string): Promise {
+ return readJsonFile(storePath(cacheDir, "conversations.json"));
+}
+
+export async function saveConversationStore(cacheDir: string, store: ConversationStore): Promise {
+ await writeJsonFile(storePath(cacheDir, "conversations.json"), store);
+}
+
+export async function loadSearchStore(cacheDir: string): Promise {
+ return readJsonFile(storePath(cacheDir, "searches.json"));
+}
+
+export async function saveSearchStore(cacheDir: string, store: SearchStore): Promise {
+ await writeJsonFile(storePath(cacheDir, "searches.json"), store);
+}
+
+export async function loadFeedbackStore(cacheDir: string): Promise {
+ return readJsonFile(storePath(cacheDir, "feedback.json"));
+}
+
+export async function saveFeedbackStore(cacheDir: string, store: FeedbackStore): Promise {
+ await writeJsonFile(storePath(cacheDir, "feedback.json"), store);
+}
+
+export function mergeConversations(
+ existing: AssistantConversation[],
+ incoming: AssistantConversation[]
+): AssistantConversation[] {
+ const byId = new Map();
+ for (const row of existing) byId.set(row.id, row);
+ for (const row of incoming) byId.set(row.id, row);
+ return [...byId.values()].sort((a, b) => a.timestamp.localeCompare(b.timestamp));
+}
+
+export function mergeSearches(existing: SearchRow[], incoming: SearchRow[]): SearchRow[] {
+ const byQuery = new Map();
+ for (const row of existing) byQuery.set(row.searchQuery, { ...row });
+ for (const row of incoming) {
+ const prev = byQuery.get(row.searchQuery);
+ if (!prev) {
+ byQuery.set(row.searchQuery, { ...row });
+ continue;
+ }
+ // Overlapping incremental windows re-fetch the same range — keep the fresher row, don't sum hits.
+ if (row.lastSearchedAt >= prev.lastSearchedAt) {
+ prev.hits = row.hits;
+ prev.lastSearchedAt = row.lastSearchedAt;
+ prev.topClickedPage = row.topClickedPage;
+ prev.ctr = row.ctr;
+ }
+ }
+ return [...byQuery.values()].sort((a, b) => b.hits - a.hits);
+}
+
+export function mergeFeedback(existing: FeedbackEntry[], incoming: FeedbackEntry[]): FeedbackEntry[] {
+ const byId = new Map();
+ for (const row of existing) byId.set(row.id, row);
+ for (const row of incoming) byId.set(row.id, row);
+ return [...byId.values()].sort((a, b) =>
+ (a.createdAt ?? "").localeCompare(b.createdAt ?? "")
+ );
+}
+
+export function unionRange(a: DateRange, b: DateRange): DateRange {
+ return {
+ dateFrom: a.dateFrom < b.dateFrom ? a.dateFrom : b.dateFrom,
+ dateTo: a.dateTo > b.dateTo ? a.dateTo : b.dateTo,
+ };
+}
+
+/** Incremental fetch window: from last manifest dateTo (with 1-day overlap) through tomorrow. */
+export function incrementalRangeFromManifest(manifest: ManifestSnapshot): DateRange | null {
+ const dateTo = new Date();
+ dateTo.setUTCDate(dateTo.getUTCDate() + 1);
+ const from = new Date(`${manifest.dateTo}T00:00:00.000Z`);
+ from.setUTCDate(from.getUTCDate() - 1);
+ const dateFrom = isoDateOnly(from);
+ const nextDateTo = isoDateOnly(dateTo);
+ if (dateFrom >= nextDateTo) return null;
+ return { dateFrom, dateTo: nextDateTo };
+}
+
+export function shouldResume(checkpoint: FetchCheckpoint | null): checkpoint is FetchCheckpoint {
+ return !!checkpoint && (checkpoint.status === "in_progress" || checkpoint.status === "failed");
+}
diff --git a/.github/scripts/analytics/analytics-writers.ts b/.github/scripts/analytics/analytics-writers.ts
new file mode 100644
index 000000000..74494e075
--- /dev/null
+++ b/.github/scripts/analytics/analytics-writers.ts
@@ -0,0 +1,267 @@
+import { mkdir, writeFile } from "fs/promises";
+import { join } from "path";
+import type { AssistantConversation, DateRange, FeedbackEntry, SearchRow } from "./mintlify-analytics.ts";
+import { writeJsonFile } from "./analytics-checkpoint.ts";
+
+const BY_DAY_DIR = "by-day";
+
+export interface SlimConversation {
+ id: string;
+ timestamp: string;
+ query: string;
+ resolutionStatus: string;
+ queryCategory: string | null;
+ pageUrl: string | null;
+ sourceCount: number;
+ sources: string[];
+ responsePreview: string;
+}
+
+function truncate(text: string, max = 240): string {
+ const normalized = text.replace(/\s+/g, " ").trim();
+ if (normalized.length <= max) return normalized;
+ return `${normalized.slice(0, max - 1)}…`;
+}
+
+export function toSlim(conversation: AssistantConversation, previewLen = 200): SlimConversation {
+ return {
+ id: conversation.id,
+ timestamp: conversation.timestamp,
+ query: truncate(conversation.query, previewLen),
+ resolutionStatus: conversation.resolutionStatus,
+ queryCategory: conversation.queryCategory,
+ pageUrl: conversation.pageUrl,
+ sourceCount: conversation.sources.length,
+ sources: conversation.sources.map((s) => s.title),
+ responsePreview: truncate(conversation.response, previewLen),
+ };
+}
+
+export function dayFromTimestamp(timestamp: string): string {
+ return timestamp.slice(0, 10);
+}
+
+export function groupConversationsByDay(
+ conversations: AssistantConversation[]
+): Map {
+ const map = new Map();
+ for (const row of conversations) {
+ const day = dayFromTimestamp(row.timestamp);
+ const list = map.get(day) ?? [];
+ list.push(row);
+ map.set(day, list);
+ }
+ for (const list of map.values()) {
+ list.sort((a, b) => a.timestamp.localeCompare(b.timestamp));
+ }
+ return map;
+}
+
+export interface DayStats {
+ date: string;
+ conversations: number;
+ unanswered: number;
+ noSources: number;
+}
+
+export function statsByDay(conversations: AssistantConversation[]): DayStats[] {
+ const byDay = groupConversationsByDay(conversations);
+ return [...byDay.entries()]
+ .map(([date, rows]) => ({
+ date,
+ conversations: rows.length,
+ unanswered: rows.filter((r) => r.resolutionStatus === "unanswered").length,
+ noSources: rows.filter((r) => r.sources.length === 0).length,
+ }))
+ .sort((a, b) => b.date.localeCompare(a.date));
+}
+
+function buildDayMarkdown(day: string, conversations: AssistantConversation[]): string {
+ const unanswered = conversations.filter((c) => c.resolutionStatus === "unanswered");
+ const lines: string[] = [
+ `# Assistant insights — ${day}`,
+ "",
+ `- Conversations: **${conversations.length}**`,
+ `- Unanswered: **${unanswered.length}**`,
+ "",
+ ];
+
+ if (unanswered.length > 0) {
+ lines.push("## Unanswered", "");
+ for (const item of unanswered) {
+ lines.push(
+ `- **${truncate(item.query, 200)}**`,
+ ` - Page: ${item.pageUrl ?? "(unknown)"}`,
+ ` - Category: ${item.queryCategory ?? "(none)"}`,
+ ` - Response: ${truncate(item.response, 180)}`,
+ ""
+ );
+ }
+ }
+
+ lines.push("## All conversations", "");
+ for (const item of conversations) {
+ lines.push(
+ `- **${truncate(item.query, 160)}** (${item.resolutionStatus})`,
+ ` - ${item.timestamp}${item.pageUrl ? ` · ${item.pageUrl}` : ""}`,
+ item.sources.length > 0
+ ? ` - Sources: ${item.sources.map((s) => s.title).join("; ")}`
+ : " - Sources: (none)",
+ ""
+ );
+ }
+
+ return lines.join("\n");
+}
+
+export function buildIndexMarkdown(
+ range: DateRange,
+ conversations: AssistantConversation[],
+ searches: SearchRow[],
+ feedback: FeedbackEntry[],
+ dayStats: DayStats[]
+): string {
+ const unanswered = conversations.filter((c) => c.resolutionStatus === "unanswered");
+ const negativeFeedback = feedback.filter((f) => f.helpful === false);
+
+ const lines: string[] = [
+ "# Mintlify assistant insights (index)",
+ "",
+ `Date range: ${range.dateFrom} → ${range.dateTo}`,
+ "",
+ "## Snapshot",
+ "",
+ `- Assistant conversations: **${conversations.length}**`,
+ `- Unanswered: **${unanswered.length}**`,
+ `- Search terms tracked: **${searches.length}**`,
+ `- Negative feedback: **${negativeFeedback.length}**`,
+ "",
+ "## Daily reports (newest first)",
+ "",
+ "Open a day file for full detail. Large exports are split under `by-day/`.",
+ "",
+ "| Date | Conversations | Unanswered | Report |",
+ "|------|---------------|------------|--------|",
+ ];
+
+ for (const row of dayStats) {
+ lines.push(
+ `| ${row.date} | ${row.conversations} | ${row.unanswered} | [${row.date}.md](by-day/${row.date}.md) |`
+ );
+ }
+
+ lines.push("", "## Unanswered days", "");
+ const unansweredDays = dayStats.filter((d) => d.unanswered > 0);
+ if (unansweredDays.length === 0) {
+ lines.push("_None in this range._", "");
+ } else {
+ for (const row of unansweredDays) {
+ lines.push(`- **${row.date}** — ${row.unanswered} unanswered → [by-day/${row.date}.md](by-day/${row.date}.md)`);
+ }
+ lines.push("");
+ }
+
+ if (searches.length > 0) {
+ lines.push("## Top search terms (all time in range)", "");
+ for (const row of searches.slice(0, 15)) {
+ lines.push(`- **${row.searchQuery}** — ${row.hits} searches`);
+ }
+ lines.push("");
+ }
+
+ lines.push(
+ "## Other files",
+ "",
+ "- `by-day/YYYY-MM-DD.json` — slim JSON per day",
+ "- `searches-top.json` / `feedback-negative.json` — aggregated analytics",
+ "- `store/` — raw data for resume/incremental fetch",
+ ""
+ );
+
+ return lines.join("\n");
+}
+
+export async function writeDayPartition(
+ cacheDir: string,
+ day: string,
+ conversations: AssistantConversation[]
+): Promise {
+ const dir = join(cacheDir, BY_DAY_DIR);
+ await mkdir(dir, { recursive: true });
+ await writeFile(join(dir, `${day}.md`), buildDayMarkdown(day, conversations), "utf-8");
+ await writeJsonFile(join(dir, `${day}.json`), {
+ date: day,
+ total: conversations.length,
+ unanswered: conversations.filter((c) => c.resolutionStatus === "unanswered").length,
+ conversations: conversations.map((c) => toSlim(c)),
+ });
+}
+
+/** Rewrite daily MD/JSON for given days using the full conversation store. */
+export async function writeDayPartitions(
+ cacheDir: string,
+ allConversations: AssistantConversation[],
+ daysToUpdate?: Set
+): Promise {
+ const byDay = groupConversationsByDay(allConversations);
+ const days = daysToUpdate ?? new Set(byDay.keys());
+ const written: string[] = [];
+
+ for (const day of [...days].sort()) {
+ const rows = byDay.get(day) ?? [];
+ if (rows.length === 0) continue;
+ await writeDayPartition(cacheDir, day, rows);
+ written.push(`${BY_DAY_DIR}/${day}.md`);
+ }
+
+ return written;
+}
+
+export async function writeSplitSummaries(
+ cacheDir: string,
+ range: DateRange,
+ conversations: AssistantConversation[],
+ searches: SearchRow[],
+ feedback: FeedbackEntry[],
+ daysToUpdate?: Set
+): Promise<{ dayFiles: string[]; dayStats: DayStats[] }> {
+ const dayFiles = await writeDayPartitions(cacheDir, conversations, daysToUpdate);
+ const dayStats = statsByDay(conversations);
+ await writeFile(
+ join(cacheDir, "assistant-summary.md"),
+ buildIndexMarkdown(range, conversations, searches, feedback, dayStats),
+ "utf-8"
+ );
+ await writeJsonFile(join(cacheDir, "unanswered-index.json"), {
+ range,
+ days: dayStats
+ .filter((d) => d.unanswered > 0)
+ .map((d) => ({ date: d.date, unanswered: d.unanswered, file: `${BY_DAY_DIR}/${d.date}.md` })),
+ });
+ return { dayFiles, dayStats };
+}
+
+export async function writeIndexOnly(
+ cacheDir: string,
+ range: DateRange,
+ conversations: AssistantConversation[],
+ searches: SearchRow[],
+ feedback: FeedbackEntry[]
+): Promise {
+ const dayStats = statsByDay(conversations);
+ await writeFile(
+ join(cacheDir, "assistant-summary.md"),
+ buildIndexMarkdown(range, conversations, searches, feedback, dayStats),
+ "utf-8"
+ );
+ await writeJsonFile(join(cacheDir, "unanswered-index.json"), {
+ range,
+ days: dayStats
+ .filter((d) => d.unanswered > 0)
+ .map((d) => ({ date: d.date, unanswered: d.unanswered, file: `${BY_DAY_DIR}/${d.date}.md` })),
+ });
+}
+
+export function daysInBatch(batch: AssistantConversation[]): Set {
+ return new Set(batch.map((c) => dayFromTimestamp(c.timestamp)));
+}
diff --git a/.github/scripts/analytics/fetch-assistant-insights.ts b/.github/scripts/analytics/fetch-assistant-insights.ts
new file mode 100644
index 000000000..1282037f0
--- /dev/null
+++ b/.github/scripts/analytics/fetch-assistant-insights.ts
@@ -0,0 +1,722 @@
+#!/usr/bin/env bun
+/**
+ * Pull Mintlify assistant/search/feedback analytics into a local cache for docs work.
+ *
+ * Usage:
+ * pnpm analytics:fetch # incremental if cache exists, else last 30 days
+ * pnpm analytics:fetch:all # ~1 year, chunked + checkpoint resume
+ * pnpm analytics:fetch:assistant # AI Q&A only (default 30d; use --all for 1y)
+ * pnpm analytics:fetch -- --fresh # ignore cache, refetch window
+ * pnpm analytics:fetch -- --resume # resume interrupted run only
+ * pnpm analytics:fetch -- --days 14
+ * pnpm analytics:fetch -- --date-from 2025-01-01 --date-to 2025-12-31
+ * pnpm analytics:fetch -- --assistant-only # skip searches & feedback
+ * pnpm analytics:fetch -- --full
+ * pnpm analytics:fetch:dry-run
+ *
+ * Checkpoint / incremental:
+ * - Each chunk writes immediately to tmp/analytics-cache/ (summary + JSON)
+ * - store/ holds raw merge state; checkpoint.json tracks progress for resume
+ *
+ * Output: tmp/analytics-cache/ (gitignored)
+ * assistant-summary.md — short index + links to by-day/
+ * by-day/YYYY-MM-DD.md — one readable file per day
+ * by-day/YYYY-MM-DD.json — slim JSON per day
+ */
+
+import { mkdir } from "fs/promises";
+import { join } from "path";
+import { loadEnvLocal, ROOT } from "../cms/cms-env.ts";
+import {
+ type FetchCheckpoint,
+ clearCheckpoint,
+ completedChunkSet,
+ incrementalRangeFromManifest,
+ loadCheckpoint,
+ loadConversationStore,
+ loadFeedbackStore,
+ loadSearchStore,
+ markChunkComplete,
+ mergeConversations,
+ mergeFeedback,
+ mergeSearches,
+ readJsonFile,
+ saveCheckpoint,
+ saveConversationStore,
+ saveFeedbackStore,
+ saveSearchStore,
+ shouldResume,
+ unionRange,
+ writeJsonFile,
+} from "./analytics-checkpoint.ts";
+import {
+ type AssistantConversation,
+ type DateRange,
+ type FeedbackEntry,
+ type SearchRow,
+ dateRangeExplicit,
+ dateRangeForDays,
+ fetchAssistantConversationsChunked,
+ fetchFeedbackChunked,
+ fetchSearchQueriesChunked,
+ DEFAULT_PAGE_DELAY_MS,
+ DEFAULT_PAGE_LIMIT,
+ MINTLIFY_ANALYTICS_HOURLY_LIMIT,
+ daysInRange,
+} from "./mintlify-analytics.ts";
+import {
+ daysInBatch,
+ statsByDay,
+ writeDayPartitions,
+ writeIndexOnly,
+} from "./analytics-writers.ts";
+
+const CACHE_DIR = join(ROOT, "tmp/analytics-cache");
+const DEFAULT_DAYS = 30;
+const ALL_DAYS = 365;
+const DEFAULT_CHUNK_DAYS = 7;
+const TOP_SEARCHES = 100;
+/** Persist store + summary to disk every N API pages (searches can be 100+ pages per chunk). */
+const SAVE_EVERY_PAGES = 10;
+
+type RunMode = "fresh" | "incremental" | "resume";
+
+interface CliOptions {
+ days: number;
+ chunkDays: number;
+ pageLimit: number;
+ pageDelayMs: number;
+ dateFrom?: string;
+ dateTo?: string;
+ assistantOnly: boolean;
+ dryRun: boolean;
+ all: boolean;
+ full: boolean;
+ fresh: boolean;
+ incremental: boolean;
+ resume: boolean;
+}
+
+interface Manifest {
+ fetchedAt: string;
+ status: "in_progress" | "complete";
+ projectId: string;
+ dateFrom: string;
+ dateTo: string;
+ mode: "lean" | "full";
+ chunkDays: number;
+ lastRun: RunMode;
+ outputDir: string;
+ counts: {
+ assistantConversations: number;
+ unansweredAssistant: number;
+ assistantWithoutSources: number;
+ searches: number;
+ feedback: number;
+ negativeFeedback: number;
+ };
+ files: string[];
+ dayFileCount?: number;
+}
+
+function clampPageLimit(value: number): number {
+ return Math.min(1000, Math.max(1, value));
+}
+
+function parseArgs(argv: string[]): CliOptions {
+ const pageLimitEnv = Number(process.env.ANALYTICS_PAGE_LIMIT);
+ const pageDelayEnv = Number(process.env.ANALYTICS_PAGE_DELAY_MS);
+ const options: CliOptions = {
+ days: DEFAULT_DAYS,
+ chunkDays: DEFAULT_CHUNK_DAYS,
+ pageLimit:
+ Number.isFinite(pageLimitEnv) && pageLimitEnv > 0
+ ? clampPageLimit(pageLimitEnv)
+ : DEFAULT_PAGE_LIMIT,
+ pageDelayMs:
+ Number.isFinite(pageDelayEnv) && pageDelayEnv >= 0 ? pageDelayEnv : DEFAULT_PAGE_DELAY_MS,
+ assistantOnly: false,
+ dryRun: false,
+ all: false,
+ full: false,
+ fresh: false,
+ incremental: false,
+ resume: false,
+ };
+
+ for (let i = 0; i < argv.length; i++) {
+ const arg = argv[i];
+ if (arg === "--dry-run") options.dryRun = true;
+ else if (arg === "--assistant-only") options.assistantOnly = true;
+ else if (arg === "--all") options.all = true;
+ else if (arg === "--full") options.full = true;
+ else if (arg === "--fresh") options.fresh = true;
+ else if (arg === "--incremental") options.incremental = true;
+ else if (arg === "--resume") options.resume = true;
+ else if (arg === "--page-limit") {
+ const value = Number(argv[++i]);
+ if (!Number.isFinite(value) || value < 1 || value > 1000) {
+ throw new Error("--page-limit must be between 1 and 1000");
+ }
+ options.pageLimit = clampPageLimit(value);
+ } else if (arg.startsWith("--page-limit=")) {
+ const value = Number(arg.slice("--page-limit=".length));
+ if (!Number.isFinite(value) || value < 1 || value > 1000) {
+ throw new Error("--page-limit must be between 1 and 1000");
+ }
+ options.pageLimit = clampPageLimit(value);
+ } else if (arg === "--page-delay-ms") {
+ const value = Number(argv[++i]);
+ if (!Number.isFinite(value) || value < 0) {
+ throw new Error("--page-delay-ms must be >= 0");
+ }
+ options.pageDelayMs = value;
+ } else if (arg.startsWith("--page-delay-ms=")) {
+ const value = Number(arg.slice("--page-delay-ms=".length));
+ if (!Number.isFinite(value) || value < 0) {
+ throw new Error("--page-delay-ms must be >= 0");
+ }
+ options.pageDelayMs = value;
+ }
+ else if (arg === "--days") {
+ const value = Number(argv[++i]);
+ if (!Number.isFinite(value) || value < 1) throw new Error("--days must be a positive number");
+ options.days = value;
+ } else if (arg.startsWith("--days=")) {
+ const value = Number(arg.slice("--days=".length));
+ if (!Number.isFinite(value) || value < 1) throw new Error("--days must be a positive number");
+ options.days = value;
+ } else if (arg === "--chunk-days") {
+ const value = Number(argv[++i]);
+ if (!Number.isFinite(value) || value < 1) {
+ throw new Error("--chunk-days must be a positive number");
+ }
+ options.chunkDays = value;
+ } else if (arg.startsWith("--chunk-days=")) {
+ const value = Number(arg.slice("--chunk-days=".length));
+ if (!Number.isFinite(value) || value < 1) {
+ throw new Error("--chunk-days must be a positive number");
+ }
+ options.chunkDays = value;
+ } else if (arg === "--date-from") {
+ options.dateFrom = argv[++i];
+ } else if (arg.startsWith("--date-from=")) {
+ options.dateFrom = arg.slice("--date-from=".length);
+ } else if (arg === "--date-to") {
+ options.dateTo = argv[++i];
+ } else if (arg.startsWith("--date-to=")) {
+ options.dateTo = arg.slice("--date-to=".length);
+ }
+ }
+
+ if (options.dateFrom && !options.dateTo) {
+ throw new Error("--date-from requires --date-to (both ends of the range)");
+ }
+ if (options.dateTo && !options.dateFrom) {
+ throw new Error("--date-to requires --date-from");
+ }
+
+ return options;
+}
+
+function resolveFetchRange(options: CliOptions): DateRange {
+ if (options.dateFrom && options.dateTo) {
+ if (options.all) {
+ console.log("[analytics] Using --date-from/--date-to (--all ignored)");
+ }
+ return dateRangeExplicit(options.dateFrom, options.dateTo);
+ }
+ const daySpan = options.all ? ALL_DAYS : options.days;
+ return dateRangeForDays(daySpan);
+}
+
+function requireEnv(name: string): string {
+ const value = process.env[name]?.trim();
+ if (!value) {
+ throw new Error(`Missing ${name}. Copy .env.local.example → .env.local and fill it in.`);
+ }
+ return value;
+}
+
+function createCheckpoint(
+ projectId: string,
+ range: DateRange,
+ chunkDays: number,
+ mode: "lean" | "full",
+ assistantOnly: boolean
+): FetchCheckpoint {
+ return {
+ version: 1,
+ status: "in_progress",
+ projectId,
+ targetRange: range,
+ chunkDays,
+ mode,
+ assistantOnly,
+ startedAt: new Date().toISOString(),
+ updatedAt: new Date().toISOString(),
+ phase: "assistant",
+ completedChunks: { assistant: [], searches: [], feedback: [] },
+ };
+}
+
+function resolveRunMode(
+ options: CliOptions,
+ checkpoint: FetchCheckpoint | null,
+ manifest: Manifest | null,
+ projectId: string
+): RunMode {
+ if (options.resume) {
+ if (!shouldResume(checkpoint)) {
+ throw new Error("No interrupted fetch to resume (checkpoint.json missing or complete).");
+ }
+ return "resume";
+ }
+ if (options.fresh) return "fresh";
+ if (shouldResume(checkpoint)) return "resume";
+ if ((options.incremental || manifest) && manifest?.projectId === projectId && !options.all) {
+ return "incremental";
+ }
+ return "fresh";
+}
+
+async function writeOutputs(
+ options: CliOptions,
+ runMode: RunMode,
+ projectId: string,
+ range: DateRange,
+ chunkDays: number,
+ conversations: AssistantConversation[],
+ searches: SearchRow[],
+ totalSearches: number,
+ feedback: FeedbackEntry[],
+ status: Manifest["status"] = "complete",
+ logWrite = false,
+ daysToUpdate?: Set
+): Promise {
+ const unanswered = conversations.filter((c) => c.resolutionStatus === "unanswered");
+ const noSources = conversations.filter((c) => c.sources.length === 0);
+ const negativeFeedback = feedback.filter((f) => f.helpful === false);
+ const topSearches = searches.slice(0, TOP_SEARCHES);
+ const dayStats = statsByDay(conversations);
+
+ if (daysToUpdate && daysToUpdate.size > 0) {
+ await writeDayPartitions(CACHE_DIR, conversations, daysToUpdate);
+ }
+
+ await writeIndexOnly(CACHE_DIR, range, conversations, topSearches, negativeFeedback);
+
+ const files = [
+ "manifest.json",
+ "assistant-summary.md",
+ "unanswered-index.json",
+ "by-day/YYYY-MM-DD.md",
+ "by-day/YYYY-MM-DD.json",
+ ...(options.full ? ["assistant-conversations.json"] : []),
+ ...(options.assistantOnly
+ ? []
+ : [
+ options.full ? "searches.json" : "searches-top.json",
+ options.full ? "feedback.json" : "feedback-negative.json",
+ ]),
+ ];
+
+ const manifest: Manifest = {
+ fetchedAt: new Date().toISOString(),
+ status,
+ projectId,
+ dateFrom: range.dateFrom,
+ dateTo: range.dateTo,
+ mode: options.full ? "full" : "lean",
+ chunkDays,
+ lastRun: runMode,
+ outputDir: CACHE_DIR,
+ dayFileCount: dayStats.length,
+ counts: {
+ assistantConversations: conversations.length,
+ unansweredAssistant: unanswered.length,
+ assistantWithoutSources: noSources.length,
+ searches: searches.length,
+ feedback: feedback.length,
+ negativeFeedback: negativeFeedback.length,
+ },
+ files,
+ };
+
+ await writeJsonFile(join(CACHE_DIR, "manifest.json"), manifest);
+
+ if (options.full) {
+ await writeJsonFile(join(CACHE_DIR, "assistant-conversations.json"), {
+ range,
+ total: conversations.length,
+ conversations,
+ });
+ }
+
+ if (!options.assistantOnly) {
+ if (options.full) {
+ await writeJsonFile(join(CACHE_DIR, "searches.json"), { range, totalSearches, searches });
+ await writeJsonFile(join(CACHE_DIR, "feedback.json"), { range, total: feedback.length, feedback });
+ } else {
+ await writeJsonFile(join(CACHE_DIR, "searches-top.json"), {
+ range,
+ totalSearches,
+ top: TOP_SEARCHES,
+ searches: topSearches,
+ });
+ await writeJsonFile(join(CACHE_DIR, "feedback-negative.json"), {
+ range,
+ total: negativeFeedback.length,
+ feedback: negativeFeedback,
+ });
+ }
+ }
+
+ if (logWrite) {
+ const dayHint =
+ daysToUpdate && daysToUpdate.size > 0
+ ? `, updated days: ${[...daysToUpdate].sort().join(", ")}`
+ : "";
+ console.log(
+ `[analytics] Updated ${CACHE_DIR} (${conversations.length} conversations, ${unanswered.length} unanswered${dayHint})`
+ );
+ }
+}
+
+/** Write user-facing cache files from current in-memory stores (called after each chunk). */
+async function flushOutputs(
+ options: CliOptions,
+ runMode: RunMode,
+ projectId: string,
+ outputRange: DateRange,
+ chunkDays: number,
+ conversationStore: { conversations: AssistantConversation[] },
+ searchStore: { searches: SearchRow[]; totalSearches: number },
+ feedbackStore: { feedback: FeedbackEntry[] },
+ status: Manifest["status"],
+ logWrite: boolean,
+ daysToUpdate?: Set
+): Promise {
+ await writeOutputs(
+ options,
+ runMode,
+ projectId,
+ outputRange,
+ chunkDays,
+ conversationStore.conversations,
+ searchStore.searches,
+ searchStore.totalSearches,
+ feedbackStore.feedback,
+ status,
+ logWrite,
+ daysToUpdate
+ );
+}
+
+async function main(): Promise {
+ await loadEnvLocal();
+ const options = parseArgs(process.argv.slice(2));
+ const apiKey = requireEnv("MINTLIFY_API_KEY");
+ const projectId = requireEnv("MINTLIFY_PROJECT_ID");
+ const config = { apiKey, projectId };
+
+ await mkdir(CACHE_DIR, { recursive: true });
+ console.log(`[analytics] Output directory: ${CACHE_DIR}`);
+
+ const existingManifest = await readJsonFile(join(CACHE_DIR, "manifest.json"));
+ let checkpoint = await loadCheckpoint(CACHE_DIR);
+ const runMode = resolveRunMode(options, checkpoint, existingManifest, projectId);
+
+ let fetchRange: DateRange;
+ if (runMode === "resume" && checkpoint) {
+ fetchRange = checkpoint.targetRange;
+ console.log(`[analytics] Resuming interrupted fetch (${checkpoint.phase} phase)`);
+ } else if (runMode === "incremental" && existingManifest) {
+ const inc = incrementalRangeFromManifest(existingManifest);
+ if (!inc) {
+ console.log("[analytics] Already up to date — refreshing summary from store");
+ const conversations = (await loadConversationStore(CACHE_DIR))?.conversations ?? [];
+ const searchStoreSnapshot = await loadSearchStore(CACHE_DIR);
+ const searches = searchStoreSnapshot?.searches ?? [];
+ const totalSearches = searchStoreSnapshot?.totalSearches ?? 0;
+ const feedback = (await loadFeedbackStore(CACHE_DIR))?.feedback ?? [];
+ const range = {
+ dateFrom: existingManifest.dateFrom,
+ dateTo: existingManifest.dateTo,
+ };
+ if (!options.dryRun) {
+ await writeOutputs(
+ options,
+ "incremental",
+ projectId,
+ range,
+ existingManifest.chunkDays,
+ conversations,
+ searches,
+ totalSearches,
+ feedback
+ );
+ }
+ return;
+ }
+ fetchRange = inc;
+ console.log(`[analytics] Incremental update: ${fetchRange.dateFrom} → ${fetchRange.dateTo}`);
+ } else {
+ fetchRange = resolveFetchRange(options);
+ const windowLabel = options.all ? "Full fetch (1 year)" : "Fetch window";
+ console.log(`[analytics] ${windowLabel}: ${fetchRange.dateFrom} → ${fetchRange.dateTo}`);
+ }
+
+ const chunkDays = Math.min(options.chunkDays, daysInRange(fetchRange));
+
+ let conversationStore =
+ runMode === "fresh"
+ ? { range: fetchRange, conversations: [] as AssistantConversation[] }
+ : (await loadConversationStore(CACHE_DIR)) ?? { range: fetchRange, conversations: [] };
+ let searchStore =
+ runMode === "fresh"
+ ? { range: fetchRange, totalSearches: 0, searches: [] as SearchRow[] }
+ : (await loadSearchStore(CACHE_DIR)) ?? { range: fetchRange, totalSearches: 0, searches: [] };
+ let feedbackStore =
+ runMode === "fresh"
+ ? { range: fetchRange, feedback: [] as FeedbackEntry[] }
+ : (await loadFeedbackStore(CACHE_DIR)) ?? { range: fetchRange, feedback: [] };
+
+ if (runMode === "fresh") {
+ await clearCheckpoint(CACHE_DIR);
+ checkpoint = createCheckpoint(
+ projectId,
+ fetchRange,
+ chunkDays,
+ options.full ? "full" : "lean",
+ options.assistantOnly
+ );
+ await saveCheckpoint(CACHE_DIR, checkpoint);
+ } else if (runMode === "incremental") {
+ checkpoint = createCheckpoint(
+ projectId,
+ fetchRange,
+ chunkDays,
+ options.full ? "full" : "lean",
+ options.assistantOnly
+ );
+ await saveCheckpoint(CACHE_DIR, checkpoint);
+ } else if (!checkpoint) {
+ throw new Error("Resume requested but checkpoint.json is missing.");
+ }
+
+ console.log(
+ `[analytics] ${projectId} | mode ${runMode} | chunk ${chunkDays}d | output ${options.full ? "full" : "lean"}${options.assistantOnly ? " | assistant-only" : ""}`
+ );
+ const reqPerHour =
+ options.pageDelayMs > 0
+ ? Math.floor(3_600_000 / options.pageDelayMs)
+ : MINTLIFY_ANALYTICS_HOURLY_LIMIT;
+ console.log(
+ `[analytics] Rate: ${options.pageLimit}/page, ${options.pageDelayMs}ms delay (~${reqPerHour} req/h; Mintlify org limit ${MINTLIFY_ANALYTICS_HOURLY_LIMIT}/h)`
+ );
+ if (reqPerHour > MINTLIFY_ANALYTICS_HOURLY_LIMIT) {
+ console.warn(
+ `[analytics] Delay may be too short for ${MINTLIFY_ANALYTICS_HOURLY_LIMIT}/h limit — try --page-delay-ms 36000`
+ );
+ }
+
+ const fetchOpts = {
+ limit: options.pageLimit,
+ pageDelayMs: options.pageDelayMs,
+ };
+
+ if (options.dryRun) {
+ console.log("[analytics] Dry run — would fetch and write cache");
+ return;
+ }
+
+ const cp = checkpoint!;
+
+ const outputRange = (): DateRange =>
+ runMode === "incremental" && existingManifest
+ ? unionRange(
+ { dateFrom: existingManifest.dateFrom, dateTo: existingManifest.dateTo },
+ conversationStore.range
+ )
+ : conversationStore.range;
+
+ let pagesSinceDiskSave = 0;
+
+ async function persistToDisk(label: string, daysToUpdate?: Set): Promise {
+ await saveConversationStore(CACHE_DIR, conversationStore);
+ await saveSearchStore(CACHE_DIR, searchStore);
+ await saveFeedbackStore(CACHE_DIR, feedbackStore);
+ await flushOutputs(
+ options,
+ runMode,
+ projectId,
+ outputRange(),
+ chunkDays,
+ conversationStore,
+ searchStore,
+ feedbackStore,
+ "in_progress",
+ false,
+ daysToUpdate
+ );
+ cp.updatedAt = new Date().toISOString();
+ await saveCheckpoint(CACHE_DIR, cp);
+ pagesSinceDiskSave = 0;
+ console.log(`\n[analytics] 💾 saved ${label}`);
+ console.log(`[analytics] ${join(CACHE_DIR, "store/searches.json")} (${searchStore.searches.length} unique search terms)`);
+ console.log(`[analytics] ${join(CACHE_DIR, "store/conversations.json")} (${conversationStore.conversations.length} conversations)`);
+ console.log(`[analytics] ${join(CACHE_DIR, "searches-top.json")}, manifest.json, checkpoint.json`);
+ console.log(
+ `[analytics] (updates existing files — tmp/ is gitignored, use Cmd+P to open or enable "Show Excluded Files")`
+ );
+ }
+
+ function trackPagePersist(
+ label: string,
+ mergeFn: () => Set | undefined
+ ): (items: unknown[]) => Promise {
+ return async (items) => {
+ pagesSinceDiskSave += 1;
+ if (pagesSinceDiskSave >= SAVE_EVERY_PAGES) {
+ await persistToDisk(label, mergeFn());
+ }
+ };
+ }
+
+ try {
+ if (cp.phase === "assistant") {
+ await fetchAssistantConversationsChunked(config, fetchRange, chunkDays, {
+ ...fetchOpts,
+ skipChunks: completedChunkSet(cp, "assistant"),
+ onPageComplete: async (items) => {
+ conversationStore.conversations = mergeConversations(
+ conversationStore.conversations,
+ items as AssistantConversation[]
+ );
+ await trackPagePersist(
+ `assistant progress (${conversationStore.conversations.length} conversations)`,
+ () => daysInBatch(items as AssistantConversation[])
+ )(items);
+ },
+ onChunkComplete: async (chunk, batch) => {
+ conversationStore.conversations = mergeConversations(
+ conversationStore.conversations,
+ batch as AssistantConversation[]
+ );
+ conversationStore.range = unionRange(conversationStore.range, chunk);
+ await markChunkComplete(CACHE_DIR, cp, "assistant", chunk);
+ await persistToDisk(
+ `assistant chunk ${chunk.dateFrom} → ${chunk.dateTo}`,
+ daysInBatch(batch as AssistantConversation[])
+ );
+ },
+ });
+ cp.phase = options.assistantOnly ? "finalize" : "searches";
+ await saveCheckpoint(CACHE_DIR, cp);
+ console.log(`[analytics] Assistant total in store: ${conversationStore.conversations.length}`);
+ await persistToDisk("assistant phase complete");
+ console.log(
+ `[analytics] ✓ AI Q&A ready → assistant-summary.md, by-day/, unanswered-index.json`
+ );
+ if (!options.assistantOnly) {
+ console.log(`[analytics] Continuing with searches, then feedback…`);
+ }
+ }
+
+ if (!options.assistantOnly && (cp.phase === "searches" || cp.phase === "assistant")) {
+ if (cp.phase === "assistant") cp.phase = "searches";
+ await fetchSearchQueriesChunked(config, fetchRange, chunkDays, {
+ ...fetchOpts,
+ skipChunks: completedChunkSet(cp, "searches"),
+ onPageComplete: async (items) => {
+ searchStore.searches = mergeSearches(searchStore.searches, items as SearchRow[]);
+ await trackPagePersist(
+ `searches progress (${searchStore.searches.length} terms)`,
+ () => undefined
+ )(items);
+ },
+ onChunkComplete: async (chunk, batch) => {
+ searchStore.searches = mergeSearches(searchStore.searches, batch as SearchRow[]);
+ searchStore.range = unionRange(searchStore.range, chunk);
+ await markChunkComplete(CACHE_DIR, cp, "searches", chunk);
+ await persistToDisk(
+ `searches chunk ${chunk.dateFrom} → ${chunk.dateTo} (${searchStore.searches.length} terms)`
+ );
+ },
+ });
+ cp.phase = "feedback";
+ await saveCheckpoint(CACHE_DIR, cp);
+ console.log(`[analytics] Search terms in store: ${searchStore.searches.length}`);
+ }
+
+ if (!options.assistantOnly && (cp.phase === "feedback" || cp.phase === "searches")) {
+ if (cp.phase === "searches") cp.phase = "feedback";
+ await fetchFeedbackChunked(config, fetchRange, chunkDays, {
+ ...fetchOpts,
+ skipChunks: completedChunkSet(cp, "feedback"),
+ onPageComplete: async (items) => {
+ feedbackStore.feedback = mergeFeedback(feedbackStore.feedback, items as FeedbackEntry[]);
+ await trackPagePersist(
+ `feedback progress (${feedbackStore.feedback.length} entries)`,
+ () => undefined
+ )(items);
+ },
+ onChunkComplete: async (chunk, batch) => {
+ feedbackStore.feedback = mergeFeedback(feedbackStore.feedback, batch as FeedbackEntry[]);
+ feedbackStore.range = unionRange(feedbackStore.range, chunk);
+ await markChunkComplete(CACHE_DIR, cp, "feedback", chunk);
+ await persistToDisk(
+ `feedback chunk ${chunk.dateFrom} → ${chunk.dateTo} (${feedbackStore.feedback.length} entries)`
+ );
+ },
+ });
+ cp.phase = "finalize";
+ await saveCheckpoint(CACHE_DIR, cp);
+ console.log(`[analytics] Feedback entries in store: ${feedbackStore.feedback.length}`);
+ }
+
+ await writeOutputs(
+ options,
+ runMode,
+ projectId,
+ outputRange(),
+ chunkDays,
+ conversationStore.conversations,
+ searchStore.searches,
+ searchStore.totalSearches,
+ feedbackStore.feedback,
+ "complete",
+ false
+ );
+
+ cp.status = "complete";
+ cp.phase = "finalize";
+ await saveCheckpoint(CACHE_DIR, cp);
+ await clearCheckpoint(CACHE_DIR);
+
+ console.log(`[analytics] Done → tmp/analytics-cache/`);
+ console.log(
+ `[analytics] Unanswered: ${conversationStore.conversations.filter((c) => c.resolutionStatus === "unanswered").length} | Start with assistant-summary.md`
+ );
+ } catch (error) {
+ cp.status = "failed";
+ cp.error = error instanceof Error ? error.message : String(error);
+ await saveCheckpoint(CACHE_DIR, cp);
+ if (
+ conversationStore.conversations.length > 0 ||
+ searchStore.searches.length > 0 ||
+ feedbackStore.feedback.length > 0
+ ) {
+ await persistToDisk("partial progress after error");
+ console.error(`[analytics] Partial results saved under ${CACHE_DIR}`);
+ }
+ throw error;
+ }
+}
+
+main().catch((error) => {
+ console.error(`[analytics] ${error instanceof Error ? error.message : String(error)}`);
+ console.error("[analytics] Re-run the same command to resume from checkpoint.json");
+ process.exit(1);
+});
diff --git a/.github/scripts/analytics/mintlify-analytics.ts b/.github/scripts/analytics/mintlify-analytics.ts
new file mode 100644
index 000000000..94040b6ff
--- /dev/null
+++ b/.github/scripts/analytics/mintlify-analytics.ts
@@ -0,0 +1,619 @@
+const API_BASE = "https://api.mintlify.com/v1";
+const DEFAULT_TIMEOUT_MS = 60_000;
+const RETRYABLE_STATUSES = new Set([408, 429, 500, 502, 503, 504]);
+/** Mintlify analytics: 100 requests/org/hour shared across all export endpoints. */
+export const MINTLIFY_ANALYTICS_HOURLY_LIMIT = 100;
+export const DEFAULT_PAGE_LIMIT = 200;
+/** ~100 requests/hour org limit → 36s between pages when unset. */
+export const DEFAULT_PAGE_DELAY_MS = 36_000;
+const MAX_PAGINATION_PAGES = 10_000;
+
+export type ResolutionStatus = "answered" | "unanswered";
+
+export interface AssistantSource {
+ title: string;
+ url: string;
+}
+
+export interface AssistantConversation {
+ id: string;
+ timestamp: string;
+ query: string;
+ response: string;
+ sources: AssistantSource[];
+ resolutionStatus: ResolutionStatus;
+ queryCategory: string | null;
+ pageUrl: string | null;
+}
+
+export interface AssistantPage {
+ conversations: AssistantConversation[];
+ nextCursor: string | null;
+ hasMore: boolean;
+}
+
+export interface SearchRow {
+ searchQuery: string;
+ hits: number;
+ ctr: number;
+ topClickedPage: string | null;
+ lastSearchedAt: string;
+}
+
+export interface SearchPage {
+ searches: SearchRow[];
+ totalSearches: number;
+ nextCursor: string | null;
+}
+
+export interface FeedbackEntry {
+ id: string;
+ path: string;
+ comment: string | null;
+ createdAt: string | null;
+ source: "code_snippet" | "contextual" | "agent" | "thumbs_only";
+ status: "pending" | "in_progress" | "resolved" | "dismissed";
+ helpful?: boolean;
+ contact?: string | null;
+ code?: string;
+ filename?: string | null;
+ lang?: string | null;
+}
+
+export interface FeedbackPage {
+ feedback: FeedbackEntry[];
+ nextCursor: string | null;
+ hasMore: boolean;
+}
+
+export interface DateRange {
+ dateFrom: string;
+ dateTo: string;
+}
+
+export interface MintlifyAnalyticsConfig {
+ apiKey: string;
+ projectId: string;
+}
+
+export interface FetchProgress {
+ resource: "assistant" | "searches" | "feedback";
+ range: DateRange;
+ page: number;
+ pageSize: number;
+ total: number;
+}
+
+export interface PaginatedFetchOptions {
+ limit?: number;
+ /** Pause after each page (ms). Use ~36000 to stay under 100 req/hour org limit. */
+ pageDelayMs?: number;
+ timeoutMs?: number;
+ maxRetries?: number;
+ onProgress?: (progress: FetchProgress) => void;
+ skipChunks?: Set;
+ onChunkComplete?: (chunk: DateRange, items: unknown[]) => void | Promise;
+ /** Called after each API page (use for incremental disk saves). */
+ onPageComplete?: (
+ items: unknown[],
+ meta: { page: number; chunkTotal: number; range: DateRange }
+ ) => void | Promise;
+}
+
+export function chunkKey(range: DateRange): string {
+ return `${range.dateFrom}_${range.dateTo}`;
+}
+
+function buildQuery(params: Record): string {
+ const search = new URLSearchParams();
+ for (const [key, value] of Object.entries(params)) {
+ if (value === undefined || value === "") continue;
+ search.set(key, String(value));
+ }
+ const query = search.toString();
+ return query ? `?${query}` : "";
+}
+
+function sleep(ms: number): Promise {
+ return new Promise((resolve) => setTimeout(resolve, ms));
+}
+
+/** Mintlify sometimes returns a full URL; only pass the cursor token in the next request. */
+function normalizeCursor(raw: string | null | undefined): string | undefined {
+ if (!raw) return undefined;
+ const trimmed = raw.trim();
+ if (!trimmed) return undefined;
+ if (trimmed.startsWith("http://") || trimmed.startsWith("https://")) {
+ try {
+ const parsed = new URL(trimmed);
+ return parsed.searchParams.get("cursor") ?? trimmed;
+ } catch {
+ return trimmed;
+ }
+ }
+ return trimmed;
+}
+
+function isMintlifyApiError(error: unknown): error is Error {
+ return error instanceof Error && error.message.startsWith("Mintlify API ");
+}
+
+export function daysInRange(range: DateRange): number {
+ const from = new Date(`${range.dateFrom}T00:00:00.000Z`);
+ const to = new Date(`${range.dateTo}T00:00:00.000Z`);
+ return Math.max(1, Math.round((to.getTime() - from.getTime()) / 86_400_000));
+}
+
+function bisectRange(range: DateRange): [DateRange, DateRange] {
+ const from = new Date(`${range.dateFrom}T00:00:00.000Z`);
+ const to = new Date(`${range.dateTo}T00:00:00.000Z`);
+ const mid = new Date(from.getTime() + (to.getTime() - from.getTime()) / 2);
+ const midDay = isoDateOnly(mid);
+ return [
+ { dateFrom: range.dateFrom, dateTo: midDay },
+ { dateFrom: midDay, dateTo: range.dateTo },
+ ];
+}
+
+async function mintlifyGet(
+ config: MintlifyAnalyticsConfig,
+ path: string,
+ params: Record = {},
+ options: PaginatedFetchOptions = {}
+): Promise {
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
+ const maxRetries = options.maxRetries ?? 4;
+ const url = `${API_BASE}${path}${buildQuery(params)}`;
+
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
+ const controller = new AbortController();
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
+
+ try {
+ const response = await fetch(url, {
+ signal: controller.signal,
+ headers: {
+ Authorization: `Bearer ${config.apiKey}`,
+ Accept: "application/json",
+ },
+ });
+
+ if (!response.ok) {
+ let detail = response.statusText;
+ try {
+ const body = (await response.json()) as { error?: string };
+ if (body.error) detail = body.error;
+ } catch {
+ // ignore parse errors
+ }
+
+ if (RETRYABLE_STATUSES.has(response.status) && attempt < maxRetries) {
+ const retryAfterHeader = response.headers.get("Retry-After");
+ const retryAfterSec = retryAfterHeader ? Number(retryAfterHeader) : NaN;
+ const waitMs = Number.isFinite(retryAfterSec)
+ ? Math.max(1000, retryAfterSec * 1000)
+ : response.status === 429
+ ? Math.max(30_000, 1000 * 2 ** attempt)
+ : 1000 * 2 ** attempt;
+ console.warn(
+ `[analytics] ${response.status} ${detail} — retry ${attempt + 1}/${maxRetries} in ${Math.round(waitMs / 1000)}s`
+ );
+ await sleep(waitMs);
+ continue;
+ }
+
+ if (response.status === 403) {
+ throw new Error(
+ `Mintlify API 403: ${detail}. Use an Admin API key (mint_…) from the same organization as the project ID.`
+ );
+ }
+ if (response.status === 414) {
+ throw new Error(
+ `Mintlify API 414: ${detail}. Pagination URL exceeded server limit — use smaller --chunk-days (e.g. 3 or 1).`
+ );
+ }
+ throw new Error(`Mintlify API ${response.status}: ${detail}`);
+ }
+
+ return (await response.json()) as T;
+ } catch (error) {
+ if (isMintlifyApiError(error)) throw error;
+ const isAbort = error instanceof Error && error.name === "AbortError";
+ const message = isAbort ? `request timed out after ${timeoutMs}ms` : String(error);
+ if (attempt < maxRetries) {
+ const waitMs = 1000 * 2 ** attempt;
+ console.warn(`[analytics] ${message} — retry ${attempt + 1}/${maxRetries} in ${waitMs}ms`);
+ await sleep(waitMs);
+ continue;
+ }
+ throw new Error(isAbort ? `Mintlify API timeout: ${message}` : message);
+ } finally {
+ clearTimeout(timer);
+ }
+ }
+
+ throw new Error("Mintlify API request failed after retries");
+}
+
+async function fetchPaginated(
+ config: MintlifyAnalyticsConfig,
+ resource: FetchProgress["resource"],
+ path: string,
+ range: DateRange,
+ readItems: (page: unknown) => TItem[],
+ hasMore: (page: unknown, items: TItem[]) => { continue: boolean; cursor?: string },
+ options: PaginatedFetchOptions = {}
+): Promise {
+ const limit = Math.min(1000, Math.max(1, options.limit ?? DEFAULT_PAGE_LIMIT));
+ const pageDelayMs = Math.max(0, options.pageDelayMs ?? DEFAULT_PAGE_DELAY_MS);
+ const all: TItem[] = [];
+ let cursor: string | undefined;
+ let previousCursor: string | undefined;
+ let page = 0;
+
+ for (;;) {
+ if (page > 0 && pageDelayMs > 0) {
+ await sleep(pageDelayMs);
+ }
+ page += 1;
+ if (page > MAX_PAGINATION_PAGES) {
+ console.warn(
+ `[analytics] Stopping pagination after ${MAX_PAGINATION_PAGES} pages (${resource})`
+ );
+ break;
+ }
+ // After page 1, cursor encodes the window — omit dateFrom/dateTo to keep the URL short.
+ const queryParams = cursor
+ ? { limit, cursor }
+ : { dateFrom: range.dateFrom, dateTo: range.dateTo, limit };
+
+ const raw = await mintlifyGet(config, path, queryParams, options);
+ const items = readItems(raw);
+ all.push(...items);
+ options.onProgress?.({
+ resource,
+ range,
+ page,
+ pageSize: items.length,
+ total: all.length,
+ });
+ await options.onPageComplete?.(items, { page, chunkTotal: all.length, range });
+
+ const next = hasMore(raw, items);
+ if (!next.continue || !next.cursor) break;
+ const nextCursor = normalizeCursor(next.cursor);
+ if (!nextCursor || nextCursor === cursor || nextCursor === previousCursor) {
+ console.warn(
+ `[analytics] Pagination cursor did not advance (${resource}, page ${page}); stopping`
+ );
+ break;
+ }
+ previousCursor = cursor;
+ cursor = nextCursor;
+ }
+
+ return all;
+}
+
+async function fetchPaginatedWithBisect(
+ config: MintlifyAnalyticsConfig,
+ resource: FetchProgress["resource"],
+ path: string,
+ range: DateRange,
+ readItems: (page: unknown) => TItem[],
+ hasMore: (page: unknown, items: TItem[]) => { continue: boolean; cursor?: string },
+ options: PaginatedFetchOptions = {}
+): Promise {
+ try {
+ return await fetchPaginated(config, resource, path, range, readItems, hasMore, options);
+ } catch (error) {
+ const message = error instanceof Error ? error.message : String(error);
+ if (!message.includes("414") || daysInRange(range) <= 1) throw error;
+ const [left, right] = bisectRange(range);
+ console.warn(
+ `[analytics] 414 for ${range.dateFrom} → ${range.dateTo}; splitting into ${left.dateFrom}..${left.dateTo} and ${right.dateFrom}..${right.dateTo}`
+ );
+ const merged = [
+ ...(await fetchPaginatedWithBisect(config, resource, path, left, readItems, hasMore, options)),
+ ...(await fetchPaginatedWithBisect(config, resource, path, right, readItems, hasMore, options)),
+ ];
+ return merged;
+ }
+}
+
+export async function fetchAllAssistantConversations(
+ config: MintlifyAnalyticsConfig,
+ range: DateRange,
+ options: PaginatedFetchOptions = {}
+): Promise {
+ return fetchPaginatedWithBisect(
+ config,
+ "assistant",
+ `/analytics/${config.projectId}/assistant`,
+ range,
+ (page) => (page as AssistantPage).conversations,
+ (page) => {
+ const p = page as AssistantPage;
+ return { continue: p.hasMore && !!p.nextCursor, cursor: p.nextCursor ?? undefined };
+ },
+ { limit: DEFAULT_PAGE_LIMIT, ...options }
+ );
+}
+
+export async function fetchAllSearchQueries(
+ config: MintlifyAnalyticsConfig,
+ range: DateRange,
+ options: PaginatedFetchOptions = {}
+): Promise<{ searches: SearchRow[]; totalSearches: number }> {
+ const path = `/analytics/${config.projectId}/searches`;
+
+ async function fetchForRange(subRange: DateRange): Promise<{ searches: SearchRow[]; totalSearches: number }> {
+ let totalSearches = 0;
+ let capturedTotal = false;
+ try {
+ const searches = await fetchPaginated(
+ config,
+ "searches",
+ path,
+ subRange,
+ (page) => {
+ const p = page as SearchPage;
+ if (!capturedTotal) {
+ totalSearches = p.totalSearches;
+ capturedTotal = true;
+ }
+ return p.searches;
+ },
+ (page) => {
+ const p = page as SearchPage;
+ return { continue: !!p.nextCursor, cursor: p.nextCursor ?? undefined };
+ },
+ { limit: DEFAULT_PAGE_LIMIT, ...options }
+ );
+ return { searches, totalSearches };
+ } catch (error) {
+ const message = error instanceof Error ? error.message : String(error);
+ if (!message.includes("414") || daysInRange(subRange) <= 1) throw error;
+ const [left, right] = bisectRange(subRange);
+ console.warn(
+ `[analytics] 414 for ${subRange.dateFrom} → ${subRange.dateTo}; splitting into ${left.dateFrom}..${left.dateTo} and ${right.dateFrom}..${right.dateTo}`
+ );
+ const leftResult = await fetchForRange(left);
+ const rightResult = await fetchForRange(right);
+ return {
+ searches: [...leftResult.searches, ...rightResult.searches],
+ totalSearches: leftResult.totalSearches + rightResult.totalSearches,
+ };
+ }
+ }
+
+ return fetchForRange(range);
+}
+
+export async function fetchAllFeedback(
+ config: MintlifyAnalyticsConfig,
+ range: DateRange,
+ options: PaginatedFetchOptions = {}
+): Promise {
+ return fetchPaginatedWithBisect(
+ config,
+ "feedback",
+ `/analytics/${config.projectId}/feedback`,
+ range,
+ (page) => (page as FeedbackPage).feedback,
+ (page) => {
+ const p = page as FeedbackPage;
+ return { continue: p.hasMore && !!p.nextCursor, cursor: p.nextCursor ?? undefined };
+ },
+ { limit: DEFAULT_PAGE_LIMIT, ...options }
+ );
+}
+
+export function isoDateOnly(date: Date): string {
+ return date.toISOString().slice(0, 10);
+}
+
+export function dateRangeForDays(days: number): DateRange {
+ const dateTo = new Date();
+ dateTo.setUTCDate(dateTo.getUTCDate() + 1);
+ const dateFrom = new Date(dateTo);
+ dateFrom.setUTCDate(dateFrom.getUTCDate() - Math.max(1, days));
+ return {
+ dateFrom: isoDateOnly(dateFrom),
+ dateTo: isoDateOnly(dateTo),
+ };
+}
+
+const ISO_DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
+
+/** Validate YYYY-MM-DD (UTC calendar date). */
+export function parseIsoDateOnly(value: string, label: string): string {
+ const trimmed = value.trim();
+ if (!ISO_DATE_RE.test(trimmed)) {
+ throw new Error(`${label} must be YYYY-MM-DD (got "${value}")`);
+ }
+ const parsed = new Date(`${trimmed}T00:00:00.000Z`);
+ if (Number.isNaN(parsed.getTime()) || isoDateOnly(parsed) !== trimmed) {
+ throw new Error(`${label} is not a valid calendar date (got "${value}")`);
+ }
+ return trimmed;
+}
+
+/** Inclusive last day — converted to exclusive `dateTo` for the API. */
+export function dateRangeExplicit(dateFrom: string, dateToInclusive: string): DateRange {
+ const from = parseIsoDateOnly(dateFrom, "--date-from");
+ const through = parseIsoDateOnly(dateToInclusive, "--date-to");
+ const exclusiveEnd = new Date(`${through}T00:00:00.000Z`);
+ exclusiveEnd.setUTCDate(exclusiveEnd.getUTCDate() + 1);
+ const dateTo = isoDateOnly(exclusiveEnd);
+ if (from >= dateTo) {
+ throw new Error(`--date-from (${from}) must be before --date-to (${through})`);
+ }
+ return { dateFrom: from, dateTo };
+}
+
+/** Split [dateFrom, dateTo) into smaller windows (dateTo is exclusive). */
+export function splitDateRange(range: DateRange, chunkDays: number): DateRange[] {
+ const chunks: DateRange[] = [];
+ let cursor = new Date(`${range.dateFrom}T00:00:00.000Z`);
+ const end = new Date(`${range.dateTo}T00:00:00.000Z`);
+
+ while (cursor < end) {
+ const chunkEnd = new Date(cursor);
+ chunkEnd.setUTCDate(chunkEnd.getUTCDate() + chunkDays);
+ if (chunkEnd > end) chunkEnd.setTime(end.getTime());
+ chunks.push({
+ dateFrom: isoDateOnly(cursor),
+ dateTo: isoDateOnly(chunkEnd),
+ });
+ cursor = chunkEnd;
+ }
+
+ return chunks;
+}
+
+export async function fetchAssistantConversationsChunked(
+ config: MintlifyAnalyticsConfig,
+ range: DateRange,
+ chunkDays: number,
+ options: PaginatedFetchOptions = {}
+): Promise {
+ const chunks = splitDateRange(range, chunkDays);
+ const merged: AssistantConversation[] = [];
+ const seen = new Set();
+
+ for (let i = 0; i < chunks.length; i++) {
+ const chunk = chunks[i]!;
+ if (options.skipChunks?.has(chunkKey(chunk))) {
+ console.log(
+ `[analytics] assistant chunk ${i + 1}/${chunks.length}: ${chunk.dateFrom} → ${chunk.dateTo} (skipped, cached)`
+ );
+ continue;
+ }
+
+ console.log(
+ `[analytics] assistant chunk ${i + 1}/${chunks.length}: ${chunk.dateFrom} → ${chunk.dateTo}`
+ );
+ const batch = await fetchAllAssistantConversations(config, chunk, {
+ ...options,
+ onProgress: (progress) => {
+ options.onProgress?.(progress);
+ process.stdout.write(
+ `\r[analytics] page ${progress.page}, +${progress.pageSize} (chunk total ${progress.total}, all ${merged.length + progress.total}) `
+ );
+ },
+ onPageComplete: options.onPageComplete,
+ });
+ process.stdout.write("\n");
+
+ for (const row of batch) {
+ if (seen.has(row.id)) continue;
+ seen.add(row.id);
+ merged.push(row);
+ }
+ await options.onChunkComplete?.(chunk, batch);
+ console.log(`[analytics] chunk done: ${batch.length} rows (${merged.length} unique this run)`);
+ }
+
+ return merged;
+}
+
+export async function fetchSearchQueriesChunked(
+ config: MintlifyAnalyticsConfig,
+ range: DateRange,
+ chunkDays: number,
+ options: PaginatedFetchOptions = {}
+): Promise<{ searches: SearchRow[]; totalSearches: number }> {
+ const chunks = splitDateRange(range, chunkDays);
+ const byQuery = new Map();
+ let totalSearches = 0;
+
+ for (let i = 0; i < chunks.length; i++) {
+ const chunk = chunks[i]!;
+ if (options.skipChunks?.has(chunkKey(chunk))) {
+ console.log(
+ `[analytics] searches chunk ${i + 1}/${chunks.length}: ${chunk.dateFrom} → ${chunk.dateTo} (skipped, cached)`
+ );
+ continue;
+ }
+
+ console.log(
+ `[analytics] searches chunk ${i + 1}/${chunks.length}: ${chunk.dateFrom} → ${chunk.dateTo}`
+ );
+ const { searches, totalSearches: chunkTotal } = await fetchAllSearchQueries(config, chunk, {
+ ...options,
+ onProgress: (progress) => {
+ options.onProgress?.(progress);
+ process.stdout.write(
+ `\r[analytics] page ${progress.page}, +${progress.pageSize} (chunk ${progress.total}) `
+ );
+ },
+ onPageComplete: options.onPageComplete,
+ });
+ process.stdout.write("\n");
+ totalSearches += chunkTotal;
+
+ for (const row of searches) {
+ const existing = byQuery.get(row.searchQuery);
+ if (!existing) {
+ byQuery.set(row.searchQuery, { ...row });
+ continue;
+ }
+ existing.hits += row.hits;
+ if (row.lastSearchedAt > existing.lastSearchedAt) {
+ existing.lastSearchedAt = row.lastSearchedAt;
+ existing.topClickedPage = row.topClickedPage;
+ existing.ctr = row.ctr;
+ }
+ }
+ await options.onChunkComplete?.(chunk, searches);
+ }
+
+ const searches = [...byQuery.values()].sort((a, b) => b.hits - a.hits);
+ return { searches, totalSearches };
+}
+
+export async function fetchFeedbackChunked(
+ config: MintlifyAnalyticsConfig,
+ range: DateRange,
+ chunkDays: number,
+ options: PaginatedFetchOptions = {}
+): Promise {
+ const chunks = splitDateRange(range, chunkDays);
+ const merged: FeedbackEntry[] = [];
+ const seen = new Set();
+
+ for (let i = 0; i < chunks.length; i++) {
+ const chunk = chunks[i]!;
+ if (options.skipChunks?.has(chunkKey(chunk))) {
+ console.log(
+ `[analytics] feedback chunk ${i + 1}/${chunks.length}: ${chunk.dateFrom} → ${chunk.dateTo} (skipped, cached)`
+ );
+ continue;
+ }
+
+ console.log(
+ `[analytics] feedback chunk ${i + 1}/${chunks.length}: ${chunk.dateFrom} → ${chunk.dateTo}`
+ );
+ const batch = await fetchAllFeedback(config, chunk, {
+ ...options,
+ onProgress: (progress) => {
+ options.onProgress?.(progress);
+ process.stdout.write(
+ `\r[analytics] page ${progress.page}, +${progress.pageSize} (chunk ${progress.total}) `
+ );
+ },
+ onPageComplete: options.onPageComplete,
+ });
+ process.stdout.write("\n");
+
+ for (const row of batch) {
+ if (seen.has(row.id)) continue;
+ seen.add(row.id);
+ merged.push(row);
+ }
+ await options.onChunkComplete?.(chunk, batch);
+ }
+
+ return merged;
+}
diff --git a/.github/scripts/cms/README.md b/.github/scripts/cms/README.md
index 5a35695ef..5b19540f1 100644
--- a/.github/scripts/cms/README.md
+++ b/.github/scripts/cms/README.md
@@ -2,6 +2,25 @@
Push **draft** release notes to Strapi CMS. Content is **simplified for end users** in staging, separate from full docs changelog.
+## Relationship to docs translation
+
+`changelog/index.mdx` is the single English source. **Do not shorten it for CMS** — Step 1 (LLM simplify) produces popup copy in `staging/en/`.
+
+| | Docs translation ([i18n/README.md](../i18n/README.md)) | CMS sync (this doc) |
+|--|--|--|
+| Command | `pnpm translate` | `pnpm cms:prepare:en` / `cms:prepare:locales` / `cms:sync` |
+| Output | `{lang}/**/*.mdx` on Mintlify | `.github/scripts/cms/staging/` → Strapi |
+| Input | Full docs MDX | LLM-simplified popup copy |
+| Locales | ja, zh, ko | en, zh, ja, ko, fr, ru, es |
+
+## Agent rules
+
+- Do **not** use `pnpm translate` to fill CMS staging — use `pnpm cms:prepare:en` then `cms:prepare:locales`.
+- Get user approval on **staging EN** before `cms:prepare:locales`; on **all staging** before `cms:sync`.
+- Sync and publish **comfyui only** by default (`--project comfyui`). Use `--project cloud` only after explicit user confirmation.
+- Strapi publish is **manual by default** — run `pnpm cms:publish` after review (not automatic on sync).
+- Do commit `.github/scripts/cms/staging/` and `published-versions.json` after Strapi publish.
+
## Architecture
Three separate steps — review between each; sync only after confirmation:
@@ -66,7 +85,7 @@ pnpm cms:sync -- v0.25.1 # Step 3: push drafts (after staging
pnpm cms:publish -- v0.25.1 # publish + refresh published-versions.json
```
-Default: **comfyui + cloud** on prepare / sync / publish. Single project: `--project cloud`.
+Default: **comfyui + cloud** on prepare. **Sync/publish default for agents: comfyui only** — add `--project cloud` only when the user confirms.
Local default (no args): **all unpublished EN versions** (from `published-versions.json`). Full backfill: `CMS_SYNC_ALL=1`.
@@ -99,7 +118,7 @@ Configured in `cms-config.json` → `simplify`:
## API tokens
-See `.env.local.example`: `TRANSLATE_API_KEY` (prepare), `CMS_API_TOKEN` (sync).
+See [`.env.local.example`](../../../.env.local.example) (`TRANSLATE_*` for prepare, `CMS_*` for sync).
## Publish (draft → live)
diff --git a/.github/scripts/cms/published-versions.json b/.github/scripts/cms/published-versions.json
index ff5abed91..0c85e3405 100644
--- a/.github/scripts/cms/published-versions.json
+++ b/.github/scripts/cms/published-versions.json
@@ -273,6 +273,34 @@
"zh"
],
"published_at": "2026-06-25T06:08:07.770Z"
+ },
+ {
+ "project": "cloud",
+ "version": "0.27.0",
+ "locales": [
+ "en",
+ "es",
+ "fr",
+ "ja",
+ "ko",
+ "ru",
+ "zh"
+ ],
+ "published_at": "2026-07-02T02:41:31.344Z"
+ },
+ {
+ "project": "comfyui",
+ "version": "0.27.0",
+ "locales": [
+ "en",
+ "es",
+ "fr",
+ "ja",
+ "ko",
+ "ru",
+ "zh"
+ ],
+ "published_at": "2026-07-02T02:41:30.407Z"
}
]
}
diff --git a/.github/scripts/cms/staging/cloud/en/changelog/index.mdx b/.github/scripts/cms/staging/cloud/en/changelog/index.mdx
index 16afd759f..a02c2c1fe 100644
--- a/.github/scripts/cms/staging/cloud/en/changelog/index.mdx
+++ b/.github/scripts/cms/staging/cloud/en/changelog/index.mdx
@@ -4,10 +4,28 @@ cmsStaging: true
---
+
+
+**Int8 Support**
+* [**int8 convrot models**](https://github.com/Comfy-Org/ComfyUI/pull/14636): Support for int8 quantized convrot models with faster inference on Turing GPUs
+
+**Partner Node Updates**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693): Google's lightweight image generation model
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695): Video generation node powered by Gemini
+
+**New Node Updates**
+* [**Seed Node**](https://github.com/Comfy-Org/ComfyUI/pull/14616): Simplifies seed management for reproducible workflows
+* [**Advanced Krea 2 Model Merging**](https://github.com/Comfy-Org/ComfyUI/pull/14621): Merges Krea 2 models
+* [**Bounding Box Canvas**](https://github.com/Comfy-Org/ComfyUI/pull/14537): Canvas with Ideogram JSON prompt support
+* [**ConditioningMultiply**](https://github.com/Comfy-Org/ComfyUI/pull/14686): Multiplies conditioning values
+* [**GLSL Update**](https://github.com/Comfy-Org/ComfyUI/pull/13195): GLSL node updated to use ANGLE library
+
+
+
**Partner Node Updates**
-* [**SeeDance 2.0 Mini**](https://links.comfy.org/4eOUnjJ): Added ByteDance SeeDance 2.0 Mini on Text-to-Video, First-Last-Frame, and Reference nodes
+* [**SeeDance 2.0 Mini**](https://links.comfy.org/4aGBKxh): Added ByteDance SeeDance 2.0 Mini on Text-to-Video, First-Last-Frame, and Reference nodes
diff --git a/.github/scripts/cms/staging/cloud/es/changelog/index.mdx b/.github/scripts/cms/staging/cloud/es/changelog/index.mdx
index 4ee2050ec..785b99e2c 100644
--- a/.github/scripts/cms/staging/cloud/es/changelog/index.mdx
+++ b/.github/scripts/cms/staging/cloud/es/changelog/index.mdx
@@ -4,10 +4,28 @@ cmsStaging: true
---
+
+
+**Soporte Int8**
+* [**modelos convrot int8**](https://github.com/Comfy-Org/ComfyUI/pull/14636): Soporte para modelos convrot cuantificados int8 con inferencia más rápida en GPUs Turing
+
+**Actualizaciones de Nodos Asociados**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693): El modelo ligero de generación de imágenes de Google
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695): Nodo de generación de video impulsado por Gemini
+
+**Actualizaciones de Nuevos Nodos**
+* [**Seed Node**](https://github.com/Comfy-Org/ComfyUI/pull/14616): Simplifica la gestión de semillas para flujos de trabajo reproducibles
+* [**Advanced Krea 2 Model Merging**](https://github.com/Comfy-Org/ComfyUI/pull/14621): Fusiona modelos Krea 2
+* [**Bounding Box Canvas**](https://github.com/Comfy-Org/ComfyUI/pull/14537): Lienzo con soporte de prompt JSON de Ideogram
+* [**ConditioningMultiply**](https://github.com/Comfy-Org/ComfyUI/pull/14686): Multiplica valores de condicionamiento
+* [**GLSL Update**](https://github.com/Comfy-Org/ComfyUI/pull/13195): Nodo GLSL actualizado para usar la biblioteca ANGLE
+
+
+
**Actualizaciones de Nodos Asociados**
-* [**SeeDance 2.0 Mini**](https://links.comfy.org/4eOUnjJ): Añadido ByteDance SeeDance 2.0 Mini en nodos de Texto a Video, Primer-Último Fotograma y Referencia
+* [**SeeDance 2.0 Mini**](https://links.comfy.org/4aGBKxh): Añadido ByteDance SeeDance 2.0 Mini en nodos de Texto a Video, Primer-Último Fotograma y Referencia
diff --git a/.github/scripts/cms/staging/cloud/fr/changelog/index.mdx b/.github/scripts/cms/staging/cloud/fr/changelog/index.mdx
index 06474e589..00ca78ee5 100644
--- a/.github/scripts/cms/staging/cloud/fr/changelog/index.mdx
+++ b/.github/scripts/cms/staging/cloud/fr/changelog/index.mdx
@@ -4,10 +4,28 @@ cmsStaging: true
---
+
+
+**Support Int8**
+* [**modèles convrot int8**](https://github.com/Comfy-Org/ComfyUI/pull/14636) : Prise en charge des modèles convrot quantifiés en int8 avec inférence plus rapide sur les GPU Turing
+
+**Mises à jour des nœuds partenaires**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693) : Modèle léger de génération d'images de Google
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695) : Nœud de génération vidéo propulsé par Gemini
+
+**Mises à jour des nouveaux nœuds**
+* [**Nœud Seed**](https://github.com/Comfy-Org/ComfyUI/pull/14616) : Simplifie la gestion des graines pour des workflows reproductibles
+* [**Fusion avancée de modèles Krea 2**](https://github.com/Comfy-Org/ComfyUI/pull/14621) : Fusionne les modèles Krea 2
+* [**Canvas Bounding Box**](https://github.com/Comfy-Org/ComfyUI/pull/14537) : Canvas avec prise en charge des invites JSON Ideogram
+* [**ConditioningMultiply**](https://github.com/Comfy-Org/ComfyUI/pull/14686) : Multiplie les valeurs de conditionnement
+* [**Mise à jour GLSL**](https://github.com/Comfy-Org/ComfyUI/pull/13195) : Nœud GLSL mis à jour pour utiliser la bibliothèque ANGLE
+
+
+
**Mises à jour des nœuds partenaires**
-* [**SeeDance 2.0 Mini**](https://links.comfy.org/4eOUnnJ) : Ajout de ByteDance SeeDance 2.0 Mini sur les nœuds Text-to-Video, First-Last-Frame et Reference
+* [**SeeDance 2.0 Mini**](https://links.comfy.org/4aGBKxh) : Ajout de ByteDance SeeDance 2.0 Mini sur les nœuds Text-to-Video, First-Last-Frame et Reference
diff --git a/.github/scripts/cms/staging/cloud/ja/changelog/index.mdx b/.github/scripts/cms/staging/cloud/ja/changelog/index.mdx
index af4877259..0259b092b 100644
--- a/.github/scripts/cms/staging/cloud/ja/changelog/index.mdx
+++ b/.github/scripts/cms/staging/cloud/ja/changelog/index.mdx
@@ -4,10 +4,28 @@ cmsStaging: true
---
+
+
+**Int8サポート**
+* [**int8 convrot モデル**](https://github.com/Comfy-Org/ComfyUI/pull/14636): Turing GPUでより高速な推論を実現するint8量子化convrotモデルをサポート
+
+**パートナーノード更新**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693): Googleの軽量画像生成モデル
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695): Geminiを搭載したビデオ生成ノード
+
+**新ノード更新**
+* [**Seedノード**](https://github.com/Comfy-Org/ComfyUI/pull/14616): シード管理を簡素化し、再現可能なワークフローを実現
+* [**高度なKrea 2 モデルマージング**](https://github.com/Comfy-Org/ComfyUI/pull/14621): Krea 2 モデルをマージします
+* [**バウンディングボックスキャンバス**](https://github.com/Comfy-Org/ComfyUI/pull/14537): Ideogram JSONプロンプトをサポートするキャンバス
+* [**ConditioningMultiply**](https://github.com/Comfy-Org/ComfyUI/pull/14686): 条件付けの値を乗算します
+* [**GLSL更新**](https://github.com/Comfy-Org/ComfyUI/pull/13195): GLSLノードをANGLEライブラリを使用するよう更新
+
+
+
**パートナーノードの更新**
-* [**SeeDance 2.0 Mini**](https://links.comfy.org/4eOUnjJ): テキストから動画へノード、First-Last-Frameノード、ReferenceノードにByteDance SeeDance 2.0 Miniを追加しました
+* [**SeeDance 2.0 Mini**](https://links.comfy.org/4aGBKxh): テキストから動画へノード、First-Last-Frameノード、ReferenceノードにByteDance SeeDance 2.0 Miniを追加しました
diff --git a/.github/scripts/cms/staging/cloud/ko/changelog/index.mdx b/.github/scripts/cms/staging/cloud/ko/changelog/index.mdx
index 1d98f99df..50597c539 100644
--- a/.github/scripts/cms/staging/cloud/ko/changelog/index.mdx
+++ b/.github/scripts/cms/staging/cloud/ko/changelog/index.mdx
@@ -4,10 +4,28 @@ cmsStaging: true
---
+
+
+**Int8 지원**
+* [**int8 convrot 모델**](https://github.com/Comfy-Org/ComfyUI/pull/14636): Turing GPU에서 더 빠른 추론을 위한 int8 양자화 convrot 모델 지원
+
+**파트너 노드 업데이트**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693): Google의 경량 이미지 생성 모델
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695): Gemini 기반 비디오 생성 노드
+
+**새 노드 업데이트**
+* [**Seed Node**](https://github.com/Comfy-Org/ComfyUI/pull/14616): 재현 가능한 워크플로를 위한 시드 관리를 간소화합니다
+* [**고급 Krea 2 모델 병합**](https://github.com/Comfy-Org/ComfyUI/pull/14621): Krea 2 모델 병합
+* [**바운딩 박스 캔버스**](https://github.com/Comfy-Org/ComfyUI/pull/14537): Ideogram JSON 프롬프트를 지원하는 캔버스
+* [**ConditioningMultiply**](https://github.com/Comfy-Org/ComfyUI/pull/14686): 조건화 값을 곱합니다
+* [**GLSL 업데이트**](https://github.com/Comfy-Org/ComfyUI/pull/13195): ANGLE 라이브러리를 사용하도록 업데이트된 GLSL 노드
+
+
+
**파트너 노드 업데이트**
-* [**SeeDance 2.0 Mini**](https://links.comfy.org/4eOUnjJ): 텍스트 기반 비디오 생성, 첫 번째-마지막 프레임 및 참조 노드에 ByteDance SeeDance 2.0 Mini 추가
+* [**SeeDance 2.0 Mini**](https://links.comfy.org/4aGBKxh): 텍스트 기반 비디오 생성, 첫 번째-마지막 프레임 및 참조 노드에 ByteDance SeeDance 2.0 Mini 추가
diff --git a/.github/scripts/cms/staging/cloud/ru/changelog/index.mdx b/.github/scripts/cms/staging/cloud/ru/changelog/index.mdx
index 03142d67b..1309c002e 100644
--- a/.github/scripts/cms/staging/cloud/ru/changelog/index.mdx
+++ b/.github/scripts/cms/staging/cloud/ru/changelog/index.mdx
@@ -4,10 +4,28 @@ cmsStaging: true
---
+
+
+**Поддержка Int8**
+* [**Модели int8 convrot**](https://github.com/Comfy-Org/ComfyUI/pull/14636): Поддержка int8-квантованных моделей convrot с более быстрым выводом на GPU Turing
+
+**Обновления партнёрских узлов**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693): Лёгкая модель генерации изображений от Google
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695): Узел генерации видео на базе Gemini
+
+**Обновления новых узлов**
+* [**Узел Seed**](https://github.com/Comfy-Org/ComfyUI/pull/14616): Упрощает управление seed для воспроизводимых рабочих процессов
+* [**Расширенное слияние моделей Krea 2**](https://github.com/Comfy-Org/ComfyUI/pull/14621): Объединяет модели Krea 2
+* [**Холст ограничивающих рамок**](https://github.com/Comfy-Org/ComfyUI/pull/14537): Холст с поддержкой JSON-подсказок Ideogram
+* [**ConditioningMultiply**](https://github.com/Comfy-Org/ComfyUI/pull/14686): Умножает значения кондиционирования
+* [**Обновление GLSL**](https://github.com/Comfy-Org/ComfyUI/pull/13195): Узел GLSL обновлён для использования библиотеки ANGLE
+
+
+
**Обновления партнерских узлов**
-* [**SeeDance 2.0 Mini**](https://links.comfy.org/4eOUnjJ): Добавлен ByteDance SeeDance 2.0 Mini для узлов Text-to-Video, First-Last-Frame и Reference
+* [**SeeDance 2.0 Mini**](https://links.comfy.org/4aGBKxh): Добавлен ByteDance SeeDance 2.0 Mini для узлов Text-to-Video, First-Last-Frame и Reference
diff --git a/.github/scripts/cms/staging/cloud/zh/changelog/index.mdx b/.github/scripts/cms/staging/cloud/zh/changelog/index.mdx
index 5743dcc27..c725b8dc4 100644
--- a/.github/scripts/cms/staging/cloud/zh/changelog/index.mdx
+++ b/.github/scripts/cms/staging/cloud/zh/changelog/index.mdx
@@ -4,10 +4,28 @@ cmsStaging: true
---
+
+
+**新模型支持**
+* [**int8 convrot 模型**](https://github.com/Comfy-Org/ComfyUI/pull/14636): 支持 int8 量化的 convrot 模型,在 Turing GPU 及更新型号上推理速度更快,并优化了 LoRA 应用
+
+**新节点更新**
+* [**种子节点**](https://github.com/Comfy-Org/ComfyUI/pull/14616): 新节点简化了种子管理,便于可重现的工作流
+* [**高级 Krea 2 模型合并**](https://github.com/Comfy-Org/ComfyUI/pull/14621): 用于合并 Krea 2 模型的高级节点
+* [**边界框画布**](https://github.com/Comfy-Org/ComfyUI/pull/14537): 支持 Ideogram JSON 提示的边界框画布
+* [**条件乘法**](https://github.com/Comfy-Org/ComfyUI/pull/14686): 对条件值进行乘法运算,实现灵活控制
+* [**GLSL 更新**](https://github.com/Comfy-Org/ComfyUI/pull/13195): GLSL 节点已更新,使用 ANGLE 库
+
+**合作伙伴节点更新**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693): 支持 Google 的轻量级 Nano Banana 2 Lite 模型
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695): 新的 Gemini Video Omni 节点,用于视频生成
+
+
+
**合作伙伴节点更新**
-* [**SeeDance 2.0 Mini**](https://links.comfy.org/4eOUnjJ):在文生视频、首尾帧和参考节点中新增了字节跳动 SeeDance 2.0 Mini 支持
+* [**SeeDance 2.0 Mini**](https://links.comfy.org/4aGBKxh):在文生视频、首尾帧和参考节点中新增了字节跳动 SeeDance 2.0 Mini 支持
diff --git a/.github/scripts/cms/staging/en/changelog/index.mdx b/.github/scripts/cms/staging/en/changelog/index.mdx
index d1e9bbb0d..a02c2c1fe 100644
--- a/.github/scripts/cms/staging/en/changelog/index.mdx
+++ b/.github/scripts/cms/staging/en/changelog/index.mdx
@@ -4,6 +4,24 @@ cmsStaging: true
---
+
+
+**Int8 Support**
+* [**int8 convrot models**](https://github.com/Comfy-Org/ComfyUI/pull/14636): Support for int8 quantized convrot models with faster inference on Turing GPUs
+
+**Partner Node Updates**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693): Google's lightweight image generation model
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695): Video generation node powered by Gemini
+
+**New Node Updates**
+* [**Seed Node**](https://github.com/Comfy-Org/ComfyUI/pull/14616): Simplifies seed management for reproducible workflows
+* [**Advanced Krea 2 Model Merging**](https://github.com/Comfy-Org/ComfyUI/pull/14621): Merges Krea 2 models
+* [**Bounding Box Canvas**](https://github.com/Comfy-Org/ComfyUI/pull/14537): Canvas with Ideogram JSON prompt support
+* [**ConditioningMultiply**](https://github.com/Comfy-Org/ComfyUI/pull/14686): Multiplies conditioning values
+* [**GLSL Update**](https://github.com/Comfy-Org/ComfyUI/pull/13195): GLSL node updated to use ANGLE library
+
+
+
**Partner Node Updates**
diff --git a/.github/scripts/cms/staging/es/changelog/index.mdx b/.github/scripts/cms/staging/es/changelog/index.mdx
index 86bb970f3..785b99e2c 100644
--- a/.github/scripts/cms/staging/es/changelog/index.mdx
+++ b/.github/scripts/cms/staging/es/changelog/index.mdx
@@ -4,6 +4,24 @@ cmsStaging: true
---
+
+
+**Soporte Int8**
+* [**modelos convrot int8**](https://github.com/Comfy-Org/ComfyUI/pull/14636): Soporte para modelos convrot cuantificados int8 con inferencia más rápida en GPUs Turing
+
+**Actualizaciones de Nodos Asociados**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693): El modelo ligero de generación de imágenes de Google
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695): Nodo de generación de video impulsado por Gemini
+
+**Actualizaciones de Nuevos Nodos**
+* [**Seed Node**](https://github.com/Comfy-Org/ComfyUI/pull/14616): Simplifica la gestión de semillas para flujos de trabajo reproducibles
+* [**Advanced Krea 2 Model Merging**](https://github.com/Comfy-Org/ComfyUI/pull/14621): Fusiona modelos Krea 2
+* [**Bounding Box Canvas**](https://github.com/Comfy-Org/ComfyUI/pull/14537): Lienzo con soporte de prompt JSON de Ideogram
+* [**ConditioningMultiply**](https://github.com/Comfy-Org/ComfyUI/pull/14686): Multiplica valores de condicionamiento
+* [**GLSL Update**](https://github.com/Comfy-Org/ComfyUI/pull/13195): Nodo GLSL actualizado para usar la biblioteca ANGLE
+
+
+
**Actualizaciones de Nodos Asociados**
diff --git a/.github/scripts/cms/staging/fr/changelog/index.mdx b/.github/scripts/cms/staging/fr/changelog/index.mdx
index 2e0ab6a56..00ca78ee5 100644
--- a/.github/scripts/cms/staging/fr/changelog/index.mdx
+++ b/.github/scripts/cms/staging/fr/changelog/index.mdx
@@ -4,6 +4,24 @@ cmsStaging: true
---
+
+
+**Support Int8**
+* [**modèles convrot int8**](https://github.com/Comfy-Org/ComfyUI/pull/14636) : Prise en charge des modèles convrot quantifiés en int8 avec inférence plus rapide sur les GPU Turing
+
+**Mises à jour des nœuds partenaires**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693) : Modèle léger de génération d'images de Google
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695) : Nœud de génération vidéo propulsé par Gemini
+
+**Mises à jour des nouveaux nœuds**
+* [**Nœud Seed**](https://github.com/Comfy-Org/ComfyUI/pull/14616) : Simplifie la gestion des graines pour des workflows reproductibles
+* [**Fusion avancée de modèles Krea 2**](https://github.com/Comfy-Org/ComfyUI/pull/14621) : Fusionne les modèles Krea 2
+* [**Canvas Bounding Box**](https://github.com/Comfy-Org/ComfyUI/pull/14537) : Canvas avec prise en charge des invites JSON Ideogram
+* [**ConditioningMultiply**](https://github.com/Comfy-Org/ComfyUI/pull/14686) : Multiplie les valeurs de conditionnement
+* [**Mise à jour GLSL**](https://github.com/Comfy-Org/ComfyUI/pull/13195) : Nœud GLSL mis à jour pour utiliser la bibliothèque ANGLE
+
+
+
**Mises à jour des nœuds partenaires**
diff --git a/.github/scripts/cms/staging/ja/changelog/index.mdx b/.github/scripts/cms/staging/ja/changelog/index.mdx
index 060c5c363..0259b092b 100644
--- a/.github/scripts/cms/staging/ja/changelog/index.mdx
+++ b/.github/scripts/cms/staging/ja/changelog/index.mdx
@@ -4,6 +4,24 @@ cmsStaging: true
---
+
+
+**Int8サポート**
+* [**int8 convrot モデル**](https://github.com/Comfy-Org/ComfyUI/pull/14636): Turing GPUでより高速な推論を実現するint8量子化convrotモデルをサポート
+
+**パートナーノード更新**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693): Googleの軽量画像生成モデル
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695): Geminiを搭載したビデオ生成ノード
+
+**新ノード更新**
+* [**Seedノード**](https://github.com/Comfy-Org/ComfyUI/pull/14616): シード管理を簡素化し、再現可能なワークフローを実現
+* [**高度なKrea 2 モデルマージング**](https://github.com/Comfy-Org/ComfyUI/pull/14621): Krea 2 モデルをマージします
+* [**バウンディングボックスキャンバス**](https://github.com/Comfy-Org/ComfyUI/pull/14537): Ideogram JSONプロンプトをサポートするキャンバス
+* [**ConditioningMultiply**](https://github.com/Comfy-Org/ComfyUI/pull/14686): 条件付けの値を乗算します
+* [**GLSL更新**](https://github.com/Comfy-Org/ComfyUI/pull/13195): GLSLノードをANGLEライブラリを使用するよう更新
+
+
+
**パートナーノードの更新**
diff --git a/.github/scripts/cms/staging/ko/changelog/index.mdx b/.github/scripts/cms/staging/ko/changelog/index.mdx
index a1701992f..50597c539 100644
--- a/.github/scripts/cms/staging/ko/changelog/index.mdx
+++ b/.github/scripts/cms/staging/ko/changelog/index.mdx
@@ -4,6 +4,24 @@ cmsStaging: true
---
+
+
+**Int8 지원**
+* [**int8 convrot 모델**](https://github.com/Comfy-Org/ComfyUI/pull/14636): Turing GPU에서 더 빠른 추론을 위한 int8 양자화 convrot 모델 지원
+
+**파트너 노드 업데이트**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693): Google의 경량 이미지 생성 모델
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695): Gemini 기반 비디오 생성 노드
+
+**새 노드 업데이트**
+* [**Seed Node**](https://github.com/Comfy-Org/ComfyUI/pull/14616): 재현 가능한 워크플로를 위한 시드 관리를 간소화합니다
+* [**고급 Krea 2 모델 병합**](https://github.com/Comfy-Org/ComfyUI/pull/14621): Krea 2 모델 병합
+* [**바운딩 박스 캔버스**](https://github.com/Comfy-Org/ComfyUI/pull/14537): Ideogram JSON 프롬프트를 지원하는 캔버스
+* [**ConditioningMultiply**](https://github.com/Comfy-Org/ComfyUI/pull/14686): 조건화 값을 곱합니다
+* [**GLSL 업데이트**](https://github.com/Comfy-Org/ComfyUI/pull/13195): ANGLE 라이브러리를 사용하도록 업데이트된 GLSL 노드
+
+
+
**파트너 노드 업데이트**
diff --git a/.github/scripts/cms/staging/ru/changelog/index.mdx b/.github/scripts/cms/staging/ru/changelog/index.mdx
index 43a56fff0..1309c002e 100644
--- a/.github/scripts/cms/staging/ru/changelog/index.mdx
+++ b/.github/scripts/cms/staging/ru/changelog/index.mdx
@@ -4,6 +4,24 @@ cmsStaging: true
---
+
+
+**Поддержка Int8**
+* [**Модели int8 convrot**](https://github.com/Comfy-Org/ComfyUI/pull/14636): Поддержка int8-квантованных моделей convrot с более быстрым выводом на GPU Turing
+
+**Обновления партнёрских узлов**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693): Лёгкая модель генерации изображений от Google
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695): Узел генерации видео на базе Gemini
+
+**Обновления новых узлов**
+* [**Узел Seed**](https://github.com/Comfy-Org/ComfyUI/pull/14616): Упрощает управление seed для воспроизводимых рабочих процессов
+* [**Расширенное слияние моделей Krea 2**](https://github.com/Comfy-Org/ComfyUI/pull/14621): Объединяет модели Krea 2
+* [**Холст ограничивающих рамок**](https://github.com/Comfy-Org/ComfyUI/pull/14537): Холст с поддержкой JSON-подсказок Ideogram
+* [**ConditioningMultiply**](https://github.com/Comfy-Org/ComfyUI/pull/14686): Умножает значения кондиционирования
+* [**Обновление GLSL**](https://github.com/Comfy-Org/ComfyUI/pull/13195): Узел GLSL обновлён для использования библиотеки ANGLE
+
+
+
**Обновления партнерских узлов**
diff --git a/.github/scripts/cms/staging/zh/changelog/index.mdx b/.github/scripts/cms/staging/zh/changelog/index.mdx
index 158b67a68..c725b8dc4 100644
--- a/.github/scripts/cms/staging/zh/changelog/index.mdx
+++ b/.github/scripts/cms/staging/zh/changelog/index.mdx
@@ -4,6 +4,24 @@ cmsStaging: true
---
+
+
+**新模型支持**
+* [**int8 convrot 模型**](https://github.com/Comfy-Org/ComfyUI/pull/14636): 支持 int8 量化的 convrot 模型,在 Turing GPU 及更新型号上推理速度更快,并优化了 LoRA 应用
+
+**新节点更新**
+* [**种子节点**](https://github.com/Comfy-Org/ComfyUI/pull/14616): 新节点简化了种子管理,便于可重现的工作流
+* [**高级 Krea 2 模型合并**](https://github.com/Comfy-Org/ComfyUI/pull/14621): 用于合并 Krea 2 模型的高级节点
+* [**边界框画布**](https://github.com/Comfy-Org/ComfyUI/pull/14537): 支持 Ideogram JSON 提示的边界框画布
+* [**条件乘法**](https://github.com/Comfy-Org/ComfyUI/pull/14686): 对条件值进行乘法运算,实现灵活控制
+* [**GLSL 更新**](https://github.com/Comfy-Org/ComfyUI/pull/13195): GLSL 节点已更新,使用 ANGLE 库
+
+**合作伙伴节点更新**
+* [**Nano Banana 2 Lite**](https://github.com/Comfy-Org/ComfyUI/pull/14693): 支持 Google 的轻量级 Nano Banana 2 Lite 模型
+* [**Gemini Video Omni**](https://github.com/Comfy-Org/ComfyUI/pull/14695): 新的 Gemini Video Omni 节点,用于视频生成
+
+
+
**合作伙伴节点更新**
diff --git a/.github/scripts/i18n/README.md b/.github/scripts/i18n/README.md
index 8d4f5a943..0aabe8b32 100644
--- a/.github/scripts/i18n/README.md
+++ b/.github/scripts/i18n/README.md
@@ -4,6 +4,27 @@ Tooling that translates the English MDX docs into the languages listed in
[`translation-config.json`](./translation-config.json) (currently ja / zh / ko).
English is the single source of truth; every other language is generated.
+## Relationship to CMS changelog
+
+`changelog/index.mdx` is the full English release notes for the **Mintlify docs site**.
+This pipeline produces `{lang}/**/*.mdx` via `pnpm translate`.
+
+**CMS popup release notes** are a separate pipeline — simplified copy in
+`.github/scripts/cms/staging/` → Strapi. See [cms/README.md](../cms/README.md).
+Do **not** use `pnpm translate` to fill CMS staging.
+
+```
+changelog/index.mdx
+ ├─► pnpm translate → zh/ ja/ ko/ (Mintlify docs)
+ └─► pnpm cms:prepare → staging/ → Strapi (in-app popup)
+```
+
+## Agent rules
+
+- Do **not** commit `.github/i18n-logs/`.
+- Do commit translated docs (`zh/`, `ja/`, `ko/`) after a translation run.
+- Prose style for English MDX: see [AGENTS.md](../../../AGENTS.md#prose-style-english-mdx).
+
## How translation works
`translate-i18n.ts` is the entry point. It is **incremental**: each translated
@@ -20,7 +41,9 @@ pnpm translate -- --lang zh,ja # specific languages
pnpm translate -- installation/x.mdx # specific files
pnpm translate:snippets # snippets only
pnpm translate:check-truncation # scan for truncated output
+pnpm translate:repair-fences # append missing closing ```
pnpm translate:repair-truncated -- --lang ko
+pnpm translate:sync-hash # update hashes after manual translation edits
pnpm translate:sync-docs-json # sync docs.json navigation paths
```
@@ -28,6 +51,21 @@ Quality controls during/after a run write to `.github/i18n-logs/translate/`
(gitignored): semantic mismatches reported by the model, and a truncation scan
(`check-translation-truncation.ts`).
+Truncation heuristics include **unclosed ` ``` ` blocks** (`unclosed_code_fence`),
+fewer fence markers than English (`missing_code_fence`), and short body length.
+
+```bash
+pnpm translate:check-truncation # scan all languages
+pnpm translate:check-truncation -- --lang ko
+pnpm translate:repair-fences # append missing closing ```
+pnpm translate:repair-fences -- --dry-run # preview fence fixes
+pnpm translate:repair-truncated -- --lang ko # re-translate via API when content was cut
+```
+
+`repair-fences` is a **structural** fix (adds `\`\`\`` at the end). It does not
+restore code lines lost inside the block. Use `repair-truncated` when the block
+body itself was truncated.
+
### Long pages (chunked translation)
Very long MDX files (e.g. `tutorials/partner-nodes/pricing.mdx`) exceed model
@@ -39,7 +77,7 @@ output limits when translated in one shot. Two strategies avoid truncation:
| `update_blocks` | Changelog | `` blocks | Per-block content hash in `translationBlockHashes` (new labels + EN edits) |
Configure explicit paths in `translation-config.json` → `chunked_files`, or rely
-on `auto_chunk` (default: body ≥ 10k chars and ≥ 4 `##` sections) to auto-enable
+on `auto_chunk` (default: body ≥ 3k chars and ≥ 2 `##` sections) to auto-enable
`heading_sections`.
Changelog `` dates are **derived from English** and
@@ -66,6 +104,28 @@ pnpm translate:check-truncation -- --lang ko
pnpm translate:repair-truncated -- --lang ko # force re-translate flagged files
```
+### Sync hashes after manual edits
+
+When you edit English and update zh/ja/ko translations by hand (or with Cursor), refresh
+metadata so `pnpm translate` skips those files:
+
+```bash
+pnpm translate:sync-hash -- path/to/page.mdx # specific file(s)
+pnpm translate:sync-hash -- --lang zh path/to/page.mdx
+pnpm translate:sync-hash -- --dry-run path/to/page.mdx # preview
+pnpm translate:sync-hash -- --verify path/to/page.mdx # warn if EN blocks still look pending
+pnpm translate:sync-hash # all files with hash drift
+```
+
+This updates `translationSourceHash` (and `translationBlockHashes` on chunked pages)
+from the English source. It does **not** call the translation API or change prose.
+
+Example:
+
+```bash
+pnpm translate:sync-hash -- installation/system_requirements.mdx
+```
+
## Quality review (LLM-as-a-judge)
`review-i18n.ts` scores existing translations with an **independent** (and
@@ -92,9 +152,8 @@ pnpm translate:review -- --sample 20 # N pending files per language
pnpm translate:review -- --min-score 4 # report files scoring below 4/5
```
-Configure a dedicated (cheap) judge model via `REVIEW_API_KEY` /
-`REVIEW_API_BASE_URL` / `REVIEW_API_MODEL` in `.env.local`; falls back to the
-`TRANSLATE_*` model when unset. Use a fast model — evaluation is lighter than
+Configure a dedicated (cheap) judge model via `REVIEW_API_*` — see
+[`.env.local.example`](../../../.env.local.example); falls back to the `TRANSLATE_*` model when unset. Use a fast model — evaluation is lighter than
translation, and reasoning-heavy models are slow and can drop connections under
concurrency (lower `REVIEW_CONCURRENCY` if you see socket errors).
@@ -178,6 +237,8 @@ env → `frontend_locales_path` in `translation-config.json` →
|------|------|
| `translate-i18n.ts` | translation entry point |
| `chunked-translate.ts` | split/reassemble long MDX (`heading_sections`, `update_blocks`) |
+| `sync-hash-i18n.ts` | Refresh translation hashes after manual edits (no API) |
+| `repair-fences-i18n.ts` | Append missing closing ``` in translations (no API) |
| `sync-glossary.mjs` | rebuild the glossary frontend mirror |
| `glossary.mjs` | load glossary layers, select + inject terms |
| `i18n-config.mjs` | shared path rules from `translation-config.json` |
diff --git a/.github/scripts/i18n/check-translation-truncation.ts b/.github/scripts/i18n/check-translation-truncation.ts
index daa52e92d..a8fddc680 100644
--- a/.github/scripts/i18n/check-translation-truncation.ts
+++ b/.github/scripts/i18n/check-translation-truncation.ts
@@ -105,6 +105,53 @@ function enFenceCount(enBody: string): number {
return countFencePairs(enBody);
}
+/** True when body has an odd number of ``` line markers (unclosed block). */
+export function hasUnclosedCodeFence(body: string): boolean {
+ return countCodeFences(body).open;
+}
+
+/** Append a closing ``` when the body ends inside a code block. */
+export function repairUnclosedCodeFence(body: string): {
+ body: string;
+ repaired: boolean;
+ openLang: string;
+ openLine: number;
+} {
+ const fence = countCodeFences(body);
+ if (!fence.open) {
+ return { body, repaired: false, openLang: "", openLine: 0 };
+ }
+ const trimmed = body.endsWith("\n") ? body : `${body}\n`;
+ return {
+ body: `${trimmed}\`\`\`\n`,
+ repaired: true,
+ openLang: fence.openLang,
+ openLine: fence.openLine,
+ };
+}
+
+/** Fix an MDX file whose body ends with an unclosed ``` block. Frontmatter is preserved. */
+export function repairTargetContent(targetContent: string): {
+ content: string;
+ repaired: boolean;
+ detail: string;
+} {
+ const { frontmatter, body } = parseFrontmatterAndBody(targetContent);
+ const result = repairUnclosedCodeFence(body);
+ if (!result.repaired) {
+ return { content: targetContent, repaired: false, detail: "" };
+ }
+ const newBody = result.body;
+ const raw = frontmatter ? `${frontmatter}\n${newBody}` : newBody;
+ const content = raw.endsWith("\n") ? raw : `${raw}\n`;
+ const langHint = result.openLang ? `\`${result.openLang}\` ` : "";
+ return {
+ content,
+ repaired: true,
+ detail: `appended closing \`\`\` for ${langHint}block opened near line ${result.openLine}`,
+ };
+}
+
function targetPath(enRel: string, lang: LangConfig): string {
if (enRel.startsWith("snippets/")) {
return join(ROOT, lang.snippets_dir, enRel.slice("snippets/".length));
@@ -354,7 +401,8 @@ export async function writeTruncationReport(
"changelog missing blocks.",
"",
"Repair:",
- " npm run translate:repair-truncated -- --lang ko",
+ " npm run translate:repair-fences # append missing closing ```",
+ " npm run translate:repair-truncated -- --lang ko # re-translate truncated files",
"",
`Note: semantic AI review notes (mismatch) are separate — see ${TRANSLATE_LOG_REL}/mismatches.txt`,
" (only written when `npm run translate` runs and the model reports issues).",
@@ -416,7 +464,9 @@ async function main() {
console.log(`\nLog: ${TXT_PATH}`);
console.log(`JSON: ${JSON_PATH}`);
if (issues.length > 0) {
- console.log("\nRepair: npm run translate:repair-truncated -- --lang ");
+ console.log("\nRepair:");
+ console.log(" npm run translate:repair-fences");
+ console.log(" npm run translate:repair-truncated -- --lang ");
}
}
diff --git a/.github/scripts/i18n/glossary/overrides/ko.json b/.github/scripts/i18n/glossary/overrides/ko.json
index ddb5b789a..785a498cb 100644
--- a/.github/scripts/i18n/glossary/overrides/ko.json
+++ b/.github/scripts/i18n/glossary/overrides/ko.json
@@ -19,7 +19,20 @@
"video-to-world": "비디오 기반 월드 생성",
"frame-to-video": "프레임 기반 비디오 생성",
"start/end frame-to-video": "시작/종료 프레임 기반 비디오 생성",
- "first-last-frame to video": "첫/마지막 프레임 기반 비디오 생성"
+ "first-last-frame to video": "첫/마지막 프레임 기반 비디오 생성",
+ "audio-to-audio": "오디오 기반 오디오 생성",
+ "text-to-speech": "텍스트 기반 음성 생성",
+ "video-to-audio": "비디오 기반 오디오 생성",
+ "text-to-3d": "텍스트 기반 3D 생성",
+ "image-to-3d": "이미지 기반 3D 생성",
+ "frame-interpolation": "프레임 보간",
+ "text to image": "텍스트 기반 이미지 생성",
+ "image to image": "이미지 기반 이미지 생성",
+ "text to video": "텍스트 기반 비디오 생성",
+ "image to video": "이미지 기반 비디오 생성",
+ "reference to image": "레퍼런스 기반 이미지 생성",
+ "reference to video": "레퍼런스 기반 비디오 생성",
+ "ComfyUI Manager": "ComfyUI 매니저"
},
"ignore": [
"active",
diff --git a/.github/scripts/i18n/repair-fences-i18n.ts b/.github/scripts/i18n/repair-fences-i18n.ts
new file mode 100644
index 000000000..b82f8b341
--- /dev/null
+++ b/.github/scripts/i18n/repair-fences-i18n.ts
@@ -0,0 +1,135 @@
+#!/usr/bin/env bun
+/**
+ * Append missing closing ``` markers in translated MDX (structural fix only).
+ *
+ * Safe to run when `translate:check-truncation` reports `unclosed_code_fence`.
+ * Does not restore truncated code inside the block — use `translate:repair-truncated`
+ * when content was cut off, not just the closing fence.
+ *
+ * Usage:
+ * pnpm translate:repair-fences
+ * pnpm translate:repair-fences -- --lang ko
+ * pnpm translate:repair-fences -- --dry-run path/to/page.mdx
+ */
+
+import { readFile, writeFile } from "fs/promises";
+import { join } from "path";
+import {
+ loadI18nConfig,
+ REPO_ROOT,
+ parseLangArg as parseLangArgFromConfig,
+} from "./i18n-config.mjs";
+import {
+ hasUnclosedCodeFence,
+ repairTargetContent,
+ scanTruncationIssues,
+ writeTruncationReport,
+} from "./check-translation-truncation.ts";
+import { parseFrontmatterAndBody } from "./chunked-translate.ts";
+
+interface LangConfig {
+ code: string;
+ name: string;
+ dir: string;
+ snippets_dir: string;
+}
+
+const config = loadI18nConfig() as {
+ languages: LangConfig[];
+ skip_paths: string[];
+};
+
+async function readFileOr(path: string, fallback = ""): Promise {
+ try {
+ return await readFile(path, "utf-8");
+ } catch {
+ return fallback;
+ }
+}
+
+function parseLangArg(args: string[]): LangConfig[] {
+ try {
+ return parseLangArgFromConfig(args, config.languages) as LangConfig[];
+ } catch (err: unknown) {
+ console.error(err instanceof Error ? err.message : String(err));
+ process.exit(1);
+ }
+}
+
+async function main() {
+ const args = process.argv.slice(2);
+ const dryRun = args.includes("--dry-run");
+ const snippetsMode = args.includes("--snippets");
+ const langs = parseLangArg(args);
+ const fileArgs = args.filter((a, i) => !a.startsWith("--") && args[i - 1] !== "--lang");
+
+ const issues = await scanTruncationIssues({ langs, snippetsMode, fileArgs });
+ const fenceIssues = issues.filter((i) => i.reasons.includes("unclosed_code_fence"));
+
+ if (fenceIssues.length === 0) {
+ console.log("No unclosed code fences found.");
+ return;
+ }
+
+ console.log(`Found ${fenceIssues.length} file(s) with unclosed \`\`\` blocks${dryRun ? " [dry-run]" : ""}:`);
+
+ let wouldRepair = 0;
+ let repaired = 0;
+ let skipped = 0;
+ const repairedPairs: { lang: string; enRel: string }[] = [];
+
+ for (const issue of fenceIssues) {
+ const targetPath = join(REPO_ROOT, issue.targetRel);
+ const targetContent = await readFileOr(targetPath);
+ if (!targetContent.trim()) {
+ skipped++;
+ continue;
+ }
+
+ const { body } = parseFrontmatterAndBody(targetContent);
+ if (!hasUnclosedCodeFence(body)) {
+ console.log(` [${issue.lang}] ${issue.enRel}: already balanced, skipping`);
+ skipped++;
+ continue;
+ }
+
+ const result = repairTargetContent(targetContent);
+ if (!result.repaired) {
+ skipped++;
+ continue;
+ }
+
+ if (dryRun) {
+ console.log(` [${issue.lang}] would repair: ${issue.targetRel}`);
+ console.log(` ${result.detail}`);
+ wouldRepair++;
+ } else {
+ await writeFile(targetPath, result.content);
+ console.log(` [${issue.lang}] repaired: ${issue.targetRel}`);
+ console.log(` ${result.detail}`);
+ repaired++;
+ repairedPairs.push({ lang: issue.lang, enRel: issue.enRel });
+ }
+ }
+
+ if (!dryRun && repairedPairs.length > 0) {
+ const remaining = await scanTruncationIssues({
+ langs,
+ snippetsMode,
+ pairs: repairedPairs.map((p) => ({ langCode: p.lang, enRel: p.enRel })),
+ });
+ await writeTruncationReport(remaining, { replacePairs: repairedPairs });
+ }
+
+ console.log(
+ `\nDone: ${dryRun ? wouldRepair : repaired} repaired, ${skipped} skipped` +
+ (fenceIssues.some((i) => i.reasons.includes("missing_code_fence")) && !dryRun
+ ? "\nNote: files with missing_code_fence (fewer fences than EN) may need translate:repair-truncated."
+ : "")
+ );
+}
+
+main().catch((err) => {
+ console.error(err);
+ process.exit(1);
+});
diff --git a/.github/scripts/i18n/repair-fences.test.ts b/.github/scripts/i18n/repair-fences.test.ts
new file mode 100644
index 000000000..0fb303bcd
--- /dev/null
+++ b/.github/scripts/i18n/repair-fences.test.ts
@@ -0,0 +1,47 @@
+import { describe, expect, test } from "bun:test";
+import {
+ hasUnclosedCodeFence,
+ repairTargetContent,
+ repairUnclosedCodeFence,
+} from "./check-translation-truncation.ts";
+
+describe("repairUnclosedCodeFence", () => {
+ test("detects unclosed fence", () => {
+ const body = "Some text\n\n```bash\necho hello\n";
+ expect(hasUnclosedCodeFence(body)).toBe(true);
+ });
+
+ test("leaves balanced fences unchanged", () => {
+ const body = "Some text\n\n```bash\necho hello\n```\n";
+ expect(hasUnclosedCodeFence(body)).toBe(false);
+ const result = repairUnclosedCodeFence(body);
+ expect(result.repaired).toBe(false);
+ });
+
+ test("appends closing fence", () => {
+ const body = "Some text\n\n```bash\necho hello\n";
+ const result = repairUnclosedCodeFence(body);
+ expect(result.repaired).toBe(true);
+ expect(result.body.endsWith("```\n")).toBe(true);
+ expect(hasUnclosedCodeFence(result.body)).toBe(false);
+ });
+});
+
+describe("repairTargetContent", () => {
+ test("preserves frontmatter and appends closing fence", () => {
+ const input = `---
+title: "Example"
+---
+
+Intro
+
+\`\`\`python
+print("hi")
+`;
+ const { content, repaired, detail } = repairTargetContent(input);
+ expect(repaired).toBe(true);
+ expect(content.startsWith("---\ntitle: \"Example\"")).toBe(true);
+ expect(content.trimEnd().endsWith("```")).toBe(true);
+ expect(detail).toContain("appended closing");
+ });
+});
diff --git a/.github/scripts/i18n/sync-hash-i18n.ts b/.github/scripts/i18n/sync-hash-i18n.ts
new file mode 100644
index 000000000..39eac0317
--- /dev/null
+++ b/.github/scripts/i18n/sync-hash-i18n.ts
@@ -0,0 +1,440 @@
+#!/usr/bin/env bun
+/**
+ * Sync translationSourceHash / translationBlockHashes from English source without
+ * calling the translation API. Use after manually editing zh/ja/ko translations.
+ *
+ * Usage:
+ * pnpm translate:sync-hash # all pending (hash drift)
+ * pnpm translate:sync-hash -- installation/foo.mdx # specific file(s)
+ * pnpm translate:sync-hash -- --lang zh path/to/page.mdx
+ * pnpm translate:sync-hash -- --dry-run # preview only
+ * pnpm translate:sync-hash -- --verify path/to/page.mdx # warn if EN changed blocks look untranslated
+ */
+
+import { readdir, readFile, writeFile, mkdir } from "fs/promises";
+import { createHash } from "crypto";
+import { join, dirname, relative } from "path";
+import {
+ loadI18nConfig,
+ REPO_ROOT,
+ stripLangPrefix,
+ isEnglishPagePath,
+ isEnglishSnippetPath,
+ parseLangArg as parseLangArgFromConfig,
+} from "./i18n-config.mjs";
+import {
+ type AutoChunkConfig,
+ type ChunkedFileConfig,
+ type ChunkStrategy,
+ aggregateDocumentHash,
+ canonicalBlockLabelOrder,
+ changelogLabelHash,
+ documentBlockHashes,
+ getSectionSyncStatus,
+ parseDocument,
+ parseFrontmatterAndBody,
+ resolveChunkStrategy,
+ setChunkedTranslationMeta,
+ stripTranslationMetaFromFrontmatter,
+} from "./chunked-translate.ts";
+
+const config = loadI18nConfig() as TranslationConfig;
+const pathFilterOpts = { languages: config.languages, skip_paths: config.skip_paths ?? [] };
+const CHUNKED_FILES: ChunkedFileConfig[] = config.chunked_files ?? [];
+const AUTO_CHUNK: AutoChunkConfig | undefined = config.auto_chunk;
+
+interface TranslationConfig {
+ languages: LangConfig[];
+ skip_paths?: string[];
+ chunked_files?: ChunkedFileConfig[];
+ auto_chunk?: AutoChunkConfig;
+}
+
+interface LangConfig {
+ code: string;
+ name: string;
+ dir: string;
+ snippets_dir: string;
+}
+
+function sourceHash(en: string): string {
+ return createHash("sha256").update(en).digest("hex").slice(0, 8);
+}
+
+function getExistingHash(content: string): string | null {
+ const fmMatch = content.match(/translationSourceHash:\s*"?([a-f0-9]{8})"?/);
+ if (fmMatch) return fmMatch[1] ?? null;
+ const mdxComment = content.match(/\{\/\*\s*translationSourceHash:\s*([a-f0-9]{8})\s*\*\/\}/);
+ if (mdxComment) return mdxComment[1] ?? null;
+ const htmlComment = content.match(//);
+ return htmlComment?.[1] ?? null;
+}
+
+function setTranslationMeta(content: string, hash: string, enPath: string): string {
+ const metaBlock = [`translationSourceHash: ${hash}`, `translationFrom: ${enPath}`].join("\n");
+ const fmMatch = content.match(/^(---\n)([\s\S]*?)(\n---)/);
+ if (!fmMatch) {
+ return `---\n${metaBlock}\n---\n${content}`;
+ }
+ const [, open, body, close] = fmMatch;
+ const rest = content.slice(fmMatch[0].length);
+ const cleaned = stripTranslationMetaFromFrontmatter(body);
+ return `${open}${cleaned}\n${metaBlock}${close}${rest}`;
+}
+
+function setSnippetHash(content: string, hash: string): string {
+ const stripped = content
+ .replace(/\{\/\*\s*translationSourceHash:\s*[a-f0-9]{8}\s*\*\/\}\n?/, "")
+ .replace(/\n?/, "");
+ return `{/* translationSourceHash: ${hash} */}\n${stripped}`;
+}
+
+async function readFileOr(path: string, fallback = ""): Promise {
+ try {
+ return await readFile(path, "utf-8");
+ } catch {
+ return fallback;
+ }
+}
+
+async function collectMdx(dir: string): Promise {
+ const results: string[] = [];
+ const entries = await readdir(dir, { withFileTypes: true });
+ for (const entry of entries) {
+ const full = join(dir, entry.name);
+ if (entry.isDirectory()) {
+ results.push(...(await collectMdx(full)));
+ } else if (entry.name.endsWith(".mdx")) {
+ results.push(full);
+ }
+ }
+ return results;
+}
+
+function parseLangArg(args: string[]): LangConfig[] {
+ try {
+ return parseLangArgFromConfig(args, config.languages) as LangConfig[];
+ } catch (err: unknown) {
+ console.error(err instanceof Error ? err.message : String(err));
+ process.exit(1);
+ }
+}
+
+function resolveFileChunkStrategy(relPath: string, enContent: string): ChunkStrategy | null {
+ const { body } = parseFrontmatterAndBody(enContent);
+ return resolveChunkStrategy(relPath, body, CHUNKED_FILES, AUTO_CHUNK);
+}
+
+interface PathMapping {
+ enPath: string;
+ targetPath: string;
+ enRel: string;
+ targetRel: string;
+}
+
+function makeMapping(lang: LangConfig, relPath: string, snippetsMode: boolean): PathMapping {
+ const enRel = stripLangPrefix(relPath, config.languages);
+ if (snippetsMode) {
+ return {
+ enPath: join(REPO_ROOT, "snippets", enRel),
+ targetPath: join(REPO_ROOT, lang.snippets_dir, enRel),
+ enRel: `snippets/${enRel}`,
+ targetRel: `${lang.snippets_dir}/${enRel}`,
+ };
+ }
+ return {
+ enPath: join(REPO_ROOT, enRel),
+ targetPath: join(REPO_ROOT, lang.dir, enRel),
+ enRel,
+ targetRel: `${lang.dir}/${enRel}`,
+ };
+}
+
+function syncChunkedHashes(
+ enContent: string,
+ targetContent: string,
+ strategy: ChunkStrategy,
+ enRel: string
+): string {
+ const enDoc = parseDocument(enContent, strategy);
+ const enBlockHashes = documentBlockHashes(enDoc.blocks);
+ const fileHash =
+ strategy === "update_blocks"
+ ? changelogLabelHash(enDoc.blocks)
+ : aggregateDocumentHash(enBlockHashes);
+
+ const { frontmatter, body } = parseFrontmatterAndBody(targetContent);
+ const labelOrder = canonicalBlockLabelOrder(
+ strategy,
+ enDoc.blocks.map((b) => b.label)
+ );
+ const bodyText = body.endsWith("\n") ? body : `${body}\n`;
+ const raw = `${frontmatter}\n${bodyText}`;
+ return setChunkedTranslationMeta(raw, fileHash, enRel, enBlockHashes, labelOrder);
+}
+
+function syncPlainHashes(
+ targetContent: string,
+ enContent: string,
+ enRel: string,
+ snippetsMode: boolean
+): string {
+ const hash = sourceHash(enContent);
+ if (snippetsMode) {
+ return setSnippetHash(targetContent, hash);
+ }
+ return setTranslationMeta(targetContent, hash, enRel);
+}
+
+interface SyncResult {
+ status: "updated" | "skipped" | "missing" | "unchanged";
+ warnings: string[];
+}
+
+function computeSyncedContent(
+ enContent: string,
+ targetContent: string,
+ relPath: string,
+ enRel: string,
+ snippetsMode: boolean
+): { output: string; expectedFileHash: string } {
+ const chunkStrategy = !snippetsMode ? resolveFileChunkStrategy(relPath, enContent) : null;
+ if (chunkStrategy) {
+ const enDoc = parseDocument(enContent, chunkStrategy);
+ const enBlockHashes = documentBlockHashes(enDoc.blocks);
+ const expectedFileHash =
+ chunkStrategy === "update_blocks"
+ ? changelogLabelHash(enDoc.blocks)
+ : aggregateDocumentHash(enBlockHashes);
+ return {
+ output: syncChunkedHashes(enContent, targetContent, chunkStrategy, enRel),
+ expectedFileHash,
+ };
+ }
+ return {
+ output: syncPlainHashes(targetContent, enContent, enRel, snippetsMode),
+ expectedFileHash: sourceHash(enContent),
+ };
+}
+
+function collectVerifyWarnings(
+ enContent: string,
+ targetContent: string,
+ relPath: string,
+ langCode: string,
+ snippetsMode: boolean
+): string[] {
+ const warnings: string[] = [];
+ const chunkStrategy = !snippetsMode ? resolveFileChunkStrategy(relPath, enContent) : null;
+
+ if (chunkStrategy) {
+ const status = getSectionSyncStatus(enContent, targetContent, chunkStrategy, false, langCode);
+ if (status.pendingBlocks.length > 0) {
+ const unit = chunkStrategy === "update_blocks" ? "block(s)" : "section(s)";
+ warnings.push(
+ `English changed in ${status.pendingBlocks.length} ${unit}: ${status.pendingBlocks.slice(0, 5).join(", ")}${status.pendingBlocks.length > 5 ? ", …" : ""}. Confirm translations were updated manually.`
+ );
+ }
+ return warnings;
+ }
+
+ const expected = sourceHash(enContent);
+ const existing = getExistingHash(targetContent);
+ if (existing && existing !== expected) {
+ warnings.push(
+ "English source hash differs from stored translationSourceHash. Confirm the full translation was updated manually."
+ );
+ }
+ return warnings;
+}
+
+async function syncOneFile(
+ relPath: string,
+ lang: LangConfig,
+ snippetsMode: boolean,
+ dryRun: boolean,
+ verify: boolean
+): Promise {
+ const { enPath, targetPath, enRel, targetRel } = makeMapping(lang, relPath, snippetsMode);
+ const enContent = await readFileOr(enPath);
+ if (!enContent || enContent.length < 50) {
+ return { status: "skipped", warnings: [] };
+ }
+
+ const targetContent = await readFileOr(targetPath);
+ if (!targetContent.trim()) {
+ console.log(` [${lang.code}] missing target: ${targetRel}`);
+ return { status: "missing", warnings: [] };
+ }
+
+ const { output, expectedFileHash } = computeSyncedContent(
+ enContent,
+ targetContent,
+ relPath,
+ enRel,
+ snippetsMode
+ );
+
+ const existingHash = getExistingHash(targetContent);
+ if (existingHash === expectedFileHash && output === targetContent) {
+ return { status: "unchanged", warnings: [] };
+ }
+
+ const warnings = verify
+ ? collectVerifyWarnings(enContent, targetContent, relPath, lang.code, snippetsMode)
+ : [];
+
+ if (dryRun) {
+ console.log(` [${lang.code}] would sync hash: ${targetRel}`);
+ for (const w of warnings) console.log(` ⚠ ${w}`);
+ return { status: "updated", warnings };
+ }
+
+ await mkdir(dirname(targetPath), { recursive: true });
+ await writeFile(targetPath, output);
+ console.log(` [${lang.code}] synced hash: ${targetRel}`);
+ for (const w of warnings) console.log(` ⚠ ${w}`);
+ return { status: "updated", warnings };
+}
+
+function filterFileArgsForPhase(fileArgs: string[], snippetsMode: boolean): string[] {
+ return fileArgs
+ .map((f) => stripLangPrefix(f, config.languages))
+ .filter((f) =>
+ snippetsMode
+ ? isEnglishSnippetPath(f.replace(/^snippets\//, ""), pathFilterOpts)
+ : isEnglishPagePath(f, pathFilterOpts)
+ );
+}
+
+async function collectEnglishFiles(snippetsMode: boolean, fileArgs: string[]): Promise {
+ const scopedArgs = filterFileArgsForPhase(fileArgs, snippetsMode);
+ if (scopedArgs.length > 0) {
+ return scopedArgs;
+ }
+
+ if (snippetsMode) {
+ const all = await collectMdx(join(REPO_ROOT, "snippets"));
+ return all
+ .map((f) => relative(join(REPO_ROOT, "snippets"), f))
+ .filter((f) => isEnglishSnippetPath(f, pathFilterOpts));
+ }
+
+ const all = await collectMdx(REPO_ROOT);
+ return all
+ .map((f) => relative(REPO_ROOT, f))
+ .filter((f) => isEnglishPagePath(f, pathFilterOpts));
+}
+
+function needsHashSync(
+ enContent: string,
+ targetContent: string,
+ relPath: string,
+ snippetsMode: boolean
+): boolean {
+ if (!targetContent.trim()) return false;
+ const chunkStrategy = !snippetsMode ? resolveFileChunkStrategy(relPath, enContent) : null;
+ if (chunkStrategy) {
+ const status = getSectionSyncStatus(enContent, targetContent, chunkStrategy, false);
+ return !status.upToDate;
+ }
+ return getExistingHash(targetContent) !== sourceHash(enContent);
+}
+
+async function main() {
+ const args = process.argv.slice(2);
+ const dryRun = args.includes("--dry-run");
+ const verify = args.includes("--verify");
+ const allFiles = args.includes("--all");
+ const snippetsOnly = args.includes("--snippets") || args.includes("--snippets-only");
+ const pagesOnly = args.includes("--pages-only") || args.includes("--no-snippets");
+ const selectedLangs = parseLangArg(args);
+ const fileArgs = args.filter((a, i) => !a.startsWith("--") && args[i - 1] !== "--lang");
+
+ const phases: { snippetsMode: boolean; fileArgs: string[]; label: string }[] = [];
+ if (snippetsOnly) {
+ phases.push({ snippetsMode: true, fileArgs, label: "snippets" });
+ } else if (pagesOnly) {
+ phases.push({ snippetsMode: false, fileArgs, label: "pages" });
+ } else if (fileArgs.length > 0) {
+ const pageArgs = filterFileArgsForPhase(fileArgs, false);
+ const snippetArgs = filterFileArgsForPhase(fileArgs, true);
+ if (pageArgs.length > 0) phases.push({ snippetsMode: false, fileArgs: pageArgs, label: "pages" });
+ if (snippetArgs.length > 0) phases.push({ snippetsMode: true, fileArgs: snippetArgs, label: "snippets" });
+ if (phases.length === 0) phases.push({ snippetsMode: false, fileArgs, label: "pages" });
+ } else {
+ phases.push({ snippetsMode: false, fileArgs: [], label: "pages" });
+ phases.push({ snippetsMode: true, fileArgs: [], label: "snippets" });
+ }
+
+ let totalUpdated = 0;
+ let totalUnchanged = 0;
+ let totalMissing = 0;
+ let totalWarnings = 0;
+
+ for (const phase of phases) {
+ console.log(`\n=== sync-hash (${phase.label})${dryRun ? " [dry-run]" : ""} ===`);
+ const files = await collectEnglishFiles(phase.snippetsMode, phase.fileArgs);
+ if (files.length === 0) {
+ console.log(`No ${phase.label} files to process.`);
+ continue;
+ }
+
+ for (const relPath of files) {
+ let fileHasDrift = false;
+ for (const lang of selectedLangs) {
+ const { enPath, targetPath } = makeMapping(lang, relPath, phase.snippetsMode);
+ const enContent = await readFileOr(enPath);
+ const targetContent = await readFileOr(targetPath);
+ if (!enContent || enContent.length < 50) continue;
+ if (!allFiles && fileArgs.length === 0 && !needsHashSync(enContent, targetContent, relPath, phase.snippetsMode)) {
+ continue;
+ }
+ fileHasDrift = true;
+ }
+
+ if (!fileHasDrift && fileArgs.length === 0 && !allFiles) continue;
+
+ if (fileHasDrift || fileArgs.length > 0 || allFiles) {
+ console.log(`${relPath}${phase.snippetsMode ? " (snippet)" : ""}:`);
+ }
+
+ for (const lang of selectedLangs) {
+ const { enPath, targetPath } = makeMapping(lang, relPath, phase.snippetsMode);
+ const enContent = await readFileOr(enPath);
+ const targetContent = await readFileOr(targetPath);
+ if (!enContent || enContent.length < 50) continue;
+ if (!allFiles && fileArgs.length === 0 && !needsHashSync(enContent, targetContent, relPath, phase.snippetsMode)) {
+ totalUnchanged++;
+ continue;
+ }
+
+ const result = await syncOneFile(relPath, lang, phase.snippetsMode, dryRun, verify);
+ if (result.status === "updated") totalUpdated++;
+ else if (result.status === "unchanged") {
+ if (fileArgs.length > 0 || allFiles) {
+ const { targetRel } = makeMapping(lang, relPath, phase.snippetsMode);
+ console.log(` [${lang.code}] already in sync: ${targetRel}`);
+ }
+ totalUnchanged++;
+ }
+ else if (result.status === "missing") totalMissing++;
+ totalWarnings += result.warnings.length;
+ }
+ }
+ }
+
+ console.log(
+ `\nDone: ${totalUpdated} updated, ${totalUnchanged} already in sync, ${totalMissing} missing target(s)` +
+ (totalWarnings > 0 ? `, ${totalWarnings} warning(s)` : "")
+ );
+
+ if (dryRun && totalUpdated === 0 && totalMissing === 0) {
+ console.log("Nothing to sync. Hashes already match English source.");
+ }
+}
+
+main().catch((err) => {
+ console.error(err);
+ process.exit(1);
+});
diff --git a/.github/scripts/i18n/translation-config.json b/.github/scripts/i18n/translation-config.json
index b539eda6a..1db5b5c9d 100644
--- a/.github/scripts/i18n/translation-config.json
+++ b/.github/scripts/i18n/translation-config.json
@@ -12,8 +12,8 @@
}
],
"auto_chunk": {
- "min_body_chars": 10000,
- "min_sections": 4
+ "min_body_chars": 3000,
+ "min_sections": 2
},
"languages": [
{
diff --git a/.gitignore b/.gitignore
index e1ea91ca2..9c9cd0850 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,7 +13,7 @@ docs.bak
!.env.local.example
# Translation run logs (translate-i18n.ts)
.github/i18n-logs/
-# CMS staging translations (generated by cms:prepare)
+# Local scratch + analytics cache (fetch-assistant-insights.ts → tmp/analytics-cache/)
tmp/
# Python bytecode
__pycache__/
diff --git a/AGENTS.md b/AGENTS.md
index 191c60fb2..58f9feb48 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1,96 +1,36 @@
# Agent guide — ComfyUI docs repo
-English is the source of truth for documentation. This repo has **three separate pipelines** for content that leaves the Mintlify site — do not mix them.
+English is the source of truth. **Docs translation**, **CMS changelog sync**, and **Mintlify analytics** are separate pipelines — do not mix them.
-## Skills (read when relevant)
+## Skills
| Skill | Path | Use when |
|-------|------|----------|
-| **docs-i18n-translate** | [.cursor/skills/docs-i18n-translate/SKILL.md](.cursor/skills/docs-i18n-translate/SKILL.md) | Translating MDX to ja/zh/ko, `pnpm translate`, glossary, changelog docs |
+| **docs-i18n-translate** | [.cursor/skills/docs-i18n-translate/SKILL.md](.cursor/skills/docs-i18n-translate/SKILL.md) | Translating MDX to ja/zh/ko, `pnpm translate`, glossary |
| **docs-i18n-review** | [.cursor/skills/docs-i18n-review/SKILL.md](.cursor/skills/docs-i18n-review/SKILL.md) | Reviewing translation quality, `pnpm translate:review` |
-| **cms-changelog-sync** | [.cursor/skills/cms-changelog-sync/SKILL.md](.cursor/skills/cms-changelog-sync/SKILL.md) | Strapi release notes, popup simplify, `pnpm cms:prepare`, `pnpm cms:sync` |
+| **cms-changelog-sync** | [.cursor/skills/cms-changelog-sync/SKILL.md](.cursor/skills/cms-changelog-sync/SKILL.md) | Strapi release notes, `pnpm cms:prepare`, `pnpm cms:sync` |
-Always load the matching skill before changing that pipeline.
+Load the matching skill and its README before changing that pipeline.
-## Three pipelines
+## Prose style (English MDX)
-```
-┌─────────────────────────────────────────────────────────────────┐
-│ changelog/index.mdx (full English — edit here for releases) │
-└────────────┬───────────────────────────────┬────────────────────┘
- │ │
- ▼ ▼
- DOCS (Mintlify) CMS (Strapi popup)
- pnpm translate Step 1: pnpm cms:prepare:en → staging/en/
- → zh/ ja/ ko/ Step 2: pnpm cms:prepare:locales → staging/{lang}/
- COMMIT to git Step 3: pnpm cms:sync → Strapi draft (after review)
- │ │
- ▼ ▼
- Mintlify site In-app notification
- (full changelog) (3–5 bullets, PR links)
-```
+When writing or editing English documentation, follow [.cursor/rules/docs-prose.mdc](.cursor/rules/docs-prose.mdc):
-| | Docs translation | CMS sync |
-|--|------------------|----------|
-| Command | `pnpm translate` | `pnpm cms:prepare:en` / `cms:prepare:locales` / `cms:sync` |
-| Output | `{lang}/**/*.mdx` | `.github/scripts/cms/staging/` |
-| English input | Full docs MDX | LLM-simplified popup copy |
-| Commit? | **Yes** | **Yes** (staging is reviewed and committed) |
-| Locales | ja, zh, ko | en, zh, ja, ko, fr, ru, es |
+- **Avoid em dashes (—).** They read as generic AI copy. Use periods, commas, colons, parentheses, or a second sentence instead.
+- Prefer short, direct sentences over stacked clauses joined by dashes.
+- Match the tone of surrounding pages: technical reference, not marketing blog.
-## Quick commands
+**Instead of:** `Comfy Cloud MCP is in public beta — APIs may change.`
+**Prefer:** `Comfy Cloud MCP is in public beta. APIs may change while we iterate.`
-### Docs — after editing English MDX
-
-```bash
-pnpm translate:dry-run
-pnpm translate -- changelog/index.mdx # or specific paths
-pnpm translate:check-truncation # long pages / changelog
-pnpm translate:review # optional quality pass
-```
-
-### CMS — after editing `changelog/index.mdx`
-
-```bash
-pnpm cms:prepare:en -- --force v0.25.1 # Step 1: simplify EN
-pnpm cms:prepare:locales -- v0.25.1 # Step 2: translate (after EN approved)
-pnpm cms:preview -- v0.25.1 # Step 3: dry-run
-pnpm cms:sync -- v0.25.1 # Step 3: push drafts (after user confirms)
-pnpm cms:publish -- v0.25.1 # publish + refresh published-versions.json
-```
-
-Prepare default: **comfyui + cloud** together so staging stays mirrored.
-Sync/publish default for agents: **comfyui only** (`--project comfyui`). Run **cloud** sync or publish only after the user explicitly confirms cloud, using `--project cloud`.
-
-Local default for prepare/sync: **all unpublished EN versions** per `published-versions.json`. Use `CMS_SYNC_ALL=1` for full backfill.
-
-## Environment
-
-Copy `.env.local.example` → `.env.local` (never commit).
-
-| Variable | Docs translate | CMS prepare | CMS sync |
-|----------|----------------|-------------|----------|
-| `TRANSLATE_API_KEY` | ✓ | ✓ | |
-| `TRANSLATE_API_BASE_URL` | ✓ | ✓ | |
-| `TRANSLATE_API_MODEL` | ✓ | ✓ | |
-| `CMS_BASE_URL` | | | ✓ |
-| `CMS_API_TOKEN` | | | ✓ |
-
-## Agent rules
-
-1. **Do not shorten** `changelog/index.mdx` for CMS — use the staging + simplify pipeline.
-2. **Do not use** `pnpm translate` to fill CMS staging — use `pnpm cms:prepare:en` then `cms:prepare:locales`.
-3. **Do not commit** `.github/i18n-logs/`.
-4. **Do commit** translated docs (`zh/`, `ja/`, `ko/`), `.github/scripts/cms/staging/`, and `published-versions.json` after Strapi publish.
-5. Get user approval on **staging EN** before `cms:prepare:locales`; get approval on **all staging** before `cms:sync`.
-6. Sync and publish **comfyui only** by default (`--project comfyui`). Cloud sync/publish requires separate explicit user confirmation (`--project cloud`).
-7. Strapi publish is **manual by default** — use `bun run cms:publish` after review (not automatic on sync).
-
-## Prose style
-
-When editing English MDX, avoid em dashes (—). Use periods, commas, or colons instead. Stacked em-dash clauses tend to read as AI-generated; keep sentences direct.
+**Instead of:** `**Discord** — #channel for questions.`
+**Prefer:** `**Discord**: #channel for questions.`
## Reference docs
-- i18n tooling: [.github/scripts/i18n/README.md](.github/scripts/i18n/README.md)
-- CMS tooling: [.github/scripts/cms/README.md](.github/scripts/cms/README.md)
+| Topic | Doc |
+|-------|-----|
+| Env / secrets | [`.env.local.example`](.env.local.example) |
+| Docs i18n | [.github/scripts/i18n/README.md](.github/scripts/i18n/README.md) |
+| CMS changelog | [.github/scripts/cms/README.md](.github/scripts/cms/README.md) |
+| Mintlify analytics | [.github/scripts/analytics/README.md](.github/scripts/analytics/README.md) |
diff --git a/agent-tools/cloud.mdx b/agent-tools/cloud.mdx
index d4d3df364..70f4d9330 100644
--- a/agent-tools/cloud.mdx
+++ b/agent-tools/cloud.mdx
@@ -1,7 +1,7 @@
---
title: "Comfy Cloud MCP"
sidebarTitle: "Cloud MCP"
-description: "Use Comfy Cloud from Claude Code and Claude Desktop through the Comfy Cloud MCP server — generate images, video, audio, and 3D, search models and nodes, and run workflows."
+description: "Connect Comfy Cloud MCP from Claude Code, Claude Desktop, Cursor, Codex, or any MCP-compatible agent — generate images, video, audio, and 3D, search models and nodes, and run workflows."
icon: "cloud"
---
@@ -19,7 +19,290 @@ The **Comfy Cloud MCP server** connects AI agents to [Comfy Cloud](https://cloud
The server runs remotely at `cloud.comfy.org/mcp`. Workflows execute on Comfy Cloud GPUs, so you do not need a local GPU. Your agent talks to the server over HTTPS; the server translates tool calls into authenticated requests to Comfy Cloud on your behalf.
-Support is currently scoped to **Claude Code** and **Claude Desktop**, which sign in with **OAuth** (a one-time browser sign-in). Support for more clients is coming.
+Any **MCP-compatible client** can connect to the same server URL. **Claude Code**, **Claude Desktop**, **Cursor**, and **Codex** have first-class setup below. **Windsurf**, **Amp**, and other agents use the same URL with OAuth or an API key.
+
+## Install Comfy Cloud MCP
+
+
+ You need a [Comfy Cloud](https://cloud.comfy.org) account before connecting. [Sign up](https://cloud.comfy.org) if you do not have one yet. OAuth sign-in during setup uses your Comfy account.
+
+
+Comfy Cloud MCP runs at:
+
+```
+https://cloud.comfy.org/mcp
+```
+
+Pick your client:
+
+
+
+ Install the **comfy-cloud** plugin. It adds the MCP connection and slash commands in one step. The plugin is published through the [Comfy Skills](https://github.com/Comfy-Org/comfy-skills/) repository, which hosts Claude Code plugins and community agent skills for Comfy.
+
+
+
+ Register the Comfy Skills marketplace (one-time):
+
+ ```
+ /plugin marketplace add Comfy-Org/comfy-skills
+ ```
+
+
+ ```
+ /plugin install comfy-cloud@comfy-skills
+ ```
+
+
+ Run `/mcp`, select **comfy-cloud** → **Authenticate**. Your browser opens to sign in, and tokens refresh automatically.
+
+
+
+ The plugin adds these slash commands:
+
+ | Command | What it does |
+ | --- | --- |
+ | `/comfy-cloud:generate-image` | Generate, edit, or modify an image |
+ | `/comfy-cloud:generate-video` | Generate, edit, or extend a video |
+ | `/comfy-cloud:generate-audio` | Generate audio, music, or sound effects |
+ | `/comfy-cloud:generate-3d` | Generate a 3D model from text or an image |
+ | `/comfy-cloud:remove-background` | Remove the background from an image |
+ | `/comfy-cloud:upscale-image` | Upscale an image to higher resolution |
+ | `/comfy-cloud:search-templates` | Find pre-built workflow templates on [comfy.org](https://comfy.org) |
+ | `/comfy-cloud:search-models` | Search for available models |
+ | `/comfy-cloud:search-nodes` | Search for nodes and get wiring suggestions |
+ | `/comfy-cloud:help` | See what you can do with ComfyUI Cloud |
+
+
+ Add the server directly:
+
+ ```bash
+ claude mcp add --transport http comfy-cloud https://cloud.comfy.org/mcp
+ ```
+
+ Then run `/mcp`, select **comfy-cloud** → **Authenticate**. Add `-s user` to make it available in all your projects.
+
+ This path still exposes the same workflows as MCP prompts: `/mcp__comfy-cloud__generate-image`, `/mcp__comfy-cloud__search-models`, and so on (the `/mcp____` prefix uses the name you passed to `claude mcp add`). The plugin above is recommended because it wraps these as the friendlier `/comfy-cloud:*` commands.
+
+
+
+
+ Claude Desktop adds Comfy Cloud as a **custom connector** through its UI, then runs the OAuth sign-in.
+
+
+
+
+
+ In the sidebar, click **Customize** (labeled **1**).
+
+ 
+
+
+ Click **Connectors** (labeled **2**).
+
+ 
+
+
+ 1. Click the **+** button (labeled **3**) in the Connectors header.
+ 2. Choose **Add custom connector** (labeled **4**).
+
+ 
+
+
+ 1. Enter a name such as **Comfy Cloud MCP** in the **Name** field (labeled **5**).
+ 2. Set the **Remote MCP server URL** to `https://cloud.comfy.org/mcp` (labeled **6**).
+ 3. Click **Add** (labeled **7**).
+
+ 
+
+
+ 1. When the browser opens, choose your workspace (for example **Personal Workspace**).
+ 2. Click **Continue** to authorize the connector. You are connected.
+
+ 
+
+
+
+ Claude Desktop does not support Claude Code slash commands. Instead, open the **prompt picker** for the same workflows:
+
+ | Prompt | Description |
+ | --- | --- |
+ | `generate-image` | Generate an image from a text description |
+ | `generate-video` | Generate a video from text or an image |
+ | `generate-audio` | Generate audio, music, or sound effects |
+ | `generate-3d` | Generate a 3D model from text or an image |
+ | `upscale-image` | Upscale an image to higher resolution |
+ | `remove-background` | Remove the background from an image |
+ | `search-templates` | Find pre-built workflow templates |
+ | `search-models` | Search for models (checkpoints, LoRAs, VAEs) |
+ | `search-nodes` | Search nodes and get wiring suggestions |
+ | `help` | See what you can do with ComfyUI Cloud |
+
+ You can also skip prompts and ask in plain language. The MCP tools work the same way.
+
+
+
+ Cursor connects to remote MCP servers over HTTP. Cursor does **not** support MCP OAuth today. Add Comfy Cloud with a Comfy Cloud API key in your MCP config.
+
+
+
+ Click the **Settings** gear in the top-right corner (labeled **1**).
+
+ 
+
+
+ 1. In the sidebar, click **Tools & MCPs** (labeled **2**).
+ 2. Click **+ New MCP Server** (labeled **3**) → **Add a Custom MCP Server**.
+
+ 
+
+
+ Edit `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (project). Set the server URL and pass your Comfy Cloud API key in the `X-API-Key` header. Create a key at [platform.comfy.org/profile/api-keys](https://platform.comfy.org/profile/api-keys) (starts with `comfyui-`):
+
+ ```json
+ {
+ "mcpServers": {
+ "comfy-cloud": {
+ "url": "https://cloud.comfy.org/mcp",
+ "headers": {
+ "X-API-Key": "${env:COMFY_API_KEY}"
+ }
+ }
+ }
+ }
+ ```
+
+ Set `COMFY_API_KEY` in your shell or system environment. Prefer `${env:COMFY_API_KEY}` over hardcoding the key in a file you might commit to git.
+
+ 
+
+
+ Ask in plain language ("generate an image of a cat astronaut", "find a Wan 2.2 video template"). Cursor invokes the MCP tools on your behalf.
+
+
+
+
+
+ [Codex](https://developers.openai.com/codex/cli) connects to Comfy Cloud over Streamable HTTP. Add the server in Settings, then sign in with OAuth.
+
+
+
+
+
+ 1. Click **Settings** (labeled **1**) under *Logged in with API key*.
+ 2. Click **Settings** (labeled **2**) to open the full settings panel.
+
+ 
+
+
+ 1. Click **MCP servers** (labeled **3**) in the settings list.
+ 2. Click **+ Add server** (labeled **4**) to add a new MCP server.
+
+ 
+
+
+ 1. Choose **Streamable HTTP** as the connection type.
+ 2. Enter a name such as **Comfy Cloud MCP** in the **Name** field (labeled **5**).
+ 3. Enter the URL `https://cloud.comfy.org/mcp` in the **URL** field (labeled **6**).
+ 4. Click **Save** (labeled **7**).
+
+ 
+
+
+ 1. Click **Authenticate** (labeled **8**) on the saved server entry.
+
+ 
+
+ 2. In the browser popup, choose your workspace and click **Continue** to finish signing in. You are connected.
+
+ 
+
+
+
+ Ask in plain language ("generate an image of a cat astronaut", "find a Wan 2.2 video template"). Codex invokes the MCP tools on your behalf.
+
+
+ Register and sign in from the terminal:
+
+ ```bash
+ codex mcp add comfy-cloud --url https://cloud.comfy.org/mcp
+ codex mcp login comfy-cloud
+ ```
+
+ This writes an entry to `~/.codex/config.toml` (or `.codex/config.toml` in a trusted project).
+
+
+
+ When no browser is available, add the server with a header pulled from an environment variable. Create a key at [platform.comfy.org/profile/api-keys](https://platform.comfy.org/profile/api-keys) (starts with `comfyui-`), then add to `~/.codex/config.toml`:
+
+ ```toml
+ [mcp_servers.comfy-cloud]
+ url = "https://cloud.comfy.org/mcp"
+ env_http_headers = { "X-API-Key" = "COMFY_API_KEY" }
+ ```
+
+ Set `COMFY_API_KEY` in your shell or system environment. Do not commit the key to version control.
+
+
+
+
+ Any MCP client that supports **remote HTTP** transport can connect to Comfy Cloud. The server URL is always `https://cloud.comfy.org/mcp`.
+
+
+
+ Add a remote MCP entry pointing at `https://cloud.comfy.org/mcp`. Most clients use a JSON config with a `url` field:
+
+ ```json
+ {
+ "mcpServers": {
+ "comfy-cloud": {
+ "url": "https://cloud.comfy.org/mcp"
+ }
+ }
+ }
+ ```
+
+ **Windsurf** uses `serverUrl` instead of `url`. **Amp** uses the same `mcpServers` shape in **Settings → MCP Servers** or `~/.config/amp/settings.json`.
+
+
+ If your client supports MCP OAuth, sign in through the browser when prompted. Otherwise, add an API key header (see below).
+
+
+ Restart your client. You should see Comfy Cloud tools (`search_templates`, `submit_workflow`, `get_output`, and others) registered under the **comfy-cloud** server.
+
+
+
+ **Headless / CI (API key):** when OAuth is not available, create a key at [platform.comfy.org/profile/api-keys](https://platform.comfy.org/profile/api-keys) and pass it as the `X-API-Key` header:
+
+ ```json
+ {
+ "mcpServers": {
+ "comfy-cloud": {
+ "url": "https://cloud.comfy.org/mcp",
+ "headers": {
+ "X-API-Key": "comfyui-…"
+ }
+ }
+ }
+ }
+ ```
+
+ For Claude Code from the terminal:
+
+ ```bash
+ claude mcp add --transport http comfy-cloud https://cloud.comfy.org/mcp -H "X-API-Key: comfyui-…"
+ ```
+
+ Prefer `${env:COMFY_API_KEY}` or your client's secret interpolation instead of hard-coding keys in config files you commit to git.
+
+
## What your agent can do
@@ -28,8 +311,8 @@ You do not call MCP tools yourself. Your agent picks the right tool based on wha
Typical flow:
1. **Discover** what is available (`search_templates`, `search_models`, `search_nodes`, or `cql` for graph-style questions).
-2. **Run** a generation or workflow (`submit_workflow`, with `upload_file` when an input image is needed).
-3. **Retrieve** outputs (`get_output` returns a download command your agent runs in your shell).
+2. **Run** a generation: `run_template` for a matching pre-built template, `submit_workflow` for a custom workflow (with `upload_file` when an input image is needed), or `partner_generate` for partner models like Flux, Grok, Gemini, OpenAI, Ideogram, and Seedance.
+3. **Wait and retrieve** outputs (`wait_for_job`, then `get_output` returns a download command your agent runs in your shell).
The server prefers matching [pre-built templates](https://comfy.org/workflows) before building a workflow from scratch, which tends to produce better results faster.
@@ -42,33 +325,45 @@ These are the tools your agent has access to once connected. Names match what ap
| Tool | Description |
| --- | --- |
| `search_templates` | Search pre-built workflow templates from [comfy.org](https://comfy.org/workflows) by text, tag, media type, or model |
+| `get_template` | Fetch a template's full workflow JSON for inspection or hand-editing |
+| `get_template_schema` | See which of a template's parameters can be overridden at run time |
| `search_models` | Search the model catalog by text, type, base model, or source |
| `search_nodes` | Search available nodes by text, category, or input/output types. Also surfaces **subgraph blueprints** (pre-wired node groups like Text to Image or Remove Background) |
+| `get_node` | Get the complete input spec for specific nodes, including full option lists |
| `cql` | Run a [CQL](https://github.com/Comfy-Org/cql) graph query for structural questions (for example, which nodes produce images, or paths between node types). Use `search_nodes` when you need full input specs for a specific node |
+| `get_prompting_guide` | Prompt style and recommended settings (steps, cfg, sampler, resolution) per model family |
-### Execution
+### Generation
| Tool | Description |
| --- | --- |
+| `run_template` | Run a pre-built template by name, with optional parameter overrides — the preferred path when a template matches |
| `submit_workflow` | Submit a ComfyUI API-format workflow for execution on Comfy Cloud |
+| `partner_generate` | Generate with partner-API models (Flux/BFL, Grok, Gemini, OpenAI, Ideogram, Seedream/Seedance, and more) |
| `upload_file` | Upload an input image or file for use in workflows (for example, with LoadImage) |
+| `apply_slots` | Apply parameter overrides to a workflow's interior values and return the modified workflow |
+
+### Jobs and batches
+
+| Tool | Description |
+| --- | --- |
| `get_job_status` | Poll execution status of a submitted workflow |
+| `wait_for_job` | Wait until a job finishes instead of polling repeatedly |
| `get_output` | Retrieve output images, videos, or audio from a completed workflow |
| `use_previous_output` | Chain workflows by reusing output from one run as input to another |
| `cancel_job` | Cancel a pending or running job |
| `get_queue` | Check how many jobs are running and pending |
+| `submit_batch`, `get_batch_status`, `get_batch_output`, `wait_for_batch` | Submit many generations in one call and collect them together later — the batch ID stays valid across sessions |
### Saved workflows
| Tool | Description |
| --- | --- |
| `list_saved_workflows` | Browse your saved workflows from Comfy Cloud |
-| `get_saved_workflow` | Inspect a saved workflow's nodes, inputs, and configuration |
+| `get_saved_workflow` | Inspect a saved workflow's nodes, inputs, and customizable settings |
| `save_workflow` | Save a workflow to your Comfy Cloud account |
-
-
- You can browse and inspect saved workflows, but the agent cannot run them by ID directly today. Saved workflows use the ComfyUI graph format and must be converted to API format before execution. See [Known limitations](#known-limitations).
-
+| `update_workflow` | Update an existing workflow in place as a new version (earlier versions stay recoverable) |
+| `run_saved_workflow` | Run a saved workflow by filename — the server converts it from editor format to executable format automatically |
### Sharing workflows
@@ -79,136 +374,31 @@ These are the tools your agent has access to once connected. Names match what ap
**Hub URL share IDs:** the trailing hyphen-delimited hex token in a `comfy.org/workflows/-` hub URL is the share ID. For example, `comfy.org/workflows/topaz-starlight-upscale-1c77e82713b7` has share ID `1c77e82713b7`. Pass that token to `import_shared_workflow` as `share_id`. The `share_url` parameter only accepts `?share=` query URLs like `https://cloud.comfy.org/?share=...`, not hub page URLs.
-## Install
-
-Pick your client:
-
-
-
- Install the plugin. Connection and commands in one step.
-
-
- Add a custom connector in the app, then sign in.
-
-
-
-### Claude Code
-
-Install the **comfy-cloud** plugin. It adds the MCP connection and the slash commands in one step. The plugin is published through the [Comfy Skills](https://github.com/Comfy-Org/comfy-skills/) repository, which hosts Claude Code plugins and community agent skills for Comfy.
+### Apps and links
-
-
- Register the Comfy Skills marketplace (one-time):
-
- ```
- /plugin marketplace add Comfy-Org/comfy-skills
- ```
-
-
- ```
- /plugin install comfy-cloud@comfy-skills
- ```
-
-
- Run `/mcp`, select **comfy-cloud** → **Authenticate**. Your browser opens to sign in, and tokens refresh automatically.
-
-
-
-The plugin adds these slash commands:
-
-| Command | What it does |
+| Tool | Description |
| --- | --- |
-| `/comfy-cloud:generate-image` | Generate, edit, or modify an image |
-| `/comfy-cloud:generate-video` | Generate, edit, or extend a video |
-| `/comfy-cloud:generate-audio` | Generate audio, music, or sound effects |
-| `/comfy-cloud:generate-3d` | Generate a 3D model from text or an image |
-| `/comfy-cloud:remove-background` | Remove the background from an image |
-| `/comfy-cloud:upscale-image` | Upscale an image to higher resolution |
-| `/comfy-cloud:search-templates` | Find pre-built workflow templates on [comfy.org](https://comfy.org) |
-| `/comfy-cloud:search-models` | Search for available models |
-| `/comfy-cloud:search-nodes` | Search for nodes and get wiring suggestions |
-| `/comfy-cloud:help` | See what you can do with ComfyUI Cloud |
-
-
- Add the server directly:
-
- ```bash
- claude mcp add --transport http comfy-cloud https://cloud.comfy.org/mcp
- ```
-
- Then run `/mcp`, select **comfy-cloud** → **Authenticate**. Add `-s user` to make it available in all your projects.
-
- This path still exposes the same workflows as MCP prompts: `/mcp__comfy-cloud__generate-image`, `/mcp__comfy-cloud__search-models`, and so on (the `/mcp____` prefix uses the name you passed to `claude mcp add`). The plugin above is recommended because it wraps these as the friendlier `/comfy-cloud:*` commands.
-
-
-### Claude Desktop
+| `create_app` | Turn a saved workflow into an App Mode app — a simplified "run this workflow" view with chosen inputs and outputs |
+| `get_app_mode_url` | Get the stable link that opens a workflow as a runnable app |
+| `get_workflow_canvas_url` | Get a link that opens a workflow directly on the Comfy Cloud canvas, ready to view, edit, or run |
-Claude Desktop adds Comfy Cloud as a **custom connector** through its UI, then runs the OAuth sign-in.
+### Account and session
-
-
-
-
- In Claude Desktop, open **Customize**, then choose **Connectors**.
-
- 
-
-
- Click the **+** button, then choose **Add custom connector**.
-
- 
-
-
- Name it anything (for example, *Comfy Cloud*) and set the **Remote MCP server URL** to:
+| Tool | Description |
+| --- | --- |
+| `get_billing_status` | Check your credit balance, subscription tier, and billing link |
+| `get_server_info` | Confirm which server the agent reached: environment, host, version, and auth state |
+| `submit_feedback` | Get the beta feedback survey link |
+| `report_session_summary` | Share an anonymized session summary with the Comfy team — **only with your explicit consent**; the agent must ask first, and no prompts, file paths, or personal information are included |
- ```
- https://cloud.comfy.org/mcp
- ```
+## Credits and spending
- 
-
-
- Click **Add**, then sign in through Claude Desktop when prompted. You are connected.
+Discovery is free: `search_templates`, `search_models`, and `search_nodes` work with just a [Comfy account](https://cloud.comfy.org). Running generations consumes Comfy Cloud credits and requires a subscription or credit balance.
- 
-
-
+Tools that spend real money are **spend-gated**. When a generation uses a paid partner model (`partner_generate`) or a workflow/template containing paid API nodes (`run_template`, `run_saved_workflow`, `submit_batch`), the server blocks execution until your agent confirms you agreed to spend credits — so expect the agent to check with you before those runs. Free, local-only workflows never prompt.
-Claude Desktop does not support Claude Code slash commands. Instead, open the **prompt picker** for the same workflows:
+You can ask your agent about your balance at any time ("how many credits do I have?") — it answers via `get_billing_status`.
-| Prompt | Description |
-| --- | --- |
-| `generate-image` | Generate an image from a text description |
-| `generate-video` | Generate a video from text or an image |
-| `generate-audio` | Generate audio, music, or sound effects |
-| `generate-3d` | Generate a 3D model from text or an image |
-| `upscale-image` | Upscale an image to higher resolution |
-| `remove-background` | Remove the background from an image |
-| `search-templates` | Find pre-built workflow templates |
-| `search-models` | Search for models (checkpoints, LoRAs, VAEs) |
-| `search-nodes` | Search nodes and get wiring suggestions |
-| `help` | See what you can do with ComfyUI Cloud |
-
-You can also skip prompts and ask in plain language. The MCP tools work the same way.
-
-### Headless / CI (API key)
-
-Claude Code and Claude Desktop use OAuth, so you do not need an API key. For **headless or CI** setups where no browser is available, authenticate with an API key instead:
-
-
-
- Go to [platform.comfy.org/profile/api-keys](https://platform.comfy.org/profile/api-keys), click **New API Key**, and copy it (it starts with `comfyui-`).
-
-
- ```bash
- claude mcp add --transport http comfy-cloud https://cloud.comfy.org/mcp -H "X-API-Key: comfyui-…"
- ```
-
-
## Outputs and downloads
@@ -246,8 +436,8 @@ Comfy Cloud MCP is an early release. These limitations are known and being worke
**Workflows**
-- **Saved workflows cannot be run by ID.** Your agent can list and inspect saved workflows, but must reconstruct or convert them to API format before execution.
-- **Generated assets may not embed workflow metadata.** Images created via MCP might not reopen the workflow when opened in ComfyUI.
+- **Editor-to-executable conversion has rough edges.** Saved workflows run by filename via `run_saved_workflow` (the server converts them automatically), but some node configurations still convert imperfectly.
+- **Assets generated via `submit_workflow` may not embed workflow metadata.** They might not reopen the originating workflow when opened in ComfyUI.
- **Workflow building depends on agent accuracy.** Complex multi-node workflows may need a retry or refinement.
**File handling**
@@ -257,16 +447,19 @@ Comfy Cloud MCP is an early release. These limitations are known and being worke
**Authentication**
-- **OAuth or API key.** Claude Code and Claude Desktop use a one-time browser OAuth flow. Headless clients can pass a Comfy Cloud API key via the `X-API-Key` header instead. A device-code OAuth flow for clients that cannot open a browser is planned.
+- **OAuth or API key.** Claude Code and Claude Desktop use a one-time browser OAuth flow. **Cursor** requires a Comfy Cloud API key in your MCP config (no OAuth). Other headless clients can pass a Comfy Cloud API key via the `X-API-Key` header instead. A device-code OAuth flow for clients that cannot open a browser is planned.
## FAQ
- Claude Code and Claude Desktop today, both signing in with OAuth. Support for more clients is coming.
+ Any MCP-compatible client that supports remote HTTP transport can connect to `https://cloud.comfy.org/mcp`. We document first-class setup for **Claude Code**, **Claude Desktop**, **Cursor**, and **Codex**. **Windsurf**, **Amp**, **OpenClaw**, and other agents follow the same URL with OAuth or an API key. See [Install Comfy Cloud MCP](#install-comfy-cloud-mcp).
- Not for Claude Code or Claude Desktop. They use OAuth. An API key is only needed for headless or CI setups with no browser.
+ Not for interactive clients that support OAuth (Claude Code, Claude Desktop, Codex, and others). **Cursor** requires a Comfy Cloud API key in your MCP config. An API key is also needed for other headless or CI setups with no browser. See the **Cursor** tab or **Other clients** tab under [Install Comfy Cloud MCP](#install-comfy-cloud-mcp).
+
+
+ Paid generations are spend-gated: when a run would consume Comfy Cloud credits (a partner model, or a workflow/template with paid API nodes), the server requires your explicit agreement before executing. See [Credits and spending](#credits-and-spending).
No. Slash commands ship in the Claude Code plugin. Claude Desktop connects to the same MCP server (the tools work if you ask in plain language or use the prompt picker), but it does not support Claude Code plugins or slash commands.
diff --git a/agent-tools/index.mdx b/agent-tools/index.mdx
index 6ffe96957..aee19a136 100644
--- a/agent-tools/index.mdx
+++ b/agent-tools/index.mdx
@@ -18,6 +18,9 @@ ComfyUI provides **MCP servers** and **Comfy CLI** so AI agents and developers c
Run a local MCP server using the Comfy Partner-Node SDK. Provides unified generate_image, generate_video, generate_3d, and more tools across 30+ partner providers.
+
+ First-party local MCP server that drives your **own** ComfyUI install via comfy-cli. *Private test; not publicly available yet.*
+
Short agent-oriented overview of comfy generate. For the complete CLI guide, see [Getting started](/comfy-cli/getting-started).
@@ -27,28 +30,22 @@ ComfyUI provides **MCP servers** and **Comfy CLI** so AI agents and developers c
## Which One Should I Use?
-| | Comfy Cloud MCP | Comfy Partner MCP | Comfy CLI |
-|---|---|---|---|
-| **Type** | Remote (hosted) | Local MCP server | Local CLI |
-| **Requires** | Comfy Cloud subscription | [Comfy API key](/development/api-development/getting-an-api-key) | [Comfy API key](/development/api-development/getting-an-api-key) |
-| **Models** | Comfy Cloud models (pre-installed) | 30+ partner providers (BFL, Ideogram, Kling, Runway, Veo, ElevenLabs, etc.) | Partner nodes via `comfy generate` |
-| **Workflows** | Full ComfyUI workflow execution | Partner API generation (no custom workflows) | One-shot partner API calls (no workflow JSON) |
-| **GPU** | Cloud GPUs (no local GPU needed) | No GPU needed (API-based) | No GPU needed (API-based) |
-| **Best for** | Chat-driven agents, template search | Unified MCP tools across providers | Scripts, CI, batch jobs |
+| | Comfy Cloud MCP | Comfy Partner MCP | Comfy Local MCP | Comfy CLI |
+|---|---|---|---|---|
+| **Type** | Remote (hosted) | Local MCP server | Local MCP server | Local CLI |
+| **Requires** | Comfy Cloud subscription | [Comfy API key](/development/api-development/getting-an-api-key) | Local ComfyUI + [comfy-cli](https://github.com/Comfy-Org/comfy-cli) | [Comfy API key](/development/api-development/getting-an-api-key) |
+| **Models** | Comfy Cloud models (pre-installed) | 30+ partner providers (BFL, Ideogram, Kling, Runway, Veo, ElevenLabs, etc.) | Your local models and custom nodes | Partner nodes via `comfy generate` |
+| **Workflows** | Full ComfyUI workflow execution | Partner API generation (no custom workflows) | Full local ComfyUI workflow execution | One-shot partner API calls (no workflow JSON) |
+| **GPU** | Cloud GPUs (no local GPU needed) | No GPU needed (API-based) | Your local GPU | No GPU needed (API-based) |
+| **Best for** | Chat-driven agents, template search | Unified MCP tools across providers | Driving your own local ComfyUI from chat | Scripts, CI, batch jobs |
---
## What about local ComfyUI?
-Many people ask about driving a **local** ComfyUI install with an agent instead of (or alongside) Comfy Cloud MCP.
-
-**Why did Comfy Cloud MCP ship first?** The hosted server at `cloud.comfy.org` is something only the Comfy team can build and operate. That is why our first-party MCP release is Cloud-based.
-
-**Local agents are not new.** Hooking an agent up to ComfyUI on your own machine has been possible since ComfyUI was open-sourced. A running local server exposes workflows and APIs that MCP bridges and other tools can call.
-
-**Better local agent UX is on the roadmap.** Improving the first-party local agent experience is part of our vision. Cloud MCP was the piece we could ship first; more local polish will follow.
+Want to drive a **local** ComfyUI install with an agent instead of (or alongside) Comfy Cloud MCP? See [**Comfy Local MCP**](/agent-tools/local) for our first-party local MCP server, setup, and client configuration. It is in **private test** and not publicly available yet.
-**Community MCP servers you can try today.** Several community projects already connect MCP clients to a local ComfyUI instance:
+**Community MCP servers.** Several community projects also connect MCP clients to a local ComfyUI instance:
| Project | Repository |
| --- | --- |
diff --git a/agent-tools/local.mdx b/agent-tools/local.mdx
new file mode 100644
index 000000000..de29bd40e
--- /dev/null
+++ b/agent-tools/local.mdx
@@ -0,0 +1,156 @@
+---
+title: "Comfy Local MCP"
+sidebarTitle: "Local MCP"
+description: "Drive your own local ComfyUI from AI agents (Claude Code, Claude Desktop, Cursor) with the first-party comfy-local-mcp server — run workflows, collect outputs, and inspect the nodes and models your install actually has."
+icon: "server"
+---
+
+
+ **Private test.** `comfy-local-mcp` is in private testing and is not publicly available yet. If you do not have private-test access, you cannot install or use it today. The core loop (`server_info → run_workflow → fetch_outputs`) is validated end-to-end against a live local ComfyUI, but tools and behavior may still change.
+
+
+[**comfy-local-mcp**](https://github.com/Comfy-Org/comfy-local-mcp) is Comfy's **first-party local MCP server** — the official way to drive a **local** ComfyUI install from AI agents (Claude Code, Claude Desktop, Cursor, and other MCP clients). It is a thin wrapper over [comfy-cli](https://github.com/Comfy-Org/comfy-cli): each tool shells out to the `comfy` command, so `comfy-cli` is the engine and there is no code shared with the [Comfy Cloud MCP](/agent-tools/cloud).
+
+Unlike the cloud and partner servers, it talks to the ComfyUI running on **your own machine** — so it can run your workflows and inspect the nodes, custom nodes, and models your install actually has.
+
+---
+
+## Requirements
+
+- **Python 3.10+**
+- **[comfy-cli](https://github.com/Comfy-Org/comfy-cli)** on your `PATH` (`pip install comfy-cli`) — the engine every tool wraps
+- **A ComfyUI workspace** — create one with `comfy install` if you don't have one (an existing checkout works via `comfy set-default `)
+- **A running ComfyUI** — start it with `comfy launch` before using the tools; nothing here launches ComfyUI implicitly
+
+---
+
+## Installation
+
+From a checkout of the [repository](https://github.com/Comfy-Org/comfy-local-mcp):
+
+```bash
+pip install . # or `pip install -e .` for a working copy
+```
+
+This puts a `comfy-local-mcp` console script on your `PATH` — that command is the MCP server (it speaks MCP over stdio). Point your AI client at it below.
+
+
+ **`COMFY_BIN` (optional).** MCP clients launch the server with their own environment, which often does **not** include your shell's `PATH`. If `comfy` lives in a virtualenv or a non-standard location, set `COMFY_BIN` to its absolute path (for example `/path/to/venv/bin/comfy`). Every client example below shows where it goes; drop it if `comfy` is already on the environment your client launches the server with.
+
+
+---
+
+## Configure your AI client
+
+All clients speak the same MCP stdio contract: run the `comfy-local-mcp` command as a server. Pick your client.
+
+### Claude Code
+
+One command registers the server:
+
+```bash
+claude mcp add comfy-local -e COMFY_BIN=/path/to/venv/bin/comfy -- comfy-local-mcp
+```
+
+Or check it into a project with a `.mcp.json` at the repo root:
+
+```json
+{
+ "mcpServers": {
+ "comfy-local": {
+ "command": "comfy-local-mcp",
+ "env": { "COMFY_BIN": "/path/to/venv/bin/comfy" }
+ }
+ }
+}
+```
+
+### Claude Desktop
+
+Edit `claude_desktop_config.json` (Settings → Developer → Edit Config; on macOS it lives at `~/Library/Application Support/Claude/claude_desktop_config.json`), add the server, then restart Claude Desktop:
+
+```json
+{
+ "mcpServers": {
+ "comfy-local": {
+ "command": "comfy-local-mcp",
+ "env": { "COMFY_BIN": "/path/to/venv/bin/comfy" }
+ }
+ }
+}
+```
+
+### Cursor
+
+Add the server to `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (per project):
+
+```json
+{
+ "mcpServers": {
+ "comfy-local": {
+ "command": "comfy-local-mcp",
+ "env": { "COMFY_BIN": "/path/to/venv/bin/comfy" }
+ }
+ }
+}
+```
+
+---
+
+## Quickstart
+
+Zero to a generated image:
+
+
+
+ ```bash
+ pip install comfy-cli # the engine
+ comfy install # create a ComfyUI workspace (skip if you have one)
+ pip install . # this MCP server → the `comfy-local-mcp` command
+ ```
+
+
+ ```bash
+ comfy launch
+ ```
+
+
+ Use the snippet for your client above, then restart / reload it so the tools appear.
+
+
+ For example:
+
+ > "Confirm my local ComfyUI is running, then run the workflow at `~/workflows/txt2img.json` and show me the image."
+
+ Under the hood the agent calls `server_info` to confirm ComfyUI is up, `run_workflow` to execute the workflow JSON, and `fetch_outputs` to collect the result.
+
+
+
+---
+
+## Tools
+
+Each tool maps onto a `comfy-cli` command, run with `--where local`. Highlights:
+
+| Tool | Purpose |
+|---|---|
+| `server_info()` | Is a local ComfyUI running, where, and which workspace. **Call first.** |
+| `run_workflow(workflow_path, wait=True)` | Run a workflow JSON; `wait=False` submits async and returns a `prompt_id`. |
+| `job_status` / `wait_for_job` / `watch_job` | Poll, wait on, or stream a submitted job. |
+| `fetch_outputs(prompt_id, out_dir)` | Copy a finished job's outputs into `out_dir`. |
+| `launch_comfyui` / `stop_comfyui` | Start or stop the local ComfyUI. |
+| `search_templates` / `fetch_template` | Find a built-in template and write its runnable workflow JSON. |
+| `search_nodes` / `get_node` / `list_nodes` | Inspect the node classes in your **live local** install (custom nodes included). |
+| `search_models` | List the model files on disk. |
+| `validate_workflow` | Pre-flight a workflow against the live `object_info` before a slow run. |
+
+Node introspection and model search read your **live install** — custom nodes included — which is the local differentiator from the cloud MCP. See the [repository](https://github.com/Comfy-Org/comfy-local-mcp) for the full tool list and reference.
+
+---
+
+## Related
+
+- [Comfy Cloud MCP](/agent-tools/cloud) — hosted MCP server, no local install or GPU needed
+- [Comfy Partner MCP](/agent-tools/partner-mcp) — local server for 30+ partner providers via the Comfy API
+- [Comfy CLI](/agent-tools/comfy-cli) — drive local ComfyUI and partner generation from the terminal
+- [comfy-local-mcp on GitHub](https://github.com/Comfy-Org/comfy-local-mcp) — source, install, and tool reference
diff --git a/built-in-nodes/APG.mdx b/built-in-nodes/APG.mdx
index a11b660cc..9f0504096 100644
--- a/built-in-nodes/APG.mdx
+++ b/built-in-nodes/APG.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "APG"
icon: "circle"
mode: wide
---
+
The APG (Adaptive Projected Guidance) node modifies the sampling process by adjusting how guidance is applied during diffusion. It separates the guidance vector into parallel and orthogonal components relative to the conditional output, allowing for more controlled image generation. The node provides parameters to scale the guidance, normalize its magnitude, and apply momentum for smoother transitions between diffusion steps.
## Inputs
diff --git a/built-in-nodes/ARVideoI2V.mdx b/built-in-nodes/ARVideoI2V.mdx
index 524cf66cf..5bdfaa361 100644
--- a/built-in-nodes/ARVideoI2V.mdx
+++ b/built-in-nodes/ARVideoI2V.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ARVideoI2V"
icon: "circle"
mode: wide
---
+
## Overview
This node prepares an image-to-video generation setup for AR (Auto-Regressive) video models. It takes a starting image, encodes it into the latent space using a VAE, and stores the encoded image in the model's configuration. This allows the video sampling process to use the image as the first frame, effectively seeding the generation without needing a separate image-to-video model architecture.
diff --git a/built-in-nodes/AddNoise.mdx b/built-in-nodes/AddNoise.mdx
index b1fbc3b8a..a87436ee7 100644
--- a/built-in-nodes/AddNoise.mdx
+++ b/built-in-nodes/AddNoise.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AddNoise"
icon: "circle"
mode: wide
---
+
This node adds controlled noise to a latent image using a specified noise generator and sigma values. It processes the input through the model's sampling system to apply noise scaling appropriate for the given sigma range, returning a new latent representation with the noise applied.
## Inputs
diff --git a/built-in-nodes/AddTextPrefix.mdx b/built-in-nodes/AddTextPrefix.mdx
index d868c2307..ea57eab35 100644
--- a/built-in-nodes/AddTextPrefix.mdx
+++ b/built-in-nodes/AddTextPrefix.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AddTextPrefix"
icon: "circle"
mode: wide
---
+
The Add Text Prefix node modifies text by adding a specified string to the beginning of each input text. It takes the text and a prefix as input, then returns the combined result.
**Note:** This node is deprecated and superseded by the Concatenate Text node.
diff --git a/built-in-nodes/AddTextSuffix.mdx b/built-in-nodes/AddTextSuffix.mdx
index b209b107e..391b7db3a 100644
--- a/built-in-nodes/AddTextSuffix.mdx
+++ b/built-in-nodes/AddTextSuffix.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AddTextSuffix"
icon: "circle"
mode: wide
---
+
This node appends a specified suffix to the end of an input text string. It takes the original text and the suffix as inputs, then returns the combined result. **This node is deprecated** and superseded by the Concatenate Text node.
## Inputs
diff --git a/built-in-nodes/AdjustBrightness.mdx b/built-in-nodes/AdjustBrightness.mdx
index 78e0132be..2ecfab3c1 100644
--- a/built-in-nodes/AdjustBrightness.mdx
+++ b/built-in-nodes/AdjustBrightness.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AdjustBrightness"
icon: "circle"
mode: wide
---
+
The Adjust Brightness node modifies the brightness of an input image. It works by multiplying each pixel's value by a specified factor, then clamping the resulting values to stay within a valid range. A factor of 1.0 leaves the image unchanged, values below 1.0 make it darker, and values above 1.0 make it brighter.
## Inputs
diff --git a/built-in-nodes/AdjustContrast.mdx b/built-in-nodes/AdjustContrast.mdx
index 91f556e12..7695e4764 100644
--- a/built-in-nodes/AdjustContrast.mdx
+++ b/built-in-nodes/AdjustContrast.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AdjustContrast"
icon: "circle"
mode: wide
---
+
The Adjust Contrast node modifies the contrast level of an input image. It works by adjusting the difference between the light and dark areas of the image. A factor of 1.0 leaves the image unchanged, values below 1.0 reduce contrast, and values above 1.0 increase it.
## Inputs
diff --git a/built-in-nodes/AlignYourStepsScheduler.mdx b/built-in-nodes/AlignYourStepsScheduler.mdx
index 27467c41d..39c16d85d 100644
--- a/built-in-nodes/AlignYourStepsScheduler.mdx
+++ b/built-in-nodes/AlignYourStepsScheduler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AlignYourStepsScheduler"
icon: "circle"
mode: wide
---
+
The AlignYourStepsScheduler node generates sigma values for the denoising process based on different model types. It calculates appropriate noise levels for each step of the sampling process and adjusts the total number of steps according to the denoise parameter. This helps align the sampling steps with the specific requirements of different diffusion models.
## Inputs
diff --git a/built-in-nodes/AudioAdjustVolume.mdx b/built-in-nodes/AudioAdjustVolume.mdx
index 848556a31..6873dcd56 100644
--- a/built-in-nodes/AudioAdjustVolume.mdx
+++ b/built-in-nodes/AudioAdjustVolume.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AudioAdjustVolume"
icon: "circle"
mode: wide
---
+
The AudioAdjustVolume node modifies the loudness of audio by applying volume adjustments in decibels (dB). It takes an audio input and applies a gain factor based on the specified volume level, where positive values increase volume and negative values decrease it. The node returns the modified audio with the same sample rate as the original.
## Inputs
diff --git a/built-in-nodes/AudioConcat.mdx b/built-in-nodes/AudioConcat.mdx
index 5c54b50fc..5e9cdfdb7 100644
--- a/built-in-nodes/AudioConcat.mdx
+++ b/built-in-nodes/AudioConcat.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AudioConcat"
icon: "circle"
mode: wide
---
+
The AudioConcat node combines two audio inputs by joining them together. It takes two audio inputs and connects them in the order you specify, either placing the second audio before or after the first audio. The node automatically handles different audio formats by converting mono audio to stereo and matching sample rates between the two inputs.
## Inputs
diff --git a/built-in-nodes/AudioEncoderEncode.mdx b/built-in-nodes/AudioEncoderEncode.mdx
index 947b41fd7..803ab3a18 100644
--- a/built-in-nodes/AudioEncoderEncode.mdx
+++ b/built-in-nodes/AudioEncoderEncode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AudioEncoderEncode"
icon: "circle"
mode: wide
---
+
The AudioEncoderEncode node processes audio data by encoding it using an audio encoder model. It takes audio input and converts it into an encoded representation that can be used for further processing in the conditioning pipeline. This node transforms raw audio waveforms into a format suitable for audio-based machine learning applications.
## Inputs
diff --git a/built-in-nodes/AudioEncoderLoader.mdx b/built-in-nodes/AudioEncoderLoader.mdx
index 166103683..cb66fa97c 100644
--- a/built-in-nodes/AudioEncoderLoader.mdx
+++ b/built-in-nodes/AudioEncoderLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AudioEncoderLoader"
icon: "circle"
mode: wide
---
+
The AudioEncoderLoader node loads an audio encoder model from a file in your audio encoders folder. It takes the filename of an audio encoder model as input and returns the loaded model, which can then be used for audio processing tasks in your workflow.
## Inputs
diff --git a/built-in-nodes/AudioEqualizer3Band.mdx b/built-in-nodes/AudioEqualizer3Band.mdx
index 3b8f3d1ff..d4f21f78d 100644
--- a/built-in-nodes/AudioEqualizer3Band.mdx
+++ b/built-in-nodes/AudioEqualizer3Band.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AudioEqualizer3Band"
icon: "circle"
mode: wide
---
+
The Audio Equalizer (3-Band) node allows you to adjust the bass, mid, and treble frequencies of an audio waveform. It applies three separate filters: a low shelf for bass, a peaking filter for mids, and a high shelf for treble. Each band can be independently controlled with gain, frequency, and bandwidth settings.
## Inputs
diff --git a/built-in-nodes/AudioMerge.mdx b/built-in-nodes/AudioMerge.mdx
index b511fcadb..6562ad2ee 100644
--- a/built-in-nodes/AudioMerge.mdx
+++ b/built-in-nodes/AudioMerge.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AudioMerge"
icon: "circle"
mode: wide
---
+
The AudioMerge node combines two audio tracks by overlaying their waveforms. It automatically matches the sample rates of both audio inputs and adjusts their lengths to be equal before merging. The node provides several mathematical methods for combining the audio signals and ensures the output remains within acceptable volume levels.
## Inputs
diff --git a/built-in-nodes/AutogrowNamesTestNode.mdx b/built-in-nodes/AutogrowNamesTestNode.mdx
index bb4abc73a..7ddcd4c21 100644
--- a/built-in-nodes/AutogrowNamesTestNode.mdx
+++ b/built-in-nodes/AutogrowNamesTestNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AutogrowNamesTestNode"
icon: "circle"
mode: wide
---
+
This node is a test for the Autogrow input feature. It takes a dynamic number of float inputs, each labeled with a specific name, and combines their values into a single comma-separated string.
## Inputs
diff --git a/built-in-nodes/AutogrowPrefixTestNode.mdx b/built-in-nodes/AutogrowPrefixTestNode.mdx
index 2b626ab24..1e9f4e40b 100644
--- a/built-in-nodes/AutogrowPrefixTestNode.mdx
+++ b/built-in-nodes/AutogrowPrefixTestNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "AutogrowPrefixTestNode"
icon: "circle"
mode: wide
---
+
The AutogrowPrefixTestNode is a logic node designed to test the autogrow input feature. It accepts a dynamic number of float inputs, combines their values into a comma-separated string, and outputs that string.
## Inputs
diff --git a/built-in-nodes/BasicGuider.mdx b/built-in-nodes/BasicGuider.mdx
index 3d707cb5f..8d203399a 100644
--- a/built-in-nodes/BasicGuider.mdx
+++ b/built-in-nodes/BasicGuider.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "BasicGuider"
icon: "circle"
mode: wide
---
+
The BasicGuider node creates a simple guidance mechanism for the sampling process. It takes a model and conditioning data as inputs and produces a guider object that can be used to guide the generation process during sampling. This node provides the fundamental guidance functionality needed for controlled generation.
## Inputs
diff --git a/built-in-nodes/BasicScheduler.mdx b/built-in-nodes/BasicScheduler.mdx
index 14f151e3c..ae9196ed3 100755
--- a/built-in-nodes/BasicScheduler.mdx
+++ b/built-in-nodes/BasicScheduler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "BasicScheduler"
icon: "circle"
mode: wide
---
+
The `BasicScheduler` node is designed to compute a sequence of sigma values for diffusion models based on the provided scheduler, model, and denoising parameters. It dynamically adjusts the total number of steps based on the denoise factor to fine-tune the diffusion process, providing precise "recipes" for different stages in advanced sampling processes that require fine control (such as multi-stage sampling).
## Inputs
diff --git a/built-in-nodes/BatchImagesMasksLatentsNode.mdx b/built-in-nodes/BatchImagesMasksLatentsNode.mdx
index 95193522b..ba25a1407 100644
--- a/built-in-nodes/BatchImagesMasksLatentsNode.mdx
+++ b/built-in-nodes/BatchImagesMasksLatentsNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "BatchImagesMasksLatentsNode"
icon: "circle"
mode: wide
---
+
The Batch Images/Masks/Latents node combines multiple inputs of the same type into a single batch. It automatically detects whether the inputs are images, masks, or latent representations and uses the appropriate batching method. This is useful for preparing multiple items for processing by nodes that accept batched inputs.
## Inputs
diff --git a/built-in-nodes/BatchImagesNode.mdx b/built-in-nodes/BatchImagesNode.mdx
index fd5cb84e3..201610a49 100644
--- a/built-in-nodes/BatchImagesNode.mdx
+++ b/built-in-nodes/BatchImagesNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "BatchImagesNode"
icon: "circle"
mode: wide
---
+
The Batch Images node combines multiple individual images into a single batch. It takes a variable number of image inputs and outputs them as one batched image tensor, allowing them to be processed together in subsequent nodes.
## Inputs
diff --git a/built-in-nodes/BatchLatentsNode.mdx b/built-in-nodes/BatchLatentsNode.mdx
index 88562d323..42a11e622 100644
--- a/built-in-nodes/BatchLatentsNode.mdx
+++ b/built-in-nodes/BatchLatentsNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "BatchLatentsNode"
icon: "circle"
mode: wide
---
+
The Batch Latents node combines multiple latent inputs into a single batch. It takes a variable number of latent samples and merges them along the batch dimension, allowing them to be processed together in subsequent nodes. This is useful for generating or processing multiple images in a single operation.
## Inputs
diff --git a/built-in-nodes/BatchMasksNode.mdx b/built-in-nodes/BatchMasksNode.mdx
index 0318bc2b9..10b421c56 100644
--- a/built-in-nodes/BatchMasksNode.mdx
+++ b/built-in-nodes/BatchMasksNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "BatchMasksNode"
icon: "circle"
mode: wide
---
+
The Batch Masks node combines multiple individual mask inputs into a single batch. It takes a variable number of mask inputs and outputs them as a single batched mask tensor, allowing for batch processing of masks in subsequent nodes. If the input masks have different sizes, they are automatically resized to match the dimensions of the first mask.
## Inputs
diff --git a/built-in-nodes/BeebleSwitchXImageEdit.mdx b/built-in-nodes/BeebleSwitchXImageEdit.mdx
index 12534f3eb..258d86ec1 100644
--- a/built-in-nodes/BeebleSwitchXImageEdit.mdx
+++ b/built-in-nodes/BeebleSwitchXImageEdit.mdx
@@ -5,14 +5,13 @@ sidebarTitle: "BeebleSwitchXImageEdit"
icon: "circle"
mode: wide
---
-## Overview
Edit a single image with Beeble SwitchX. This node can switch anything in the scene (background, lighting, costume) while preserving the original subject's pixels. Provide a reference image and/or text prompt to describe the new look. Maximum resolution is approximately 2.77 megapixels.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The source image to edit. | IMAGE | Yes | - |
| `prompt` | A text description of the desired new look (e.g., "a knight in shining armor"). | STRING | Yes | - |
| `alpha_mode` | How to handle the alpha matte. "select" uses a keyframe to select the subject, "fill" replaces the entire image without a separate matte, "custom" uses a user-provided mask. | COMBO | Yes | `"select"` `"fill"` `"custom"` |
@@ -25,11 +24,11 @@ Edit a single image with Beeble SwitchX. This node can switch anything in the sc
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The edited image with the scene elements switched. | IMAGE |
| `alpha` | The alpha matte used by Beeble. Empty for "fill" mode, which has no separate matte. | MASK |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/BeebleSwitchXImageEdit/en.md)
---
-**Source fingerprint (SHA-256):** `41f23435686626e3ade28708fcb1da192ded347b210080ee9b17834ea8b727fb`
+**Source fingerprint (SHA-256):** `6fd10dff6ac4f1a15fd05de7a6ff6eda988e60dd4ef32bc8c792480fbbf0c92b`
diff --git a/built-in-nodes/BeebleSwitchXVideoEdit.mdx b/built-in-nodes/BeebleSwitchXVideoEdit.mdx
index 1c45f96ab..308792108 100644
--- a/built-in-nodes/BeebleSwitchXVideoEdit.mdx
+++ b/built-in-nodes/BeebleSwitchXVideoEdit.mdx
@@ -5,15 +5,14 @@ sidebarTitle: "BeebleSwitchXVideoEdit"
icon: "circle"
mode: wide
---
-# Beeble SwitchX Video Edit
-Edit a video with Beeble SwitchX. This node can switch anything in the scene (background, lighting, costume) while preserving the original subject's pixels and motion. Provide a reference image and/or text prompt to describe the new look.
+Edit a video with Beeble SwitchX. This node can switch anything in the scene (background, lighting, costume) while preserving the original subject's pixels and motion. Provide a reference image and/or text prompt to describe the new look. Maximum 240 frames, maximum approximately 2.77 megapixels per frame.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `video` | The input video to edit. Maximum 240 frames, maximum ~2.77 megapixels per frame. | VIDEO | Yes | N/A |
+|-----------|-------------|-----------|----------|-------|
+| `video` | The input video to edit. | VIDEO | Yes | N/A |
| `prompt` | A text description of the desired new look for the scene. | STRING | Yes | N/A |
| `alpha_mode` | The alpha matte mode. "fill" mode has no separate matte and fills the entire frame. "select" mode uses a single keyframe image to define the area to edit. "custom" mode uses a full alpha video to define the area to edit frame by frame. | COMBO | Yes | `"fill"` `"select"` `"custom"` |
| `max_resolution` | The maximum resolution for the output video (default: "1080p"). | COMBO | Yes | `"720p"` `"1080p"` |
@@ -33,11 +32,11 @@ When using `select` mode, you must provide the `alpha_keyframe` image. When usin
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `video` | The edited video with the scene changes applied. | VIDEO |
| `alpha` | The alpha matte used by Beeble. This is empty for "fill" mode, which has no separate matte. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/BeebleSwitchXVideoEdit/en.md)
---
-**Source fingerprint (SHA-256):** `e2d67b037863f024f42c97943ec0d2daf32b547b232a7dfedd6de398f4b7ba28`
+**Source fingerprint (SHA-256):** `a92e78e6a08ac01466d953562a250b812eb8b1a5fb37efce6fddd7aa1ef380a2`
diff --git a/built-in-nodes/BerniniConditioning.mdx b/built-in-nodes/BerniniConditioning.mdx
new file mode 100644
index 000000000..ff8b37759
--- /dev/null
+++ b/built-in-nodes/BerniniConditioning.mdx
@@ -0,0 +1,45 @@
+---
+title: "BerniniConditioning - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the BerniniConditioning node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "BerniniConditioning"
+icon: "circle"
+mode: wide
+---
+
+The BerniniConditioning node prepares video and image conditioning data for the Wan2.2-A14B model. It encodes source videos, reference videos, and reference images using the provided VAE, then attaches them to the conditioning data for in-context generation tasks. The task is automatically inferred from which inputs are connected.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `positive` | Positive conditioning data | CONDITIONING | Yes | - |
+| `negative` | Negative conditioning data | CONDITIONING | Yes | - |
+| `vae` | VAE model used to encode video and image inputs | VAE | Yes | - |
+| `width` | Width of the output latent (default: 832) | INT | Yes | 16 to 8192 (step: 16) |
+| `height` | Height of the output latent (default: 480) | INT | Yes | 16 to 8192 (step: 16) |
+| `length` | Number of frames in the output latent (default: 81) | INT | Yes | 1 to 8192 (step: 4) |
+| `batch_size` | Number of videos to generate in a single batch (default: 1) | INT | Yes | 1 to 4096 |
+| `source_video` | Source video to edit or restyle (v2v, rv2v). Resized to width/height and trimmed to length. | IMAGE | No | - |
+| `reference_video` | Video to insert into the source video (ads2v). | IMAGE | No | - |
+| `reference_images` | Reference images injected as in-context tokens (r2v, rv2v). Up to 8 images can be provided. | IMAGE | No | 0 to 8 images |
+| `ref_max_size` | Max size for the long edge of reference_video and reference_images. Resized with preserved aspect ratio and snapped to 16px (default: 848). | INT | No | 16 to 8192 (step: 16) |
+
+**Note:** The task is inferred from which inputs are connected:
+- No inputs connected → text-to-video (t2v)
+- `source_video` only → video-to-video (v2v)
+- `source_video` + `reference_images` → reference-guided video editing (rv2v)
+- `reference_images` only → reference-to-video (r2v)
+- `source_video` + `reference_video` → insert image/video into video (ads2v)
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `positive` | Positive conditioning with context latents attached | CONDITIONING |
+| `negative` | Negative conditioning with context latents attached | CONDITIONING |
+| `latent` | Empty latent tensor with dimensions matching the specified width, height, length, and batch size | LATENT |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/BerniniConditioning/en.md)
+
+---
+**Source fingerprint (SHA-256):** `70b5026f9479249bc5d1fe4695583193216e34e1b092764ac30e0ec3b7eba670`
diff --git a/built-in-nodes/BetaSamplingScheduler.mdx b/built-in-nodes/BetaSamplingScheduler.mdx
index dea4cfdf9..3b7d2bb22 100644
--- a/built-in-nodes/BetaSamplingScheduler.mdx
+++ b/built-in-nodes/BetaSamplingScheduler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "BetaSamplingScheduler"
icon: "circle"
mode: wide
---
+
The BetaSamplingScheduler node generates a sequence of noise levels (sigmas) for the sampling process using a beta scheduling algorithm. It takes a model and configuration parameters to create a customized noise schedule that controls the denoising process during image generation. This scheduler allows fine-tuning of the noise reduction trajectory through alpha and beta parameters.
## Inputs
diff --git a/built-in-nodes/BriaImageEditNode.mdx b/built-in-nodes/BriaImageEditNode.mdx
index c57f6b233..cb1d18299 100644
--- a/built-in-nodes/BriaImageEditNode.mdx
+++ b/built-in-nodes/BriaImageEditNode.mdx
@@ -5,37 +5,37 @@ sidebarTitle: "BriaImageEditNode"
icon: "circle"
mode: wide
---
+
The Bria FIBO Image Edit node allows you to modify an existing image using a text instruction. It sends the image and your prompt to the Bria API, which uses the FIBO model to generate a new, edited version of the image based on your request. You can also provide a mask to limit the edits to a specific area.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The model version to use for image editing. | COMBO | Yes | `"FIBO"` |
| `image` | The input image you want to edit. | IMAGE | Yes | - |
-| `prompt` | The text instruction describing how to edit the image (default: empty). | STRING | No | - |
+| `prompt` | Instruction to edit image (default: empty). | STRING | No | - |
| `negative_prompt` | Text describing what you do not want to appear in the edited image (default: empty). | STRING | No | - |
| `structured_prompt` | A string containing the structured edit prompt in JSON format. Use this instead of the usual prompt for precise, programmatic control (default: empty). | STRING | No | - |
| `seed` | A number used to initialize the random generation, ensuring reproducible results (default: 1). | INT | Yes | 1 to 2147483647 |
-| `guidance_scale` | Controls how closely the generated image follows the prompt. A higher value results in stronger adherence (default: 3.0). | FLOAT | Yes | 3.0 to 5.0 |
+| `guidance_scale` | Higher value makes the image follow the prompt more closely (default: 3.0). | FLOAT | Yes | 3.0 to 5.0 |
| `steps` | The number of denoising steps the model will perform (default: 50). | INT | Yes | 20 to 50 |
-| `moderation` | Enables or disables content moderation. Selecting `"true"` reveals additional moderation options for prompt content, visual input, and visual output. | DYNAMICCOMBO | Yes | `"false"` `"true"` |
-| `mask` | An optional mask image. If provided, edits will only be applied to the masked areas of the image. | MASK | No | - |
+| `moderation` | Moderation settings. Selecting `"true"` reveals additional moderation options for prompt content, visual input, and visual output. | DYNAMICCOMBO | Yes | `"false"` `"true"` |
+| `mask` | If omitted, the edit applies to the entire image. | MASK | No | - |
**Important Constraints:**
-* You must provide at least one of the `prompt` or `structured_prompt` inputs. They cannot both be empty.
-* Exactly one input `image` is required.
-* When the `moderation` parameter is set to `"true"`, three additional boolean inputs become available: `prompt_content_moderation` (default: false), `visual_input_moderation` (default: false), and `visual_output_moderation` (default: true).
+- You must provide at least one of the `prompt` or `structured_prompt` inputs. They cannot both be empty.
+- When the `moderation` parameter is set to `"true"`, three additional boolean inputs become available: `prompt_content_moderation` (default: false), `visual_input_moderation` (default: false), and `visual_output_moderation` (default: true).
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `IMAGE` | The edited image returned by the Bria API. | IMAGE |
| `structured_prompt` | The structured prompt that was used or generated during the editing process. | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/BriaImageEditNode/en.md)
---
-**Source fingerprint (SHA-256):** `60a5f42392ba803380695f036f78d4b88436b3d216aea381b2e3c13eeb5c5456`
+**Source fingerprint (SHA-256):** `e66aaa563a82407408f25b289011a491c8b158822fc2db8912daf73731750081`
diff --git a/built-in-nodes/BriaRemoveImageBackground.mdx b/built-in-nodes/BriaRemoveImageBackground.mdx
index 9fbff496c..3e579b9f0 100644
--- a/built-in-nodes/BriaRemoveImageBackground.mdx
+++ b/built-in-nodes/BriaRemoveImageBackground.mdx
@@ -5,27 +5,28 @@ sidebarTitle: "BriaRemoveImageBackground"
icon: "circle"
mode: wide
---
+
This node removes the background from an image using the Bria RMBG 2.0 service. It sends the image to an external API for processing and returns the result with the background removed.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image from which the background will be removed. | IMAGE | Yes | - |
| `moderation` | Moderation settings. When set to `"true"`, additional moderation options become available. | COMBO | No | `"false"` `"true"` |
| `visual_input_moderation` | Enables visual content moderation on the input image. This parameter is only available when `moderation` is set to `"true"`. Default: `False`. | BOOLEAN | No | - |
| `visual_output_moderation` | Enables visual content moderation on the output image. This parameter is only available when `moderation` is set to `"true"`. Default: `True`. | BOOLEAN | No | - |
-| `seed` | A seed value that controls whether the node should re-run. The results are non-deterministic regardless of the seed value. Default: `0`. | INT | No | 0 to 2147483647 |
+| `seed` | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. Default: `0`. | INT | No | 0 to 2147483647 |
-**Note:** The `visual_input_moderation` and `visual_output_moderation` parameters are dependent on the `moderation` parameter. They are only active and required if `moderation` is set to `"true"`.
+**Note:** The `visual_input_moderation` and `visual_output_moderation` parameters are dependent on the `moderation` parameter. They are only active when `moderation` is set to `"true"`.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The processed image with its background removed. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/BriaRemoveImageBackground/en.md)
---
-**Source fingerprint (SHA-256):** `ba1626cbe1a98eb0b20d10a2857307b7589e05ea9f39564273dbb6ceeb8b2d41`
+**Source fingerprint (SHA-256):** `f62dcd5c9406ec09f5aab44585dd7f25ae0f7d9a934faa10a58e46ef116df110`
diff --git a/built-in-nodes/BriaRemoveVideoBackground.mdx b/built-in-nodes/BriaRemoveVideoBackground.mdx
index 8aea1947e..d07c58c9a 100644
--- a/built-in-nodes/BriaRemoveVideoBackground.mdx
+++ b/built-in-nodes/BriaRemoveVideoBackground.mdx
@@ -5,25 +5,26 @@ sidebarTitle: "BriaRemoveVideoBackground"
icon: "circle"
mode: wide
---
+
This node removes the background from a video using the Bria AI service. It processes the input video and replaces the original background with a solid color of your choice. The operation is performed via an external API, and the result is returned as a new video file.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `video` | The input video file from which the background will be removed. | VIDEO | Yes | N/A |
-| `background_color` | The solid color to use as the new background for the output video. | STRING | Yes | `"Black"` `"White"` `"Gray"` `"Red"` `"Green"` `"Blue"` `"Yellow"` `"Cyan"` `"Magenta"` `"Orange"` |
-| `seed` | A seed value that controls whether the node should re-run. The results are non-deterministic regardless of the seed value. (default: 0) | INT | No | 0 to 2147483647 |
+| `background_color` | Background color for the output video. | STRING | Yes | `"Black"` `"White"` `"Gray"` `"Red"` `"Green"` `"Blue"` `"Yellow"` `"Cyan"` `"Magenta"` `"Orange"` |
+| `seed` | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. (default: 0) | INT | No | 0 to 2147483647 |
**Note:** The input video must have a duration of 60 seconds or less.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The processed video file with the background removed and replaced by the selected color. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/BriaRemoveVideoBackground/en.md)
---
-**Source fingerprint (SHA-256):** `bfff6362ab9c6664b7240926c4b84c7a1c05fd5ab450cf240a46db16e70cc6f7`
+**Source fingerprint (SHA-256):** `7a6b357f104b14cce55f68a84b07970566db8c835703dd2fd6ca7d3216dec561`
diff --git a/built-in-nodes/BriaTransparentVideoBackground.mdx b/built-in-nodes/BriaTransparentVideoBackground.mdx
index e3ebe25d0..b009204ce 100644
--- a/built-in-nodes/BriaTransparentVideoBackground.mdx
+++ b/built-in-nodes/BriaTransparentVideoBackground.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "BriaTransparentVideoBackground"
icon: "circle"
mode: wide
---
-# Bria Remove Video Background (Transparent)
This node removes the background from a video using Bria's AI service and outputs the cut-out frames along with an alpha mask. Connect both outputs to a compositing node, or feed them to a Save WEBM node to write a transparent video.
diff --git a/built-in-nodes/BriaVideoGreenScreen.mdx b/built-in-nodes/BriaVideoGreenScreen.mdx
index 23fef71ee..0560f33c8 100644
--- a/built-in-nodes/BriaVideoGreenScreen.mdx
+++ b/built-in-nodes/BriaVideoGreenScreen.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "BriaVideoGreenScreen"
icon: "circle"
mode: wide
---
-# Bria Video Green Screen
This node replaces a video's background with a solid chroma-key screen using the Bria API. It processes the input video and returns a new video where the original background has been removed and replaced with a uniform green or blue screen color.
diff --git a/built-in-nodes/BriaVideoReplaceBackground.mdx b/built-in-nodes/BriaVideoReplaceBackground.mdx
index 890329a01..c07d356dc 100644
--- a/built-in-nodes/BriaVideoReplaceBackground.mdx
+++ b/built-in-nodes/BriaVideoReplaceBackground.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "BriaVideoReplaceBackground"
icon: "circle"
mode: wide
---
-# Bria Video Replace Background
This node replaces the background of a video with a supplied image or video using Bria's API. The output keeps the foreground video's resolution and frame rate; a background with a different aspect ratio is stretched to fit, so matching aspect ratios produces undistorted results.
diff --git a/built-in-nodes/BuildJsonPromptIdeogram.mdx b/built-in-nodes/BuildJsonPromptIdeogram.mdx
new file mode 100644
index 000000000..87748bcaf
--- /dev/null
+++ b/built-in-nodes/BuildJsonPromptIdeogram.mdx
@@ -0,0 +1,37 @@
+---
+title: "BuildJsonPromptIdeogram - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the BuildJsonPromptIdeogram node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "BuildJsonPromptIdeogram"
+icon: "circle"
+mode: wide
+---
+
+This node constructs a structured JSON prompt specifically formatted for the Ideogram 4 image generation model. It organizes your text instructions, style preferences, and color palette into the required JSON structure that the model expects.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `element` | Prompt elements from the node Create Bounding Boxes. | ARRAY | Yes | - |
+| `high_level_description` | Optional description of the image in one or two sentences. Strongly recommended. (default: empty) | STRING | No | - |
+| `background` | Mandatory description of the image background or environment. (default: empty) | STRING | Yes | - |
+| `style` | The visual style category for the generated image. (default: "none") | COMBO | Yes | `"none"` `"photo"` `"art_style"` |
+| `photo` | Camera or lens details for photographic outputs (e.g. 35mm, f/1.4, bokeh). Only available when style is set to "photo". (default: empty) | STRING | No | - |
+| `art_style` | Art style description (e.g. flat vector illustration, bold outlines). Only available when style is set to "art_style". (default: empty) | STRING | No | - |
+| `aesthetics` | Mandatory aesthetic keywords (e.g. moody, cinematic, desaturated). (default: empty) | STRING | Yes | - |
+| `lighting` | Mandatory lighting description (e.g. golden hour, rim light, dramatic shadows). (default: empty) | STRING | Yes | - |
+| `medium` | Mandatory medium type (e.g. photograph, illustration, 3d_render, painting, graphic_design). When style = photo, set to photograph. (default: empty) | STRING | Yes | - |
+| `color_palette` | Hex color codes that steer the image's dominant colors. Up to 16 entries. | COLORS | No | - |
+
+**Note:** When the `style` parameter is set to "photo", the `photo` input becomes available and you should set the `medium` parameter to "photograph". When `style` is set to "art_style", the `art_style` input becomes available.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `prompt` | A structured JSON dictionary containing the high-level description, style description (if applicable), and compositional deconstruction with background and elements. | DICT |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/BuildJsonPromptIdeogram/en.md)
+
+---
+**Source fingerprint (SHA-256):** `56a045e0c7c19531e6443696c0bdf3946df066d03eea7d2d217b7d92f052592f`
diff --git a/built-in-nodes/ByteDance2FirstLastFrameNode.mdx b/built-in-nodes/ByteDance2FirstLastFrameNode.mdx
index 1c286a288..22e9e41a4 100644
--- a/built-in-nodes/ByteDance2FirstLastFrameNode.mdx
+++ b/built-in-nodes/ByteDance2FirstLastFrameNode.mdx
@@ -5,32 +5,35 @@ sidebarTitle: "ByteDance2FirstLastFrameNode"
icon: "circle"
mode: wide
---
-This node uses ByteDance's Seedance 2.0 model to generate a video. It creates the video based on a text prompt and a required first frame image. You can optionally provide a last frame image to guide the ending of the video sequence.
+
+This node uses ByteDance's Seedance 2.0 model to generate a video from a required first frame image and an optional last frame image. It creates the video based on a text prompt and the provided frames, with the first frame guiding the start and the last frame guiding the end of the video sequence.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The model to use for video generation. Seedance 2.0 is for maximum quality, while Seedance 2.0 Fast is optimized for speed. Selecting a model will reveal additional inputs for `prompt`, `resolution`, `ratio`, `duration`, and `generate_audio`. | COMBO | Yes | `"Seedance 2.0"` `"Seedance 2.0 Fast"` |
| `first_frame` | The image to use as the first frame of the video. | IMAGE | No | - |
| `last_frame` | The image to use as the last frame of the video. | IMAGE | No | - |
| `first_frame_asset_id` | A Seedance asset_id to use as the first frame. This cannot be used at the same time as the `first_frame` image input. Default is an empty string. | STRING | No | - |
| `last_frame_asset_id` | A Seedance asset_id to use as the last frame. This cannot be used at the same time as the `last_frame` image input. Default is an empty string. | STRING | No | - |
-| `seed` | A seed value. Changing this seed will cause the node to re-run, but the results are non-deterministic. Default is 0. | INT | No | 0 to 2147483647 |
+| `seed` | A seed value. Changing this seed will cause the node to re-run, but the results are non-deterministic regardless of seed value. Default is 0. | INT | No | 0 to 2147483647 |
| `watermark` | Whether to add a watermark to the generated video. Default is False. | BOOLEAN | No | - |
**Parameter Constraints:**
* You must provide **either** a `first_frame` image **or** a `first_frame_asset_id`. Providing both will cause an error.
+* You must provide at least one of `first_frame` or `first_frame_asset_id` — at least one is required.
* You cannot provide both a `last_frame` image and a `last_frame_asset_id` for the same frame.
* The `model` input is a dynamic combo. After selecting a model, you must also fill in the revealed `prompt` field (a text description) and configure the other revealed parameters (`resolution`, `ratio`, `duration`, `generate_audio`).
+* When using local image inputs (not asset IDs), the images must have an aspect ratio between 0.4 and 2.5, and minimum dimensions of 300x300 pixels.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDance2FirstLastFrameNode/en.md)
---
-**Source fingerprint (SHA-256):** `434d6ad8f005515677b0de73b57df916aa589adff94aad892827202e6ebcb6e1`
+**Source fingerprint (SHA-256):** `74953cfc8f474a1b5ba7e4765682fd86693e43df87ba59e6d3e615e51293ab07`
diff --git a/built-in-nodes/ByteDance2ReferenceNode.mdx b/built-in-nodes/ByteDance2ReferenceNode.mdx
index a52f56e93..3db8bcf5c 100644
--- a/built-in-nodes/ByteDance2ReferenceNode.mdx
+++ b/built-in-nodes/ByteDance2ReferenceNode.mdx
@@ -5,31 +5,32 @@ sidebarTitle: "ByteDance2ReferenceNode"
icon: "circle"
mode: wide
---
-The ByteDance Seedance 2.0 Reference to Video node uses the Seedance 2.0 AI model to create, edit, or extend videos based on your text prompt and provided reference materials. It can use images, videos, and audio as references to guide the generation process, supporting tasks like video editing and extension.
+
+The ByteDance Seedance 2.0 Reference to Video node uses the Seedance 2.0 AI model to create, edit, or extend videos based on your text prompt and provided reference materials. It can use images, videos, and audio as references to guide the generation process, supporting tasks like video editing and video extension.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The AI model to use. Seedance 2.0 is for maximum quality, while Seedance 2.0 Fast is optimized for speed. Selecting a model reveals additional required inputs for `prompt`, `resolution`, `duration`, `ratio`, `generate_audio`, and optional inputs for `reference_images`, `reference_videos`, `reference_audios`, `reference_assets`, and `auto_downscale`. | COMBO | Yes | `"Seedance 2.0"` `"Seedance 2.0 Fast"` |
| `seed` | A number used to control whether the node should re-run. The results are non-deterministic regardless of the seed value (default: 0). | INT | No | 0 to 2147483647 |
| `watermark` | Whether to add a watermark to the generated video (default: False). | BOOLEAN | No | `True` / `False` |
**Important Constraints:**
-* At least one reference image or video (provided via the `reference_images`, `reference_videos`, or `reference_assets` inputs) is required for the node to work.
-* A maximum of 9 reference images can be used in total (including those from `reference_images` and `reference_assets`).
-* A maximum of 3 reference videos can be used in total (including those from `reference_videos` and `reference_assets`).
-* A maximum of 3 reference audio clips can be used in total (including those from `reference_audios` and `reference_assets`).
-* Each reference video must be at least 1.8 seconds long. The combined duration of all reference videos cannot exceed 15.1 seconds.
-* Each reference audio clip must be at least 1.8 seconds long. The combined duration of all reference audio cannot exceed 15.1 seconds.
+* At least one reference image or video (provided via the `reference_images`, `reference_videos`, or `reference_assets` inputs) is required for the node to work.
+* A maximum of 9 reference images can be used in total (including those from `reference_images` and `reference_assets`).
+* A maximum of 3 reference videos can be used in total (including those from `reference_videos` and `reference_assets`).
+* A maximum of 3 reference audio clips can be used in total (including those from `reference_audios` and `reference_assets`).
+* Each reference video must be at least 1.8 seconds long. The combined duration of all reference videos cannot exceed 15.1 seconds.
+* Each reference audio clip must be at least 1.8 seconds long. The combined duration of all reference audio cannot exceed 15.1 seconds.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `video` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDance2ReferenceNode/en.md)
---
-**Source fingerprint (SHA-256):** `4420682a5c2773ce1b4df2f4c9537754ec90ad8411d6332fa38d48f5ea88d66f`
+**Source fingerprint (SHA-256):** `434b22e9d08b56583db6e35cea2b0348cd758f60acf218838277c97f05910a27`
diff --git a/built-in-nodes/ByteDance2TextToVideoNode.mdx b/built-in-nodes/ByteDance2TextToVideoNode.mdx
index 5dd43596d..fe2993c3b 100644
--- a/built-in-nodes/ByteDance2TextToVideoNode.mdx
+++ b/built-in-nodes/ByteDance2TextToVideoNode.mdx
@@ -5,25 +5,26 @@ sidebarTitle: "ByteDance2TextToVideoNode"
icon: "circle"
mode: wide
---
+
This node uses ByteDance's Seedance 2.0 API to generate a video from a text description. It sends your prompt to the selected model, waits for the video to be processed, and returns the final result.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The model to use for video generation. Selecting a model will reveal additional required inputs for the prompt, resolution, aspect ratio, duration, and audio generation. "Seedance 2.0" is for maximum quality; "Seedance 2.0 Fast" is for speed optimization. | COMBO | Yes | `"Seedance 2.0"` `"Seedance 2.0 Fast"` |
| `seed` | A seed value (default: 0). The node will re-run if this value changes, but the results are non-deterministic regardless of the seed. | INT | No | 0 to 2147483647 |
| `watermark` | Whether to add a watermark to the video (default: False). This is an advanced setting. | BOOLEAN | No | True / False |
-**Note:** The `model` parameter is a dynamic combo. When you select a model, it will reveal several required sub-parameters that must be filled in, including the text prompt, resolution, aspect ratio, duration, and whether to generate audio. The prompt text must be at least 1 character long after removing whitespace.
+**Note:** The `model` parameter is a dynamic combo. When you select a model, it will reveal several required sub-parameters that must be filled in, including the text prompt, resolution, aspect ratio, duration, and whether to generate audio. The prompt text must be at least 1 character long after removing whitespace. The "Seedance 2.0" model supports 480p, 720p, and 1080p resolutions, while "Seedance 2.0 Fast" supports 480p and 720p resolutions.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `video` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDance2TextToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `670a35641fa421fb67ea067cdf38aff0d0fb51056ecc26485b5594e944adbbc8`
+**Source fingerprint (SHA-256):** `a540b96cf204f2af751da90cbbee30be9588069794ef833ccb0218a4ff0c2af5`
diff --git a/built-in-nodes/ByteDanceCreateImageAsset.mdx b/built-in-nodes/ByteDanceCreateImageAsset.mdx
index 675dda278..a286165ef 100644
--- a/built-in-nodes/ByteDanceCreateImageAsset.mdx
+++ b/built-in-nodes/ByteDanceCreateImageAsset.mdx
@@ -5,28 +5,29 @@ sidebarTitle: "ByteDanceCreateImageAsset"
icon: "circle"
mode: wide
---
+
This node creates a personal image asset for ByteDance's Seedance 2.0 service. It uploads an input image and registers it within a specified asset group. If no group ID is provided, it will initiate a real-person authentication process in your browser to create a new group before adding the asset.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The image to be registered as a personal asset. | IMAGE | Yes | |
| `group_id` | Reuse an existing Seedance asset group ID to skip repeated human verification for the same person. Leave empty to run real-person authentication in the browser and create a new group (default: empty). | STRING | No | |
**Image Constraints:**
-* The image width must be between 300 and 6000 pixels.
-* The image height must be between 300 and 6000 pixels.
-* The image aspect ratio must be between 0.4:1 and 2.5:1.
+- The image width must be between 300 and 6000 pixels.
+- The image height must be between 300 and 6000 pixels.
+- The image aspect ratio must be between 0.4:1 and 2.5:1.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `asset_id` | The unique identifier for the newly created image asset. | STRING |
| `group_id` | The identifier for the asset group. This will be the provided `group_id` or a newly created one. | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDanceCreateImageAsset/en.md)
---
-**Source fingerprint (SHA-256):** `16e55191af67306bf995c8508f56b64491d2a107e168a3dddb4a05f3468cf103`
+**Source fingerprint (SHA-256):** `44d2bc880cbd8780ce1deb27eee5e41dc43973653751b0022a2631df725b155d`
diff --git a/built-in-nodes/ByteDanceCreateVideoAsset.mdx b/built-in-nodes/ByteDanceCreateVideoAsset.mdx
index b60f68943..68ec2d3c2 100644
--- a/built-in-nodes/ByteDanceCreateVideoAsset.mdx
+++ b/built-in-nodes/ByteDanceCreateVideoAsset.mdx
@@ -5,30 +5,31 @@ sidebarTitle: "ByteDanceCreateVideoAsset"
icon: "circle"
mode: wide
---
+
This node creates a personal video asset for Seedance 2.0. It uploads your input video and registers it within a specified asset group. If you don't provide a group ID, it will guide you through a real-person verification process in your browser to create a new group first.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `video` | Video to register as a personal asset. | VIDEO | Yes | - |
| `group_id` | Reuse an existing Seedance asset group ID to skip repeated human verification for the same person. Leave empty to run real-person authentication in the browser and create a new group. (default: empty string) | STRING | No | - |
**Video Constraints:**
-* **Duration:** Must be between 2 and 15 seconds.
-* **Dimensions:** Width and height must each be between 300 and 6000 pixels.
-* **Aspect Ratio:** The width-to-height ratio must be between 0.4 and 2.5.
-* **Total Pixels:** The total number of pixels (width × height) must be between 409,600 and 927,408.
-* **Frame Rate:** Must be between 24 and 60 frames per second (FPS).
+- **Duration:** Must be between 2 and 15 seconds.
+- **Dimensions:** Width and height must each be between 300 and 6000 pixels.
+- **Aspect Ratio:** The width-to-height ratio must be between 0.4 and 2.5.
+- **Total Pixels:** The total number of pixels (width × height) must be between 409,600 and 927,408.
+- **Frame Rate:** Must be between 24 and 60 frames per second (FPS).
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `asset_id` | The unique identifier for the newly created video asset. | STRING |
| `group_id` | The identifier of the asset group containing the new video. This will be the provided `group_id` or a newly created one. | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDanceCreateVideoAsset/en.md)
---
-**Source fingerprint (SHA-256):** `6598a586dae18811698bd505333ec45b7d2a60aa85728a38e5de790c5bacbdb7`
+**Source fingerprint (SHA-256):** `2c7376185f3273a80c763c2c9bd41305575b58e7902200ff77bebb609aea58b8`
diff --git a/built-in-nodes/ByteDanceFirstLastFrameNode.mdx b/built-in-nodes/ByteDanceFirstLastFrameNode.mdx
index fc2e73325..9f5d98f0c 100644
--- a/built-in-nodes/ByteDanceFirstLastFrameNode.mdx
+++ b/built-in-nodes/ByteDanceFirstLastFrameNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ByteDanceFirstLastFrameNode"
icon: "circle"
mode: wide
---
+
This node generates a video using a text prompt along with first and last frame images. It takes your description and the two key frames to create a complete video sequence that transitions between them. The node provides various options to control the video's resolution, aspect ratio, duration, and other generation parameters.
## Inputs
@@ -32,4 +33,4 @@ This node generates a video using a text prompt along with first and last frame
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDanceFirstLastFrameNode/en.md)
---
-**Source fingerprint (SHA-256):** `ac16faf3aabcb06154c6a8815cc20c8a0e0c3a6b5b21e7d49813c10dce33d7be`
+**Source fingerprint (SHA-256):** `56b619d191c0a78ac51eaddf93c86f6ec85a486cc4e6d0e021c1e58b4df29189`
diff --git a/built-in-nodes/ByteDanceImageEditNode.mdx b/built-in-nodes/ByteDanceImageEditNode.mdx
index 3f6d87068..4b528032d 100644
--- a/built-in-nodes/ByteDanceImageEditNode.mdx
+++ b/built-in-nodes/ByteDanceImageEditNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ByteDanceImageEditNode"
icon: "circle"
mode: wide
---
+
The ByteDance Image Edit node allows you to modify images using ByteDance's AI models through an API. You provide an input image and a text prompt describing the desired changes, and the node processes the image according to your instructions. The node handles the API communication automatically and returns the edited image.
## Inputs
diff --git a/built-in-nodes/ByteDanceImageNode.mdx b/built-in-nodes/ByteDanceImageNode.mdx
index aff04fd94..8e91c815b 100644
--- a/built-in-nodes/ByteDanceImageNode.mdx
+++ b/built-in-nodes/ByteDanceImageNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "ByteDanceImageNode"
icon: "circle"
mode: wide
---
+
The ByteDance Image node generates images using ByteDance models through an API based on text prompts. It allows you to select a model, specify image dimensions, and control various generation parameters like seed and guidance scale. The node connects to ByteDance's image generation service and returns the created image.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The ByteDance model to use for image generation. Currently only one model option is available. | STRING | Yes | `"seedream-3-0-t2i-250415"` |
| `prompt` | The text prompt used to generate the image. Must be at least 1 character long after stripping whitespace. | STRING | Yes | - |
| `size_preset` | Pick a recommended size. Select Custom to use the width and height below. Available presets are defined by the `RECOMMENDED_PRESETS` list. | STRING | Yes | See description |
@@ -25,10 +26,10 @@ The ByteDance Image node generates images using ByteDance models through an API
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `IMAGE` | The generated image returned from the ByteDance API as a tensor. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDanceImageNode/en.md)
---
-**Source fingerprint (SHA-256):** `69c1f6fd24e6e184b1a1d785b541c8962f3751d2bbd121d6a3b105d66d58d4b1`
+**Source fingerprint (SHA-256):** `0b40c75ca43ef3cccbc644e64822f701a0d772decacd813c58d7d5ac60c230a1`
diff --git a/built-in-nodes/ByteDanceImageReferenceNode.mdx b/built-in-nodes/ByteDanceImageReferenceNode.mdx
index f7ac1669f..091bf0a0e 100644
--- a/built-in-nodes/ByteDanceImageReferenceNode.mdx
+++ b/built-in-nodes/ByteDanceImageReferenceNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "ByteDanceImageReferenceNode"
icon: "circle"
mode: wide
---
+
The ByteDance Image Reference Node generates videos using a text prompt and one to four reference images. It sends the images and prompt to an external API service that creates a video matching your description while incorporating the visual style and content from your reference images. The node provides various controls for video resolution, aspect ratio, duration, and other generation parameters.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The AI model to use for video generation (default: `"seedance-1-0-lite-i2v-250428"`). | STRING | Yes | `"seedance-1-0-pro-250528"` `"seedance-1-0-lite-i2v-250428"` |
| `prompt` | The text prompt used to generate the video. | STRING | Yes | - |
| `images` | One to four images. Each image must be between 300x300 and 6000x6000 pixels, with an aspect ratio between 0.4 and 2.5. | IMAGE | Yes | - |
@@ -25,10 +26,10 @@ The ByteDance Image Reference Node generates videos using a text prompt and one
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video file based on the input prompt and reference images. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDanceImageReferenceNode/en.md)
---
-**Source fingerprint (SHA-256):** `5365f846cafc80333bc8db5bce9101d83e69f3aae1625f275de7a172623a54b9`
+**Source fingerprint (SHA-256):** `77a0f9aee920d07a1374eaec8489eed494a4505369246c16007765d67e52ef99`
diff --git a/built-in-nodes/ByteDanceImageToVideoNode.mdx b/built-in-nodes/ByteDanceImageToVideoNode.mdx
index ade73cbba..306da5430 100644
--- a/built-in-nodes/ByteDanceImageToVideoNode.mdx
+++ b/built-in-nodes/ByteDanceImageToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "ByteDanceImageToVideoNode"
icon: "circle"
mode: wide
---
+
The ByteDance Image to Video node generates videos using ByteDance models through an API based on an input image and text prompt. It takes a starting image frame and creates a video sequence that follows the provided description. The node offers various customization options for video resolution, aspect ratio, duration, and other generation parameters.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The ByteDance model to use for video generation (default: `"seedance-1-0-pro-fast-251015"`). | STRING | Yes | `"seedance-1-5-pro-251215"` `"seedance-1-0-pro-250528"` `"seedance-1-0-lite-i2v-250428"` `"seedance-1-0-pro-fast-251015"` |
| `prompt` | The text prompt used to generate the video. Must be at least 1 character long after trimming whitespace. | STRING | Yes | - |
| `image` | First frame to be used for the video. Must be between 300x300 and 6000x6000 pixels, with an aspect ratio between 0.4 and 2.5. | IMAGE | Yes | - |
@@ -27,10 +28,10 @@ The ByteDance Image to Video node generates videos using ByteDance models throug
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video file based on the input image and prompt parameters. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDanceImageToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `7b77df4ab83ef41164eff80a4c02478d5480c9368aa67bcd624fe2f8375d6e07`
+**Source fingerprint (SHA-256):** `3f95a381c8df083ec4cb417de0146efa68c0251b14697f6cc727be66c87cc761`
diff --git a/built-in-nodes/ByteDanceSeedAudio.mdx b/built-in-nodes/ByteDanceSeedAudio.mdx
new file mode 100644
index 000000000..aa5b5816e
--- /dev/null
+++ b/built-in-nodes/ByteDanceSeedAudio.mdx
@@ -0,0 +1,49 @@
+---
+title: "ByteDanceSeedAudio - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the ByteDanceSeedAudio node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "ByteDanceSeedAudio"
+icon: "circle"
+mode: wide
+---
+
+Generate speech, music, sound effects and multi-speaker dialogue from a single prompt with ByteDance Seed Audio 1.0. Describe the voice(s), emotion, ambience, background music and sound effects in the prompt, and include the lines to speak. Optionally pick a built-in preset voice, clone voices from up to 3 reference clips (tagged @Audio1-3 in the prompt), or derive a voice from a character image. Up to 2 minutes of audio per run.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `text_prompt` | Describe the voice(s), emotion, pacing, ambience, background music and sound effects, and include the lines to speak (name characters inline for dialogue). In 'audio reference' mode, refer to connected clips by order as @Audio1, @Audio2, @Audio3. Maximum 3000 characters. | STRING | Yes | 1 to 3000 characters |
+| `reference_mode` | How to condition the voice: 'text only' (describe everything in the prompt), 'audio reference' (clone up to 3 voices, tagged @Audio1-3), 'image reference' (derive a voice from one character image), or 'preset voice' (pick a built-in named voice that reads the prompt). | COMBO | Yes | `"text only"` `"audio reference"` `"image reference"` `"preset voice"` |
+| `reference_audio_1` | Reference clip for voice cloning, tagged @Audio1 in the prompt. Up to 30s. Only available when `reference_mode` is "audio reference". | AUDIO | No | Up to 30 seconds |
+| `reference_audio_2` | Reference clip tagged @Audio2 in the prompt. Up to 30s. Only available when `reference_mode` is "audio reference". | AUDIO | No | Up to 30 seconds |
+| `reference_audio_3` | Reference clip tagged @Audio3 in the prompt. Up to 30s. Only available when `reference_mode` is "audio reference". | AUDIO | No | Up to 30 seconds |
+| `reference_image` | A single character image; the model derives a voice from it. Cannot be combined with reference audio. Only available when `reference_mode` is "image reference". | IMAGE | No | - |
+| `preset_voice` | A built-in TTS 2.0 voice that reads the prompt. No reference clip needed, and @AudioN tags are not used in this mode. Only available when `reference_mode` is "preset voice". | COMBO | No | Multiple options available (see description) |
+| `sample_rate` | Output sample rate in Hz. (default: "24000") | COMBO | Yes | `"8000"` `"16000"` `"24000"` `"32000"` `"44100"` `"48000"` |
+| `speech_rate` | Speaking speed. 0 = normal, 100 = 2.0x, -50 = 0.5x. (default: 0) | INT | Yes | -50 to 100 |
+| `loudness_rate` | Loudness. 0 = normal, 100 = 2.0x, -50 = 0.5x. (default: 0) | INT | Yes | -50 to 100 |
+| `pitch_rate` | Pitch shift in semitones (-12 to 12). (default: 0) | INT | Yes | -12 to 12 |
+| `seed` | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. (default: 42) | INT | Yes | 0 to 2147483647 |
+
+### Parameter Constraints
+
+- **Reference mode dependencies**: The `reference_mode` parameter determines which other inputs are required:
+ - **"text only"**: No additional inputs required. The prompt must not contain @AudioN tags.
+ - **"audio reference"**: Requires at least one of `reference_audio_1`, `reference_audio_2`, or `reference_audio_3` to be connected. Reference clips must be connected in order without gaps (e.g., _1, then _2, then _3). Each clip is limited to 30 seconds maximum duration. The prompt must reference connected clips using @Audio1, @Audio2, @Audio3 tags.
+ - **"image reference"**: Requires `reference_image` to be connected. The prompt must not contain @AudioN tags.
+ - **"preset voice"**: Requires `preset_voice` to be selected. The prompt must not contain @AudioN tags (the entire prompt is read in the selected voice).
+
+- **Audio reference ordering**: When using "audio reference" mode, reference audio inputs must be connected sequentially starting from `reference_audio_1` without gaps. For example, you can connect _1 and _2, but not _1 and _3 without _2.
+
+- **Maximum audio tags**: The prompt can reference up to 3 audio clips (@Audio1, @Audio2, @Audio3) when in "audio reference" mode. The highest numbered tag must not exceed the number of connected reference audio inputs.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `AUDIO` | The generated audio output from ByteDance Seed Audio 1.0, containing speech, music, sound effects, or multi-speaker dialogue as described in the prompt. | AUDIO |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDanceSeedAudio/en.md)
+
+---
+**Source fingerprint (SHA-256):** `cefd5fca496b02c35022d25be3d99d3911c1304b6e3a751751b58841d5895ef7`
diff --git a/built-in-nodes/ByteDanceSeedNode.mdx b/built-in-nodes/ByteDanceSeedNode.mdx
index 71c32af64..a3f6c5399 100644
--- a/built-in-nodes/ByteDanceSeedNode.mdx
+++ b/built-in-nodes/ByteDanceSeedNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ByteDanceSeedNode"
icon: "circle"
mode: wide
---
+
## Overview
Generate text responses using ByteDance's Seed 2.0 models. Provide a text prompt and optionally include images or videos for multimodal context.
@@ -12,7 +13,7 @@ Generate text responses using ByteDance's Seed 2.0 models. Provide a text prompt
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text input to the model. | STRING | Yes | N/A |
| `model` | The Seed model used to generate the response. | COMBO | Yes | `"Seed 2.0 Pro"` `"Seed 2.0 Lite"` `"Seed 2.0 Mini"` |
| `seed` | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. (default: 0) | INT | Yes | 0 to 2147483647 |
@@ -23,10 +24,10 @@ Generate text responses using ByteDance's Seed 2.0 models. Provide a text prompt
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated text response from the Seed model. | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDanceSeedNode/en.md)
---
-**Source fingerprint (SHA-256):** `d1ef73cf72e88216d40c0cf727f90c40cf783cecabe3be0e7530fe72dba6c172`
+**Source fingerprint (SHA-256):** `676c53f00c5368e145a1241f376d2c1624a11e4c06f691c3416ae5e2e46d5c71`
diff --git a/built-in-nodes/ByteDanceSeedreamNode.mdx b/built-in-nodes/ByteDanceSeedreamNode.mdx
index 824f2b8c5..1b445fca9 100644
--- a/built-in-nodes/ByteDanceSeedreamNode.mdx
+++ b/built-in-nodes/ByteDanceSeedreamNode.mdx
@@ -5,16 +5,17 @@ sidebarTitle: "ByteDanceSeedreamNode"
icon: "circle"
mode: wide
---
+
The ByteDance Seedream 4.5 & 5.0 node provides unified text-to-image generation and precise single-sentence editing capabilities at up to 4K resolution. It can create new images from text prompts or edit existing images using text instructions. The node supports both single image generation and sequential generation of multiple related images.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The Seedream model to use for generation. | STRING | Yes | "seedream 5.0 lite" "seedream-4-5-251128" "seedream-4-0-250828" |
| `prompt` | Text prompt for creating or editing an image. Must be at least 1 character long. | STRING | Yes | - |
| `image` | Input image(s) for image-to-image generation. Reference image(s) for single or multi-reference generation. Maximum of 14 reference images for seedream-5-0-260128, or 10 for other models. | IMAGE | No | - |
-| `size_preset` | Pick a recommended size. Select Custom to use the width and height below. Default: first preset from RECOMMENDED_PRESETS_SEEDREAM_4. | STRING | No | Multiple options available |
+| `size_preset` | Pick a recommended size. Select Custom to use the width and height below. | STRING | No | Multiple options available |
| `width` | Custom width for image. Value is working only if `size_preset` is set to `Custom`. Default: 2048. | INT | No | 1024 to 6240 (step 2) |
| `height` | Custom height for image. Value is working only if `size_preset` is set to `Custom`. Default: 2048. | INT | No | 1024 to 4992 (step 2) |
| `sequential_image_generation` | Group image generation mode. "disabled" generates a single image. "auto" lets the model decide whether to generate multiple related images (e.g., story scenes, character variations). Default: "disabled". | STRING | No | "disabled" "auto" |
@@ -33,10 +34,10 @@ The ByteDance Seedream 4.5 & 5.0 node provides unified text-to-image generation
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `IMAGE` | Generated image(s) based on the input parameters and prompt. Returns a single image tensor or a batch of image tensors if multiple images are generated. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDanceSeedreamNode/en.md)
---
-**Source fingerprint (SHA-256):** `daddffc265ab7b24746337825239c25b633a923804b6e5ad11149aea15772a7f`
+**Source fingerprint (SHA-256):** `942c75386abd5f2f352b584b51b0f9adbf2ccba2829ee8072173bdc1a407543f`
diff --git a/built-in-nodes/ByteDanceSeedreamNodeV2.mdx b/built-in-nodes/ByteDanceSeedreamNodeV2.mdx
index fa194242e..ec446ffd2 100644
--- a/built-in-nodes/ByteDanceSeedreamNodeV2.mdx
+++ b/built-in-nodes/ByteDanceSeedreamNodeV2.mdx
@@ -5,14 +5,13 @@ sidebarTitle: "ByteDanceSeedreamNodeV2"
icon: "circle"
mode: wide
---
-## Overview
This node generates or edits images using ByteDance's Seedream models (versions 4.0, 4.5, and 5.0 Lite). It can create new images from a text prompt or edit existing images by providing reference images, supporting resolutions up to 4K.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text prompt for creating or editing an image. | STRING | Yes | N/A |
| `model` | The Seedream model version to use for generation. Each model has different capabilities and pricing. | COMBO | Yes | `"seedream 5.0 lite"` `"seedream-4-5-251128"` `"seedream-4-0-250828"` |
| `seed` | Seed to use for generation (default: 0). | INT | No | 0 to 2147483647 |
@@ -44,10 +43,10 @@ When you select a model, additional parameters become available:
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The generated or edited image as a tensor. If multiple images were requested, they are concatenated into a single batch. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDanceSeedreamNodeV2/en.md)
---
-**Source fingerprint (SHA-256):** `6a98d2c1f1e73e304970115bc6dd3ea24ca3cdf440803eed862b7a1ea8d394ce`
+**Source fingerprint (SHA-256):** `a5d58211c716f916b7920ee454d3f2aa3e2af6de666e783bb25d44700ba83569`
diff --git a/built-in-nodes/ByteDanceTextToVideoNode.mdx b/built-in-nodes/ByteDanceTextToVideoNode.mdx
index 36dcf5c79..bb9b52eed 100644
--- a/built-in-nodes/ByteDanceTextToVideoNode.mdx
+++ b/built-in-nodes/ByteDanceTextToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "ByteDanceTextToVideoNode"
icon: "circle"
mode: wide
---
+
The ByteDance Text to Video node generates videos using ByteDance models through an API based on text prompts. It takes a text description and various video settings as input, then creates a video that matches the provided specifications. The node handles the API communication and returns the generated video as output.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The ByteDance model to use for generation (default: `"seedance-1-0-pro-fast-251015"`). | STRING | Yes | `"seedance-1-5-pro-251215"` `"seedance-1-0-pro-250528"` `"seedance-1-0-lite-t2v-250428"` `"seedance-1-0-pro-fast-251015"` |
| `prompt` | The text prompt used to generate the video. | STRING | Yes | - |
| `resolution` | The resolution of the output video. | STRING | Yes | `"480p"` `"720p"` `"1080p"` |
@@ -32,10 +33,10 @@ The ByteDance Text to Video node generates videos using ByteDance models through
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video file | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ByteDanceTextToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `a16c07e920a0e96e3e14eec33e5b4e3393e924970528365b326ef32887d64766`
+**Source fingerprint (SHA-256):** `b3c0de590278ebc95ff1f965f97b6c347cd507ee0900b0f9ce2acc1bf9af78b4`
diff --git a/built-in-nodes/CFGGuider.mdx b/built-in-nodes/CFGGuider.mdx
index d086b86ac..4fdf329d7 100644
--- a/built-in-nodes/CFGGuider.mdx
+++ b/built-in-nodes/CFGGuider.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CFGGuider"
icon: "circle"
mode: wide
---
+
The CFGGuider node creates a guidance system for controlling the sampling process in image generation. It takes a model along with positive and negative conditioning inputs, then applies a classifier-free guidance scale to steer the generation toward desired content while avoiding unwanted elements. This node outputs a guider object that can be used by sampling nodes to control the image generation direction.
## Inputs
diff --git a/built-in-nodes/CFGNorm.mdx b/built-in-nodes/CFGNorm.mdx
index ee0f2a16d..4f82e78c5 100644
--- a/built-in-nodes/CFGNorm.mdx
+++ b/built-in-nodes/CFGNorm.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CFGNorm"
icon: "circle"
mode: wide
---
+
The CFGNorm node applies a normalization technique to the classifier-free guidance (CFG) process in diffusion models. It adjusts the scale of the denoised prediction by comparing the norms of the conditional and unconditional outputs, then applies a strength multiplier to control the effect. This helps stabilize the generation process by preventing extreme values in the guidance scaling.
## Inputs
diff --git a/built-in-nodes/CFGOverride.mdx b/built-in-nodes/CFGOverride.mdx
index 6eddd872b..8dc1a01b5 100644
--- a/built-in-nodes/CFGOverride.mdx
+++ b/built-in-nodes/CFGOverride.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "CFGOverride"
icon: "circle"
mode: wide
---
-# CFG Override
The CFG Override node allows you to set a fixed CFG (Classifier-Free Guidance) scale value for a specific range of the sampling process, defined as a percentage of the total steps. When multiple CFG Override nodes are connected, the one closest to the sampler in the chain takes priority for overlapping ranges.
diff --git a/built-in-nodes/CFGZeroStar.mdx b/built-in-nodes/CFGZeroStar.mdx
index d11e26978..1f91db8ba 100644
--- a/built-in-nodes/CFGZeroStar.mdx
+++ b/built-in-nodes/CFGZeroStar.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CFGZeroStar"
icon: "circle"
mode: wide
---
+
The CFGZeroStar node applies a specialized guidance scaling technique to diffusion models. It modifies the classifier-free guidance process by calculating an optimized scale factor based on the difference between conditional and unconditional predictions. This approach adjusts the final output to provide enhanced control over the generation process while maintaining model stability.
## Inputs
diff --git a/built-in-nodes/CLIPAttentionMultiply.mdx b/built-in-nodes/CLIPAttentionMultiply.mdx
index c3e1ff2e1..7eb776f65 100644
--- a/built-in-nodes/CLIPAttentionMultiply.mdx
+++ b/built-in-nodes/CLIPAttentionMultiply.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPAttentionMultiply"
icon: "circle"
mode: wide
---
+
The CLIPAttentionMultiply node allows you to adjust the attention mechanism in CLIP models by applying multiplication factors to different components of the self-attention layers. It works by modifying the query, key, value, and output projection weights and biases in the CLIP model's attention mechanism. This experimental node creates a modified copy of the input CLIP model with the specified scaling factors applied.
## Inputs
diff --git a/built-in-nodes/CLIPMergeAdd.mdx b/built-in-nodes/CLIPMergeAdd.mdx
index b5dd2d353..bcec7fb86 100644
--- a/built-in-nodes/CLIPMergeAdd.mdx
+++ b/built-in-nodes/CLIPMergeAdd.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPMergeAdd"
icon: "circle"
mode: wide
---
+
The CLIPMergeAdd node combines two CLIP models by adding patches from the second model to the first model. It creates a copy of the first CLIP model and selectively incorporates key patches from the second model, excluding position IDs and logit scale parameters. This allows you to merge CLIP model components while preserving the structure of the base model.
## Inputs
diff --git a/built-in-nodes/CLIPMergeSubtract.mdx b/built-in-nodes/CLIPMergeSubtract.mdx
index c177af62c..9053f3da0 100644
--- a/built-in-nodes/CLIPMergeSubtract.mdx
+++ b/built-in-nodes/CLIPMergeSubtract.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPMergeSubtract"
icon: "circle"
mode: wide
---
+
The CLIPMergeSubtract node performs model merging by subtracting the weights of one CLIP model from another. It creates a new CLIP model by cloning the first model and then subtracting the key patches from the second model, with an adjustable multiplier to control the subtraction strength. This allows for fine-tuned model blending by removing specific characteristics from the base model.
## Inputs
diff --git a/built-in-nodes/CLIPTextEncodeControlnet.mdx b/built-in-nodes/CLIPTextEncodeControlnet.mdx
index 1795bd01f..2f5284914 100644
--- a/built-in-nodes/CLIPTextEncodeControlnet.mdx
+++ b/built-in-nodes/CLIPTextEncodeControlnet.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPTextEncodeControlnet"
icon: "circle"
mode: wide
---
+
The CLIPTextEncodeControlnet node processes text input using a CLIP model and combines it with existing conditioning data to create enhanced conditioning output for controlnet applications. It tokenizes the input text, encodes it through the CLIP model, and adds the resulting embeddings to the provided conditioning data as cross-attention controlnet parameters.
## Inputs
diff --git a/built-in-nodes/CLIPTextEncodeHiDream.mdx b/built-in-nodes/CLIPTextEncodeHiDream.mdx
index f33ef7d08..d460384d1 100644
--- a/built-in-nodes/CLIPTextEncodeHiDream.mdx
+++ b/built-in-nodes/CLIPTextEncodeHiDream.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPTextEncodeHiDream"
icon: "circle"
mode: wide
---
+
The CLIPTextEncodeHiDream node processes four separate text inputs using different language models (CLIP-L, CLIP-G, T5-XXL, and LLaMA) and combines them into a single conditioning output. It tokenizes each text input with its corresponding model and encodes them together using a scheduled encoding approach, enabling more sophisticated text conditioning by leveraging multiple language models simultaneously.
## Inputs
diff --git a/built-in-nodes/CLIPTextEncodeKandinsky5.mdx b/built-in-nodes/CLIPTextEncodeKandinsky5.mdx
index 1041fcc3e..e14358550 100644
--- a/built-in-nodes/CLIPTextEncodeKandinsky5.mdx
+++ b/built-in-nodes/CLIPTextEncodeKandinsky5.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPTextEncodeKandinsky5"
icon: "circle"
mode: wide
---
+
The CLIPTextEncodeKandinsky5 node prepares text prompts for use with the Kandinsky 5 model. It takes two separate text inputs, tokenizes them using a provided CLIP model, and combines them into a single conditioning output. This output is used to guide the image generation process.
## Inputs
diff --git a/built-in-nodes/CLIPTextEncodeLumina2.mdx b/built-in-nodes/CLIPTextEncodeLumina2.mdx
index b3ec19a5c..b70395c41 100644
--- a/built-in-nodes/CLIPTextEncodeLumina2.mdx
+++ b/built-in-nodes/CLIPTextEncodeLumina2.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPTextEncodeLumina2"
icon: "circle"
mode: wide
---
+
The CLIP Text Encode for Lumina2 node encodes a system prompt and a user prompt using a CLIP model into an embedding that can guide the diffusion model to generate specific images. It combines a pre-defined system prompt with your custom text prompt and processes them through the CLIP model to create conditioning data for image generation.
## Inputs
diff --git a/built-in-nodes/CLIPTextEncodePixArtAlpha.mdx b/built-in-nodes/CLIPTextEncodePixArtAlpha.mdx
index 85a8c3d58..500f0b8af 100644
--- a/built-in-nodes/CLIPTextEncodePixArtAlpha.mdx
+++ b/built-in-nodes/CLIPTextEncodePixArtAlpha.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPTextEncodePixArtAlpha"
icon: "circle"
mode: wide
---
+
Encodes text and sets the resolution conditioning for PixArt Alpha. This node processes text input and adds width and height information to create conditioning data specifically for PixArt Alpha models. It does not apply to PixArt Sigma models.
## Inputs
diff --git a/built-in-nodes/CLIPTextEncodeSD3.mdx b/built-in-nodes/CLIPTextEncodeSD3.mdx
index da18c0db7..9eb24d08e 100644
--- a/built-in-nodes/CLIPTextEncodeSD3.mdx
+++ b/built-in-nodes/CLIPTextEncodeSD3.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPTextEncodeSD3"
icon: "circle"
mode: wide
---
+
The CLIPTextEncodeSD3 node processes text inputs for Stable Diffusion 3 models by encoding multiple text prompts using different CLIP models. It handles three separate text inputs (clip_g, clip_l, and t5xxl) and provides options for managing empty text padding. The node ensures proper token alignment between different text inputs and returns conditioning data suitable for SD3 generation pipelines.
## Inputs
diff --git a/built-in-nodes/Canny.mdx b/built-in-nodes/Canny.mdx
index 5ce44fbd0..6adcbc504 100755
--- a/built-in-nodes/Canny.mdx
+++ b/built-in-nodes/Canny.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Canny"
icon: "circle"
mode: wide
---
+
Extract all edge lines from photos, like using a pen to outline a photo, drawing out the contours and detail boundaries of objects.
## Working Principle
diff --git a/built-in-nodes/CaseConverter.mdx b/built-in-nodes/CaseConverter.mdx
index e0eb106dc..b35bdce67 100644
--- a/built-in-nodes/CaseConverter.mdx
+++ b/built-in-nodes/CaseConverter.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CaseConverter"
icon: "circle"
mode: wide
---
+
The Case Converter node transforms text strings into different letter case formats. It takes an input string and converts it based on the selected mode, producing an output string with the specified case formatting applied. The node supports four different case conversion options to modify the capitalization of your text.
## Inputs
diff --git a/built-in-nodes/CenterCropImages.mdx b/built-in-nodes/CenterCropImages.mdx
index 8f25c1955..5f0a23b1c 100644
--- a/built-in-nodes/CenterCropImages.mdx
+++ b/built-in-nodes/CenterCropImages.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CenterCropImages"
icon: "circle"
mode: wide
---
+
The Center Crop Images node crops an image from its center to a specified width and height. It calculates the central region of the input image and extracts a rectangular area of the defined dimensions. If the requested crop size is larger than the image, the crop will be constrained to the image's boundaries.
## Inputs
diff --git a/built-in-nodes/CheckpointLoader.mdx b/built-in-nodes/CheckpointLoader.mdx
index 32b325706..511a1e47a 100644
--- a/built-in-nodes/CheckpointLoader.mdx
+++ b/built-in-nodes/CheckpointLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CheckpointLoader"
icon: "circle"
mode: wide
---
+
The CheckpointLoader node loads a pre-trained model checkpoint along with its configuration file. It takes a configuration file and a checkpoint file as inputs and returns the loaded model components including the main model, CLIP model, and VAE model for use in the workflow.
## Inputs
diff --git a/built-in-nodes/CheckpointLoaderSimple.mdx b/built-in-nodes/CheckpointLoaderSimple.mdx
index a9efcfd93..005e5f49e 100755
--- a/built-in-nodes/CheckpointLoaderSimple.mdx
+++ b/built-in-nodes/CheckpointLoaderSimple.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CheckpointLoaderSimple"
icon: "circle"
mode: wide
---
+
## Overview
Loads a diffusion model checkpoint file and decomposes it into three core components: the main model used for denoising latents, the CLIP text encoder, and the VAE image encoder/decoder. This node automatically detects all model files in the `ComfyUI/models/checkpoints` folder and any additional paths configured in your `extra_model_paths.yaml` file.
diff --git a/built-in-nodes/CheckpointSave.mdx b/built-in-nodes/CheckpointSave.mdx
index 6b794a9c5..57343391f 100755
--- a/built-in-nodes/CheckpointSave.mdx
+++ b/built-in-nodes/CheckpointSave.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CheckpointSave"
icon: "circle"
mode: wide
---
+
The `Save Checkpoint` node is designed to save a complete Stable Diffusion model (including UNet, CLIP, and VAE components) as a **.safetensors** format checkpoint file.
The Save Checkpoint is primarily used in model merging workflows. After creating a new merged model through nodes like `ModelMergeSimple`, `ModelMergeBlocks`, etc., you can use this node to save the result as a reusable checkpoint file.
diff --git a/built-in-nodes/ChromaRadianceOptions.mdx b/built-in-nodes/ChromaRadianceOptions.mdx
index 572230ee5..a7b2b382c 100644
--- a/built-in-nodes/ChromaRadianceOptions.mdx
+++ b/built-in-nodes/ChromaRadianceOptions.mdx
@@ -5,27 +5,29 @@ sidebarTitle: "ChromaRadianceOptions"
icon: "circle"
mode: wide
---
+
The ChromaRadianceOptions node allows you to configure advanced settings for the Chroma Radiance model. It wraps an existing model and applies specific options during the denoising process based on sigma values, enabling fine-tuned control over NeRF tile size and other radiance-related parameters.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The model to apply Chroma Radiance options to | MODEL | Yes | - |
| `preserve_wrapper` | When enabled, will delegate to an existing model function wrapper if it exists. Generally should be left enabled. (default: True) | BOOLEAN | No | - |
| `start_sigma` | First sigma that these options will be in effect. (default: 1.0) | FLOAT | No | 0.0 to 1.0 |
| `end_sigma` | Last sigma that these options will be in effect. (default: 0.0) | FLOAT | No | 0.0 to 1.0 |
| `nerf_tile_size` | Allows overriding the default NeRF tile size. -1 means use the default (32). 0 means use non-tiling mode (may require a lot of VRAM). (default: -1) | INT | No | -1 and above |
+| `force_sequential_txt_ids` | Force usage of sequential text token IDs instead of zeroes. Should be used for checkpoints from 2026-05-22 to 2026-06-01 that are trained in this way but do not contain the __sequential__ key in the state dict. (default: False) | BOOLEAN | No | - |
-**Note:** The Chroma Radiance options only take effect when the current sigma value falls between `end_sigma` and `start_sigma` (inclusive). The `nerf_tile_size` parameter is only applied when set to 0 or higher values.
+**Note:** The Chroma Radiance options only take effect when the current sigma value falls between `end_sigma` and `start_sigma` (inclusive). The `nerf_tile_size` parameter is only applied when set to 0 or higher values. The `force_sequential_txt_ids` parameter is only applied when set to True.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model` | The modified model with Chroma Radiance options applied | MODEL |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ChromaRadianceOptions/en.md)
---
-**Source fingerprint (SHA-256):** `34e17791e3675c59b4a15b007e853eedcfa0cbbb975fb2f5e71d1115eb2b8781`
+**Source fingerprint (SHA-256):** `4c93e4809e2948d633ccfc00460de470bdb125f7a2e9c3407f7dda178dd899b5`
diff --git a/built-in-nodes/ClaudeNode.mdx b/built-in-nodes/ClaudeNode.mdx
index 5244258f7..f3f3ac6f9 100644
--- a/built-in-nodes/ClaudeNode.mdx
+++ b/built-in-nodes/ClaudeNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ClaudeNode"
icon: "circle"
mode: wide
---
+
## Overview
Generate text responses from an Anthropic Claude model. This node sends a text prompt and optional images to a Claude model and returns the generated text response.
@@ -12,7 +13,7 @@ Generate text responses from an Anthropic Claude model. This node sends a text p
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text input to the model. (default: empty string) | STRING | Yes | N/A |
| `model` | The Claude model used to generate the response. | COMBO | Yes | `"Opus 4.7"` `"Opus 4.6"` `"Sonnet 4.6"` `"Sonnet 4.5"` `"Haiku 4.5"` |
| `seed` | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. (default: 0) | INT | Yes | 0 to 2147483647 |
@@ -28,10 +29,10 @@ Generate text responses from an Anthropic Claude model. This node sends a text p
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated text response from the Claude model. Returns "Empty response from Claude model." if no text is generated. | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ClaudeNode/en.md)
---
-**Source fingerprint (SHA-256):** `e3bab004535d4d406582aa42f28bb64a2988f8331788d51ec1fa4e943d8d4382`
+**Source fingerprint (SHA-256):** `70fad3044edf9d1bc7cc82f3f6d89ca2d24857b039b829e7cc81265a7670430c`
diff --git a/built-in-nodes/ClipLoader.mdx b/built-in-nodes/ClipLoader.mdx
index bd923ec13..1fbaecfe2 100755
--- a/built-in-nodes/ClipLoader.mdx
+++ b/built-in-nodes/ClipLoader.mdx
@@ -5,14 +5,15 @@ sidebarTitle: "CLIPLoader"
icon: "circle"
mode: wide
---
+
The CLIPLoader node loads a text encoder model (CLIP, T5, or similar) from a file, making it available for use in other nodes that need to convert text prompts into numerical representations. It supports a wide variety of model architectures, each requiring a specific encoder type.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `clip_name` | The filename of the text encoder model to load. This must be a file located in the `ComfyUI/models/text_encoders/` or `ComfyUI/models/clip/` directory. | STRING | Yes | List of files found in the `text_encoders` folder |
-| `type` | The architecture type of the model being loaded. This determines which specific encoder variant to use. The default is `"stable_diffusion"`. | STRING | Yes | `"stable_diffusion"` `"stable_cascade"` `"sd3"` `"stable_audio"` `"mochi"` `"ltxv"` `"pixart"` `"cosmos"` `"lumina2"` `"wan"` `"hidream"` `"chroma"` `"ace"` `"omnigen2"` `"qwen_image"` `"hunyuan_image"` `"flux2"` `"ovis"` `"longcat_image"` `"cogvideox"` |
+|-----------|-------------|-----------|----------|-------|
+| `clip_name` | The filename of the text encoder model to load. This must be a file located in the `ComfyUI/models/text_encoders/` directory. | STRING | Yes | List of files found in the `text_encoders` folder |
+| `type` | The architecture type of the model being loaded. This determines which specific encoder variant to use (default: `"stable_diffusion"`). | STRING | Yes | `"stable_diffusion"` `"stable_cascade"` `"sd3"` `"stable_audio"` `"mochi"` `"ltxv"` `"pixart"` `"cosmos"` `"lumina2"` `"wan"` `"hidream"` `"chroma"` `"ace"` `"omnigen2"` `"qwen_image"` `"hunyuan_image"` `"flux2"` `"ovis"` `"longcat_image"` `"cogvideox"` `"lens"` `"pixeldit"` `"ideogram4"` |
| `device` | The device to load the model onto. `"default"` uses the GPU if available, while `"cpu"` forces CPU loading. This is an advanced option (default: `"default"`). | STRING | No | `"default"` `"cpu"` |
### Supported Type-to-Encoder Mappings
@@ -32,14 +33,16 @@ The `type` parameter selects the correct encoder for a given model architecture.
| wan | umt5 xxl |
| hidream | llama-3.1 (recommended) or t5 |
| omnigen2 | qwen vl 2.5 3B |
+| lens | gpt-oss-20b |
+| pixeldit | gemma 2 2B elm |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `clip` | The loaded text encoder model, ready to be connected to other nodes for text encoding and conditioning. | CLIP |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/CLIPLoader/en.md)
---
-**Source fingerprint (SHA-256):** `1051bfe5570dff81719682cb09938bae4c03e94e0e72f7a2be84867cccb48017`
+**Source fingerprint (SHA-256):** `c6101104b4616b867ad228142bd758d1a3efa6c28deaf609a8d7bccdf8b2a6be`
diff --git a/built-in-nodes/ClipMergeSimple.mdx b/built-in-nodes/ClipMergeSimple.mdx
index 076964c4c..0601e6e7a 100755
--- a/built-in-nodes/ClipMergeSimple.mdx
+++ b/built-in-nodes/ClipMergeSimple.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPMergeSimple"
icon: "circle"
mode: wide
---
+
`CLIPMergeSimple` is an advanced model merging node used to combine two CLIP text encoder models based on a specified ratio.
This node specializes in merging two CLIP models based on a specified ratio, effectively blending their characteristics. It selectively applies patches from one model to another, excluding specific components like position IDs and logit scale, to create a hybrid model that combines features from both source models.
diff --git a/built-in-nodes/ClipSave.mdx b/built-in-nodes/ClipSave.mdx
index 883f7ca34..8e549b272 100755
--- a/built-in-nodes/ClipSave.mdx
+++ b/built-in-nodes/ClipSave.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPSave"
icon: "circle"
mode: wide
---
+
The `CLIPSave` node saves a CLIP text encoder model to disk in SafeTensors format. It is designed for advanced model merging workflows and automatically separates the CLIP model into its component parts (such as CLIP-L, CLIP-G, or T5XXL) based on the model's internal structure, saving each component as a separate file.
## Inputs
diff --git a/built-in-nodes/ClipSetLastLayer.mdx b/built-in-nodes/ClipSetLastLayer.mdx
index 14835eead..04eabd0ad 100755
--- a/built-in-nodes/ClipSetLastLayer.mdx
+++ b/built-in-nodes/ClipSetLastLayer.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPSetLastLayer"
icon: "circle"
mode: wide
---
+
`CLIP Set Last Layer` is a core node in ComfyUI for controlling the processing depth of CLIP models. It allows users to precisely control where the CLIP text encoder stops processing, affecting both the depth of text understanding and the style of generated images.
Imagine the CLIP model as a 24-layer intelligent brain:
diff --git a/built-in-nodes/ClipTextEncode.mdx b/built-in-nodes/ClipTextEncode.mdx
index 939254c63..74202112d 100755
--- a/built-in-nodes/ClipTextEncode.mdx
+++ b/built-in-nodes/ClipTextEncode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPTextEncode"
icon: "circle"
mode: wide
---
+
`CLIP Text Encode (CLIPTextEncode)` acts as a translator, converting your text descriptions into a format that AI can understand. This helps the AI interpret your input and generate the desired image.
Think of it as communicating with an artist who speaks a different language. The CLIP model, trained on vast image-text pairs, bridges this gap by converting your descriptions into "instructions" that the AI model can follow.
diff --git a/built-in-nodes/ClipTextEncodeFlux.mdx b/built-in-nodes/ClipTextEncodeFlux.mdx
index 60a4b5dd5..93f762777 100644
--- a/built-in-nodes/ClipTextEncodeFlux.mdx
+++ b/built-in-nodes/ClipTextEncodeFlux.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPTextEncodeFlux"
icon: "circle"
mode: wide
---
+
`CLIPTextEncodeFlux` is an advanced text encoding node designed for the Flux architecture. It processes two separate text inputs through different encoders—CLIP-L and T5XXL—and combines them with a guidance scale to produce a unified conditioning output for image generation.
## Inputs
diff --git a/built-in-nodes/ClipTextEncodeHunyuanDit.mdx b/built-in-nodes/ClipTextEncodeHunyuanDit.mdx
index faf707230..d4ec00674 100644
--- a/built-in-nodes/ClipTextEncodeHunyuanDit.mdx
+++ b/built-in-nodes/ClipTextEncodeHunyuanDit.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPTextEncodeHunyuanDiT"
icon: "circle"
mode: wide
---
+
The `CLIPTextEncodeHunyuanDiT` node converts text descriptions into a format that the HunyuanDiT model can understand. It is an advanced conditioning node designed for the dual text encoder architecture of HunyuanDiT, processing two separate text inputs through different tokenizers.
## Inputs
diff --git a/built-in-nodes/ClipTextEncodeSdxl.mdx b/built-in-nodes/ClipTextEncodeSdxl.mdx
index e26480c04..6861574fe 100755
--- a/built-in-nodes/ClipTextEncodeSdxl.mdx
+++ b/built-in-nodes/ClipTextEncodeSdxl.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPTextEncodeSDXL"
icon: "circle"
mode: wide
---
+
This node is designed to encode text input using a CLIP model specifically customized for the SDXL architecture. It uses a dual encoder system (CLIP-L and CLIP-G) to process text descriptions, resulting in more accurate image generation.
## Inputs
diff --git a/built-in-nodes/ClipTextEncodeSdxlRefiner.mdx b/built-in-nodes/ClipTextEncodeSdxlRefiner.mdx
index d47b0aed4..5d25941ea 100755
--- a/built-in-nodes/ClipTextEncodeSdxlRefiner.mdx
+++ b/built-in-nodes/ClipTextEncodeSdxlRefiner.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPTextEncodeSDXLRefiner"
icon: "circle"
mode: wide
---
+
This node is specifically designed for the SDXL Refiner model to convert text prompts into conditioning information by incorporating aesthetic scores and dimensional information to enhance the conditions for generation tasks, thereby improving the final refinement effect. It acts like a professional art director, not only conveying your creative intent but also injecting precise aesthetic standards and specification requirements into the work.
## About SDXL Refiner
diff --git a/built-in-nodes/ClipVisionEncode.mdx b/built-in-nodes/ClipVisionEncode.mdx
index 92974be59..4fb342ebb 100755
--- a/built-in-nodes/ClipVisionEncode.mdx
+++ b/built-in-nodes/ClipVisionEncode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPVisionEncode"
icon: "circle"
mode: wide
---
+
The `CLIP Vision Encode` node is an image encoding node in ComfyUI, used to convert input images into visual feature vectors through the CLIP Vision model. This node is an important bridge connecting image and text understanding, and is widely used in various AI image generation and processing workflows.
**Node Functionality**
diff --git a/built-in-nodes/ClipVisionLoader.mdx b/built-in-nodes/ClipVisionLoader.mdx
index b6b67a6f7..bf202c0a5 100755
--- a/built-in-nodes/ClipVisionLoader.mdx
+++ b/built-in-nodes/ClipVisionLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CLIPVisionLoader"
icon: "circle"
mode: wide
---
+
This node automatically detects models located in the `ComfyUI/models/clip_vision` folder, as well as any additional model paths configured in the `extra_model_paths.yaml` file. If you add models after starting ComfyUI, please **refresh the ComfyUI interface** to ensure the latest model files are listed.
## Inputs
diff --git a/built-in-nodes/ColorToRGBInt.mdx b/built-in-nodes/ColorToRGBInt.mdx
index a8eb683a0..78501ade3 100644
--- a/built-in-nodes/ColorToRGBInt.mdx
+++ b/built-in-nodes/ColorToRGBInt.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "ColorToRGBInt"
icon: "circle"
mode: wide
---
-The **ColorToRGBInt** node converts a color specified in hexadecimal format (like `#FF5733`) into a single integer value. It takes the red, green, and blue components from the color string and combines them into one RGB integer.
+
+The **ColorToRGBInt** node converts a color specified in hexadecimal format (like `#FF5733`) into a single integer value. It takes the red, green, and blue components from the color string and combines them into one RGB integer, while also returning the original hexadecimal representation.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `color` | A color value in the hexadecimal format `#RRGGBB`. Must be exactly 7 characters long and start with `#`. | STRING | Yes | N/A |
**Note:** The input `color` string must follow the format `#RRGGBB` exactly. If the string is not 7 characters long or does not start with `#`, the node will raise an error.
@@ -18,10 +19,11 @@ The **ColorToRGBInt** node converts a color specified in hexadecimal format (lik
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `rgb_int` | The calculated RGB integer value. This is derived from the formula: `(Red * 65536) + (Green * 256) + Blue`. | INT |
+| `hex` | The original hexadecimal color string in the format `#RRGGBB`. | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ColorToRGBInt/en.md)
---
-**Source fingerprint (SHA-256):** `afbbdddb59eddf9e2cc8ab51765affff1676a589c2a2989ff90038ad0119dc9f`
+**Source fingerprint (SHA-256):** `7ab6b8452b71d47e5b38d75c9b60d90d73c6b24e02d2c7d3694e05e1b2818edc`
diff --git a/built-in-nodes/ColorTransfer.mdx b/built-in-nodes/ColorTransfer.mdx
index 431201eb9..dccd9b663 100644
--- a/built-in-nodes/ColorTransfer.mdx
+++ b/built-in-nodes/ColorTransfer.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ColorTransfer"
icon: "circle"
mode: wide
---
+
The ColorTransfer node adjusts the color palette of a target image to match the colors of a reference image. It uses different mathematical algorithms to analyze and transfer the color characteristics, such as brightness, contrast, and hue distribution, from the reference to the target. This is useful for creating visual consistency across multiple images or applying a specific color grade.
## Inputs
diff --git a/built-in-nodes/CombineHooks.mdx b/built-in-nodes/CombineHooks.mdx
index 961332156..159859ff9 100644
--- a/built-in-nodes/CombineHooks.mdx
+++ b/built-in-nodes/CombineHooks.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CombineHooks"
icon: "circle"
mode: wide
---
+
The Combine Hooks [2] node merges two hook groups into a single combined hook group. It takes two optional hook inputs and combines them using ComfyUI's hook combination functionality. This allows you to consolidate multiple hook configurations for streamlined processing.
## Inputs
diff --git a/built-in-nodes/CombineHooksEight.mdx b/built-in-nodes/CombineHooksEight.mdx
index 93783cadd..34f812f6d 100644
--- a/built-in-nodes/CombineHooksEight.mdx
+++ b/built-in-nodes/CombineHooksEight.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CombineHooksEight"
icon: "circle"
mode: wide
---
+
The Combine Hooks [8] node merges up to eight different hook groups into a single combined hook group. It takes multiple hook inputs and combines them using ComfyUI's hook combination functionality. This allows you to consolidate multiple hook configurations for streamlined processing in advanced workflows.
## Inputs
diff --git a/built-in-nodes/CombineHooksFour.mdx b/built-in-nodes/CombineHooksFour.mdx
index cf18a5490..d9d220d30 100644
--- a/built-in-nodes/CombineHooksFour.mdx
+++ b/built-in-nodes/CombineHooksFour.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CombineHooksFour"
icon: "circle"
mode: wide
---
+
The Combine Hooks [4] node merges up to four separate hook groups into a single combined hook group. It takes any combination of the four available hook inputs and combines them using ComfyUI's hook combination system. This allows you to consolidate multiple hook configurations for streamlined processing in advanced workflows.
## Inputs
diff --git a/built-in-nodes/ComboOptionTestNode.mdx b/built-in-nodes/ComboOptionTestNode.mdx
index 577af9c80..b07d99249 100644
--- a/built-in-nodes/ComboOptionTestNode.mdx
+++ b/built-in-nodes/ComboOptionTestNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ComboOptionTestNode"
icon: "circle"
mode: wide
---
+
The ComboOptionTestNode is a logic node designed to test and pass through combo box selections. It takes two combo box inputs, each with a predefined set of options, and outputs the selected values directly without modification.
## Inputs
diff --git a/built-in-nodes/ComfyAndNode.mdx b/built-in-nodes/ComfyAndNode.mdx
index 5f0fccb16..7e483a16c 100644
--- a/built-in-nodes/ComfyAndNode.mdx
+++ b/built-in-nodes/ComfyAndNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ComfyAndNode"
icon: "circle"
mode: wide
---
+
## Overview
The And node performs a logical AND operation on a set of input values. It returns `true` only if all of the provided values are considered truthy according to Python's truthiness rules. This node is useful for checking that multiple conditions are all met before proceeding.
diff --git a/built-in-nodes/ComfyMathExpression.mdx b/built-in-nodes/ComfyMathExpression.mdx
index dce8f3c26..83b053c63 100644
--- a/built-in-nodes/ComfyMathExpression.mdx
+++ b/built-in-nodes/ComfyMathExpression.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "ComfyMathExpression"
icon: "circle"
mode: wide
---
+
The ComfyMathExpression node evaluates a mathematical formula using a set of input values. You can write an expression using variable names (like `a`, `b`, `c`), and the node will calculate the result. It supports dynamically adding as many input values as needed for your calculation.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `expression` | The mathematical formula to evaluate. You can use variable names that correspond to the input values (default: "a + b"). | STRING | Yes | N/A |
| `values` | A set of numeric or boolean inputs that can be dynamically added. Each input is assigned a letter from the alphabet (a, b, c, ...) to be used as a variable in the expression. At least one input value is required. | FLOAT, INT, BOOLEAN | No | N/A |
@@ -23,7 +24,7 @@ The ComfyMathExpression node evaluates a mathematical formula using a set of inp
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `FLOAT` | The result of the mathematical expression as a floating-point number. | FLOAT |
| `INT` | The result of the mathematical expression as an integer. | INT |
| `BOOL` | The result of the mathematical expression as a boolean value. | BOOLEAN |
@@ -31,4 +32,4 @@ The ComfyMathExpression node evaluates a mathematical formula using a set of inp
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ComfyMathExpression/en.md)
---
-**Source fingerprint (SHA-256):** `bf6221a7e1e955bdb56482de0a86a782494b2775fdd2edfde9fd20a9df0fe1a7`
+**Source fingerprint (SHA-256):** `d3b47ddb7bc40318d35ad09fb53793cea25e9a9b310ab47aaf937781e3ad2b73`
diff --git a/built-in-nodes/ComfyNotNode.mdx b/built-in-nodes/ComfyNotNode.mdx
index f2154296c..3c7bd0b37 100644
--- a/built-in-nodes/ComfyNotNode.mdx
+++ b/built-in-nodes/ComfyNotNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ComfyNotNode"
icon: "circle"
mode: wide
---
+
## Overview
The Not node performs a logical NOT operation on any input value. It returns True if the input value is considered falsy (like 0, empty string, None, False), and returns False if the input value is truthy. It uses Python's standard rules for determining truthiness.
diff --git a/built-in-nodes/ComfyNumberConvert.mdx b/built-in-nodes/ComfyNumberConvert.mdx
index 5ae2f4821..1edb09a29 100644
--- a/built-in-nodes/ComfyNumberConvert.mdx
+++ b/built-in-nodes/ComfyNumberConvert.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ComfyNumberConvert"
icon: "circle"
mode: wide
---
+
The Number Convert node transforms various input data types into numeric values. It accepts a single input of type integer, float, string, or boolean and produces two outputs: a floating-point number and an integer. This is useful for converting text or logical values into a format that can be used by other mathematical or processing nodes in your workflow.
## Inputs
diff --git a/built-in-nodes/ComfyOrNode.mdx b/built-in-nodes/ComfyOrNode.mdx
index 86e6c5fc4..9ec71308a 100644
--- a/built-in-nodes/ComfyOrNode.mdx
+++ b/built-in-nodes/ComfyOrNode.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "ComfyOrNode"
icon: "circle"
mode: wide
---
-# ComfyOrNode
The ComfyOrNode performs a logical OR operation on a set of input values. It returns `true` if any of the provided values are considered truthy according to Python's standard truthiness rules.
diff --git a/built-in-nodes/ComfySoftSwitchNode.mdx b/built-in-nodes/ComfySoftSwitchNode.mdx
index 3c6f555c3..f95dc378b 100644
--- a/built-in-nodes/ComfySoftSwitchNode.mdx
+++ b/built-in-nodes/ComfySoftSwitchNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ComfySoftSwitchNode"
icon: "circle"
mode: wide
---
+
The Soft Switch node selects between two possible input values based on a boolean condition. It outputs the value from the `on_true` input when the `switch` is true, and the value from the `on_false` input when the `switch` is false. This node is designed to be lazy, meaning it only evaluates the input that is needed based on the switch state.
## Inputs
diff --git a/built-in-nodes/ComfySwitchNode.mdx b/built-in-nodes/ComfySwitchNode.mdx
index d3c230061..f8f0596f3 100644
--- a/built-in-nodes/ComfySwitchNode.mdx
+++ b/built-in-nodes/ComfySwitchNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ComfySwitchNode"
icon: "circle"
mode: wide
---
+
The Switch node selects between two possible inputs based on a boolean condition. It outputs the `on_true` input when the `switch` is enabled, and the `on_false` input when the `switch` is disabled. This allows you to create conditional logic and choose different data paths in your workflow.
## Inputs
diff --git a/built-in-nodes/ConditioningAverage.mdx b/built-in-nodes/ConditioningAverage.mdx
index 02f77bc37..c49fade29 100644
--- a/built-in-nodes/ConditioningAverage.mdx
+++ b/built-in-nodes/ConditioningAverage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningAverage"
icon: "circle"
mode: wide
---
+
The `ConditioningAverage` node is used to blend two different sets of conditioning (such as text prompts) according to a specified weight, generating a new conditioning vector that lies between the two. By adjusting the weight parameter, you can flexibly control the influence of each conditioning on the final result. This is especially suitable for prompt interpolation, style fusion, and other advanced use cases.
As shown below, by adjusting the strength of `conditioning_to`, you can output a result between the two conditionings.
diff --git a/built-in-nodes/ConditioningCombine.mdx b/built-in-nodes/ConditioningCombine.mdx
index f36b6d19b..b49df5ae3 100644
--- a/built-in-nodes/ConditioningCombine.mdx
+++ b/built-in-nodes/ConditioningCombine.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningCombine"
icon: "circle"
mode: wide
---
+
This node combines two conditioning inputs into a single output, effectively merging their information. The two conditions are combined using list concatenation.
## Inputs
diff --git a/built-in-nodes/ConditioningConcat.mdx b/built-in-nodes/ConditioningConcat.mdx
index a1f8a5ada..d7ba8182b 100644
--- a/built-in-nodes/ConditioningConcat.mdx
+++ b/built-in-nodes/ConditioningConcat.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningConcat"
icon: "circle"
mode: wide
---
+
The ConditioningConcat node is designed to concatenate conditioning vectors, specifically merging the 'conditioning_from' vector into the 'conditioning_to' vector. This operation is fundamental in scenarios where the conditioning information from two sources needs to be combined into a single, unified representation.
## Inputs
diff --git a/built-in-nodes/ConditioningMultiply.mdx b/built-in-nodes/ConditioningMultiply.mdx
new file mode 100644
index 000000000..a4b301494
--- /dev/null
+++ b/built-in-nodes/ConditioningMultiply.mdx
@@ -0,0 +1,27 @@
+---
+title: "ConditioningMultiply - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the ConditioningMultiply node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "ConditioningMultiply"
+icon: "circle"
+mode: wide
+---
+
+This node multiplies the conditioning values by a specified factor, allowing you to scale the influence of the conditioning on the generation process. It works by applying the multiplier to both the main conditioning tensor and the pooled output values.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `conditioning` | The conditioning data to be scaled | CONDITIONING | Yes | - |
+| `multiplier` | The factor to multiply the conditioning values by (default: 1.0) | FLOAT | Yes | -100.0 to 100.0 (step: 0.01) |
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `CONDITIONING` | The scaled conditioning data with multiplied values | CONDITIONING |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ConditioningMultiply/en.md)
+
+---
+**Source fingerprint (SHA-256):** `8d241e3d5d91e513c24ade5b4bece4bf879fe093a4be6d53dab11a5a0bf55616`
diff --git a/built-in-nodes/ConditioningSetArea.mdx b/built-in-nodes/ConditioningSetArea.mdx
index 94eb2f6d0..2ad0f6e6c 100644
--- a/built-in-nodes/ConditioningSetArea.mdx
+++ b/built-in-nodes/ConditioningSetArea.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningSetArea"
icon: "circle"
mode: wide
---
+
This node is designed to modify the conditioning information by setting specific areas within the conditioning context. It allows for the precise spatial manipulation of conditioning elements, enabling targeted adjustments and enhancements based on specified dimensions and strength.
## Inputs
diff --git a/built-in-nodes/ConditioningSetAreaPercentage.mdx b/built-in-nodes/ConditioningSetAreaPercentage.mdx
index cd73ace1c..ef6f90335 100644
--- a/built-in-nodes/ConditioningSetAreaPercentage.mdx
+++ b/built-in-nodes/ConditioningSetAreaPercentage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningSetAreaPercentage"
icon: "circle"
mode: wide
---
+
The ConditioningSetAreaPercentage node specializes in adjusting the area of influence for conditioning elements based on percentage values. It allows for the specification of the area's dimensions and position as percentages of the total image size, alongside a strength parameter to modulate the intensity of the conditioning effect.
## Inputs
diff --git a/built-in-nodes/ConditioningSetAreaPercentageVideo.mdx b/built-in-nodes/ConditioningSetAreaPercentageVideo.mdx
index 8b880ffba..8cd197e77 100644
--- a/built-in-nodes/ConditioningSetAreaPercentageVideo.mdx
+++ b/built-in-nodes/ConditioningSetAreaPercentageVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningSetAreaPercentageVideo"
icon: "circle"
mode: wide
---
+
The ConditioningSetAreaPercentageVideo node modifies conditioning data by defining a specific area and temporal region for video generation. It allows you to set the position, size, and duration of the area where the conditioning will be applied using percentage values relative to the overall dimensions. This is useful for focusing the generation on specific parts of a video sequence.
## Inputs
diff --git a/built-in-nodes/ConditioningSetAreaStrength.mdx b/built-in-nodes/ConditioningSetAreaStrength.mdx
index d3ac86b0f..2f70a862f 100644
--- a/built-in-nodes/ConditioningSetAreaStrength.mdx
+++ b/built-in-nodes/ConditioningSetAreaStrength.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningSetAreaStrength"
icon: "circle"
mode: wide
---
+
This node is designed to modify the strength attribute of a given conditioning set, allowing for the adjustment of the influence or intensity of the conditioning on the generation process.
## Inputs
diff --git a/built-in-nodes/ConditioningSetDefaultAndCombine.mdx b/built-in-nodes/ConditioningSetDefaultAndCombine.mdx
index 77931390b..7c585b8ae 100644
--- a/built-in-nodes/ConditioningSetDefaultAndCombine.mdx
+++ b/built-in-nodes/ConditioningSetDefaultAndCombine.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningSetDefaultAndCombine"
icon: "circle"
mode: wide
---
+
This node combines a primary conditioning input with a default conditioning input using a hook-based system. It merges the two conditioning sources into a single output, allowing the default conditioning to serve as a fallback or base when the primary conditioning is incomplete.
## Inputs
diff --git a/built-in-nodes/ConditioningSetMask.mdx b/built-in-nodes/ConditioningSetMask.mdx
index 58c330652..1fcd60b7e 100644
--- a/built-in-nodes/ConditioningSetMask.mdx
+++ b/built-in-nodes/ConditioningSetMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningSetMask"
icon: "circle"
mode: wide
---
+
This node is designed to modify the conditioning of a generative model by applying a mask with a specified strength to certain areas. It allows for targeted adjustments within the conditioning, enabling more precise control over the generation process.
## Inputs
diff --git a/built-in-nodes/ConditioningSetProperties.mdx b/built-in-nodes/ConditioningSetProperties.mdx
index 399f823c1..7179766d8 100644
--- a/built-in-nodes/ConditioningSetProperties.mdx
+++ b/built-in-nodes/ConditioningSetProperties.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningSetProperties"
icon: "circle"
mode: wide
---
+
The ConditioningSetProperties node modifies the properties of conditioning data by adjusting strength, area settings, and applying optional masks, hooks, or timestep ranges. It allows you to control how conditioning influences the generation process by setting specific parameters that affect the application of conditioning data during image generation.
## Inputs
diff --git a/built-in-nodes/ConditioningSetPropertiesAndCombine.mdx b/built-in-nodes/ConditioningSetPropertiesAndCombine.mdx
index 6988da35d..192db26ea 100644
--- a/built-in-nodes/ConditioningSetPropertiesAndCombine.mdx
+++ b/built-in-nodes/ConditioningSetPropertiesAndCombine.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningSetPropertiesAndCombine"
icon: "circle"
mode: wide
---
+
The ConditioningSetPropertiesAndCombine node modifies conditioning data by applying properties from a new conditioning input to an existing conditioning input. It combines the two conditioning sets while controlling the strength of the new conditioning and specifying how the conditioning area should be applied.
## Inputs
diff --git a/built-in-nodes/ConditioningSetTimestepRange.mdx b/built-in-nodes/ConditioningSetTimestepRange.mdx
index 38226f9ee..080fe72c0 100644
--- a/built-in-nodes/ConditioningSetTimestepRange.mdx
+++ b/built-in-nodes/ConditioningSetTimestepRange.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningSetTimestepRange"
icon: "circle"
mode: wide
---
+
This node is designed to adjust the temporal aspect of conditioning by setting a specific range of timesteps. It allows for the precise control over the start and end points of the conditioning process, enabling more targeted and efficient generation.
## Inputs
diff --git a/built-in-nodes/ConditioningStableAudio.mdx b/built-in-nodes/ConditioningStableAudio.mdx
index f02f4e175..2afbdadc7 100644
--- a/built-in-nodes/ConditioningStableAudio.mdx
+++ b/built-in-nodes/ConditioningStableAudio.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningStableAudio"
icon: "circle"
mode: wide
---
+
The ConditioningStableAudio node adds timing information to both positive and negative conditioning inputs for audio generation. It sets the start time and total duration parameters that help control when and how long audio content should be generated. This node modifies existing conditioning data by appending audio-specific timing metadata.
## Inputs
diff --git a/built-in-nodes/ConditioningTimestepsRange.mdx b/built-in-nodes/ConditioningTimestepsRange.mdx
index 125136207..d3767ce12 100644
--- a/built-in-nodes/ConditioningTimestepsRange.mdx
+++ b/built-in-nodes/ConditioningTimestepsRange.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningTimestepsRange"
icon: "circle"
mode: wide
---
+
The ConditioningTimestepsRange node creates three distinct timestep ranges for controlling when conditioning effects are applied during the generation process. It takes start and end percentage values and divides the entire timestep range (0.0 to 1.0) into three segments: the main range between the specified percentages, the range before the start percentage, and the range after the end percentage.
## Inputs
diff --git a/built-in-nodes/ConditioningZeroOut.mdx b/built-in-nodes/ConditioningZeroOut.mdx
index b6dcfbc60..5531302c2 100644
--- a/built-in-nodes/ConditioningZeroOut.mdx
+++ b/built-in-nodes/ConditioningZeroOut.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConditioningZeroOut"
icon: "circle"
mode: wide
---
+
This node zeroes out specific elements within the conditioning data structure, effectively neutralizing their influence in subsequent processing steps. It's designed for advanced conditioning operations where direct manipulation of the conditioning's internal representation is required.
## Inputs
diff --git a/built-in-nodes/ContextWindowsManual.mdx b/built-in-nodes/ContextWindowsManual.mdx
index 8d1b8c925..be6f11ce0 100644
--- a/built-in-nodes/ContextWindowsManual.mdx
+++ b/built-in-nodes/ContextWindowsManual.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ContextWindowsManual"
icon: "circle"
mode: wide
---
+
The Context Windows (Manual) node allows you to manually configure context windows for models during sampling. It creates overlapping context segments with specified length, overlap, and scheduling patterns to process data in manageable chunks while maintaining continuity between segments. This node provides advanced options for controlling how context windows are applied, including noise shuffling, conditioning retention, and causal window fixes.
## Inputs
diff --git a/built-in-nodes/ControlNetApply.mdx b/built-in-nodes/ControlNetApply.mdx
index 3d88d409d..fb502d1c6 100644
--- a/built-in-nodes/ControlNetApply.mdx
+++ b/built-in-nodes/ControlNetApply.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ControlNetApply"
icon: "circle"
mode: wide
---
+
Using controlNet requires preprocessing of input images. Since ComfyUI initial nodes do not come with preprocessors and controlNet models, please first install ControlNet preprocessors [download preprocessors here](https://github.com/Fannovel16/comfy_controlnet_preprocessors) and corresponding controlNet models.
## Inputs
diff --git a/built-in-nodes/ControlNetApplyAdvanced.mdx b/built-in-nodes/ControlNetApplyAdvanced.mdx
index 58f746d5e..b78b34792 100644
--- a/built-in-nodes/ControlNetApplyAdvanced.mdx
+++ b/built-in-nodes/ControlNetApplyAdvanced.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ControlNetApplyAdvanced"
icon: "circle"
mode: wide
---
+
This node applies advanced control net transformations to conditioning data based on an image and a control net model. It allows for fine-tuned adjustments of the control net's influence over the generated content, enabling more precise and varied modifications to the conditioning.
## Inputs
diff --git a/built-in-nodes/ControlNetApplySD3.mdx b/built-in-nodes/ControlNetApplySD3.mdx
index 1f3073434..976374535 100644
--- a/built-in-nodes/ControlNetApplySD3.mdx
+++ b/built-in-nodes/ControlNetApplySD3.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ControlNetApplySD3"
icon: "circle"
mode: wide
---
+
This node applies ControlNet guidance to Stable Diffusion 3 conditioning. It takes positive and negative conditioning inputs along with a ControlNet model and image, then applies the control guidance with adjustable strength and timing parameters to influence the generation process.
**Note:** This node has been marked as deprecated and may be removed in future versions.
diff --git a/built-in-nodes/ControlNetInpaintingAliMamaApply.mdx b/built-in-nodes/ControlNetInpaintingAliMamaApply.mdx
index 7b83edf52..716c8c6e1 100644
--- a/built-in-nodes/ControlNetInpaintingAliMamaApply.mdx
+++ b/built-in-nodes/ControlNetInpaintingAliMamaApply.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ControlNetInpaintingAliMamaApply"
icon: "circle"
mode: wide
---
+
The ControlNetInpaintingAliMamaApply node applies ControlNet conditioning for inpainting tasks by combining positive and negative conditioning with a control image and mask. It processes the input image and mask to create modified conditioning that guides the generation process, allowing for precise control over which areas of the image are inpainted. The node supports strength adjustment and timing controls to fine-tune the ControlNet's influence during different stages of the generation process.
## Inputs
diff --git a/built-in-nodes/ControlNetLoader.mdx b/built-in-nodes/ControlNetLoader.mdx
index 428f8f2f0..2eb27bf57 100644
--- a/built-in-nodes/ControlNetLoader.mdx
+++ b/built-in-nodes/ControlNetLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ControlNetLoader"
icon: "circle"
mode: wide
---
+
This node will detect models located in the `ComfyUI/models/controlnet` folder, and it will also read models from additional paths configured in the extra_model_paths.yaml file. Sometimes, you may need to **refresh the ComfyUI interface** to allow it to read the model files from the corresponding folder.
The ControlNetLoader node is designed to load a ControlNet model from a specified path. It plays a crucial role in initializing ControlNet models, which are essential for applying control mechanisms over generated content or modifying existing content based on control signals.
diff --git a/built-in-nodes/ConvertArrayToString.mdx b/built-in-nodes/ConvertArrayToString.mdx
new file mode 100644
index 000000000..3ebabd9dc
--- /dev/null
+++ b/built-in-nodes/ConvertArrayToString.mdx
@@ -0,0 +1,27 @@
+---
+title: "ConvertArrayToString - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the ConvertArrayToString node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "ConvertArrayToString"
+icon: "circle"
+mode: wide
+---
+
+The Convert Array to String node takes an array (list) of items and converts it into a formatted JSON string. This is useful when you need to serialize array data for display, logging, or passing to other systems that expect string input.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `array` | The array to convert to a JSON string | ARRAY | Yes | - |
+| `indent` | Spaces per indent level. 0 produces compact single-line string (default: 2) | INT | No | 0 to 8 |
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `STRING` | The array converted to a JSON-formatted string | STRING |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ConvertArrayToString/en.md)
+
+---
+**Source fingerprint (SHA-256):** `ac8397fed0336f546403ee3e1f17d7e8f5973190b102e74943f098bf6905f726`
diff --git a/built-in-nodes/ConvertDictionaryToString.mdx b/built-in-nodes/ConvertDictionaryToString.mdx
new file mode 100644
index 000000000..ffcc8cc22
--- /dev/null
+++ b/built-in-nodes/ConvertDictionaryToString.mdx
@@ -0,0 +1,27 @@
+---
+title: "ConvertDictionaryToString - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the ConvertDictionaryToString node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "ConvertDictionaryToString"
+icon: "circle"
+mode: wide
+---
+
+This node converts a dictionary (a collection of key-value pairs) into a text string in JSON format. You can control the indentation level to make the output more readable or compact.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `dictionary` | The dictionary to convert to a string | DICT | Yes | - |
+| `indent` | Spaces per indent level. 0 produces compact single-line string (default: 2) | INT | No | 0 to 8 |
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `STRING` | The dictionary converted to a JSON-formatted string | STRING |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ConvertDictionaryToString/en.md)
+
+---
+**Source fingerprint (SHA-256):** `ae4e9889d5347acfc69166bac66f2ba63f5cd37dafab25a9e0aff6bfe7381219`
diff --git a/built-in-nodes/ConvertStringToComboNode.mdx b/built-in-nodes/ConvertStringToComboNode.mdx
index 3a0b571b1..5faa9eca5 100644
--- a/built-in-nodes/ConvertStringToComboNode.mdx
+++ b/built-in-nodes/ConvertStringToComboNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ConvertStringToComboNode"
icon: "circle"
mode: wide
---
+
The Convert String to Combo node takes a text string as input and converts it into a Combo data type. This allows you to use a text value as a selection for other nodes that require a Combo input. It simply passes the string value through unchanged but changes its data type.
## Inputs
diff --git a/built-in-nodes/CosmosImageToVideoLatent.mdx b/built-in-nodes/CosmosImageToVideoLatent.mdx
index ee416c75e..f3c443558 100644
--- a/built-in-nodes/CosmosImageToVideoLatent.mdx
+++ b/built-in-nodes/CosmosImageToVideoLatent.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CosmosImageToVideoLatent"
icon: "circle"
mode: wide
---
+
The CosmosImageToVideoLatent node creates video latent representations from input images. It generates a blank video latent and optionally encodes start and/or end images into the beginning and/or end frames of the video sequence. When images are provided, it also creates corresponding noise masks to indicate which parts of the latent should be preserved during generation.
## Inputs
diff --git a/built-in-nodes/CosmosPredict2ImageToVideoLatent.mdx b/built-in-nodes/CosmosPredict2ImageToVideoLatent.mdx
index 3e63c9fb7..142acab79 100644
--- a/built-in-nodes/CosmosPredict2ImageToVideoLatent.mdx
+++ b/built-in-nodes/CosmosPredict2ImageToVideoLatent.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CosmosPredict2ImageToVideoLatent"
icon: "circle"
mode: wide
---
+
The CosmosPredict2ImageToVideoLatent node creates video latent representations from images for video generation. It can generate a blank video latent or incorporate start and end images to create video sequences with specified dimensions and duration. The node handles the encoding of images into the appropriate latent space format for video processing.
## Inputs
diff --git a/built-in-nodes/CreateBoundingBoxes.mdx b/built-in-nodes/CreateBoundingBoxes.mdx
new file mode 100644
index 000000000..873dff641
--- /dev/null
+++ b/built-in-nodes/CreateBoundingBoxes.mdx
@@ -0,0 +1,31 @@
+---
+title: "CreateBoundingBoxes - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the CreateBoundingBoxes node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "CreateBoundingBoxes"
+icon: "circle"
+mode: wide
+---
+
+This node provides a canvas interface for drawing bounding boxes around objects or text regions in an image. It outputs the bounding box coordinates in pixel space, structured element data compatible with Ideogram prompt formatting, and a preview image showing the drawn boxes with labels and color palettes.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `background` | Optional image used as background in the canvas and preview. | IMAGE | No | - |
+| `width` | Width of the canvas and the pixel grid for the bounding boxes (default: 1024). | INT | Yes | 64 to 16384 (step: 16) |
+| `height` | Height of the canvas and the pixel grid for the bounding boxes (default: 1024). | INT | Yes | 64 to 16384 (step: 16) |
+| `editor_state` | Draw bounding boxes and set each box type, text, description, color palette. Start with background element first and foreground last. | BOUNDING_BOXES | Yes | - |
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `preview` | An RGB image showing the canvas with all bounding boxes rendered, including labels, color palette swatches, and descriptive text. | IMAGE |
+| `bboxes` | A list of bounding boxes in pixel coordinates, with each box containing x, y, width, and height values. | BOUNDING_BOX |
+| `elements` | A structured array of element objects, each containing type, bounding box coordinates (normalized 0-1000), text (for text type), description, and color palette. | ARRAY |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/CreateBoundingBoxes/en.md)
+
+---
+**Source fingerprint (SHA-256):** `a63939f13edc6c6507590a390dcd6d0a3321febb5831baab1655d9952228612c`
diff --git a/built-in-nodes/CreateCameraInfo.mdx b/built-in-nodes/CreateCameraInfo.mdx
index 87a20f4ad..9c91680c2 100644
--- a/built-in-nodes/CreateCameraInfo.mdx
+++ b/built-in-nodes/CreateCameraInfo.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "CreateCameraInfo"
icon: "circle"
mode: wide
---
-# Create Camera Info
The Create Camera Info node builds a camera information structure for 3D rendering. It supports three modes for defining the camera: orbit (yaw/pitch/distance around a target), look_at (explicit world position), and quaternion (position plus rotation). The coordinate system is right-handed with Y as the up axis.
diff --git a/built-in-nodes/CreateHookKeyframe.mdx b/built-in-nodes/CreateHookKeyframe.mdx
index 71b39c0fe..e9672f490 100644
--- a/built-in-nodes/CreateHookKeyframe.mdx
+++ b/built-in-nodes/CreateHookKeyframe.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CreateHookKeyframe"
icon: "circle"
mode: wide
---
+
The Create Hook Keyframe node allows you to define specific points in a generation process where hook behavior changes. It creates keyframes that modify the strength of hooks at particular percentages of the generation progress, and these keyframes can be chained together to create complex scheduling patterns.
## Inputs
diff --git a/built-in-nodes/CreateHookKeyframesFromFloats.mdx b/built-in-nodes/CreateHookKeyframesFromFloats.mdx
index dbd33217d..534221034 100644
--- a/built-in-nodes/CreateHookKeyframesFromFloats.mdx
+++ b/built-in-nodes/CreateHookKeyframesFromFloats.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CreateHookKeyframesFromFloats"
icon: "circle"
mode: wide
---
+
This node creates hook keyframes from a list of floating-point strength values, distributing them evenly between specified start and end percentages. It generates a sequence of keyframes where each strength value is assigned to a specific percentage position in the animation timeline. The node can either create a new keyframe group or add to an existing one, with an option to print the generated keyframes for debugging purposes.
## Inputs
diff --git a/built-in-nodes/CreateHookKeyframesInterpolated.mdx b/built-in-nodes/CreateHookKeyframesInterpolated.mdx
index e51cccce8..42f786a8a 100644
--- a/built-in-nodes/CreateHookKeyframesInterpolated.mdx
+++ b/built-in-nodes/CreateHookKeyframesInterpolated.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CreateHookKeyframesInterpolated"
icon: "circle"
mode: wide
---
+
Creates a sequence of hook keyframes with interpolated strength values between a start and end point. The node generates multiple keyframes that smoothly transition the strength parameter across a specified percentage range of the generation process, using various interpolation methods to control the transition curve.
## Inputs
diff --git a/built-in-nodes/CreateHookLora.mdx b/built-in-nodes/CreateHookLora.mdx
index 0f016ecff..82d104d4d 100644
--- a/built-in-nodes/CreateHookLora.mdx
+++ b/built-in-nodes/CreateHookLora.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CreateHookLora"
icon: "circle"
mode: wide
---
+
The Create Hook LoRA node generates hook objects for applying LoRA (Low-Rank Adaptation) modifications to models. It loads a specified LoRA file and creates hooks that can adjust model and CLIP strengths, then combines these hooks with any existing hooks passed to it. The node efficiently manages LoRA loading by caching previously loaded LoRA files to avoid redundant operations.
## Inputs
diff --git a/built-in-nodes/CreateHookLoraModelOnly.mdx b/built-in-nodes/CreateHookLoraModelOnly.mdx
index d5ffffac6..4e3f1a3a1 100644
--- a/built-in-nodes/CreateHookLoraModelOnly.mdx
+++ b/built-in-nodes/CreateHookLoraModelOnly.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CreateHookLoraModelOnly"
icon: "circle"
mode: wide
---
+
This node creates a LoRA (Low-Rank Adaptation) hook that applies only to the model component, leaving the CLIP component completely unchanged. It loads a LoRA file and applies it with a specified strength to the model while setting the CLIP strength to zero. The node can be chained with previous hooks to build complex modification pipelines.
## Inputs
diff --git a/built-in-nodes/CreateHookModelAsLora.mdx b/built-in-nodes/CreateHookModelAsLora.mdx
index 2b2fe1e3a..3e68b8502 100644
--- a/built-in-nodes/CreateHookModelAsLora.mdx
+++ b/built-in-nodes/CreateHookModelAsLora.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CreateHookModelAsLora"
icon: "circle"
mode: wide
---
+
This node creates a hook model as a LoRA (Low-Rank Adaptation) by loading checkpoint weights and applying strength adjustments to both the model and CLIP components. It allows you to apply LoRA-style modifications to existing models through a hook-based approach, enabling fine-tuning and adaptation without permanent model changes. The node can combine with previous hooks and caches loaded weights for efficiency.
## Inputs
diff --git a/built-in-nodes/CreateHookModelAsLoraModelOnly.mdx b/built-in-nodes/CreateHookModelAsLoraModelOnly.mdx
index 4661ecee0..94737c6de 100644
--- a/built-in-nodes/CreateHookModelAsLoraModelOnly.mdx
+++ b/built-in-nodes/CreateHookModelAsLoraModelOnly.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CreateHookModelAsLoraModelOnly"
icon: "circle"
mode: wide
---
+
This node creates a hook that applies a LoRA (Low-Rank Adaptation) model to modify only the model component of a neural network. It loads a checkpoint file and applies it with a specified strength to the model while leaving the CLIP component unchanged. This is an experimental node that extends the functionality of the base CreateHookModelAsLora class.
## Inputs
diff --git a/built-in-nodes/CreateList.mdx b/built-in-nodes/CreateList.mdx
index 20d832e27..3da86baf3 100644
--- a/built-in-nodes/CreateList.mdx
+++ b/built-in-nodes/CreateList.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CreateList"
icon: "circle"
mode: wide
---
+
The Create List node combines multiple inputs into a single, sequential list. It takes any number of inputs of the same data type and concatenates them in the order they are connected. This node is useful for preparing batches of data, such as images or text, to be processed by other nodes in a workflow.
## Inputs
diff --git a/built-in-nodes/CreateVideo.mdx b/built-in-nodes/CreateVideo.mdx
index e4b150cae..9a47f139b 100644
--- a/built-in-nodes/CreateVideo.mdx
+++ b/built-in-nodes/CreateVideo.mdx
@@ -5,23 +5,25 @@ sidebarTitle: "CreateVideo"
icon: "circle"
mode: wide
---
+
The Create Video node generates a video file from a sequence of images. You can specify the playback speed using frames per second and optionally add audio to the video. The node combines your images into a video format that can be played back with the specified frame rate.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `images` | The images to create a video from. | IMAGE | Yes | - |
| `fps` | The frames per second for the video playback speed (default: 30.0). | FLOAT | Yes | 1.0 - 120.0 |
| `audio` | The audio to add to the video. | AUDIO | No | - |
+| `bit_depth` | Bit depth of the created video. 10-bit keeps smoother gradients with less banding, but some players and downstream nodes may not support it (default: 8). | INT | No | 8 - 10 |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video file containing the input images and optional audio. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/CreateVideo/en.md)
---
-**Source fingerprint (SHA-256):** `b3effbbc380a3841ffbedd3c9561e783bc9f9a7887edc8965c38992cb370a812`
+**Source fingerprint (SHA-256):** `7d9484da73946ee69608e16608307de7334a8f920b5c5ec5c7a6f227934e3318`
diff --git a/built-in-nodes/CropByBBoxes.mdx b/built-in-nodes/CropByBBoxes.mdx
index 4f80c49cf..7ec127214 100644
--- a/built-in-nodes/CropByBBoxes.mdx
+++ b/built-in-nodes/CropByBBoxes.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CropByBBoxes"
icon: "circle"
mode: wide
---
+
The CropByBBoxes node extracts and resizes specific rectangular regions from an input image batch. It uses provided bounding box coordinates to define the area to crop from each image. The cropped regions are then resized to a specified output dimension, with options to either stretch the crop or pad it to preserve its original aspect ratio.
## Inputs
diff --git a/built-in-nodes/CropMask.mdx b/built-in-nodes/CropMask.mdx
index 4064e5ec8..56b707778 100644
--- a/built-in-nodes/CropMask.mdx
+++ b/built-in-nodes/CropMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CropMask"
icon: "circle"
mode: wide
---
+
The CropMask node is designed for cropping a specified area from a given mask. It allows users to define the region of interest by specifying coordinates and dimensions, effectively extracting a portion of the mask for further processing or analysis.
## Inputs
diff --git a/built-in-nodes/CurveEditor.mdx b/built-in-nodes/CurveEditor.mdx
index 12dd89451..42eea2add 100644
--- a/built-in-nodes/CurveEditor.mdx
+++ b/built-in-nodes/CurveEditor.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CurveEditor"
icon: "circle"
mode: wide
---
+
The Curve Editor node provides a visual interface for adjusting and fine-tuning a curve. It allows you to modify the shape of an input curve and optionally visualize its distribution with a histogram. The node outputs the modified curve for use in other parts of your workflow.
## Inputs
diff --git a/built-in-nodes/CustomCombo.mdx b/built-in-nodes/CustomCombo.mdx
index 93be7f735..b3e5e5f44 100644
--- a/built-in-nodes/CustomCombo.mdx
+++ b/built-in-nodes/CustomCombo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "CustomCombo"
icon: "circle"
mode: wide
---
+
The Custom Combo node allows you to create a custom dropdown menu with your own list of text options. It is a frontend-focused node that provides a backend representation to ensure compatibility within your workflow. When you select an option from the dropdown, the node outputs that text as a string and its index position.
## Inputs
diff --git a/built-in-nodes/DA3GeometryToMesh.mdx b/built-in-nodes/DA3GeometryToMesh.mdx
new file mode 100644
index 000000000..4a916d972
--- /dev/null
+++ b/built-in-nodes/DA3GeometryToMesh.mdx
@@ -0,0 +1,32 @@
+---
+title: "DA3GeometryToMesh - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the DA3GeometryToMesh node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "DA3GeometryToMesh"
+icon: "circle"
+mode: wide
+---
+
+This node converts a DA3_GEOMETRY packet into a 3D mesh by unprojecting the depth map and triangulating the resulting point cloud. It processes a single image from a batch and produces a textured or untextured mesh suitable for 3D rendering.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `da3_geometry` | The DA3_GEOMETRY packet containing depth map, optional confidence map, optional sky map, and source image | DA3_GEOMETRY | Yes | - |
+| `batch_index` | Which image of a batch to convert. Per-image vertex counts differ so batches cannot be stacked (default: 0) | INT | Yes | 0 to 4096 |
+| `decimation` | Vertex stride. 1 = full resolution, 2 = half, etc. (default: 1) | INT | Yes | 1 to 8 |
+| `discontinuity_threshold` | Drop triangles whose 3x3 depth span exceeds this fraction. 0 = off (default: 0.04) | FLOAT | Yes | 0.0 to 1.0 |
+| `confidence_threshold` | Exclude pixels whose per-image normalised confidence is below this value. 0 = keep all, 1 = keep only the single most confident pixel. Used when the geometry has a confidence map (Small/Base models) (default: 0.1) | FLOAT | Yes | 0.0 to 1.0 |
+| `use_sky_mask` | Exclude sky-probability pixels (sky >= 0.5) from the mesh. Used when the geometry has a sky map (Mono/Metric models) (default: True) | BOOLEAN | Yes | True or False |
+| `texture` | Use the source image as a base color texture (default: True) | BOOLEAN | Yes | True or False |
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `MESH` | A triangulated 3D mesh with vertices, faces, UV coordinates, and optional texture | MESH |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/DA3GeometryToMesh/en.md)
+
+---
+**Source fingerprint (SHA-256):** `1d311223a8d131030bcd4930d21852a21ac9dd5758e7f8b8d20b1cf68698893b`
diff --git a/built-in-nodes/DA3GeometryToPointCloud.mdx b/built-in-nodes/DA3GeometryToPointCloud.mdx
new file mode 100644
index 000000000..5c0c1d763
--- /dev/null
+++ b/built-in-nodes/DA3GeometryToPointCloud.mdx
@@ -0,0 +1,30 @@
+---
+title: "DA3GeometryToPointCloud - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the DA3GeometryToPointCloud node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "DA3GeometryToPointCloud"
+icon: "circle"
+mode: wide
+---
+
+This node converts a depth map from a DA3_GEOMETRY object into a 3D point cloud. It applies filtering based on confidence and sky masks, and transforms the points into a common world coordinate system suitable for multi-view scenes.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `da3_geometry` | The DA3_GEOMETRY object containing depth data and optional image, confidence, and sky maps | DA3_GEOMETRY | Yes | - |
+| `batch_index` | Which image of a batch to convert (default: 0) | INT | Yes | 0 to 4096 |
+| `confidence_threshold` | Exclude pixels whose per-image normalised confidence is below this value (0 = keep all). Used when the geometry has a confidence map (Small/Base models). (default: 0.1) | FLOAT | Yes | 0.0 to 1.0 |
+| `use_sky_mask` | Exclude sky-probability pixels (sky >= 0.5). Used when the geometry has a sky map (Mono/Metric models). (default: True) | BOOLEAN | Yes | True or False |
+| `downsample` | Take every Nth pixel (1 = full resolution). Higher values give fewer points and faster processing. (default: 1) | INT | Yes | 1 to 16 |
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `point_cloud` | A point cloud object containing filtered 3D points, optional colors, and optional confidence values | DA3_POINT_CLOUD |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/DA3GeometryToPointCloud/en.md)
+
+---
+**Source fingerprint (SHA-256):** `3cf5bdbb8afdfcfc02f9832a8cbc5a3df49da755dea6df01792aa6ef9e5d7287`
diff --git a/built-in-nodes/DA3Inference.mdx b/built-in-nodes/DA3Inference.mdx
new file mode 100644
index 000000000..d3aa32ae3
--- /dev/null
+++ b/built-in-nodes/DA3Inference.mdx
@@ -0,0 +1,38 @@
+---
+title: "DA3Inference - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the DA3Inference node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "DA3Inference"
+icon: "circle"
+mode: wide
+---
+
+This node runs the Depth Anything 3 model on an image to estimate depth and geometry information. In multi-view mode, multiple images are processed together as separate views of the same scene to produce geometrically consistent depth maps and camera poses.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `da3_model` | The Depth Anything 3 model to use for inference | DA3_MODEL | Yes | - |
+| `image` | Input image or images to process | IMAGE | Yes | - |
+| `resolution` | Resolution the model runs at (longest side, multiple of 14). Lower values are faster and use less VRAM. Higher values produce more detail. The output is upsampled back to the original size (default: 504) | INT | Yes | 140 to 2520 (step: 14) |
+| `resize_method` | upper_bound_resize: scale so the longest side equals the resolution (caps memory, default). lower_bound_resize: scale so the shortest side equals the resolution (preserves more detail on tall/wide images, uses more memory) | COMBO | Yes | `"upper_bound_resize"` `"lower_bound_resize"` |
+| `mode` | mono: single view image processing (works with any model variant). multiview: all images processed together for geometric consistency and camera pose estimation (for Small and Base models only) | COMBO | Yes | `"mono"` `"multiview"` |
+| `ref_view_strategy` | Which view acts as the geometric anchor in multi-view mode. saddle_balanced: the view most average across all others (best general choice). saddle_sim_range: the view most visually distinct from the others. first / middle: fixed positional picks (default: saddle_balanced) | COMBO | No (conditional) | `"saddle_balanced"` `"saddle_sim_range"` `"first"` `"middle"` |
+| `pose_method` | How the camera field-of-view is estimated (for Small and Base models only). cam_dec: learned from image features. ray_pose: derived geometrically from the model's 3D ray output. Affects perspective correctness of the 3D output (default: cam_dec) | COMBO | No (conditional) | `"cam_dec"` `"ray_pose"` |
+
+**Notes on parameter constraints:**
+- The `ref_view_strategy` and `pose_method` parameters are only available when `mode` is set to `"multiview"`
+- Multi-view mode requires a Small or Base model variant. Models with other head types (such as Metric or Mono) do not support cross-view attention or camera pose estimation
+- When `pose_method` is set to `"cam_dec"`, the model must have a camera decoder. If set to `"ray_pose"`, the model must have a DualDPT head
+- If the selected `pose_method` is not compatible with the loaded model, an error will be raised
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `da3_geometry` | Dictionary of non-normalized tensors. Always contains the keys: depth, image, mode. Optional keys include: sky (for Mono/Metric models), confidence (for Small/Base models), extrinsics and intrinsics (for multi-view mode) | DA3_GEOMETRY |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/DA3Inference/en.md)
+
+---
+**Source fingerprint (SHA-256):** `e91dd47e6a01719cdd6b6ce8a9bcc45933cac72c5e147ac42906d2f83ab7c250`
diff --git a/built-in-nodes/DA3Render.mdx b/built-in-nodes/DA3Render.mdx
new file mode 100644
index 000000000..f0413e2de
--- /dev/null
+++ b/built-in-nodes/DA3Render.mdx
@@ -0,0 +1,54 @@
+---
+title: "DA3Render - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the DA3Render node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "DA3Render"
+icon: "circle"
+mode: wide
+---
+
+This node renders a visualization from Depth Anything 3 geometry data. It can output depth maps, confidence maps, or sky masks depending on the selected output mode.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `da3_geometry` | The Depth Anything 3 geometry data packet containing depth, and optionally sky and confidence tensors | DA3_GEOMETRY | Yes | - |
+| `output` | The type of visualization to render. Options include depth, depth_colored, sky_mask, and confidence. Each option has its own set of sub-parameters. | COMBO | Yes | `"depth"` `"depth_colored"` `"sky_mask"` `"confidence"` |
+
+### Sub-parameters for `output` options
+
+When `output` is set to `"depth"` or `"depth_colored"`:
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `normalization` | The depth normalization method. v2_style uses mean/std normalization for perceptually balanced results (default). min_max stretches the full depth range to [0, 1] for maximum contrast. raw preserves metric units for Metric model without scaling. | COMBO | Yes | `"v2_style"` `"min_max"` `"raw"` |
+| `apply_sky_clip` | Clip sky-region depth to the 99th percentile of foreground depth before normalization. Requires a sky key in the da3_geometry input (for Mono/Metric models only). Default: False | BOOLEAN | Yes | True False |
+
+When `output` is set to `"sky_mask"`:
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `colored` | Apply the Turbo colormap to the sky mask. Default: False | BOOLEAN | Yes | True False |
+
+When `output` is set to `"confidence"`:
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `colored` | Apply the Turbo colormap to the confidence map. Default: False | BOOLEAN | Yes | True False |
+
+### Parameter Constraints
+
+- When `apply_sky_clip` is set to True, the `da3_geometry` input must contain a sky tensor. This is only available when using Mono or Metric models. If the sky tensor is missing, the node will raise an error.
+- The `sky_mask` output option requires a sky tensor in the `da3_geometry` input. This is only available with Mono or Metric models.
+- The `confidence` output option requires a confidence tensor in the `da3_geometry` input. This is only available with Small or Base models.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `IMAGE` | The rendered visualization as an image tensor. For depth outputs, returns a greyscale or colored depth map. For sky_mask and confidence, returns either a greyscale or colored visualization depending on the colored parameter. | IMAGE |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/DA3Render/en.md)
+
+---
+**Source fingerprint (SHA-256):** `54d4cde95a916cac26c8a2e19c5623e794d46c0d7652f1c8204f9f2a0deabe0c`
diff --git a/built-in-nodes/DCTestNode.mdx b/built-in-nodes/DCTestNode.mdx
index 5c0cb9ad7..8c64ced75 100644
--- a/built-in-nodes/DCTestNode.mdx
+++ b/built-in-nodes/DCTestNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "DCTestNode"
icon: "circle"
mode: wide
---
+
The DCTestNode is a logic node that returns different types of data based on a user's selection from a dynamic combo box. It acts as a conditional router, where the chosen option determines which input field is active and what type of value the node will output.
## Inputs
diff --git a/built-in-nodes/DeprecatedCheckpointLoader.mdx b/built-in-nodes/DeprecatedCheckpointLoader.mdx
index c33f74b15..2b7efe026 100644
--- a/built-in-nodes/DeprecatedCheckpointLoader.mdx
+++ b/built-in-nodes/DeprecatedCheckpointLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "DeprecatedCheckpointLoader"
icon: "circle"
mode: wide
---
+
The CheckpointLoader node is designed for advanced loading operations, specifically to load model checkpoints along with their configurations. It facilitates the retrieval of model components necessary for initializing and running generative models, including configurations and checkpoints from specified directories.
## Inputs
diff --git a/built-in-nodes/DeprecatedDiffusersLoader.mdx b/built-in-nodes/DeprecatedDiffusersLoader.mdx
index eac2877d0..73476f6cf 100644
--- a/built-in-nodes/DeprecatedDiffusersLoader.mdx
+++ b/built-in-nodes/DeprecatedDiffusersLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "DeprecatedDiffusersLoader"
icon: "circle"
mode: wide
---
+
The DiffusersLoader node is designed for loading models from the diffusers library, specifically handling the loading of UNet, CLIP, and VAE models based on provided model paths. It facilitates the integration of these models into the ComfyUI framework, enabling advanced functionalities such as text-to-image generation, image manipulation, and more.
## Inputs
diff --git a/built-in-nodes/DiffControlNetLoader.mdx b/built-in-nodes/DiffControlNetLoader.mdx
index 8acdd24ea..9758178dc 100644
--- a/built-in-nodes/DiffControlNetLoader.mdx
+++ b/built-in-nodes/DiffControlNetLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "DiffControlNetLoader"
icon: "circle"
mode: wide
---
+
This node will detect models located in the `ComfyUI/models/controlnet` folder, and it will also read models from additional paths configured in the extra_model_paths.yaml file. Sometimes, you may need to **refresh the ComfyUI interface** to allow it to read the model files from the corresponding folder.
The DiffControlNetLoader node is designed for loading differential control networks, which are specialized models that can modify the behavior of another model based on control net specifications. This node allows for the dynamic adjustment of model behaviors by applying differential control nets, facilitating the creation of customized model outputs.
diff --git a/built-in-nodes/DifferentialDiffusion.mdx b/built-in-nodes/DifferentialDiffusion.mdx
index 83102912c..02ceece8c 100644
--- a/built-in-nodes/DifferentialDiffusion.mdx
+++ b/built-in-nodes/DifferentialDiffusion.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "DifferentialDiffusion"
icon: "circle"
mode: wide
---
+
The Differential Diffusion node modifies the denoising process by applying a binary mask based on timestep thresholds. It creates a mask that blends between the original denoise mask and a threshold-based binary mask, allowing controlled adjustment of the diffusion process strength.
## Inputs
diff --git a/built-in-nodes/DiffusersLoader.mdx b/built-in-nodes/DiffusersLoader.mdx
index f6b63ef64..4d26829c2 100644
--- a/built-in-nodes/DiffusersLoader.mdx
+++ b/built-in-nodes/DiffusersLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "DiffusersLoader"
icon: "circle"
mode: wide
---
+
The DiffusersLoader node loads pre-trained models from the diffusers format. It searches for valid diffusers model directories containing a `model_index.json` file and loads them as MODEL, CLIP, and VAE components for use in the pipeline. This node is part of the deprecated loaders category and provides compatibility with Hugging Face diffusers models.
## Inputs
diff --git a/built-in-nodes/DisableNoise.mdx b/built-in-nodes/DisableNoise.mdx
index 403ce2810..39a9295ee 100644
--- a/built-in-nodes/DisableNoise.mdx
+++ b/built-in-nodes/DisableNoise.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "DisableNoise"
icon: "circle"
mode: wide
---
+
The DisableNoise node provides an empty noise configuration that can be used to disable noise generation in sampling processes. It returns a special noise object that contains no noise data, allowing other nodes to skip noise-related operations when connected to this output.
## Inputs
diff --git a/built-in-nodes/DrawBBoxes.mdx b/built-in-nodes/DrawBBoxes.mdx
index 30930ad44..db65c6ef8 100644
--- a/built-in-nodes/DrawBBoxes.mdx
+++ b/built-in-nodes/DrawBBoxes.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "DrawBBoxes"
icon: "circle"
mode: wide
---
+
The DrawBBoxes node visualizes object detection results by drawing bounding boxes, labels, and confidence scores onto an image. If no input image is provided, it creates a blank canvas large enough to contain all the drawn boxes. It supports batch processing, allowing you to draw different sets of detections for multiple images or repeat the same detections across a batch.
## Inputs
diff --git a/built-in-nodes/DualCFGGuider.mdx b/built-in-nodes/DualCFGGuider.mdx
index 876ca21c1..9996796ed 100644
--- a/built-in-nodes/DualCFGGuider.mdx
+++ b/built-in-nodes/DualCFGGuider.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "DualCFGGuider"
icon: "circle"
mode: wide
---
+
The DualCFGGuider node creates a guidance system for dual classifier-free guidance sampling. It combines two positive conditioning inputs with one negative conditioning input, applying different guidance scales to each conditioning pair to control the influence of each prompt on the generated output.
## Inputs
diff --git a/built-in-nodes/DualCLIPLoader.mdx b/built-in-nodes/DualCLIPLoader.mdx
index a71d26ef6..e9333ad13 100644
--- a/built-in-nodes/DualCLIPLoader.mdx
+++ b/built-in-nodes/DualCLIPLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "DualCLIPLoader"
icon: "circle"
mode: wide
---
+
The DualCLIPLoader node is designed for loading two CLIP models simultaneously, facilitating operations that require the integration or comparison of features from both models.
This node will detect models located in the `ComfyUI/models/text_encoders` folder.
diff --git a/built-in-nodes/DualModelGuider.mdx b/built-in-nodes/DualModelGuider.mdx
index e25a2af0b..ac57839a8 100644
--- a/built-in-nodes/DualModelGuider.mdx
+++ b/built-in-nodes/DualModelGuider.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "DualModelGuider"
icon: "circle"
mode: wide
---
-# Dual Model CFG Guider
This node allows you to use two different models during the guided CFG sampling process: one model for the positive (conditional) pass and a separate model for the negative (unconditional) pass. When no negative model is provided, it behaves like a standard CFG guider using a single model.
diff --git a/built-in-nodes/EasyCache.mdx b/built-in-nodes/EasyCache.mdx
index 1a3044c75..d2ebc2b68 100644
--- a/built-in-nodes/EasyCache.mdx
+++ b/built-in-nodes/EasyCache.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EasyCache"
icon: "circle"
mode: wide
---
+
The EasyCache node implements a native caching system for models to improve performance by reusing previously computed steps during the sampling process. It adds EasyCache functionality to a model with configurable thresholds for when to start and stop using the cache during the sampling timeline.
## Inputs
diff --git a/built-in-nodes/ElevenLabsAudioIsolation.mdx b/built-in-nodes/ElevenLabsAudioIsolation.mdx
index 6f68f1cc0..9b71c3fbe 100644
--- a/built-in-nodes/ElevenLabsAudioIsolation.mdx
+++ b/built-in-nodes/ElevenLabsAudioIsolation.mdx
@@ -5,21 +5,22 @@ sidebarTitle: "ElevenLabsAudioIsolation"
icon: "circle"
mode: wide
---
+
The ElevenLabs Voice Isolation node removes background noise from an audio file, isolating the vocals or speech. It sends the audio to the ElevenLabs API for processing and returns the cleaned audio.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `audio` | Audio to process for background noise removal. | AUDIO | Yes | |
+|-----------|-------------|-----------|----------|-------|
+| `audio` | Audio to process for background noise removal. | AUDIO | Yes | |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `audio` | The processed audio with background noise removed. | AUDIO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ElevenLabsAudioIsolation/en.md)
---
-**Source fingerprint (SHA-256):** `84f1ea16911b9b1d1ab60dd75fade8cc524ac3e39d44f60a242214f14006ff1e`
+**Source fingerprint (SHA-256):** `9527f6cc976a72c787985d866dade272f3fcdc485d2bd9e3ceaaaf625822f3e1`
diff --git a/built-in-nodes/ElevenLabsInstantVoiceClone.mdx b/built-in-nodes/ElevenLabsInstantVoiceClone.mdx
index b22e75f51..22c6486fe 100644
--- a/built-in-nodes/ElevenLabsInstantVoiceClone.mdx
+++ b/built-in-nodes/ElevenLabsInstantVoiceClone.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ElevenLabsInstantVoiceClone"
icon: "circle"
mode: wide
---
+
The ElevenLabs Instant Voice Clone node creates a new, unique voice model by analyzing 1 to 8 audio recordings of a person's voice. It sends these samples to the ElevenLabs API, which processes them to generate a voice clone that can be used for text-to-speech synthesis.
## Inputs
@@ -25,4 +26,4 @@ The ElevenLabs Instant Voice Clone node creates a new, unique voice model by ana
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ElevenLabsInstantVoiceClone/en.md)
---
-**Source fingerprint (SHA-256):** `760bd99ed8382eb875ab21739346d178130b02240526308b784332a59b048d78`
+**Source fingerprint (SHA-256):** `5b109dfff8cdbc51d9e2684b9508b0998aaa014459b973acf29c204835a8db95`
diff --git a/built-in-nodes/ElevenLabsSpeechToSpeech.mdx b/built-in-nodes/ElevenLabsSpeechToSpeech.mdx
index 20cabdca0..61937d69d 100644
--- a/built-in-nodes/ElevenLabsSpeechToSpeech.mdx
+++ b/built-in-nodes/ElevenLabsSpeechToSpeech.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "ElevenLabsSpeechToSpeech"
icon: "circle"
mode: wide
---
+
The ElevenLabs Speech to Speech node transforms an input audio file from one voice to another. It uses the ElevenLabs API to convert speech while preserving the original content and emotional tone of the audio.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `voice` | Target voice for the transformation. Connect from Voice Selector or Instant Voice Clone. | CUSTOM | Yes | - |
| `audio` | Source audio to transform. | AUDIO | Yes | - |
| `stability` | Voice stability. Lower values give broader emotional range, higher values produce more consistent but potentially monotonous speech (default: 0.5). | FLOAT | No | 0.0 - 1.0 |
@@ -22,10 +23,10 @@ The ElevenLabs Speech to Speech node transforms an input audio file from one voi
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `audio` | The transformed audio file in the specified output format. | AUDIO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ElevenLabsSpeechToSpeech/en.md)
---
-**Source fingerprint (SHA-256):** `ef065ffa78a63398e746b52c6c8f2c336e6a4137722537c8026d292ed397a246`
+**Source fingerprint (SHA-256):** `a3cd602181d134b9ab517bfac092ea30b62ef5a9942a905c0c3e6959b34370ca`
diff --git a/built-in-nodes/ElevenLabsSpeechToText.mdx b/built-in-nodes/ElevenLabsSpeechToText.mdx
index f0ba983de..ef333e6f6 100644
--- a/built-in-nodes/ElevenLabsSpeechToText.mdx
+++ b/built-in-nodes/ElevenLabsSpeechToText.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ElevenLabsSpeechToText"
icon: "circle"
mode: wide
---
+
The ElevenLabs Speech to Text node transcribes audio files into text. It uses ElevenLabs' API to convert spoken words into a written transcript, supporting features like automatic language detection, identifying different speakers, and tagging non-speech sounds like music or laughter.
## Inputs
@@ -35,4 +36,4 @@ The ElevenLabs Speech to Text node transcribes audio files into text. It uses El
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ElevenLabsSpeechToText/en.md)
---
-**Source fingerprint (SHA-256):** `1541ae5542b83d80cb96ab0c8694c25b2bd9d4f10c1030902064d05319b2a520`
+**Source fingerprint (SHA-256):** `7eb5d72615aa8a9e4a8014e45b39cf83dc8d8432d7ce0dccba20489be80a5830`
diff --git a/built-in-nodes/ElevenLabsTextToDialogue.mdx b/built-in-nodes/ElevenLabsTextToDialogue.mdx
index 169fe755f..512d022fa 100644
--- a/built-in-nodes/ElevenLabsTextToDialogue.mdx
+++ b/built-in-nodes/ElevenLabsTextToDialogue.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "ElevenLabsTextToDialogue"
icon: "circle"
mode: wide
---
+
The ElevenLabs Text to Dialogue node generates a multi-speaker audio dialogue from text. It allows you to create a conversation by specifying different text lines and distinct voices for each participant. The node sends the dialogue request to the ElevenLabs API and returns the generated audio.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `stability` | Voice stability. Lower values give broader emotional range, higher values produce more consistent but potentially monotonous speech. (default: 0.5) | FLOAT | No | 0.0 - 1.0 |
| `apply_text_normalization` | Text normalization mode. 'auto' lets the system decide, 'on' always applies normalization, 'off' skips it. | COMBO | No | `"auto"` `"on"` `"off"` |
| `model` | Model to use for dialogue generation. | COMBO | No | `"eleven_v3"` |
@@ -24,10 +25,10 @@ The ElevenLabs Text to Dialogue node generates a multi-speaker audio dialogue fr
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `audio` | The generated multi-speaker dialogue audio in the selected output format. | AUDIO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ElevenLabsTextToDialogue/en.md)
---
-**Source fingerprint (SHA-256):** `76eaa0ce55e1b542f4f2073405c707d686affd15202dc1adf1e1a81c542cbdb1`
+**Source fingerprint (SHA-256):** `95b16143391a2282c58ebc66561b85338a8ce1f87e0ec769405225599d2c76ae`
diff --git a/built-in-nodes/ElevenLabsTextToSoundEffects.mdx b/built-in-nodes/ElevenLabsTextToSoundEffects.mdx
index d2f3a1475..2d0a9d7e0 100644
--- a/built-in-nodes/ElevenLabsTextToSoundEffects.mdx
+++ b/built-in-nodes/ElevenLabsTextToSoundEffects.mdx
@@ -5,13 +5,14 @@ sidebarTitle: "ElevenLabsTextToSoundEffects"
icon: "circle"
mode: wide
---
+
The ElevenLabs Text to Sound Effects node generates audio sound effects from a text description. It uses the ElevenLabs API to create sound effects based on your prompt, allowing you to control the duration, looping behavior, and how closely the sound follows the text.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `text` | Text description of the sound effect to generate. This is a required field. | STRING | Yes | N/A |
+|-----------|-------------|-----------|----------|-------|
+| `text` | Text description of the sound effect to generate. | STRING | Yes | N/A |
| `model` | Model to use for sound effect generation. Selecting this model reveals additional parameters: `duration` (default: 5.0, range: 0.5 to 30.0 seconds), `loop` (default: False), and `prompt_influence` (default: 0.3, range: 0.0 to 1.0). | COMBO | Yes | `"eleven_sfx_v2"` |
| `output_format` | Audio output format. | COMBO | Yes | `"mp3_44100_192"` `"opus_48000_192"` |
@@ -24,10 +25,10 @@ The ElevenLabs Text to Sound Effects node generates audio sound effects from a t
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `audio` | The generated sound effect audio file. | AUDIO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ElevenLabsTextToSoundEffects/en.md)
---
-**Source fingerprint (SHA-256):** `5868bfeb82c88b46587cbbce48266abd8b78ac05a24ae61a7c8dc978373c2c06`
+**Source fingerprint (SHA-256):** `218ff617256cea33f310c1bcfc6407c46aaadc59201a0324b0ec64583166ce58`
diff --git a/built-in-nodes/ElevenLabsTextToSpeech.mdx b/built-in-nodes/ElevenLabsTextToSpeech.mdx
index 39c64c742..c615f949e 100644
--- a/built-in-nodes/ElevenLabsTextToSpeech.mdx
+++ b/built-in-nodes/ElevenLabsTextToSpeech.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "ElevenLabsTextToSpeech"
icon: "circle"
mode: wide
---
+
The ElevenLabs Text to Speech node converts written text into spoken audio using the ElevenLabs API. It allows you to select a specific voice and fine-tune various speech characteristics like stability, speed, and style to generate a customized audio output.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `voice` | Voice to use for speech synthesis. Connect from Voice Selector or Instant Voice Clone. | CUSTOM | Yes | N/A |
| `text` | The text to convert to speech. | STRING | Yes | N/A |
| `stability` | Voice stability. Lower values give broader emotional range, higher values produce more consistent but potentially monotonous speech (default: 0.5). | FLOAT | No | 0.0 - 1.0 |
@@ -21,25 +22,26 @@ The ElevenLabs Text to Speech node converts written text into spoken audio using
| `output_format` | Audio output format. | COMBO | No | `"mp3_44100_192"` `"opus_48000_192"` |
**Model-Specific Parameters:**
+
When the `model` parameter is set to `"eleven_multilingual_v2"`, the following additional parameters become available:
-* `speed`: Speech speed. 1.0 is normal, <1.0 slower, >1.0 faster (default: 1.0, range: 0.7 - 1.3).
-* `similarity_boost`: Similarity boost. Higher values make the voice more similar to the original (default: 0.75, range: 0.0 - 1.0).
-* `use_speaker_boost`: Boost similarity to the original speaker voice (default: False).
-* `style`: Style exaggeration. Higher values increase stylistic expression but may reduce stability (default: 0.0, range: 0.0 - 0.2).
+- `speed`: Speech speed. 1.0 is normal, <1.0 slower, >1.0 faster (default: 1.0, range: 0.7 - 1.3).
+- `similarity_boost`: Similarity boost. Higher values make the voice more similar to the original (default: 0.75, range: 0.0 - 1.0).
+- `use_speaker_boost`: Boost similarity to the original speaker voice (default: False).
+- `style`: Style exaggeration. Higher values increase stylistic expression but may reduce stability (default: 0.0, range: 0.0 - 0.2).
When the `model` parameter is set to `"eleven_v3"`, the following additional parameters become available:
-* `speed`: Speech speed. 1.0 is normal, <1.0 slower, >1.0 faster (default: 1.0, range: 0.7 - 1.3).
-* `similarity_boost`: Similarity boost. Higher values make the voice more similar to the original (default: 0.75, range: 0.0 - 1.0).
+- `speed`: Speech speed. 1.0 is normal, <1.0 slower, >1.0 faster (default: 1.0, range: 0.7 - 1.3).
+- `similarity_boost`: Similarity boost. Higher values make the voice more similar to the original (default: 0.75, range: 0.0 - 1.0).
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `audio` | The generated audio from the text-to-speech conversion. | AUDIO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ElevenLabsTextToSpeech/en.md)
---
-**Source fingerprint (SHA-256):** `0cd570fbb152e07ba028e96df56abc08dde8941d043386fd076f42a1e1dc6016`
+**Source fingerprint (SHA-256):** `78ed1c6af2d0b1cc0293d725492a8b104b6d0c6bc18d9971b75047db946cdd33`
diff --git a/built-in-nodes/ElevenLabsVoiceSelector.mdx b/built-in-nodes/ElevenLabsVoiceSelector.mdx
index af71f67fb..776c0997f 100644
--- a/built-in-nodes/ElevenLabsVoiceSelector.mdx
+++ b/built-in-nodes/ElevenLabsVoiceSelector.mdx
@@ -5,21 +5,22 @@ sidebarTitle: "ElevenLabsVoiceSelector"
icon: "circle"
mode: wide
---
+
The ElevenLabs Voice Selector node allows you to choose a specific voice from a predefined list of ElevenLabs text-to-speech voices. It takes a voice name as input and outputs the corresponding voice identifier needed for audio generation. This node simplifies the process of selecting a compatible voice for use with other ElevenLabs audio nodes.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `voice` | Choose a voice from the predefined ElevenLabs voices. | STRING | Yes | `"Adam (male, american)"` `"Antoni (male, british)"` `"Arnold (male, american)"` `"Bella (female, american)"` `"Domi (female, american)"` `"Elli (female, american)"` `"Josh (male, american)"` `"Rachel (female, american)"` `"Sam (male, american)"` |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `voice` | The unique identifier for the selected ElevenLabs voice, which can be passed to other nodes for text-to-speech generation. | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ElevenLabsVoiceSelector/en.md)
---
-**Source fingerprint (SHA-256):** `47adf5da14e65749c16ada389331c380a1e3a18ecc6f366c32d84ffe7c34990a`
+**Source fingerprint (SHA-256):** `72e2239bb0da15a88cd346ede2051b4fb717f3bf49faaf5d63c0622b03ccd80d`
diff --git a/built-in-nodes/EmptyARVideoLatent.mdx b/built-in-nodes/EmptyARVideoLatent.mdx
index cef922b2c..3fcbac0e7 100644
--- a/built-in-nodes/EmptyARVideoLatent.mdx
+++ b/built-in-nodes/EmptyARVideoLatent.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyARVideoLatent"
icon: "circle"
mode: wide
---
+
## Overview
The EmptyARVideoLatent node creates a blank, empty latent representation for video generation. It is used to initialize a video generation process by providing a tensor of zeros with the specified dimensions, aspect ratio, and length.
diff --git a/built-in-nodes/EmptyAceStep1.5LatentAudio.mdx b/built-in-nodes/EmptyAceStep1.5LatentAudio.mdx
index 5c563d5e8..d2f99b3ae 100644
--- a/built-in-nodes/EmptyAceStep1.5LatentAudio.mdx
+++ b/built-in-nodes/EmptyAceStep1.5LatentAudio.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyAceStep1.5LatentAudio"
icon: "circle"
mode: wide
---
+
The Empty Ace Step 1.5 Latent Audio node creates an empty latent tensor designed for audio processing. It generates a silent audio latent of a specified duration and batch size, which can be used as a starting point for audio generation workflows in ComfyUI. The node calculates the latent length based on the input seconds and a fixed sample rate.
## Inputs
diff --git a/built-in-nodes/EmptyAceStepLatentAudio.mdx b/built-in-nodes/EmptyAceStepLatentAudio.mdx
index 81e52889b..e81f38238 100644
--- a/built-in-nodes/EmptyAceStepLatentAudio.mdx
+++ b/built-in-nodes/EmptyAceStepLatentAudio.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyAceStepLatentAudio"
icon: "circle"
mode: wide
---
+
The EmptyAceStepLatentAudio node creates empty latent audio samples of a specified duration. It generates a batch of silent audio latents filled with zeros, where the length is calculated based on the input seconds and audio processing parameters. This node is useful for initializing audio processing workflows that require latent representations.
## Inputs
diff --git a/built-in-nodes/EmptyAudio.mdx b/built-in-nodes/EmptyAudio.mdx
index d3f33b2e0..69ee3c76d 100644
--- a/built-in-nodes/EmptyAudio.mdx
+++ b/built-in-nodes/EmptyAudio.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyAudio"
icon: "circle"
mode: wide
---
+
The EmptyAudio node generates a silent audio clip with specified duration, sample rate, and channel configuration. It creates a waveform containing all zeros, producing complete silence for the given duration. This node is useful for creating placeholder audio or generating silent segments in audio workflows.
## Inputs
diff --git a/built-in-nodes/EmptyChromaRadianceLatentImage.mdx b/built-in-nodes/EmptyChromaRadianceLatentImage.mdx
index c4e85f5ec..81afe6091 100644
--- a/built-in-nodes/EmptyChromaRadianceLatentImage.mdx
+++ b/built-in-nodes/EmptyChromaRadianceLatentImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyChromaRadianceLatentImage"
icon: "circle"
mode: wide
---
+
The EmptyChromaRadianceLatentImage node creates a blank latent image with specified dimensions for use in chroma radiance workflows. It generates a tensor filled with zeros that serves as a starting point for latent space operations. The node allows you to define the width, height, and batch size of the empty latent image.
## Inputs
diff --git a/built-in-nodes/EmptyCosmosLatentVideo.mdx b/built-in-nodes/EmptyCosmosLatentVideo.mdx
index c12714e99..758d7b1ed 100644
--- a/built-in-nodes/EmptyCosmosLatentVideo.mdx
+++ b/built-in-nodes/EmptyCosmosLatentVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyCosmosLatentVideo"
icon: "circle"
mode: wide
---
+
The EmptyCosmosLatentVideo node creates an empty latent video tensor with specified dimensions. It generates a zero-filled latent representation that can be used as a starting point for video generation workflows, with configurable width, height, length, and batch size parameters.
## Inputs
diff --git a/built-in-nodes/EmptyFlux2LatentImage.mdx b/built-in-nodes/EmptyFlux2LatentImage.mdx
index f7bc45c93..da6945371 100644
--- a/built-in-nodes/EmptyFlux2LatentImage.mdx
+++ b/built-in-nodes/EmptyFlux2LatentImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyFlux2LatentImage"
icon: "circle"
mode: wide
---
+
The EmptyFlux2LatentImage node creates a blank, empty latent representation. It generates a tensor filled with zeros, which serves as a starting point for the Flux model's denoising process. The dimensions of the latent are determined by the input width and height, scaled down by a factor of 16.
## Inputs
diff --git a/built-in-nodes/EmptyHiDreamO1LatentImage.mdx b/built-in-nodes/EmptyHiDreamO1LatentImage.mdx
index b55e18f51..b259655de 100644
--- a/built-in-nodes/EmptyHiDreamO1LatentImage.mdx
+++ b/built-in-nodes/EmptyHiDreamO1LatentImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyHiDreamO1LatentImage"
icon: "circle"
mode: wide
---
+
## Overview
This node creates an empty latent image in pixel space, specifically designed for the HiDream-O1-Image model. It generates a blank tensor of zeros that serves as the starting point for image generation, with dimensions defined by the width, height, and batch size inputs.
diff --git a/built-in-nodes/EmptyHunyuanImageLatent.mdx b/built-in-nodes/EmptyHunyuanImageLatent.mdx
index 7eb8a94f5..8ffa5f299 100644
--- a/built-in-nodes/EmptyHunyuanImageLatent.mdx
+++ b/built-in-nodes/EmptyHunyuanImageLatent.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyHunyuanImageLatent"
icon: "circle"
mode: wide
---
+
The EmptyHunyuanImageLatent node creates an empty latent tensor with specific dimensions for use with Hunyuan image generation models. It generates a blank starting point that can be processed through subsequent nodes in the workflow. The node allows you to specify the width, height, and batch size of the latent space.
## Inputs
diff --git a/built-in-nodes/EmptyHunyuanLatentVideo.mdx b/built-in-nodes/EmptyHunyuanLatentVideo.mdx
index fe770f6ae..76a856c0e 100644
--- a/built-in-nodes/EmptyHunyuanLatentVideo.mdx
+++ b/built-in-nodes/EmptyHunyuanLatentVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyHunyuanLatentVideo"
icon: "circle"
mode: wide
---
+
The `EmptyHunyuanLatentVideo` node is similar to the `EmptyLatentImage` node. You can consider it as a blank canvas for video generation, where width, height, and length define the properties of the canvas, and the batch size determines the number of canvases to create. This node creates empty canvases ready for subsequent video generation tasks.
## Inputs
diff --git a/built-in-nodes/EmptyHunyuanVideo15Latent.mdx b/built-in-nodes/EmptyHunyuanVideo15Latent.mdx
index 15e3187d4..45bbd3edb 100644
--- a/built-in-nodes/EmptyHunyuanVideo15Latent.mdx
+++ b/built-in-nodes/EmptyHunyuanVideo15Latent.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyHunyuanVideo15Latent"
icon: "circle"
mode: wide
---
+
This node creates an empty latent tensor specifically formatted for use with the HunyuanVideo 1.5 model. It generates a blank starting point for video generation by allocating a tensor of zeros with the correct channel count and spatial dimensions for the model's latent space.
## Inputs
diff --git a/built-in-nodes/EmptyImage.mdx b/built-in-nodes/EmptyImage.mdx
index 77ac195dc..2230a95b1 100644
--- a/built-in-nodes/EmptyImage.mdx
+++ b/built-in-nodes/EmptyImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyImage"
icon: "circle"
mode: wide
---
+
## Function Description
The EmptyImage node is used to create blank images with specified dimensions and colors. It can generate solid-color background images, commonly used as starting points or background images for image processing workflows.
diff --git a/built-in-nodes/EmptyLTXVLatentVideo.mdx b/built-in-nodes/EmptyLTXVLatentVideo.mdx
index 539167f2e..7c226e4b1 100644
--- a/built-in-nodes/EmptyLTXVLatentVideo.mdx
+++ b/built-in-nodes/EmptyLTXVLatentVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyLTXVLatentVideo"
icon: "circle"
mode: wide
---
+
The EmptyLTXVLatentVideo node creates an empty latent tensor for video processing. It generates a blank starting point with specified dimensions that can be used as input for video generation workflows. The node produces a zero-filled latent representation with the configured width, height, length, and batch size.
## Inputs
diff --git a/built-in-nodes/EmptyLatentAudio.mdx b/built-in-nodes/EmptyLatentAudio.mdx
index c148fa12e..dc552f282 100644
--- a/built-in-nodes/EmptyLatentAudio.mdx
+++ b/built-in-nodes/EmptyLatentAudio.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyLatentAudio"
icon: "circle"
mode: wide
---
+
The EmptyLatentAudio node creates an empty latent tensor for audio processing. It generates a blank audio latent representation with a specified duration and batch size, which can be used as a starting point for audio generation or processing workflows. The node automatically calculates the appropriate latent dimensions based on the audio duration and sample rate.
## Inputs
diff --git a/built-in-nodes/EmptyLatentHunyuan3Dv2.mdx b/built-in-nodes/EmptyLatentHunyuan3Dv2.mdx
index 3730c9525..d69694d95 100644
--- a/built-in-nodes/EmptyLatentHunyuan3Dv2.mdx
+++ b/built-in-nodes/EmptyLatentHunyuan3Dv2.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyLatentHunyuan3Dv2"
icon: "circle"
mode: wide
---
+
The EmptyLatentHunyuan3Dv2 node creates blank latent tensors specifically formatted for Hunyuan3Dv2 3D generation models. It generates empty latent spaces with the correct dimensions and structure required by the Hunyuan3Dv2 architecture, allowing you to start 3D generation workflows from scratch. The node produces latent tensors filled with zeros that serve as the foundation for subsequent 3D generation processes.
## Inputs
diff --git a/built-in-nodes/EmptyLatentImage.mdx b/built-in-nodes/EmptyLatentImage.mdx
index 6b302830a..b9f258700 100644
--- a/built-in-nodes/EmptyLatentImage.mdx
+++ b/built-in-nodes/EmptyLatentImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyLatentImage"
icon: "circle"
mode: wide
---
+
The `EmptyLatentImage` node is designed to generate a blank latent space representation with specified dimensions and batch size. This node serves as a foundational step in generating or manipulating images in latent space, providing a starting point for further image synthesis or modification processes.
## Inputs
diff --git a/built-in-nodes/EmptyMochiLatentVideo.mdx b/built-in-nodes/EmptyMochiLatentVideo.mdx
index e845ffe57..8d5caf361 100644
--- a/built-in-nodes/EmptyMochiLatentVideo.mdx
+++ b/built-in-nodes/EmptyMochiLatentVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyMochiLatentVideo"
icon: "circle"
mode: wide
---
+
The EmptyMochiLatentVideo node creates an empty latent video tensor with specified dimensions. It generates a zero-filled latent representation that can be used as a starting point for video generation workflows. The node allows you to define the width, height, length, and batch size for the latent video tensor.
## Inputs
diff --git a/built-in-nodes/EmptyQwenImageLayeredLatentImage.mdx b/built-in-nodes/EmptyQwenImageLayeredLatentImage.mdx
index f93797748..8be7d3179 100644
--- a/built-in-nodes/EmptyQwenImageLayeredLatentImage.mdx
+++ b/built-in-nodes/EmptyQwenImageLayeredLatentImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptyQwenImageLayeredLatentImage"
icon: "circle"
mode: wide
---
+
The Empty Qwen Image Layered Latent node creates a blank, multi-layered latent representation for use with Qwen image models. It generates a tensor filled with zeros, structured with a specified number of layers, batch size, and spatial dimensions. This empty latent serves as a starting point for subsequent image generation or manipulation workflows.
## Inputs
diff --git a/built-in-nodes/EmptySD3LatentImage.mdx b/built-in-nodes/EmptySD3LatentImage.mdx
index 9c501942b..9068f6134 100644
--- a/built-in-nodes/EmptySD3LatentImage.mdx
+++ b/built-in-nodes/EmptySD3LatentImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "EmptySD3LatentImage"
icon: "circle"
mode: wide
---
+
The EmptySD3LatentImage node creates a blank latent image tensor specifically formatted for Stable Diffusion 3 models. It generates a tensor filled with zeros that has the correct dimensions and structure expected by SD3 pipelines. This is commonly used as a starting point for image generation workflows.
## Inputs
diff --git a/built-in-nodes/Epsilon Scaling.mdx b/built-in-nodes/Epsilon Scaling.mdx
index c46143860..ff966c854 100644
--- a/built-in-nodes/Epsilon Scaling.mdx
+++ b/built-in-nodes/Epsilon Scaling.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Epsilon Scaling"
icon: "circle"
mode: wide
---
+
This node implements the Epsilon Scaling method from the research paper "Elucidating the Exposure Bias in Diffusion Models" (arxiv.org/abs/2308.15321v6). It works by scaling the predicted noise during the sampling process to help reduce exposure bias, which can lead to improved quality in the generated images. This implementation uses the "uniform schedule" recommended by the paper for its practicality and effectiveness.
## Inputs
diff --git a/built-in-nodes/ExponentialScheduler.mdx b/built-in-nodes/ExponentialScheduler.mdx
index 1a05776aa..79e05f07a 100644
--- a/built-in-nodes/ExponentialScheduler.mdx
+++ b/built-in-nodes/ExponentialScheduler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ExponentialScheduler"
icon: "circle"
mode: wide
---
+
The `ExponentialScheduler` node is designed to generate a sequence of sigma values following an exponential schedule for diffusion sampling processes. It provides a customizable approach to control the noise levels applied at each step of the diffusion process, allowing for fine-tuning of the sampling behavior.
## Inputs
diff --git a/built-in-nodes/ExtendIntermediateSigmas.mdx b/built-in-nodes/ExtendIntermediateSigmas.mdx
index 0ece9aed0..6478a0309 100644
--- a/built-in-nodes/ExtendIntermediateSigmas.mdx
+++ b/built-in-nodes/ExtendIntermediateSigmas.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ExtendIntermediateSigmas"
icon: "circle"
mode: wide
---
+
The ExtendIntermediateSigmas node takes an existing sequence of sigma values and inserts additional intermediate sigma values between them. It allows you to specify how many extra steps to add, the spacing method for interpolation, and optional start and end sigma boundaries to control where the extension occurs within the sigma sequence.
## Inputs
diff --git a/built-in-nodes/FeatherMask.mdx b/built-in-nodes/FeatherMask.mdx
index 52f1db063..d31278237 100644
--- a/built-in-nodes/FeatherMask.mdx
+++ b/built-in-nodes/FeatherMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FeatherMask"
icon: "circle"
mode: wide
---
+
The `FeatherMask` node applies a feathering effect to the edges of a given mask, smoothly transitioning the mask's edges by adjusting their opacity based on specified distances from each edge. This creates a softer, more blended edge effect.
## Inputs
diff --git a/built-in-nodes/File3DToSplat.mdx b/built-in-nodes/File3DToSplat.mdx
index a59b7260d..0ac3eb99b 100644
--- a/built-in-nodes/File3DToSplat.mdx
+++ b/built-in-nodes/File3DToSplat.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "File3DToSplat"
icon: "circle"
mode: wide
---
-# File3DToSplat
This node converts a 3D file containing gaussian splat data into a gaussian splat format that can be used in the node graph. It supports PLY, SPLAT, KSPLAT, and SPZ file formats, with the file format automatically detected from the file contents.
diff --git a/built-in-nodes/FlipSigmas.mdx b/built-in-nodes/FlipSigmas.mdx
index a8f4c2f1f..da95e6359 100644
--- a/built-in-nodes/FlipSigmas.mdx
+++ b/built-in-nodes/FlipSigmas.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FlipSigmas"
icon: "circle"
mode: wide
---
+
The `FlipSigmas` node is designed to manipulate the sequence of sigma values used in diffusion models by reversing their order and ensuring the first value is non-zero if originally zero. This operation is crucial for adapting the noise levels in reverse order, facilitating the generation process in models that operate by gradually reducing noise from data.
## Inputs
diff --git a/built-in-nodes/Flux2ImageNode.mdx b/built-in-nodes/Flux2ImageNode.mdx
index 8c2a389c3..0282eef61 100644
--- a/built-in-nodes/Flux2ImageNode.mdx
+++ b/built-in-nodes/Flux2ImageNode.mdx
@@ -5,14 +5,13 @@ sidebarTitle: "Flux2ImageNode"
icon: "circle"
mode: wide
---
-## Overview
Generate images using the Flux.2 [pro] or Flux.2 [max] model from a text prompt and optional reference images. This node sends your request to the BFL API, polls for the result, and returns the generated image as a tensor.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the image generation or edit (default: empty string). | STRING | Yes | N/A |
| `model` | The Flux.2 model version to use. Selecting a model unlocks additional parameters for width, height, and optional reference images. | COMBO | Yes | `"Flux.2 [pro]"` `"Flux.2 [max]"` |
| `seed` | The random seed used for creating the noise. Can be set to randomize after each generation (default: 0). | INT | Yes | 0 to 18446744073709551615 |
@@ -22,22 +21,22 @@ Generate images using the Flux.2 [pro] or Flux.2 [max] model from a text prompt
When you select a model, the following parameters become available:
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model.width` | The width of the generated image in pixels. | INT | Yes | 256 to 1440 |
| `model.height` | The height of the generated image in pixels. | INT | Yes | 256 to 1440 |
| `model.images` | Optional reference images to guide the generation. A maximum of 8 images is supported. | IMAGE | No | 0 to 8 images |
**Constraints:**
- The maximum number of reference images is 8. If more than 8 images are provided, an error will be raised.
-- The `model.width` and `model.height` values affect the cost of the generation (see price badge logic in source code).
+- The `model.width` and `model.height` values affect the cost of the generation.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The generated image as a tensor, downloaded from the BFL API result. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Flux2ImageNode/en.md)
---
-**Source fingerprint (SHA-256):** `ce3ee97d5ccb746892f3bfdb0dd5450d79cb4e0775a88d1f8c09569ce43ecbbb`
+**Source fingerprint (SHA-256):** `9627f120df5aedfef1203db2baf39926e1d6891ef30e56b4eac4c2baf5e032e8`
diff --git a/built-in-nodes/Flux2Scheduler.mdx b/built-in-nodes/Flux2Scheduler.mdx
index 98f71c9fc..c4a80c84f 100644
--- a/built-in-nodes/Flux2Scheduler.mdx
+++ b/built-in-nodes/Flux2Scheduler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Flux2Scheduler"
icon: "circle"
mode: wide
---
+
The Flux2Scheduler node generates a sequence of noise levels (sigmas) for the denoising process, specifically tailored for the Flux model. It calculates a schedule based on the number of denoising steps and the dimensions of the target image, which influences the progression of noise removal during image generation.
## Inputs
diff --git a/built-in-nodes/FluxDisableGuidance.mdx b/built-in-nodes/FluxDisableGuidance.mdx
index 1ecac72d3..c0608ffeb 100644
--- a/built-in-nodes/FluxDisableGuidance.mdx
+++ b/built-in-nodes/FluxDisableGuidance.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FluxDisableGuidance"
icon: "circle"
mode: wide
---
+
This node completely disables the guidance embed functionality for Flux and similar models. It takes conditioning data as input and removes the guidance component by setting it to None, effectively turning off guidance-based conditioning for the generation process.
## Inputs
diff --git a/built-in-nodes/FluxEraseNode.mdx b/built-in-nodes/FluxEraseNode.mdx
index d0c68ad12..0bcf7c330 100644
--- a/built-in-nodes/FluxEraseNode.mdx
+++ b/built-in-nodes/FluxEraseNode.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "FluxEraseNode"
icon: "circle"
mode: wide
---
-# Flux Erase Node
Removes the masked object from an image and reconstructs the background. Paint the mask over what you want to erase, and the node fills in the area with plausible background content.
diff --git a/built-in-nodes/FluxGuidance.mdx b/built-in-nodes/FluxGuidance.mdx
index 668403355..6929c23c8 100644
--- a/built-in-nodes/FluxGuidance.mdx
+++ b/built-in-nodes/FluxGuidance.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FluxGuidance"
icon: "circle"
mode: wide
---
+
## Inputs
| Parameter | Description | Data Type |
diff --git a/built-in-nodes/FluxKVCache.mdx b/built-in-nodes/FluxKVCache.mdx
index ec78cbaf2..1febcef01 100644
--- a/built-in-nodes/FluxKVCache.mdx
+++ b/built-in-nodes/FluxKVCache.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FluxKVCache"
icon: "circle"
mode: wide
---
+
The Flux KV Cache node enables a Key-Value (KV) Cache optimization for Flux family models. This optimization improves performance when using reference images by caching certain computations, which can speed up the generation process.
## Inputs
diff --git a/built-in-nodes/FluxKontextImageScale.mdx b/built-in-nodes/FluxKontextImageScale.mdx
index 3172ceaad..29126e61a 100644
--- a/built-in-nodes/FluxKontextImageScale.mdx
+++ b/built-in-nodes/FluxKontextImageScale.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FluxKontextImageScale"
icon: "circle"
mode: wide
---
+
This node scales the input image to an optimal size used during Flux Kontext model training using the Lanczos algorithm, based on the input image's aspect ratio. This node is particularly useful when inputting large-sized images, as oversized inputs may lead to degraded model output quality or issues such as multiple subjects appearing in the output.
## Inputs
diff --git a/built-in-nodes/FluxKontextMultiReferenceLatentMethod.mdx b/built-in-nodes/FluxKontextMultiReferenceLatentMethod.mdx
index 296bd300e..55e3311aa 100644
--- a/built-in-nodes/FluxKontextMultiReferenceLatentMethod.mdx
+++ b/built-in-nodes/FluxKontextMultiReferenceLatentMethod.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FluxKontextMultiReferenceLatentMethod"
icon: "circle"
mode: wide
---
+
The FluxKontextMultiReferenceLatentMethod node modifies conditioning data by setting a specific reference latents method. It appends the chosen method to the conditioning input, which affects how reference latents are processed in subsequent generation steps. This node is marked as experimental and is part of the Flux conditioning system.
## Inputs
diff --git a/built-in-nodes/FluxProCannyNode.mdx b/built-in-nodes/FluxProCannyNode.mdx
index 4326b2a88..844ce32fe 100644
--- a/built-in-nodes/FluxProCannyNode.mdx
+++ b/built-in-nodes/FluxProCannyNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FluxProCannyNode"
icon: "circle"
mode: wide
---
+
Generate image using a control image (canny). This node takes a control image and generates a new image based on the provided prompt while following the edge structure detected in the control image.
## Inputs
diff --git a/built-in-nodes/FluxProDepthNode.mdx b/built-in-nodes/FluxProDepthNode.mdx
index 4cf1e607b..002a985c3 100644
--- a/built-in-nodes/FluxProDepthNode.mdx
+++ b/built-in-nodes/FluxProDepthNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FluxProDepthNode"
icon: "circle"
mode: wide
---
+
This node generates images using a depth control image as guidance. It takes a control image and a text prompt, then creates a new image that follows both the depth information from the control image and the description in the prompt. The node connects to an external API to perform the image generation process.
## Inputs
diff --git a/built-in-nodes/FluxProExpandNode.mdx b/built-in-nodes/FluxProExpandNode.mdx
index c05b56129..e467a5852 100644
--- a/built-in-nodes/FluxProExpandNode.mdx
+++ b/built-in-nodes/FluxProExpandNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "FluxProExpandNode"
icon: "circle"
mode: wide
---
+
Outpaints image based on prompt. This node expands an image by adding pixels to the top, bottom, left, and right sides while generating new content that matches the provided text description.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to be expanded | IMAGE | Yes | - |
| `prompt` | Prompt for the image generation (default: "") | STRING | No | - |
| `prompt_upsampling` | Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation, but results are nondeterministic (same seed will not produce exactly the same result). (default: False) | BOOLEAN | No | - |
@@ -25,10 +26,10 @@ Outpaints image based on prompt. This node expands an image by adding pixels to
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The expanded output image | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/FluxProExpandNode/en.md)
---
-**Source fingerprint (SHA-256):** `d8ef7e28fecd0d08fa8f61c714ada054162668bb961008230bd4d342564af713`
+**Source fingerprint (SHA-256):** `faff1e1311a3208066a499a358923c6e335ea1785baeafe3761484641f7f12d6`
diff --git a/built-in-nodes/FluxProFillNode.mdx b/built-in-nodes/FluxProFillNode.mdx
index a9c20b037..ff44726fa 100644
--- a/built-in-nodes/FluxProFillNode.mdx
+++ b/built-in-nodes/FluxProFillNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "FluxProFillNode"
icon: "circle"
mode: wide
---
+
Inpaints image based on mask and prompt. This node uses the Flux.1 model to fill in masked areas of an image according to the provided text description, generating new content that matches the surrounding image.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to be inpainted | IMAGE | Yes | - |
| `mask` | The mask defining which areas of the image should be filled | MASK | Yes | - |
| `prompt` | Prompt for the image generation (default: empty string) | STRING | No | - |
@@ -22,10 +23,10 @@ Inpaints image based on mask and prompt. This node uses the Flux.1 model to fill
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output_image` | The generated image with the masked areas filled according to the prompt | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/FluxProFillNode/en.md)
---
-**Source fingerprint (SHA-256):** `68f9834a58d6e2d14743adafb1f791880f0af30fdb65cb6201af5616945bb56b`
+**Source fingerprint (SHA-256):** `11aa071c52897788d9d7dae4105ffdf747d3cb91d75a0ad7cfacd7ca1ddd2ac1`
diff --git a/built-in-nodes/FluxProImageNode.mdx b/built-in-nodes/FluxProImageNode.mdx
index 3e4b49130..b016d88f3 100644
--- a/built-in-nodes/FluxProImageNode.mdx
+++ b/built-in-nodes/FluxProImageNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FluxProImageNode"
icon: "circle"
mode: wide
---
+
Generates images synchronously based on prompt and resolution. This node creates images using the Flux 1.1 Pro model by sending requests to an API endpoint and waiting for the complete response before returning the generated image.
## Inputs
diff --git a/built-in-nodes/FluxProUltraImageNode.mdx b/built-in-nodes/FluxProUltraImageNode.mdx
index adeda337a..d1b5e8410 100644
--- a/built-in-nodes/FluxProUltraImageNode.mdx
+++ b/built-in-nodes/FluxProUltraImageNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "FluxProUltraImageNode"
icon: "circle"
mode: wide
---
+
Generates images using Flux Pro 1.1 Ultra via API based on prompt and resolution. This node connects to an external service to create images according to your text description and specified dimensions.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the image generation (default: empty string) | STRING | Yes | - |
| `prompt_upsampling` | Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation, but results are nondeterministic (same seed will not produce exactly the same result). (default: False) | BOOLEAN | No | - |
| `seed` | The random seed used for creating the noise. (default: 0) | INT | No | 0 to 18446744073709551615 |
@@ -24,10 +25,10 @@ Generates images using Flux Pro 1.1 Ultra via API based on prompt and resolution
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output_image` | The generated image from Flux Pro 1.1 Ultra | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/FluxProUltraImageNode/en.md)
---
-**Source fingerprint (SHA-256):** `9a0e3c676456da395845a2bd869abaaca30ed63ee3faf56449a2548fbab46b5c`
+**Source fingerprint (SHA-256):** `6c9292ea666055ccd309d9e5d6d7cf8985f7b8f1e1faeda1e961b429b249f494`
diff --git a/built-in-nodes/FluxVTONode.mdx b/built-in-nodes/FluxVTONode.mdx
index a8b82f9cd..290732c9b 100644
--- a/built-in-nodes/FluxVTONode.mdx
+++ b/built-in-nodes/FluxVTONode.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "FluxVTONode"
icon: "circle"
mode: wide
---
-# Flux Virtual Try-On
This node performs virtual try-on by dressing a person in a provided garment image. It uses the BFL Flux VTO API to generate a realistic image of the person wearing the specified garment.
diff --git a/built-in-nodes/FrameInterpolate.mdx b/built-in-nodes/FrameInterpolate.mdx
index 7bc8f5dff..61c4aefbd 100644
--- a/built-in-nodes/FrameInterpolate.mdx
+++ b/built-in-nodes/FrameInterpolate.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FrameInterpolate"
icon: "circle"
mode: wide
---
+
## Overview
The Frame Interpolate node creates new frames between existing ones in a sequence of images, effectively increasing the frame rate. It uses an AI model to predict what the intermediate frames should look like, which can be used to create smooth slow-motion effects or to increase the smoothness of a video.
diff --git a/built-in-nodes/FrameInterpolationModelLoader.mdx b/built-in-nodes/FrameInterpolationModelLoader.mdx
index 82b43a946..7b9c842b3 100644
--- a/built-in-nodes/FrameInterpolationModelLoader.mdx
+++ b/built-in-nodes/FrameInterpolationModelLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FrameInterpolationModelLoader"
icon: "circle"
mode: wide
---
+
## Overview
This node loads a frame interpolation model from a file and prepares it for use in the workflow. It automatically detects the model type (FILM or RIFE) and configures the model for optimal performance on your hardware.
diff --git a/built-in-nodes/FreSca.mdx b/built-in-nodes/FreSca.mdx
index 24f07e4df..179a707cb 100644
--- a/built-in-nodes/FreSca.mdx
+++ b/built-in-nodes/FreSca.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FreSca"
icon: "circle"
mode: wide
---
+
The FreSca node applies frequency-dependent scaling to the guidance during the sampling process. It separates the guidance signal into low-frequency and high-frequency components using Fourier filtering, then applies different scaling factors to each frequency range before recombining them. This allows for more nuanced control over how guidance affects different aspects of the generated output.
## Inputs
diff --git a/built-in-nodes/FreeU.mdx b/built-in-nodes/FreeU.mdx
index bb323ba66..0394d5f0f 100644
--- a/built-in-nodes/FreeU.mdx
+++ b/built-in-nodes/FreeU.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FreeU"
icon: "circle"
mode: wide
---
+
The FreeU node applies frequency-domain modifications to a model's output blocks to enhance image generation quality. It works by scaling different channel groups and applying Fourier filtering to specific feature maps, allowing for fine-tuned control over the model's behavior during the generation process.
## Inputs
diff --git a/built-in-nodes/FreeU_V2.mdx b/built-in-nodes/FreeU_V2.mdx
index cfbb6983b..60165cdca 100644
--- a/built-in-nodes/FreeU_V2.mdx
+++ b/built-in-nodes/FreeU_V2.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "FreeU_V2"
icon: "circle"
mode: wide
---
+
The FreeU_V2 node enhances image generation quality by applying frequency-based modifications to a diffusion model's U-Net architecture. It uses configurable scaling factors to adjust feature channels in different blocks, improving output without requiring additional training.
## Inputs
diff --git a/built-in-nodes/GITSScheduler.mdx b/built-in-nodes/GITSScheduler.mdx
index c1f677e8c..323bb2265 100644
--- a/built-in-nodes/GITSScheduler.mdx
+++ b/built-in-nodes/GITSScheduler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "GITSScheduler"
icon: "circle"
mode: wide
---
+
The GITSScheduler node generates noise schedule sigmas for the GITS (Generative Iterative Time Steps) sampling method. It calculates sigma values based on a coefficient parameter and number of steps, with an optional denoising factor that can reduce the total steps used. The node uses pre-defined noise levels and interpolation to create the final sigma schedule.
## Inputs
diff --git a/built-in-nodes/GLIGENLoader.mdx b/built-in-nodes/GLIGENLoader.mdx
index ba7417499..2579a7ca7 100644
--- a/built-in-nodes/GLIGENLoader.mdx
+++ b/built-in-nodes/GLIGENLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "GLIGENLoader"
icon: "circle"
mode: wide
---
+
This node will detect models located in the `ComfyUI/models/gligen` folder, and it will also read models from additional paths configured in the extra_model_paths.yaml file. Sometimes, you may need to **refresh the ComfyUI interface** to allow it to read the model files from the corresponding folder.
The `GLIGENLoader` node is designed for loading GLIGEN models, which are specialized generative models. It facilitates the process of retrieving and initializing these models from specified paths, making them ready for further generative tasks.
diff --git a/built-in-nodes/GLIGENTextBoxApply.mdx b/built-in-nodes/GLIGENTextBoxApply.mdx
index 32d727720..bf10b1c5d 100644
--- a/built-in-nodes/GLIGENTextBoxApply.mdx
+++ b/built-in-nodes/GLIGENTextBoxApply.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "GLIGENTextBoxApply"
icon: "circle"
mode: wide
---
+
The `GLIGENTextBoxApply` node is designed to integrate text-based conditioning into a generative model's input, specifically by applying text box parameters and encoding them using a CLIP model. This process enriches the conditioning with spatial and textual information, facilitating more precise and context-aware generation.
## Inputs
diff --git a/built-in-nodes/GLSLShader.mdx b/built-in-nodes/GLSLShader.mdx
index 6c5f0e961..1cfb56c21 100644
--- a/built-in-nodes/GLSLShader.mdx
+++ b/built-in-nodes/GLSLShader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "GLSLShader"
icon: "circle"
mode: wide
---
+
The **GLSL Shader** node lets you write custom fragment shaders in **GLSL ES 3.00** (WebGL 2.0 compatible) to process images directly on the GPU. You can create image effects like blurs, color grading, film grain, glow, and much more - all running at GPU speed.
diff --git a/built-in-nodes/GeminiImage2Node.mdx b/built-in-nodes/GeminiImage2Node.mdx
index 4dcb5946b..5c0939367 100644
--- a/built-in-nodes/GeminiImage2Node.mdx
+++ b/built-in-nodes/GeminiImage2Node.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "GeminiImage2Node"
icon: "circle"
mode: wide
---
+
The GeminiImage2Node generates or edits images using Google's Vertex AI Gemini model. It sends a text prompt and optional reference images or files to the API and returns the generated image and/or a text description.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text prompt describing the image to generate or the edits to apply. Include any constraints, styles, or details the model should follow. | STRING | Yes | N/A |
| `model` | The specific Gemini model to use for generation. The "Nano Banana 2" option maps to the `gemini-3.1-flash-image-preview` model internally. | COMBO | Yes | `"gemini-3-pro-image-preview"` `"Nano Banana 2 (Gemini 3.1 Flash Image)"` |
| `seed` | When fixed to a specific value, the model makes a best effort to provide the same response for repeated requests. Deterministic output isn't guaranteed. Changing the model or other settings can cause variations even with the same seed. Default: 42. | INT | Yes | 0 to 18446744073709551615 |
@@ -29,11 +30,11 @@ The GeminiImage2Node generates or edits images using Google's Vertex AI Gemini m
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The image generated or edited by the Gemini model. | IMAGE |
| `string` | The text response from the model. This output will be empty if `response_modalities` is set to "IMAGE". | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GeminiImage2Node/en.md)
---
-**Source fingerprint (SHA-256):** `5814a952815288c0b4b5962f646c69b0e618bfb9ab92b31ba60eab313c68a01c`
+**Source fingerprint (SHA-256):** `3483c2b157c7359a571e2478d8709019b42b895195bc5fa14c44d6ba2950234d`
diff --git a/built-in-nodes/GeminiImageNode.mdx b/built-in-nodes/GeminiImageNode.mdx
index cc3cdacf8..542f9e6cd 100644
--- a/built-in-nodes/GeminiImageNode.mdx
+++ b/built-in-nodes/GeminiImageNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "GeminiImageNode"
icon: "circle"
mode: wide
---
+
The GeminiImage node generates text and image responses from Google's Gemini AI models. It allows you to provide multimodal inputs including text prompts, images, and files to create coherent text and image outputs. The node handles all API communication and response parsing with the latest Gemini models.
## Inputs
diff --git a/built-in-nodes/GeminiInputFiles.mdx b/built-in-nodes/GeminiInputFiles.mdx
index c2478d65b..e6c159a70 100644
--- a/built-in-nodes/GeminiInputFiles.mdx
+++ b/built-in-nodes/GeminiInputFiles.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "GeminiInputFiles"
icon: "circle"
mode: wide
---
+
Loads and formats input files for use with the Gemini API. This node allows users to include text (.txt) and PDF (.pdf) files as input context for the Gemini model. Files are converted to the appropriate format required by the API and can be chained together to include multiple files in a single request.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `file` | Input files to include as context for the model. Only accepts text (.txt) and PDF (.pdf) files for now. Files must be smaller than the maximum input file size limit (20 MB). | COMBO | Yes | Multiple options available (only .txt and .pdf files under 20 MB) |
| `GEMINI_INPUT_FILES` | An optional additional file(s) to batch together with the file loaded from this node. Allows chaining of input files so that a single message can include multiple input files. | GEMINI_INPUT_FILES | No | N/A |
@@ -19,10 +20,10 @@ Loads and formats input files for use with the Gemini API. This node allows user
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `GEMINI_INPUT_FILES` | Formatted file data ready for use with Gemini LLM nodes, containing the loaded file content in the appropriate API format. | GEMINI_INPUT_FILES |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GeminiInputFiles/en.md)
---
-**Source fingerprint (SHA-256):** `dc8ddfffc13984b2d0cc08a50f2a8c26f9608724f632ab49fdeff12bc2e5424a`
+**Source fingerprint (SHA-256):** `1c80a87746c7ac73379f5c1e2d5c4d22f0fc44d3241fafb0297e087e436df7d6`
diff --git a/built-in-nodes/GeminiNanoBanana2.mdx b/built-in-nodes/GeminiNanoBanana2.mdx
index 55f674c43..579816046 100644
--- a/built-in-nodes/GeminiNanoBanana2.mdx
+++ b/built-in-nodes/GeminiNanoBanana2.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "GeminiNanoBanana2"
icon: "circle"
mode: wide
---
+
The GeminiNanoBanana2 node generates or edits images using Google's Vertex AI Gemini model. It works by sending a text prompt, along with optional reference images or files, to the API and returns the generated image and any accompanying text.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text prompt describing the image to generate or the edits to apply. Include any constraints, styles, or details the model should follow. | STRING | Yes | N/A |
| `model` | The specific Gemini model to use for image generation. | COMBO | Yes | `"Nano Banana 2 (Gemini 3.1 Flash Image)"` |
| `seed` | When the seed is fixed to a specific value, the model makes a best effort to provide the same response for repeated requests. Deterministic output isn't guaranteed. Also, changing the model or parameter settings, such as the temperature, can cause variations in the response even when you use the same seed value. By default, a random seed value is used. (default: 42) | INT | Yes | 0 to 18446744073709551615 |
@@ -27,7 +28,7 @@ The GeminiNanoBanana2 node generates or edits images using Google's Vertex AI Ge
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The primary image generated or edited by the model. | IMAGE |
| `string` | Any text content returned by the model. | STRING |
| `thought_image` | First image from the model's thinking process. Only available with thinking_level HIGH and IMAGE+TEXT modality. | IMAGE |
@@ -35,4 +36,4 @@ The GeminiNanoBanana2 node generates or edits images using Google's Vertex AI Ge
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GeminiNanoBanana2/en.md)
---
-**Source fingerprint (SHA-256):** `6dae505011e2860cbf2ec6ccb5a32949d5daa3fe3546e85181050fd9ac92b9e5`
+**Source fingerprint (SHA-256):** `3564bef74329f7019a2c9a67047d45e7342ee2e532126d597d0d21c995e1a5be`
diff --git a/built-in-nodes/GeminiNanoBanana2V2.mdx b/built-in-nodes/GeminiNanoBanana2V2.mdx
index bb6cb556a..aefb387d9 100644
--- a/built-in-nodes/GeminiNanoBanana2V2.mdx
+++ b/built-in-nodes/GeminiNanoBanana2V2.mdx
@@ -5,19 +5,22 @@ sidebarTitle: "GeminiNanoBanana2V2"
icon: "circle"
mode: wide
---
+
## Overview
-This node generates or edits images by sending a text prompt to Google's Vertex AI API. It uses a specific Gemini model to create new images or modify existing ones based on your instructions.
+This node generates or edits images by sending a text prompt to Google's Vertex AI API. It uses the Gemini 3.1 Flash Image model to create new images or modify existing ones based on your instructions.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text prompt describing the image to generate or the edits to apply. Include any constraints, styles, or details the model should follow. | STRING | Yes | N/A |
-| `model` | Selects the Gemini model to use for image generation. Currently only one option is available. This parameter includes additional sub-parameters for resolution, aspect ratio, thinking level, and image input. | COMBO | Yes | `"Nano Banana 2 (Gemini 3.1 Flash Image)"` |
+| `model` | Selects the Gemini model to use for image generation. This parameter includes additional sub-parameters for resolution, aspect ratio, thinking level, and image input. | COMBO | Yes | `"Nano Banana 2 (Gemini 3.1 Flash Image)"` |
| `seed` | When the seed is fixed to a specific value, the model makes a best effort to provide the same response for repeated requests. Deterministic output isn't guaranteed. Also, changing the model or parameter settings, such as the temperature, can cause variations in the response even when you use the same seed value. By default, a random seed value is used. (default: 42) | INT | Yes | 0 to 18446744073709551615 |
| `response_modalities` | Determines the format of the response. Choose "IMAGE" to receive only an image, or "IMAGE+TEXT" to receive both an image and a text description. (default: "IMAGE") | COMBO | Yes | `"IMAGE"` `"IMAGE+TEXT"` |
| `system_prompt` | Foundational instructions that dictate an AI's behavior. This is an advanced parameter. (default: A pre-defined system prompt instructing the model to always produce an image) | STRING | No | N/A |
+| `temperature` | Controls randomness in generation. Lower values produce more focused and deterministic results. This is an advanced parameter. (default: 1.0) | FLOAT | No | 0.0 to 2.0 |
+| `top_p` | Nucleus sampling threshold. Lower values produce more focused results, higher values produce more diverse results. This is an advanced parameter. (default: 0.95) | FLOAT | No | 0.0 to 1.0 |
**Note on `model` parameter:** The `model` parameter is a dynamic combo that includes additional sub-parameters for resolution, aspect ratio, thinking level, and image input. These sub-parameters are defined within the model selection and are not listed as separate inputs in this table.
@@ -26,7 +29,7 @@ This node generates or edits images by sending a text prompt to Google's Vertex
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `IMAGE` | The generated or edited image. | IMAGE |
| `STRING` | A text description or caption generated by the model. | STRING |
| `thought_image` | First image from the model's thinking process. Only available with thinking_level HIGH and IMAGE+TEXT modality. | IMAGE |
@@ -34,4 +37,4 @@ This node generates or edits images by sending a text prompt to Google's Vertex
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GeminiNanoBanana2V2/en.md)
---
-**Source fingerprint (SHA-256):** `0b9af4e937874f2e192f3dc0b67f8e769b37d6595fbddb7a326b1f13e3e444d3`
+**Source fingerprint (SHA-256):** `e3806713e8c58ac9ba0fe41875ef7162b7e18d276c63be53e46865efcc359079`
diff --git a/built-in-nodes/GeminiNode.mdx b/built-in-nodes/GeminiNode.mdx
index e9d60dadb..bc828f405 100644
--- a/built-in-nodes/GeminiNode.mdx
+++ b/built-in-nodes/GeminiNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "GeminiNode"
icon: "circle"
mode: wide
---
+
This node allows users to interact with Google's Gemini AI models to generate text responses. You can provide multiple types of inputs including text, images, audio, video, and files as context for the model to generate more relevant and meaningful responses. The node handles all API communication and response parsing automatically.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text inputs to the model, used to generate a response. You can include detailed instructions, questions, or context for the model. Default: empty string. | STRING | Yes | - |
| `model` | The Gemini model to use for generating responses. Default: gemini-3-1-pro. | COMBO | Yes | `gemini-2.5-pro-preview-05-06` `gemini-2.5-flash-preview-04-17` `gemini-2.5-pro` `gemini-2.5-flash` `gemini-3-pro-preview` `gemini-3-1-pro` `gemini-3-1-flash-lite` |
| `seed` | When seed is fixed to a specific value, the model makes a best effort to provide the same response for repeated requests. Deterministic output isn't guaranteed. Also, changing the model or parameter settings, such as the temperature, can cause variations in the response even when you use the same seed value. By default, a random seed value is used. Default: 42. | INT | Yes | 0 to 18446744073709551615 |
@@ -23,10 +24,10 @@ This node allows users to interact with Google's Gemini AI models to generate te
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `STRING` | The text response generated by the Gemini model. | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GeminiNode/en.md)
---
-**Source fingerprint (SHA-256):** `c7f01d4d4f748a3a80c6e68ccd509cc1da03ed041bd2eaa8124887e7d02eb576`
+**Source fingerprint (SHA-256):** `06d3894292600e7106b38b476443ceac21480878fa2933eb18eee7a0b9ca3c6a`
diff --git a/built-in-nodes/GeminiNodeV2.mdx b/built-in-nodes/GeminiNodeV2.mdx
index 4d83125f0..43aa5ee66 100644
--- a/built-in-nodes/GeminiNodeV2.mdx
+++ b/built-in-nodes/GeminiNodeV2.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "GeminiNodeV2"
icon: "circle"
mode: wide
---
-# Google Gemini
Generate text responses with Google's Gemini models. Provide a text prompt and, optionally, one or more images, audio clips, videos, or files as multimodal context.
diff --git a/built-in-nodes/GeminiVideoOmni.mdx b/built-in-nodes/GeminiVideoOmni.mdx
new file mode 100644
index 000000000..b2678b471
--- /dev/null
+++ b/built-in-nodes/GeminiVideoOmni.mdx
@@ -0,0 +1,33 @@
+---
+title: "GeminiVideoOmni - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the GeminiVideoOmni node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "GeminiVideoOmni"
+icon: "circle"
+mode: wide
+---
+
+Generate a video with audio from a text prompt using Google's Gemini Omni Flash model. Optionally provide reference images and/or videos to guide or edit the result. Describe the desired length (3-10s) and aspect ratio (16:9 or 9:16) directly in the prompt.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `model` | The Gemini video model used to generate the video. | MODEL | Yes | "Omni Flash" |
+| `seed` | Seed controls whether the node should re-run; results are non-deterministic regardless of seed (default: 42). | INT | Yes | 0 to 2147483647 |
+| `prompt` | The text prompt describing the video to generate. | STRING | Yes | Minimum 1 character after stripping whitespace |
+| `images` | Optional reference images to guide the video generation. Maximum of 14 images total. | IMAGE | No | Multiple images allowed (max 14) |
+| `videos` | Optional reference videos to guide or edit the video generation. Maximum of 3 videos, each up to 10 seconds. | VIDEO | No | Multiple videos allowed (max 3, each max 10s) |
+| `temperature` | Controls randomness in generation (default: 1.0). | FLOAT | No | 0.0 to 2.0 |
+| `top_p` | Nucleus sampling parameter (default: 0.95). | FLOAT | No | 0.0 to 1.0 |
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `VIDEO` | The generated video with audio from the Gemini model. | VIDEO |
+| `STRING` | Any text response from the model, such as reasoning or explanations. | STRING |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GeminiVideoOmni/en.md)
+
+---
+**Source fingerprint (SHA-256):** `046842b7ec736283bba355aaa038b02fcf2416020f5f7aee7b0150d2a05bcbe6`
diff --git a/built-in-nodes/GenerateTracks.mdx b/built-in-nodes/GenerateTracks.mdx
index d8557e9e8..e5f10b26a 100644
--- a/built-in-nodes/GenerateTracks.mdx
+++ b/built-in-nodes/GenerateTracks.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "GenerateTracks"
icon: "circle"
mode: wide
---
+
The `GenerateTracks` node creates multiple parallel motion paths for video generation. It defines a primary path from a start point to an end point, then generates a set of tracks that run parallel to this path, spaced evenly apart. You can control the shape of the path (straight line or Bezier curve), the speed of movement along it, and which frames the tracks are visible in.
## Inputs
diff --git a/built-in-nodes/GetICLoRAParameters.mdx b/built-in-nodes/GetICLoRAParameters.mdx
index 64e4517a4..0d4943af7 100644
--- a/built-in-nodes/GetICLoRAParameters.mdx
+++ b/built-in-nodes/GetICLoRAParameters.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "GetICLoRAParameters"
icon: "circle"
mode: wide
---
+
## Overview
This node extracts IC-LoRA parameters from the metadata of a LoRA-loaded model. It reads the safetensors metadata to find values like the reference downscale factor and outputs them as a structured parameter object, which can be connected to the LTXVAddGuide node for special guide handling.
diff --git a/built-in-nodes/GetImageSize.mdx b/built-in-nodes/GetImageSize.mdx
index e8f517bb6..164e735fc 100644
--- a/built-in-nodes/GetImageSize.mdx
+++ b/built-in-nodes/GetImageSize.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "GetImageSize"
icon: "circle"
mode: wide
---
+
The GetImageSize node extracts the dimensions and batch information from an input image. It returns the width, height, and batch size of the image while also displaying this information as progress text on the node interface. The original image data passes through unchanged.
## Inputs
diff --git a/built-in-nodes/GetSplatCount.mdx b/built-in-nodes/GetSplatCount.mdx
index d3b608688..ed1154584 100644
--- a/built-in-nodes/GetSplatCount.mdx
+++ b/built-in-nodes/GetSplatCount.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "GetSplatCount"
icon: "circle"
mode: wide
---
-# Get Splat Count
The Get Splat Count node returns the total number of splats (gaussian points) in a splat batch, summed across all items in the batch. It passes the original splat data through unchanged while providing a count of how many individual splats it contains.
diff --git a/built-in-nodes/GetVideoComponents.mdx b/built-in-nodes/GetVideoComponents.mdx
index 08fb2fc73..bb699f9ae 100644
--- a/built-in-nodes/GetVideoComponents.mdx
+++ b/built-in-nodes/GetVideoComponents.mdx
@@ -5,23 +5,25 @@ sidebarTitle: "GetVideoComponents"
icon: "circle"
mode: wide
---
-The Get Video Components node extracts all the main elements from a video file. It separates the video into individual frames, extracts the audio track, and provides the video's framerate information. This allows you to work with each component independently for further processing or analysis.
+
+The Get Video Components node extracts all the main elements from a video file. It separates the video into individual frames, extracts the audio track, and provides the video's framerate and bit depth information. This allows you to work with each component independently for further processing or analysis.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `video` | The video to extract components from. | VIDEO | Yes | - |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `images` | The individual frames extracted from the video as separate images. | IMAGE |
| `audio` | The audio track extracted from the video. | AUDIO |
| `fps` | The framerate of the video in frames per second. | FLOAT |
+| `bit_depth` | The bit depth of the video. | INT |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GetVideoComponents/en.md)
---
-**Source fingerprint (SHA-256):** `de129130ed4b82d875c4e8c660209b88172e3cdd41fed8c822fb7e807c92ed47`
+**Source fingerprint (SHA-256):** `b2232b2c558b472226418d56910b9b763d8398612b31c4019d4881d0c4717b8d`
diff --git a/built-in-nodes/GrokImageEditNode.mdx b/built-in-nodes/GrokImageEditNode.mdx
index 313bab03d..7748287a7 100644
--- a/built-in-nodes/GrokImageEditNode.mdx
+++ b/built-in-nodes/GrokImageEditNode.mdx
@@ -5,13 +5,14 @@ sidebarTitle: "GrokImageEditNode"
icon: "circle"
mode: wide
---
+
The Grok Image Edit node modifies an existing image based on a text prompt. It uses the Grok API to generate one or more new images that are variations of the input, guided by your description.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `model` | The specific AI model to use for image editing. | COMBO | Yes | `"grok-imagine-image-quality"` `"grok-imagine-image-pro"` `"grok-imagine-image"` `"grok-imagine-image-beta"` |
+|-----------|-------------|-----------|----------|-------|
+| `model` | The specific AI model to use for image editing. | COMBO | Yes | `"grok-imagine-image-quality"` `"grok-imagine-image-pro"` `"grok-imagine-image"` |
| `image` | The input image(s) to be edited. Supports up to 3 input images, except for the "pro" model which supports only 1. | IMAGE | Yes | |
| `prompt` | The text prompt used to generate the edited image. Must be at least 1 character after stripping whitespace. | STRING | Yes | |
| `resolution` | The resolution for the output image. | COMBO | Yes | `"1K"` `"2K"` |
@@ -26,10 +27,10 @@ The Grok Image Edit node modifies an existing image based on a text prompt. It u
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The edited image(s) generated by the node. If `number_of_images` is greater than 1, the outputs are concatenated into a batch. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GrokImageEditNode/en.md)
---
-**Source fingerprint (SHA-256):** `31cfe7ad382033f69330ed4de1ec831ccc25156498563e1541368e2662ed3ddb`
+**Source fingerprint (SHA-256):** `5b2eb9418302bba0e18f43edeab7dc73c9b14ebc78b1ce6cc8a3e5bb411f0351`
diff --git a/built-in-nodes/GrokImageEditNodeV2.mdx b/built-in-nodes/GrokImageEditNodeV2.mdx
index 55a87ebe4..908cce24c 100644
--- a/built-in-nodes/GrokImageEditNodeV2.mdx
+++ b/built-in-nodes/GrokImageEditNodeV2.mdx
@@ -5,14 +5,13 @@ sidebarTitle: "GrokImageEditNodeV2"
icon: "circle"
mode: wide
---
-## Overview
Modify an existing image based on a text prompt. This node sends your images and a text description to the Grok API, which edits the images according to your instructions and returns the result.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | The text prompt used to generate the image. Must be at least 1 character long after stripping whitespace. | STRING | Yes | N/A |
| `model` | The Grok image model to use. This parameter has multiple sub-options that appear after selecting a model. Available models: `grok-imagine-image-quality` `grok-imagine-image-pro` `grok-imagine-image`. Each model has different capabilities (see note below). | MODEL | Yes | See Description |
| `seed` | Seed to determine if node should re-run; actual results are nondeterministic regardless of seed. (default: 0) | INT | Yes | 0 to 2147483647 |
@@ -28,10 +27,10 @@ Modify an existing image based on a text prompt. This node sends your images and
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `IMAGE` | The edited image(s) returned by the Grok API. If a single image is generated, it is returned directly. If multiple images are generated, they are concatenated into a single batch tensor. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GrokImageEditNodeV2/en.md)
---
-**Source fingerprint (SHA-256):** `90ace53f5f2e40da315d4940fa801d84950de6db2d8ed1cf9d715d88a2b1ebf0`
+**Source fingerprint (SHA-256):** `60ff1c0dd97398130aee3cbab46ab273b99ec0a41b105eb1cdb7bd08a7d2c038`
diff --git a/built-in-nodes/GrokImageNode.mdx b/built-in-nodes/GrokImageNode.mdx
index 22a83f550..fd8c08af6 100644
--- a/built-in-nodes/GrokImageNode.mdx
+++ b/built-in-nodes/GrokImageNode.mdx
@@ -5,17 +5,18 @@ sidebarTitle: "GrokImageNode"
icon: "circle"
mode: wide
---
+
The Grok Image node generates one or more images based on a text description using the Grok AI model. It sends your prompt to an external service and returns the generated images as tensors that can be used in your workflow.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `model` | The specific Grok model to use for image generation. Different models may offer varying quality, speed, or features. | COMBO | Yes | `"grok-imagine-image-quality"` `"grok-imagine-image-pro"` `"grok-imagine-image"` `"grok-imagine-image-beta"` |
+|-----------|-------------|-----------|----------|-------|
+| `model` | The specific Grok model to use for image generation. Different models may offer varying quality, speed, or features. | COMBO | Yes | `"grok-imagine-image-quality"` `"grok-imagine-image-pro"` `"grok-imagine-image"` |
| `prompt` | The text prompt used to generate the image. This description guides the AI on what to create. Must be at least 1 character long. | STRING | Yes | N/A |
| `aspect_ratio` | The desired width-to-height ratio for the generated image. | COMBO | Yes | `"1:1"` `"2:3"` `"3:2"` `"3:4"` `"4:3"` `"9:16"` `"16:9"` `"9:19.5"` `"19.5:9"` `"9:20"` `"20:9"` `"1:2"` `"2:1"` |
| `number_of_images` | Number of images to generate (default: 1). | INT | No | 1 to 10 |
-| `seed` | A seed value to determine if the node should re-run. The actual image results are nondeterministic and will vary even with the same seed (default: 0). | INT | No | 0 to 2147483647 |
+| `seed` | Seed to determine if node should re-run; actual results are nondeterministic regardless of seed (default: 0). | INT | No | 0 to 2147483647 |
| `resolution` | The desired output resolution for the generated images (default: "1K"). | COMBO | No | `"1K"` `"2K"` |
**Note:** The `seed` parameter is primarily used to control when the node re-executes within a workflow. Due to the nature of the external AI service, the generated images will not be reproducible or identical across runs, even with an identical seed.
@@ -25,10 +26,10 @@ The Grok Image node generates one or more images based on a text description usi
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated image or a batch of images. If `number_of_images` is 1, a single image tensor is returned. If greater than 1, a batch of image tensors is returned. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GrokImageNode/en.md)
---
-**Source fingerprint (SHA-256):** `f4af858c6b94fd74be1856849417609f3d45fc0f139e8f2e56cdabb6e3521076`
+**Source fingerprint (SHA-256):** `e7f3e249c56ee0f9f4e703d6c478cc0f160f95ee605acd5176f4f62212b8b3cf`
diff --git a/built-in-nodes/GrokVideoEditNode.mdx b/built-in-nodes/GrokVideoEditNode.mdx
index f0b86a9c1..79cb3764c 100644
--- a/built-in-nodes/GrokVideoEditNode.mdx
+++ b/built-in-nodes/GrokVideoEditNode.mdx
@@ -5,16 +5,17 @@ sidebarTitle: "GrokVideoEditNode"
icon: "circle"
mode: wide
---
+
This node uses the Grok API to edit an existing video based on a text prompt. It uploads your video, sends a request to the AI model to modify it according to your description, and returns the newly generated video.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `model` | The AI model to use for video editing (default: `"grok-imagine-video"`). | COMBO | Yes | `"grok-imagine-video"` `"grok-imagine-video-beta"` |
+|-----------|-------------|-----------|----------|-------|
+| `model` | The AI model to use for video editing (default: `"grok-imagine-video"`). | STRING | Yes | `"grok-imagine-video"` |
| `prompt` | Text description of the desired video. | STRING | Yes | N/A |
| `video` | The input video to be edited. Maximum supported duration is 8.7 seconds and 50MB file size. | VIDEO | Yes | N/A |
-| `seed` | A seed value to determine if the node should re-run. The actual results are nondeterministic regardless of the seed value (default: 0). | INT | No | 0 to 2147483647 |
+| `seed` | Seed to determine if node should re-run; actual results are nondeterministic regardless of seed (default: 0). | INT | No | 0 to 2147483647 |
**Constraints:**
@@ -25,10 +26,10 @@ This node uses the Grok API to edit an existing video based on a text prompt. It
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `video` | The edited video generated by the AI model. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GrokVideoEditNode/en.md)
---
-**Source fingerprint (SHA-256):** `04cdc989b48445562017cd2c2066c773473c5c241ed94ff6eca00b8aadf4c6df`
+**Source fingerprint (SHA-256):** `488aa152744e5a17a9fbc55f8cbc3e863e1212f58544e47aa377276e8990834c`
diff --git a/built-in-nodes/GrokVideoExtendNode.mdx b/built-in-nodes/GrokVideoExtendNode.mdx
index 9702465a7..4a1222193 100644
--- a/built-in-nodes/GrokVideoExtendNode.mdx
+++ b/built-in-nodes/GrokVideoExtendNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "GrokVideoExtendNode"
icon: "circle"
mode: wide
---
+
The Grok Video Extend node uses an AI model to create a seamless continuation of an existing video. You provide a short video and a text prompt describing what should happen next, and the node generates a new video clip that follows on from the original.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text description of what should happen next in the video. | STRING | Yes | N/A |
| `video` | Source video to extend. MP4 format, 2-15 seconds. | VIDEO | Yes | N/A |
| `model` | The model to use for video extension. When selected, it reveals a nested `duration` parameter. | COMBO | Yes | `"grok-imagine-video"` |
@@ -24,10 +25,10 @@ The Grok Video Extend node uses an AI model to create a seamless continuation of
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The newly generated video extension. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GrokVideoExtendNode/en.md)
---
-**Source fingerprint (SHA-256):** `7e56ecb0cb31795b4124671e074ef274d6de61ec2cd734b6edd5e76a3cb6a7ba`
+**Source fingerprint (SHA-256):** `bfaf56dd12afab13c820345587db9ee871db87d60b8dc003f00f035513dbdf61`
diff --git a/built-in-nodes/GrokVideoNode.mdx b/built-in-nodes/GrokVideoNode.mdx
index 069659955..fec37d0a5 100644
--- a/built-in-nodes/GrokVideoNode.mdx
+++ b/built-in-nodes/GrokVideoNode.mdx
@@ -5,29 +5,30 @@ sidebarTitle: "GrokVideoNode"
icon: "circle"
mode: wide
---
+
The Grok Video node generates a short video from a text description. It can create a video from scratch using a prompt or animate a single input image based on a prompt. The node sends a request to an external API and returns the generated video.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `model` | The model to use for video generation. | COMBO | Yes | `"grok-imagine-video"` `"grok-imagine-video-beta"` |
+|-----------|-------------|-----------|----------|-------|
+| `model` | The model to use for video generation. | COMBO | Yes | `"grok-imagine-video"` `"grok-imagine-video-1.5"` |
| `prompt` | Text description of the desired video. | STRING | Yes | - |
| `resolution` | The resolution of the output video. | COMBO | Yes | `"480p"` `"720p"` |
| `aspect_ratio` | The aspect ratio of the output video (default: "auto"). | COMBO | Yes | `"auto"` `"16:9"` `"4:3"` `"3:2"` `"1:1"` `"2:3"` `"3:4"` `"9:16"` |
| `duration` | The duration of the output video in seconds (default: 6). | INT | Yes | 1 to 15 |
| `seed` | Seed to determine if node should re-run; actual results are nondeterministic regardless of seed (default: 0). | INT | Yes | 0 to 2147483647 |
-| `image` | An optional input image to animate. | IMAGE | No | - |
+| `image` | Optional starting image for grok-imagine-video. Required for grok-imagine-video-1.5. | IMAGE | No | - |
-**Note:** If an `image` is provided, only one image is supported. Providing multiple images will cause an error. The `prompt` must be at least 1 character long after stripping whitespace.
+**Note:** The `grok-imagine-video-1.5` model always requires an input image. If an `image` is provided, only one image is supported. Providing multiple images will cause an error. The `prompt` must be at least 1 character long after stripping whitespace.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GrokVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `7b4bcd25cfe620b4593c16a2cb2a288e47f9791ae2c60d56b79009bc62bac6e2`
+**Source fingerprint (SHA-256):** `1f9bdd4698f01a36b0bd9a696a7acb04330073794c11ede229949999ffce5be4`
diff --git a/built-in-nodes/GrokVideoReferenceNode.mdx b/built-in-nodes/GrokVideoReferenceNode.mdx
index 3375790ac..1cae9f221 100644
--- a/built-in-nodes/GrokVideoReferenceNode.mdx
+++ b/built-in-nodes/GrokVideoReferenceNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "GrokVideoReferenceNode"
icon: "circle"
mode: wide
---
+
The Grok Reference-to-Video node generates a video based on a text prompt, using up to seven reference images to guide the style and content of the output. It connects to an external API to create the video, which is then downloaded and returned.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text description of the desired video. | STRING | Yes | N/A |
| `model` | The model to use for video generation. | COMBO | Yes | `"grok-imagine-video"` |
| `model.reference_images` | Up to 7 reference images to guide the video generation. | IMAGE | Yes | 1 to 7 images |
@@ -24,10 +25,10 @@ The Grok Reference-to-Video node generates a video based on a text prompt, using
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `video` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/GrokVideoReferenceNode/en.md)
---
-**Source fingerprint (SHA-256):** `df50e80ca403d05469881e1c456ca4777d70989d8950c5e3844271c3ff8df85a`
+**Source fingerprint (SHA-256):** `4945105faa7dc97012f08e1e1a8f2ca2161045122a6b73c7768f1268d1d0d68b`
diff --git a/built-in-nodes/GrowMask.mdx b/built-in-nodes/GrowMask.mdx
index 5082ff7aa..43455b076 100644
--- a/built-in-nodes/GrowMask.mdx
+++ b/built-in-nodes/GrowMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "GrowMask"
icon: "circle"
mode: wide
---
+
The `GrowMask` node is designed to modify the size of a given mask, either expanding or contracting it, while optionally applying a tapered effect to the corners. This functionality is crucial for dynamically adjusting mask boundaries in image processing tasks, allowing for more flexible and precise control over the area of interest.
## Inputs
diff --git a/built-in-nodes/HappyHorseImageToVideoApi.mdx b/built-in-nodes/HappyHorseImageToVideoApi.mdx
index 9711d1355..993f46211 100644
--- a/built-in-nodes/HappyHorseImageToVideoApi.mdx
+++ b/built-in-nodes/HappyHorseImageToVideoApi.mdx
@@ -5,14 +5,13 @@ sidebarTitle: "HappyHorseImageToVideoApi"
icon: "circle"
mode: wide
---
-## Overview
This node generates a short video from a single starting image using the HappyHorse model. You provide a first frame image and a text prompt describing the desired motion and scene, and the node creates a video that continues from that image.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The HappyHorse model to use for video generation. | COMBO | Yes | `"happyhorse-1.0-i2v"` |
| `model.prompt` | Prompt describing the elements and visual features. Supports English and Chinese. (default: "") | STRING | No | N/A |
| `model.resolution` | The output video resolution. (default: "720P") | COMBO | Yes | `"720P"` `"1080P"` |
@@ -24,10 +23,10 @@ This node generates a short video from a single starting image using the HappyHo
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `video` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/HappyHorseImageToVideoApi/en.md)
---
-**Source fingerprint (SHA-256):** `b8764d68024b7d2a526b6cc3e1e56c3240b1aa55f31a07263e7014d4f6c67509`
+**Source fingerprint (SHA-256):** `bba88bba1028475b26d56ec960a3f7dc160b5f3fa3f2c8f52ffdf4b70863e9a1`
diff --git a/built-in-nodes/HappyHorseReferenceVideoApi.mdx b/built-in-nodes/HappyHorseReferenceVideoApi.mdx
index ed0056433..18439188e 100644
--- a/built-in-nodes/HappyHorseReferenceVideoApi.mdx
+++ b/built-in-nodes/HappyHorseReferenceVideoApi.mdx
@@ -5,30 +5,29 @@ sidebarTitle: "HappyHorseReferenceVideoApi"
icon: "circle"
mode: wide
---
-## Overview
-This node generates a video featuring a person or object based on reference images using the HappyHorse model. It supports creating videos with a single character or multiple characters interacting with each other.
+This node generates a video featuring a person or object from reference images using the HappyHorse model. It supports creating videos with single-character performances and multi-character interactions.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The HappyHorse model to use for video generation. | COMBO | Yes | `"happyhorse-1.0-r2v"` |
-| `prompt` | A text description of the video you want to generate. Use identifiers like 'character1' and 'character2' to refer to the reference characters. | STRING | Yes | N/A |
+| `prompt` | Prompt describing the video. Use identifiers such as 'character1' and 'character2' to refer to the reference characters. | STRING | Yes | N/A |
| `resolution` | The resolution of the generated video. | COMBO | Yes | `"720P"` `"1080P"` |
| `ratio` | The aspect ratio of the generated video. | COMBO | Yes | `"16:9"` `"9:16"` `"1:1"` `"4:3"` `"3:4"` |
| `duration` | The duration of the generated video in seconds (default: 5). | INT | Yes | 3 to 15 |
-| `reference_images` | One or more reference images of the person or object to feature in the video. You must provide at least one image. | IMAGE | Yes | 1 to 9 |
-| `seed` | A seed value for reproducible generation (default: 0). The seed can be set to automatically change after each generation. | INT | No | 0 to 2147483647 |
-| `watermark` | Whether to add an AI-generated watermark to the resulting video (default: False). | BOOLEAN | No | True or False |
+| `reference_images` | One or more reference images of the person or object to feature in the video. At least one image must be provided. | IMAGE | Yes | 1 to 9 |
+| `seed` | Seed to use for generation (default: 0). Can be set to automatically change after each generation. | INT | No | 0 to 2147483647 |
+| `watermark` | Whether to add an AI-generated watermark to the result (default: False). | BOOLEAN | No | True or False |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `VIDEO` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/HappyHorseReferenceVideoApi/en.md)
---
-**Source fingerprint (SHA-256):** `42c844db22ed2284bd16bd28fe0060652248ada0d5d31003134768ed5e44356c`
+**Source fingerprint (SHA-256):** `61e22c2424191b59b3c6f6be1917e47d26436eba5360c1e173b59b4de40216f2`
diff --git a/built-in-nodes/HappyHorseTextToVideoApi.mdx b/built-in-nodes/HappyHorseTextToVideoApi.mdx
index a0745a5ad..2f0f47795 100644
--- a/built-in-nodes/HappyHorseTextToVideoApi.mdx
+++ b/built-in-nodes/HappyHorseTextToVideoApi.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "HappyHorseTextToVideoApi"
icon: "circle"
mode: wide
---
+
## Overview
Generates a video based on a text prompt using the HappyHorse model. This node sends your prompt and settings to the HappyHorse API, waits for the video to be generated, and then downloads the result.
@@ -12,7 +13,7 @@ Generates a video based on a text prompt using the HappyHorse model. This node s
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | A dictionary containing the model selection and its associated parameters. The model must be `"happyhorse-1.0-t2v"`. This dictionary includes the following sub-parameters:
**`prompt`** (STRING): The text description of the video you want to generate. Supports English and Chinese. (default: ""). **`resolution`** (COMBO): The resolution of the output video. Options: `"720P"` `"1080P"`. **`ratio`** (COMBO): The aspect ratio of the output video. Options: `"16:9"` `"9:16"` `"1:1"` `"4:3"` `"3:4"`. **`duration`** (INT): The length of the video in seconds. (default: 5, min: 3, max: 15, step: 1). | DICT | Yes | See Description |
| `seed` | Seed to use for generation. Using the same seed with the same inputs will produce the same result. (default: 0). | INT | Yes | 0 to 2147483647 |
| `watermark` | Whether to add an AI-generated watermark to the result. (default: False). | BOOLEAN | No | True / False |
@@ -20,10 +21,10 @@ Generates a video based on a text prompt using the HappyHorse model. This node s
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `VIDEO` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/HappyHorseTextToVideoApi/en.md)
---
-**Source fingerprint (SHA-256):** `8e2c0aaab2c8918079c5ec02916375e9a11b0e745d3296155f37c0128a9dbc3c`
+**Source fingerprint (SHA-256):** `2ef0dbac9a3c35ca67364530a9c6bb4693266e093456dc1a2c95e499b3b2d493`
diff --git a/built-in-nodes/HappyHorseVideoEditApi.mdx b/built-in-nodes/HappyHorseVideoEditApi.mdx
index d23fe0a51..3d7cfda2d 100644
--- a/built-in-nodes/HappyHorseVideoEditApi.mdx
+++ b/built-in-nodes/HappyHorseVideoEditApi.mdx
@@ -5,25 +5,24 @@ sidebarTitle: "HappyHorseVideoEditApi"
icon: "circle"
mode: wide
---
-## Overview
-Edit a video using text instructions or reference images with the HappyHorse model. The output duration is 3-15 seconds and matches the input video; inputs longer than 15 seconds are truncated.
+Edit a video using text instructions or reference images with the HappyHorse model. Output duration is 3-15 seconds and matches the input video; inputs longer than 15 seconds are truncated.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | Model configuration containing the model selection, prompt, resolution, aspect ratio, and optional reference images. | DICT | Yes | See below |
| `video` | The video to edit. | VIDEO | Yes | - |
| `seed` | Seed to use for generation (default: 0). | INT | Yes | 0 to 2147483647 |
-| `watermark` | Whether to add an AI-generated watermark to the result (default: False). | BOOLEAN | No | True / False |
+| `watermark` | Whether to add an AI-generated watermark to the result (default: False). | BOOLEAN | No | True False |
### `model` Parameter Details
The `model` parameter is a dictionary with the following fields:
| Field | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-------|-------------|-----------|----------|-------|
| `model` | The HappyHorse video editing model to use. | STRING | Yes | `"happyhorse-1.0-video-edit"` |
| `prompt` | Editing instructions or style transfer requirements. Must be at least 1 character long. | STRING | Yes | - |
| `resolution` | The output resolution. | STRING | Yes | `"720P"` `"1080P"` |
@@ -33,10 +32,10 @@ The `model` parameter is a dictionary with the following fields:
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `video` | The edited video output. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/HappyHorseVideoEditApi/en.md)
---
-**Source fingerprint (SHA-256):** `eadb446a8dbcc524a8bb6a2ee48941136f8c1ec2cb64aa9061fb1fa22e1b683d`
+**Source fingerprint (SHA-256):** `396cad4b5a06d457746a421050df98c892fa9db6019e3de983b4d0c417842b57`
diff --git a/built-in-nodes/HiDreamO1PatchSeamSmoothing.mdx b/built-in-nodes/HiDreamO1PatchSeamSmoothing.mdx
index 6dd15a94d..44e9216e6 100644
--- a/built-in-nodes/HiDreamO1PatchSeamSmoothing.mdx
+++ b/built-in-nodes/HiDreamO1PatchSeamSmoothing.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "HiDreamO1PatchSeamSmoothing"
icon: "circle"
mode: wide
---
+
## Overview
This node reduces visible seams in images generated by the HiDream-O1 model by averaging the model's output across multiple shifted patch-grid positions during the later part of the sampling process. It works by running the model several times with slightly different image alignments and blending the results together, which helps cancel out the grid-like artifacts that can appear at patch boundaries.
diff --git a/built-in-nodes/HiDreamO1ReferenceImages.mdx b/built-in-nodes/HiDreamO1ReferenceImages.mdx
index c17d9f7a7..746b870cc 100644
--- a/built-in-nodes/HiDreamO1ReferenceImages.mdx
+++ b/built-in-nodes/HiDreamO1ReferenceImages.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "HiDreamO1ReferenceImages"
icon: "circle"
mode: wide
---
+
## Overview
Attach reference images to both positive and negative conditioning. This node allows you to provide one or more reference images that will be used to guide the image generation process, either for editing based on an instruction or for subject-driven personalization.
diff --git a/built-in-nodes/HitPawGeneralImageEnhance.mdx b/built-in-nodes/HitPawGeneralImageEnhance.mdx
index 279cabfdc..02bf74fc2 100644
--- a/built-in-nodes/HitPawGeneralImageEnhance.mdx
+++ b/built-in-nodes/HitPawGeneralImageEnhance.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "HitPawGeneralImageEnhance"
icon: "circle"
mode: wide
---
+
This node enhances low-resolution images by upscaling them to super-resolution, removing artifacts and noise. It uses an external API to process the image and can automatically adjust the input size to stay within processing limits. The maximum allowed output size is 32 megapixels.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The enhancement model to use. The `generative_portrait` model is optimized for portraits, while `generative` is a general-purpose model. | STRING | Yes | `"generative_portrait"` `"generative"` |
| `image` | The input image to be enhanced. | IMAGE | Yes | - |
| `upscale_factor` | The factor by which to upscale the image's dimensions. A factor of 1 means no upscaling, 2 doubles the dimensions, and 4 quadruples them. | INT | Yes | `1` `2` `4` |
@@ -21,10 +22,10 @@ This node enhances low-resolution images by upscaling them to super-resolution,
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The enhanced and upscaled output image. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/HitPawGeneralImageEnhance/en.md)
---
-**Source fingerprint (SHA-256):** `1cb59c04e517b6ecce3a4cb809d3cad26bb7a0fe6d16ddf72b9729e186e25d53`
+**Source fingerprint (SHA-256):** `effdb98c6400d3b4e3ad238be7049187af6512efacad45996f2a49a0b18b67b3`
diff --git a/built-in-nodes/HitPawVideoEnhance.mdx b/built-in-nodes/HitPawVideoEnhance.mdx
index 23d94cc05..22426723b 100644
--- a/built-in-nodes/HitPawVideoEnhance.mdx
+++ b/built-in-nodes/HitPawVideoEnhance.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "HitPawVideoEnhance"
icon: "circle"
mode: wide
---
+
The HitPaw Video Enhance node uses an external API to improve the quality of videos. It upscales low-resolution videos to a higher resolution, removes visual artifacts, and reduces noise. The processing cost is calculated per second of the input video.
## Inputs
@@ -29,4 +30,4 @@ The HitPaw Video Enhance node uses an external API to improve the quality of vid
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/HitPawVideoEnhance/en.md)
---
-**Source fingerprint (SHA-256):** `49291b3c610d32cf60fb4786333cb7e3d18c9de39c15577dabbd9f27bc9eac75`
+**Source fingerprint (SHA-256):** `3326833e8e542e0642e34a6cc444115376fd03c26e3c8f27592fe8e3a72d593b`
diff --git a/built-in-nodes/Hunyuan3Dv2Conditioning.mdx b/built-in-nodes/Hunyuan3Dv2Conditioning.mdx
index 47eb503da..3d9214305 100644
--- a/built-in-nodes/Hunyuan3Dv2Conditioning.mdx
+++ b/built-in-nodes/Hunyuan3Dv2Conditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Hunyuan3Dv2Conditioning"
icon: "circle"
mode: wide
---
+
The Hunyuan3Dv2Conditioning node processes CLIP vision output to generate conditioning data for 3D models. It extracts the last hidden state embeddings from the vision output and creates both positive and negative conditioning pairs. The positive conditioning uses the actual embeddings while the negative conditioning uses zero-valued embeddings of the same shape.
## Inputs
diff --git a/built-in-nodes/Hunyuan3Dv2ConditioningMultiView.mdx b/built-in-nodes/Hunyuan3Dv2ConditioningMultiView.mdx
index e0fa0f1ec..9be0b59f2 100644
--- a/built-in-nodes/Hunyuan3Dv2ConditioningMultiView.mdx
+++ b/built-in-nodes/Hunyuan3Dv2ConditioningMultiView.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Hunyuan3Dv2ConditioningMultiView"
icon: "circle"
mode: wide
---
+
The Hunyuan3Dv2ConditioningMultiView node processes multi-view CLIP vision embeddings for 3D video generation. It takes optional front, left, back, and right view embeddings and combines them with positional encoding to create conditioning data for video models. The node outputs both positive conditioning from the combined embeddings and negative conditioning with zero values.
## Inputs
diff --git a/built-in-nodes/HunyuanImageToVideo.mdx b/built-in-nodes/HunyuanImageToVideo.mdx
index 7ca2fe242..644965ee7 100644
--- a/built-in-nodes/HunyuanImageToVideo.mdx
+++ b/built-in-nodes/HunyuanImageToVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "HunyuanImageToVideo"
icon: "circle"
mode: wide
---
+
The HunyuanImageToVideo node converts images into video latent representations using the Hunyuan video model. It takes conditioning inputs and optional starting images to generate video latents that can be further processed by video generation models. The node supports different guidance types for controlling how the starting image influences the video generation process.
## Inputs
diff --git a/built-in-nodes/HunyuanRefinerLatent.mdx b/built-in-nodes/HunyuanRefinerLatent.mdx
index 3e4936a7e..dab1e2d9a 100644
--- a/built-in-nodes/HunyuanRefinerLatent.mdx
+++ b/built-in-nodes/HunyuanRefinerLatent.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "HunyuanRefinerLatent"
icon: "circle"
mode: wide
---
+
The HunyuanRefinerLatent node processes conditioning and latent inputs for refinement operations. It applies noise augmentation to both positive and negative conditioning while incorporating latent image data, and generates a new latent output with specific dimensions for further processing.
## Inputs
diff --git a/built-in-nodes/HunyuanVideo15ImageToVideo.mdx b/built-in-nodes/HunyuanVideo15ImageToVideo.mdx
index 645b6bba1..25fd001d8 100644
--- a/built-in-nodes/HunyuanVideo15ImageToVideo.mdx
+++ b/built-in-nodes/HunyuanVideo15ImageToVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "HunyuanVideo15ImageToVideo"
icon: "circle"
mode: wide
---
+
The HunyuanVideo15ImageToVideo node prepares conditioning and latent space data for video generation based on the HunyuanVideo 1.5 model. It creates an initial latent representation for a video sequence and can optionally integrate a starting image or a CLIP vision output to guide the generation process.
## Inputs
diff --git a/built-in-nodes/HunyuanVideo15LatentUpscaleWithModel.mdx b/built-in-nodes/HunyuanVideo15LatentUpscaleWithModel.mdx
index 5ca85bace..3e3ee5049 100644
--- a/built-in-nodes/HunyuanVideo15LatentUpscaleWithModel.mdx
+++ b/built-in-nodes/HunyuanVideo15LatentUpscaleWithModel.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "HunyuanVideo15LatentUpscaleWithModel"
icon: "circle"
mode: wide
---
+
The Hunyuan Video 15 Latent Upscale With Model node increases the resolution of a latent image representation. It first upscales the latent samples to a specified size using a chosen interpolation method, then refines the upscaled result using a specialized Hunyuan Video 1.5 upscale model to improve quality.
## Inputs
diff --git a/built-in-nodes/HunyuanVideo15SuperResolution.mdx b/built-in-nodes/HunyuanVideo15SuperResolution.mdx
index ac7994c2b..f4e4d5b4b 100644
--- a/built-in-nodes/HunyuanVideo15SuperResolution.mdx
+++ b/built-in-nodes/HunyuanVideo15SuperResolution.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "HunyuanVideo15SuperResolution"
icon: "circle"
mode: wide
---
+
The HunyuanVideo15SuperResolution node prepares conditioning data for a video super-resolution process. It takes a latent representation of a video and, optionally, a starting image, and packages them along with noise augmentation and CLIP vision data into a format that can be used by a model to generate a higher-resolution output.
## Inputs
diff --git a/built-in-nodes/HyperTile.mdx b/built-in-nodes/HyperTile.mdx
index d8234e639..ccdd52825 100644
--- a/built-in-nodes/HyperTile.mdx
+++ b/built-in-nodes/HyperTile.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "HyperTile"
icon: "circle"
mode: wide
---
+
The HyperTile node applies a tiling technique to the attention mechanism in diffusion models to optimize memory usage during image generation. It divides the latent space into smaller tiles and processes them separately, then reassembles the results. This allows for working with larger image sizes without running out of memory.
## Inputs
diff --git a/built-in-nodes/HypernetworkLoader.mdx b/built-in-nodes/HypernetworkLoader.mdx
index 2b85ebe65..51a42970d 100644
--- a/built-in-nodes/HypernetworkLoader.mdx
+++ b/built-in-nodes/HypernetworkLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "HypernetworkLoader"
icon: "circle"
mode: wide
---
+
This node will detect models located in the `ComfyUI/models/hypernetworks` folder, and it will also read models from additional paths configured in the extra_model_paths.yaml file. Sometimes, you may need to **refresh the ComfyUI interface** to allow it to read the model files from the corresponding folder.
The HypernetworkLoader node is designed to enhance or modify the capabilities of a given model by applying a hypernetwork. It loads a specified hypernetwork and applies it to the model, potentially altering its behavior or performance based on the strength parameter. This process allows for dynamic adjustments to the model's architecture or parameters, enabling more flexible and adaptive AI systems.
diff --git a/built-in-nodes/Ideogram4Scheduler.mdx b/built-in-nodes/Ideogram4Scheduler.mdx
index 701849c34..4ba8e13a0 100644
--- a/built-in-nodes/Ideogram4Scheduler.mdx
+++ b/built-in-nodes/Ideogram4Scheduler.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "Ideogram4Scheduler"
icon: "circle"
mode: wide
---
-# Ideogram 4 Scheduler
The Ideogram 4 Scheduler node generates a sequence of sigma values (noise levels) for the diffusion sampling process, based on the Ideogram 4 reference schedule. It creates a custom noise schedule that adapts to the image dimensions and allows fine-tuning through statistical parameters.
diff --git a/built-in-nodes/IdeogramV1.mdx b/built-in-nodes/IdeogramV1.mdx
index bf50c9404..8b270edd2 100644
--- a/built-in-nodes/IdeogramV1.mdx
+++ b/built-in-nodes/IdeogramV1.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "IdeogramV1"
icon: "circle"
mode: wide
---
+
The IdeogramV1 node generates images using the Ideogram V1 model through an API. It takes text prompts and various generation settings to create one or more images based on your input. The node supports different aspect ratios and generation modes to customize the output.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the image generation (default: empty) | STRING | Yes | - |
| `turbo` | Whether to use turbo mode (faster generation, potentially lower quality) (default: False) | BOOLEAN | Yes | - |
| `aspect_ratio` | The aspect ratio for image generation (default: "1:1") | COMBO | No | "1:1" "4:3" "3:4" "16:9" "9:16" "2:1" "1:2" "3:2" "2:3" "4:5" "5:4" |
@@ -24,10 +25,10 @@ The IdeogramV1 node generates images using the Ideogram V1 model through an API.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated image(s) from the Ideogram V1 model | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/IdeogramV1/en.md)
---
-**Source fingerprint (SHA-256):** `a42654aea292811c5f872911d6ea7303a83ea058c7132737375d81c5c8a77740`
+**Source fingerprint (SHA-256):** `c9b336054cf5d66228aeccab615985d2e9c9bdf7dce5d607212fed8a35c2c793`
diff --git a/built-in-nodes/IdeogramV2.mdx b/built-in-nodes/IdeogramV2.mdx
index 022d54bf8..84938418d 100644
--- a/built-in-nodes/IdeogramV2.mdx
+++ b/built-in-nodes/IdeogramV2.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "IdeogramV2"
icon: "circle"
mode: wide
---
+
The Ideogram V2 node generates images using the Ideogram V2 AI model. It takes text prompts and various generation settings to create images through an API service. The node supports different aspect ratios, resolutions, and style options to customize the output images.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the image generation (default: empty string) | STRING | Yes | - |
| `turbo` | Whether to use turbo mode (faster generation, potentially lower quality) (default: False) | BOOLEAN | No | - |
| `aspect_ratio` | The aspect ratio for image generation. Ignored if resolution is not set to AUTO. (default: "1:1") | COMBO | No | "1:1" "4:3" "3:4" "16:9" "9:16" "2:1" "1:2" "3:2" "2:3" "4:5" "5:4" |
@@ -26,10 +27,10 @@ The Ideogram V2 node generates images using the Ideogram V2 AI model. It takes t
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated image(s) from the Ideogram V2 model | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/IdeogramV2/en.md)
---
-**Source fingerprint (SHA-256):** `6d1f0d536756252434a1a831cd96228ee2386bfcaa60555acfe4bab7d16b61e3`
+**Source fingerprint (SHA-256):** `a034a57996ac0b3902cab36096ac6b8401bb544faa00b8ed213bf752fdd423e2`
diff --git a/built-in-nodes/IdeogramV3.mdx b/built-in-nodes/IdeogramV3.mdx
index 8e8588988..b0cf3a9b8 100644
--- a/built-in-nodes/IdeogramV3.mdx
+++ b/built-in-nodes/IdeogramV3.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "IdeogramV3"
icon: "circle"
mode: wide
---
+
The Ideogram V3 node generates images using the Ideogram V3 model. It supports both regular image generation from text prompts and image editing when both an image and mask are provided. The node offers various controls for aspect ratio, resolution, generation speed, and optional character reference images.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the image generation or editing (default: empty) | STRING | Yes | - |
| `image` | Optional reference image for image editing | IMAGE | No | - |
| `mask` | Optional mask for inpainting (white areas will be replaced) | MASK | No | - |
@@ -35,10 +36,10 @@ The Ideogram V3 node generates images using the Ideogram V3 model. It supports b
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated or edited image(s) | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/IdeogramV3/en.md)
---
-**Source fingerprint (SHA-256):** `b3ddd489ee96b4b378ae432254d8e97bccafc20e38055b213c0ad3b7818cb4c0`
+**Source fingerprint (SHA-256):** `d5005a9cdbdad79762dfd24eaa73e6c293d28b72813e96883ecdfccb8339ca75`
diff --git a/built-in-nodes/IdeogramV4.mdx b/built-in-nodes/IdeogramV4.mdx
index 2b41a8dd3..a71dde703 100644
--- a/built-in-nodes/IdeogramV4.mdx
+++ b/built-in-nodes/IdeogramV4.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "IdeogramV4"
icon: "circle"
mode: wide
---
-# Ideogram V4
Generates images using the Ideogram 4.0 model from a text prompt. This node sends your text description to the Ideogram API and returns the generated image as an output tensor.
diff --git a/built-in-nodes/ImageAddNoise.mdx b/built-in-nodes/ImageAddNoise.mdx
index d78cdbb12..420a72e32 100644
--- a/built-in-nodes/ImageAddNoise.mdx
+++ b/built-in-nodes/ImageAddNoise.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageAddNoise"
icon: "circle"
mode: wide
---
+
The ImageAddNoise node adds random noise to an input image. It uses a specified random seed to generate consistent noise patterns and allows controlling the intensity of the noise effect. The resulting image maintains the same dimensions as the input but with added visual texture.
## Inputs
diff --git a/built-in-nodes/ImageBatch.mdx b/built-in-nodes/ImageBatch.mdx
index 2473c95ba..5d4f25eba 100644
--- a/built-in-nodes/ImageBatch.mdx
+++ b/built-in-nodes/ImageBatch.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageBatch"
icon: "circle"
mode: wide
---
+
The `ImageBatch` node is designed for combining two images into a single batch. If the dimensions of the images do not match, it automatically rescales the second image to match the first one's dimensions before combining them.
## Inputs
diff --git a/built-in-nodes/ImageBlend.mdx b/built-in-nodes/ImageBlend.mdx
index 62833350d..f5d847ddf 100644
--- a/built-in-nodes/ImageBlend.mdx
+++ b/built-in-nodes/ImageBlend.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageBlend"
icon: "circle"
mode: wide
---
+
The `ImageBlend` node is designed to blend two images together based on a specified blending mode and blend factor. It supports various blending modes such as normal, multiply, screen, overlay, soft light, and difference, allowing for versatile image manipulation and compositing techniques. This node is essential for creating composite images by adjusting the visual interaction between two image layers.
## Inputs
diff --git a/built-in-nodes/ImageBlur.mdx b/built-in-nodes/ImageBlur.mdx
index fe0043da4..756d61b95 100644
--- a/built-in-nodes/ImageBlur.mdx
+++ b/built-in-nodes/ImageBlur.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageBlur"
icon: "circle"
mode: wide
---
+
The `ImageBlur` node applies a Gaussian blur to an image, allowing for the softening of edges and reduction of detail and noise. It provides control over the intensity and spread of the blur through parameters.
## Inputs
diff --git a/built-in-nodes/ImageColorToMask.mdx b/built-in-nodes/ImageColorToMask.mdx
index 9eebd9664..d29229d95 100644
--- a/built-in-nodes/ImageColorToMask.mdx
+++ b/built-in-nodes/ImageColorToMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageColorToMask"
icon: "circle"
mode: wide
---
+
The `ImageColorToMask` node is designed to convert a specified color in an image to a mask. It processes an image and a target color, generating a mask where the specified color is highlighted, facilitating operations like color-based segmentation or object isolation.
## Inputs
diff --git a/built-in-nodes/ImageCompare.mdx b/built-in-nodes/ImageCompare.mdx
index 4e6b801e1..ba7f9b3de 100644
--- a/built-in-nodes/ImageCompare.mdx
+++ b/built-in-nodes/ImageCompare.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageCompare"
icon: "circle"
mode: wide
---
+
The Image Compare node provides a visual interface to compare two images side-by-side using a draggable slider. It is designed as an output node, meaning it does not pass data to other nodes but instead displays the images directly in the user interface for inspection.
## Inputs
diff --git a/built-in-nodes/ImageCompositeMasked.mdx b/built-in-nodes/ImageCompositeMasked.mdx
index 7c17a6a5c..9db241f65 100644
--- a/built-in-nodes/ImageCompositeMasked.mdx
+++ b/built-in-nodes/ImageCompositeMasked.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageCompositeMasked"
icon: "circle"
mode: wide
---
+
The `ImageCompositeMasked` node is designed for compositing images, allowing for the overlay of a source image onto a destination image at specified coordinates, with optional resizing and masking.
## Inputs
diff --git a/built-in-nodes/ImageCrop.mdx b/built-in-nodes/ImageCrop.mdx
index 9af59da73..721b387ca 100644
--- a/built-in-nodes/ImageCrop.mdx
+++ b/built-in-nodes/ImageCrop.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageCrop"
icon: "circle"
mode: wide
---
+
The `ImageCrop` node is designed for cropping images to a specified width and height starting from a given x and y coordinate. This functionality is essential for focusing on specific regions of an image or for adjusting the image size to meet certain requirements.
## Inputs
diff --git a/built-in-nodes/ImageCropV2.mdx b/built-in-nodes/ImageCropV2.mdx
index ff7716bec..14ba3b27d 100644
--- a/built-in-nodes/ImageCropV2.mdx
+++ b/built-in-nodes/ImageCropV2.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageCropV2"
icon: "circle"
mode: wide
---
+
The Crop Image node extracts a rectangular section from an input image. You define the region to keep by specifying its top-left corner coordinates and its width and height. The node then returns the cropped portion of the original image.
## Inputs
diff --git a/built-in-nodes/ImageDeduplication.mdx b/built-in-nodes/ImageDeduplication.mdx
index 745f7fcbf..af7c1ab8b 100644
--- a/built-in-nodes/ImageDeduplication.mdx
+++ b/built-in-nodes/ImageDeduplication.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageDeduplication"
icon: "circle"
mode: wide
---
+
This node removes duplicate or very similar images from a batch. It works by creating a perceptual hash for each image—a simple numerical fingerprint based on its visual content—and then comparing them. Images whose hashes are more similar than a set threshold are considered duplicates and filtered out.
## Inputs
diff --git a/built-in-nodes/ImageFlip.mdx b/built-in-nodes/ImageFlip.mdx
index be3396976..b2ff42a77 100644
--- a/built-in-nodes/ImageFlip.mdx
+++ b/built-in-nodes/ImageFlip.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageFlip"
icon: "circle"
mode: wide
---
+
The ImageFlip node flips images along different axes. It can flip images vertically along the x-axis or horizontally along the y-axis. The node uses torch.flip operations to perform the flipping based on the selected method.
## Inputs
diff --git a/built-in-nodes/ImageFromBatch.mdx b/built-in-nodes/ImageFromBatch.mdx
index 89f54510a..74d617cb6 100644
--- a/built-in-nodes/ImageFromBatch.mdx
+++ b/built-in-nodes/ImageFromBatch.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageFromBatch"
icon: "circle"
mode: wide
---
+
The `ImageFromBatch` node is designed for extracting a specific segment of images from a batch based on the provided index and length. It allows for more granular control over the batched images, enabling operations on individual or subsets of images within a larger batch.
## Inputs
diff --git a/built-in-nodes/ImageGrid.mdx b/built-in-nodes/ImageGrid.mdx
index a60f5334c..4e7b303f9 100644
--- a/built-in-nodes/ImageGrid.mdx
+++ b/built-in-nodes/ImageGrid.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageGrid"
icon: "circle"
mode: wide
---
+
The Image Grid node combines multiple images into a single, organized grid or collage. It takes a list of images and arranges them into a specified number of columns, resizing each image to fit a defined cell size and adding optional padding between them. The result is a single, new image containing all the input images in a grid layout.
## Inputs
diff --git a/built-in-nodes/ImageHistogram.mdx b/built-in-nodes/ImageHistogram.mdx
index a056ab1f3..4a0af1318 100644
--- a/built-in-nodes/ImageHistogram.mdx
+++ b/built-in-nodes/ImageHistogram.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageHistogram"
icon: "circle"
mode: wide
---
+
The ImageHistogram node analyzes the color distribution of an input image. It calculates and outputs several histograms, which are graphs showing how many pixels in the image have each possible intensity value. It generates separate histograms for the red, green, and blue color channels, a composite RGB histogram, and a luminance histogram based on a standard brightness formula.
## Inputs
diff --git a/built-in-nodes/ImageInvert.mdx b/built-in-nodes/ImageInvert.mdx
index 73f50724f..8121e813d 100644
--- a/built-in-nodes/ImageInvert.mdx
+++ b/built-in-nodes/ImageInvert.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageInvert"
icon: "circle"
mode: wide
---
+
The `ImageInvert` node is designed to invert the colors of an image, effectively transforming each pixel's color value to its complementary color on the color wheel. This operation is useful for creating negative images or for visual effects that require color inversion.
## Inputs
diff --git a/built-in-nodes/ImageMergeTileList.mdx b/built-in-nodes/ImageMergeTileList.mdx
index d81762715..2dc62eec7 100644
--- a/built-in-nodes/ImageMergeTileList.mdx
+++ b/built-in-nodes/ImageMergeTileList.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageMergeTileList"
icon: "circle"
mode: wide
---
+
This node takes a list of image tiles and merges them back into a single, larger image. It is designed to reconstruct an image that was previously split into a grid of overlapping tiles, using a weighted blending technique to create a seamless final result.
## Inputs
diff --git a/built-in-nodes/ImageOnlyCheckpointLoader.mdx b/built-in-nodes/ImageOnlyCheckpointLoader.mdx
index a7e9ddcfb..e6f78ef3b 100644
--- a/built-in-nodes/ImageOnlyCheckpointLoader.mdx
+++ b/built-in-nodes/ImageOnlyCheckpointLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageOnlyCheckpointLoader"
icon: "circle"
mode: wide
---
+
This node will detect models located in the `ComfyUI/models/checkpoints` folder, and it will also read models from additional paths configured in the extra_model_paths.yaml file. Sometimes, you may need to **refresh the ComfyUI interface** to allow it to read the model files from the corresponding folder.
This node specializes in loading checkpoints specifically for image-based models within video generation workflows. It efficiently retrieves and configures the necessary components from a given checkpoint, focusing on image-related aspects of the model.
diff --git a/built-in-nodes/ImageOnlyCheckpointSave.mdx b/built-in-nodes/ImageOnlyCheckpointSave.mdx
index a2d1c5cd3..0c3e2ddd6 100644
--- a/built-in-nodes/ImageOnlyCheckpointSave.mdx
+++ b/built-in-nodes/ImageOnlyCheckpointSave.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageOnlyCheckpointSave"
icon: "circle"
mode: wide
---
+
The ImageOnlyCheckpointSave node saves a checkpoint file containing a model, CLIP vision encoder, and VAE. It creates a safetensors file with the specified filename prefix and stores it in the output directory. This node is specifically designed for saving image-related model components together in a single checkpoint file.
## Inputs
diff --git a/built-in-nodes/ImagePadForOutpaint.mdx b/built-in-nodes/ImagePadForOutpaint.mdx
index df2f0bc49..f62239f37 100644
--- a/built-in-nodes/ImagePadForOutpaint.mdx
+++ b/built-in-nodes/ImagePadForOutpaint.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImagePadForOutpaint"
icon: "circle"
mode: wide
---
+
This node is designed for preparing images for the outpainting process by adding padding around them. It adjusts the image dimensions to ensure compatibility with outpainting algorithms, facilitating the generation of extended image areas beyond the original boundaries.
## Inputs
diff --git a/built-in-nodes/ImageQuantize.mdx b/built-in-nodes/ImageQuantize.mdx
index ce9fbb596..69f410ea3 100644
--- a/built-in-nodes/ImageQuantize.mdx
+++ b/built-in-nodes/ImageQuantize.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageQuantize"
icon: "circle"
mode: wide
---
+
The ImageQuantize node is designed to reduce the number of colors in an image to a specified number, optionally applying dithering techniques to maintain visual quality. This process is useful for creating palette-based images or reducing the color complexity for certain applications.
## Inputs
diff --git a/built-in-nodes/ImageRGBToYUV.mdx b/built-in-nodes/ImageRGBToYUV.mdx
index 2028c9c1b..5d98dac39 100644
--- a/built-in-nodes/ImageRGBToYUV.mdx
+++ b/built-in-nodes/ImageRGBToYUV.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageRGBToYUV"
icon: "circle"
mode: wide
---
+
The ImageRGBToYUV node converts an RGB image into the YUV color space. It separates the image into three channels: Y (luminance, or brightness), U (blue-difference), and V (red-difference), and returns each as a separate image.
## Inputs
diff --git a/built-in-nodes/ImageRotate.mdx b/built-in-nodes/ImageRotate.mdx
index d95fd4f15..5a3fe37dd 100644
--- a/built-in-nodes/ImageRotate.mdx
+++ b/built-in-nodes/ImageRotate.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageRotate"
icon: "circle"
mode: wide
---
+
The ImageRotate node rotates an input image by specified angles. It supports four rotation options: no rotation, 90 degrees clockwise, 180 degrees, and 270 degrees clockwise. The rotation is performed using efficient tensor operations that maintain the image data integrity.
## Inputs
diff --git a/built-in-nodes/ImageScale.mdx b/built-in-nodes/ImageScale.mdx
index 1dcbb29c4..55ebe6cd3 100644
--- a/built-in-nodes/ImageScale.mdx
+++ b/built-in-nodes/ImageScale.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageScale"
icon: "circle"
mode: wide
---
+
The ImageScale node is designed for resizing images to specific dimensions, offering a selection of upscale methods and the ability to crop the resized image. It abstracts the complexity of image upscaling and cropping, providing a straightforward interface for modifying image dimensions according to user-defined parameters.
## Inputs
diff --git a/built-in-nodes/ImageScaleBy.mdx b/built-in-nodes/ImageScaleBy.mdx
index 4bc4e092c..90cd83dde 100644
--- a/built-in-nodes/ImageScaleBy.mdx
+++ b/built-in-nodes/ImageScaleBy.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageScaleBy"
icon: "circle"
mode: wide
---
+
The ImageScaleBy node is designed for upscaling images by a specified scale factor using various interpolation methods. It allows for the adjustment of the image size in a flexible manner, catering to different upscaling needs.
## Inputs
diff --git a/built-in-nodes/ImageScaleToMaxDimension.mdx b/built-in-nodes/ImageScaleToMaxDimension.mdx
index db6278288..4fead6d97 100644
--- a/built-in-nodes/ImageScaleToMaxDimension.mdx
+++ b/built-in-nodes/ImageScaleToMaxDimension.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageScaleToMaxDimension"
icon: "circle"
mode: wide
---
+
The ImageScaleToMaxDimension node resizes images to fit within a specified maximum dimension while maintaining the original aspect ratio. It calculates whether the image is portrait or landscape oriented, then scales the larger dimension to match the target size while proportionally adjusting the smaller dimension. The node supports multiple upscaling methods for different quality and performance requirements.
## Inputs
diff --git a/built-in-nodes/ImageScaleToTotalPixels.mdx b/built-in-nodes/ImageScaleToTotalPixels.mdx
index 01f8524bd..c32a3fb89 100644
--- a/built-in-nodes/ImageScaleToTotalPixels.mdx
+++ b/built-in-nodes/ImageScaleToTotalPixels.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageScaleToTotalPixels"
icon: "circle"
mode: wide
---
+
The ImageScaleToTotalPixels node is designed for resizing images to a specified total number of pixels while maintaining the aspect ratio. It provides various methods for upscaling the image to achieve the desired pixel count.
## Inputs
diff --git a/built-in-nodes/ImageSharpen.mdx b/built-in-nodes/ImageSharpen.mdx
index 5f99252ba..48998438f 100644
--- a/built-in-nodes/ImageSharpen.mdx
+++ b/built-in-nodes/ImageSharpen.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageSharpen"
icon: "circle"
mode: wide
---
+
The ImageSharpen node enhances the clarity of an image by accentuating its edges and details. It applies a sharpening filter to the image, which can be adjusted in intensity and radius, thereby making the image appear more defined and crisp.
## Inputs
diff --git a/built-in-nodes/ImageStitch.mdx b/built-in-nodes/ImageStitch.mdx
index 6dfa23c93..d71ba28d8 100644
--- a/built-in-nodes/ImageStitch.mdx
+++ b/built-in-nodes/ImageStitch.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageStitch"
icon: "circle"
mode: wide
---
+
This node allows you to stitch two images together in a specified direction (up, down, left, right), with support for size matching and spacing between images.
## Inputs
diff --git a/built-in-nodes/ImageToMask.mdx b/built-in-nodes/ImageToMask.mdx
index 4634ef041..7bd7a551a 100644
--- a/built-in-nodes/ImageToMask.mdx
+++ b/built-in-nodes/ImageToMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageToMask"
icon: "circle"
mode: wide
---
+
The ImageToMask node is designed to convert an image into a mask based on a specified color channel. It allows for the extraction of mask layers corresponding to the red, green, blue, or alpha channels of an image, facilitating operations that require channel-specific masking or processing.
## Inputs
diff --git a/built-in-nodes/ImageUpscaleWithModel.mdx b/built-in-nodes/ImageUpscaleWithModel.mdx
index 2e309b316..8ea2d6291 100644
--- a/built-in-nodes/ImageUpscaleWithModel.mdx
+++ b/built-in-nodes/ImageUpscaleWithModel.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageUpscaleWithModel"
icon: "circle"
mode: wide
---
+
This node is designed for upscaling images using a specified upscale model. It efficiently manages the upscaling process by adjusting the image to the appropriate device, optimizing memory usage, and applying the upscale model in a tiled manner to prevent potential out-of-memory errors.
## Inputs
diff --git a/built-in-nodes/ImageYUVToRGB.mdx b/built-in-nodes/ImageYUVToRGB.mdx
index b00459c8c..ab7ee1829 100644
--- a/built-in-nodes/ImageYUVToRGB.mdx
+++ b/built-in-nodes/ImageYUVToRGB.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ImageYUVToRGB"
icon: "circle"
mode: wide
---
+
The ImageYUVToRGB node converts YUV color space images to RGB color space. It takes three separate input images representing the Y (luma), U (blue projection), and V (red projection) channels and combines them into a single RGB image using color space conversion.
## Inputs
diff --git a/built-in-nodes/InpaintModelConditioning.mdx b/built-in-nodes/InpaintModelConditioning.mdx
index 892297d13..7282d4a0b 100644
--- a/built-in-nodes/InpaintModelConditioning.mdx
+++ b/built-in-nodes/InpaintModelConditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "InpaintModelConditioning"
icon: "circle"
mode: wide
---
+
The InpaintModelConditioning node is designed to facilitate the conditioning process for inpainting models, enabling the integration and manipulation of various conditioning inputs to tailor the inpainting output. It encompasses a broad range of functionalities, from loading specific model checkpoints and applying style or control net models, to encoding and combining conditioning elements, thereby serving as a comprehensive tool for customizing inpainting tasks.
## Inputs
diff --git a/built-in-nodes/InstructPixToPixConditioning.mdx b/built-in-nodes/InstructPixToPixConditioning.mdx
index 5930e1652..29fded93f 100644
--- a/built-in-nodes/InstructPixToPixConditioning.mdx
+++ b/built-in-nodes/InstructPixToPixConditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "InstructPixToPixConditioning"
icon: "circle"
mode: wide
---
+
The InstructPixToPixConditioning node prepares conditioning data for InstructPix2Pix image editing by combining positive and negative text prompts with image data. It processes input images through a VAE encoder to create latent representations and attaches these latents to both positive and negative conditioning data. The node automatically handles image dimensions by cropping to multiples of 8 pixels for compatibility with the VAE encoding process.
## Inputs
diff --git a/built-in-nodes/InvertBooleanNode.mdx b/built-in-nodes/InvertBooleanNode.mdx
index 0884a5948..7f4ecca4c 100644
--- a/built-in-nodes/InvertBooleanNode.mdx
+++ b/built-in-nodes/InvertBooleanNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "InvertBooleanNode"
icon: "circle"
mode: wide
---
+
This node takes a single boolean (true/false) input and outputs the opposite value. It performs a logical NOT operation, turning `true` into `false` and `false` into `true`.
## Inputs
diff --git a/built-in-nodes/InvertMask.mdx b/built-in-nodes/InvertMask.mdx
index f0dd6d8c2..435281ba8 100644
--- a/built-in-nodes/InvertMask.mdx
+++ b/built-in-nodes/InvertMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "InvertMask"
icon: "circle"
mode: wide
---
+
The InvertMask node is designed to invert the values of a given mask, effectively flipping the masked and unmasked areas. This operation is fundamental in image processing tasks where the focus of interest needs to be switched between the foreground and the background.
## Inputs
diff --git a/built-in-nodes/JoinAudioChannels.mdx b/built-in-nodes/JoinAudioChannels.mdx
index ae7225712..b32eefa99 100644
--- a/built-in-nodes/JoinAudioChannels.mdx
+++ b/built-in-nodes/JoinAudioChannels.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "JoinAudioChannels"
icon: "circle"
mode: wide
---
+
The Join Audio Channels node combines two separate mono audio inputs into a single stereo audio output. It takes a left channel and a right channel, ensures they have compatible sample rates and lengths, and merges them into a two-channel audio waveform.
## Inputs
diff --git a/built-in-nodes/JoinImageWithAlpha.mdx b/built-in-nodes/JoinImageWithAlpha.mdx
index cf6950b24..8d10a6bb0 100644
--- a/built-in-nodes/JoinImageWithAlpha.mdx
+++ b/built-in-nodes/JoinImageWithAlpha.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "JoinImageWithAlpha"
icon: "circle"
mode: wide
---
+
This node is designed for compositing operations, specifically to join an image with its corresponding alpha mask to produce a single output image. It effectively combines visual content with transparency information, enabling the creation of images where certain areas are transparent or semi-transparent.
## Inputs
diff --git a/built-in-nodes/JsonExtractString.mdx b/built-in-nodes/JsonExtractString.mdx
index e948a6c79..e976c9878 100644
--- a/built-in-nodes/JsonExtractString.mdx
+++ b/built-in-nodes/JsonExtractString.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "JsonExtractString"
icon: "circle"
mode: wide
---
+
The JsonExtractString node reads a text string containing JSON data and extracts the value associated with a specific key. It converts the extracted value into a string. If the JSON is invalid, the key is not found, or the value is null, the node returns an empty string.
## Inputs
diff --git a/built-in-nodes/KSampler.mdx b/built-in-nodes/KSampler.mdx
index b2f065e47..6f6848b23 100644
--- a/built-in-nodes/KSampler.mdx
+++ b/built-in-nodes/KSampler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "KSampler"
icon: "circle"
mode: wide
---
+
The KSampler works like this: it modifies the provided original latent image information based on a specific model and both positive and negative conditions.
First, it adds noise to the original image data according to the set **seed** and **denoise strength**, then inputs the preset **Model** combined with **positive** and **negative** guidance conditions to generate the image.
diff --git a/built-in-nodes/KSamplerAdvanced.mdx b/built-in-nodes/KSamplerAdvanced.mdx
index d188ce8c5..3f36a845e 100644
--- a/built-in-nodes/KSamplerAdvanced.mdx
+++ b/built-in-nodes/KSamplerAdvanced.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "KSamplerAdvanced"
icon: "circle"
mode: wide
---
+
The KSamplerAdvanced node is designed to enhance the sampling process by providing advanced configurations and techniques. It aims to offer more sophisticated options for generating samples from a model, improving upon the basic KSampler functionalities.
## Inputs
diff --git a/built-in-nodes/KSamplerSelect.mdx b/built-in-nodes/KSamplerSelect.mdx
index fd05208b7..795fd4ea1 100644
--- a/built-in-nodes/KSamplerSelect.mdx
+++ b/built-in-nodes/KSamplerSelect.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "KSamplerSelect"
icon: "circle"
mode: wide
---
+
The KSamplerSelect node is designed to select a specific sampler based on the provided sampler name. It abstracts the complexity of sampler selection, allowing users to easily switch between different sampling strategies for their tasks.
## Inputs
diff --git a/built-in-nodes/Kandinsky5ImageToVideo.mdx b/built-in-nodes/Kandinsky5ImageToVideo.mdx
index cd1e2a94a..8c880d7f4 100644
--- a/built-in-nodes/Kandinsky5ImageToVideo.mdx
+++ b/built-in-nodes/Kandinsky5ImageToVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Kandinsky5ImageToVideo"
icon: "circle"
mode: wide
---
+
The Kandinsky5ImageToVideo node prepares conditioning and latent space data for video generation using the Kandinsky model. It creates an empty video latent tensor and can optionally encode a starting image to guide the initial frames of the generated video, modifying the positive and negative conditioning accordingly.
## Inputs
diff --git a/built-in-nodes/KarrasScheduler.mdx b/built-in-nodes/KarrasScheduler.mdx
index 9d613e3f5..4f697a116 100644
--- a/built-in-nodes/KarrasScheduler.mdx
+++ b/built-in-nodes/KarrasScheduler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "KarrasScheduler"
icon: "circle"
mode: wide
---
+
The KarrasScheduler node is designed to generate a sequence of noise levels (sigmas) based on the Karras et al. (2022) noise schedule. This scheduler is useful for controlling the diffusion process in generative models, allowing for fine-tuned adjustments to the noise levels applied at each step of the generation process.
## Inputs
diff --git a/built-in-nodes/KlingAvatarNode.mdx b/built-in-nodes/KlingAvatarNode.mdx
index 12078b984..0688c121d 100644
--- a/built-in-nodes/KlingAvatarNode.mdx
+++ b/built-in-nodes/KlingAvatarNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "KlingAvatarNode"
icon: "circle"
mode: wide
---
+
The Kling Avatar 2.0 node generates broadcast-style digital human videos from a single reference photo and an audio file. It creates a talking avatar video with an optional text prompt to define the avatar's actions, emotions, and camera movements.
## Inputs
@@ -28,4 +29,4 @@ The Kling Avatar 2.0 node generates broadcast-style digital human videos from a
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingAvatarNode/en.md)
---
-**Source fingerprint (SHA-256):** `d9264e250c578dcb38612c192f8567a8f48c6624e030d8765b13bb71aae2d0b8`
+**Source fingerprint (SHA-256):** `34f64d168d6c407d9ab474e2637513c172090a0f0c219675d32f8e70ff84f2ae`
diff --git a/built-in-nodes/KlingCameraControlI2VNode.mdx b/built-in-nodes/KlingCameraControlI2VNode.mdx
index d78b26381..a7f1cae9c 100644
--- a/built-in-nodes/KlingCameraControlI2VNode.mdx
+++ b/built-in-nodes/KlingCameraControlI2VNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingCameraControlI2VNode"
icon: "circle"
mode: wide
---
+
The Kling Image to Video Camera Control Node transforms still images into cinematic videos with professional camera movements. This specialized image-to-video node allows you to control virtual camera actions including zoom, rotation, pan, tilt, and first-person view while maintaining focus on your original image. Camera control is currently only supported in pro mode with the kling-v1-5 model at 5-second duration.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `start_frame` | Reference Image - URL or Base64 encoded string, cannot exceed 10MB, resolution not less than 300x300px, aspect ratio between 1:2.5 and 2.5:1. Base64 should not include data:image prefix. | IMAGE | Yes | - |
| `prompt` | Positive text prompt describing the desired video content. Maximum length is 500 characters. | STRING | Yes | - |
| `negative_prompt` | Negative text prompt describing what to avoid in the generated video. Maximum length is 500 characters. | STRING | Yes | - |
@@ -21,7 +22,7 @@ The Kling Image to Video Camera Control Node transforms still images into cinema
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video output | VIDEO |
| `video_id` | Unique identifier for the generated video | STRING |
| `duration` | Duration of the generated video | STRING |
@@ -29,4 +30,4 @@ The Kling Image to Video Camera Control Node transforms still images into cinema
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingCameraControlI2VNode/en.md)
---
-**Source fingerprint (SHA-256):** `c7c0ef732a97d60b03c6942a9f026a23982ea5d86746520772cc6bf2f450865c`
+**Source fingerprint (SHA-256):** `65b1e4a46c2de1558c8f27ebe031f1736e84d532908170c91fb70121c350347e`
diff --git a/built-in-nodes/KlingCameraControlT2VNode.mdx b/built-in-nodes/KlingCameraControlT2VNode.mdx
index 3a498485c..9ef8f71e6 100644
--- a/built-in-nodes/KlingCameraControlT2VNode.mdx
+++ b/built-in-nodes/KlingCameraControlT2VNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingCameraControlT2VNode"
icon: "circle"
mode: wide
---
+
Kling Text to Video Camera Control Node transforms text into cinematic videos with professional camera movements that simulate real-world cinematography. This node supports controlling virtual camera actions including zoom, rotation, pan, tilt, and first-person view while maintaining focus on your original text. The duration, mode, and model name are hard-coded because camera control is only supported in pro mode with the kling-v1-5 model at 5-second duration.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Positive text prompt | STRING | Yes | - |
| `negative_prompt` | Negative text prompt | STRING | Yes | - |
| `cfg_scale` | Controls how closely the output follows the prompt (default: 0.75) | FLOAT | No | 0.0-1.0 |
@@ -20,7 +21,7 @@ Kling Text to Video Camera Control Node transforms text into cinematic videos wi
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video with camera control effects | VIDEO |
| `video_id` | The unique identifier for the generated video | STRING |
| `duration` | The duration of the generated video | STRING |
@@ -28,4 +29,4 @@ Kling Text to Video Camera Control Node transforms text into cinematic videos wi
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingCameraControlT2VNode/en.md)
---
-**Source fingerprint (SHA-256):** `c2e6ea8f136d3bb82d6627b3362a8a4dfb9cb0414f6d846e5283e49a0ba6d357`
+**Source fingerprint (SHA-256):** `7975d97c4f9242a9ae3c17be03696d174a2495bd53fb9fc4405f86c44167fa21`
diff --git a/built-in-nodes/KlingCameraControls.mdx b/built-in-nodes/KlingCameraControls.mdx
index a41c06c2f..8df7f3863 100644
--- a/built-in-nodes/KlingCameraControls.mdx
+++ b/built-in-nodes/KlingCameraControls.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingCameraControls"
icon: "circle"
mode: wide
---
+
The Kling Camera Controls node allows you to configure various camera movement and rotation parameters for creating motion control effects in video generation. It provides controls for camera positioning, rotation, and zoom to simulate different camera movements.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `camera_control_type` | Specifies the type of camera control configuration to use | COMBO | Yes | `"simple"` `"advanced"` |
| `horizontal_movement` | Controls camera's movement along horizontal axis (x-axis). Negative indicates left, positive indicates right (default: 0.0) | FLOAT | No | -10.0 to 10.0 |
| `vertical_movement` | Controls camera's movement along vertical axis (y-axis). Negative indicates downward, positive indicates upward (default: 0.0) | FLOAT | No | -10.0 to 10.0 |
@@ -24,10 +25,10 @@ The Kling Camera Controls node allows you to configure various camera movement a
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `camera_control` | Returns the configured camera control settings for use in video generation | CAMERA_CONTROL |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingCameraControls/en.md)
---
-**Source fingerprint (SHA-256):** `35bc9a47bb58f847e73b87156d099e821bd791546f6126dc78e47c5494a7851c`
+**Source fingerprint (SHA-256):** `dbba1083b662bb2563c77dec857e4f3123e4e53d58a1d51f2646288af28ebba0`
diff --git a/built-in-nodes/KlingDualCharacterVideoEffectNode.mdx b/built-in-nodes/KlingDualCharacterVideoEffectNode.mdx
index ddc9a8b74..34be9207e 100644
--- a/built-in-nodes/KlingDualCharacterVideoEffectNode.mdx
+++ b/built-in-nodes/KlingDualCharacterVideoEffectNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingDualCharacterVideoEffectNode"
icon: "circle"
mode: wide
---
+
The Kling Dual Character Video Effect Node creates videos with special effects based on the selected scene. It takes two images and positions the first image on the left side and the second image on the right side of the composite video. Different visual effects are applied depending on the chosen effect scene.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image_left` | Left side image | IMAGE | Yes | - |
| `image_right` | Right side image | IMAGE | Yes | - |
| `effect_scene` | The type of special effect scene to apply to the video generation | COMBO | Yes | `"chat"` `"dance"` `"hug"` `"kill"` `"kiss"` `"pat"` `"punch"` `"shrug"` `"slap"` `"tickle"` |
@@ -21,11 +22,11 @@ The Kling Dual Character Video Effect Node creates videos with special effects b
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video with dual character effects | VIDEO |
| `duration` | The duration information of the generated video | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingDualCharacterVideoEffectNode/en.md)
---
-**Source fingerprint (SHA-256):** `995616159d0b61a5398ec93e847b04fed8133a28a37f597427f0335ca17920b9`
+**Source fingerprint (SHA-256):** `314fc23940225eb4559ecc74f333bb23e9a4939bbb884c93341f4d6f6e7b64df`
diff --git a/built-in-nodes/KlingFirstLastFrameNode.mdx b/built-in-nodes/KlingFirstLastFrameNode.mdx
index 788bc5f94..70a53ab24 100644
--- a/built-in-nodes/KlingFirstLastFrameNode.mdx
+++ b/built-in-nodes/KlingFirstLastFrameNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingFirstLastFrameNode"
icon: "circle"
mode: wide
---
+
This node uses the Kling 3.0 model to generate a video. It creates the video based on a text prompt, a specified duration, and two provided images: a starting frame and an ending frame. The node can also generate accompanying audio for the video.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | The text description that guides the video generation. Must be between 1 and 2500 characters long. | STRING | Yes | N/A |
| `duration` | The length of the video in seconds (default: 5). | INT | No | 3 to 15 |
| `first_frame` | The starting image for the video. Must be at least 300x300 pixels and have an aspect ratio between 1:2.5 and 2.5:1. | IMAGE | Yes | N/A |
@@ -25,10 +26,10 @@ This node uses the Kling 3.0 model to generate a video. It creates the video bas
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingFirstLastFrameNode/en.md)
---
-**Source fingerprint (SHA-256):** `def99b6a37962b5a28be1025ce41ae50bf7b90246c50894fcf3419365f807b2f`
+**Source fingerprint (SHA-256):** `b71119c3267e2a74d2180e5182463c78828e892bfcf1eeb7c33a0f4d7019997f`
diff --git a/built-in-nodes/KlingImage2VideoNode.mdx b/built-in-nodes/KlingImage2VideoNode.mdx
index 33b8d39aa..7af2e292c 100644
--- a/built-in-nodes/KlingImage2VideoNode.mdx
+++ b/built-in-nodes/KlingImage2VideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingImage2VideoNode"
icon: "circle"
mode: wide
---
+
The Kling Image to Video Node generates a video from a starting reference image using text prompts. It takes an image as the first frame and creates a video sequence based on positive and negative text descriptions, with configurable options for model, duration, aspect ratio, and generation mode.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `start_frame` | The reference image used to generate the video. The image must be at least 300x300 pixels and have an aspect ratio between 1:2.5 and 2.5:1. | IMAGE | Yes | - |
| `prompt` | Positive text prompt. Maximum 500 characters. | STRING | Yes | - |
| `negative_prompt` | Negative text prompt. Maximum 500 characters. | STRING | Yes | - |
@@ -23,7 +24,7 @@ The Kling Image to Video Node generates a video from a starting reference image
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video output. | VIDEO |
| `video_id` | Unique identifier for the generated video. | STRING |
| `duration` | Duration information for the generated video. | STRING |
@@ -31,4 +32,4 @@ The Kling Image to Video Node generates a video from a starting reference image
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingImage2VideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `2845117c840372d457c58bfb8da077ccac32a9398e5679120104d8ee597d4855`
+**Source fingerprint (SHA-256):** `e5731be52e00b6e80a6323417f927d0d6ba5e8147aa149f7ec9dd902d77bc70d`
diff --git a/built-in-nodes/KlingImageGenerationNode.mdx b/built-in-nodes/KlingImageGenerationNode.mdx
index 04c298928..e4edc5dfb 100644
--- a/built-in-nodes/KlingImageGenerationNode.mdx
+++ b/built-in-nodes/KlingImageGenerationNode.mdx
@@ -5,14 +5,15 @@ sidebarTitle: "KlingImageGenerationNode"
icon: "circle"
mode: wide
---
+
Kling Image Generation Node generates images from text prompts with the option to use a reference image for guidance. It creates one or more images based on your text description and reference settings, then returns the generated images as output.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `prompt` | Positive text prompt | STRING | Yes | - |
-| `negative_prompt` | Negative text prompt | STRING | Yes | - |
+|-----------|-------------|-----------|----------|-------|
+| `prompt` | Positive text prompt | STRING | Yes | Maximum 500 characters |
+| `negative_prompt` | Negative text prompt | STRING | Yes | Maximum 500 characters |
| `image_type` | Image reference type selection (advanced). Required when a reference image is provided. | COMBO | Yes | `"subject_reference"` `"style_reference"` |
| `image_fidelity` | Reference intensity for user-uploaded images (default: 0.5, advanced) | FLOAT | Yes | 0.0 - 1.0 |
| `human_fidelity` | Subject reference similarity (default: 0.45, advanced) | FLOAT | Yes | 0.0 - 1.0 |
@@ -32,10 +33,10 @@ Kling Image Generation Node generates images from text prompts with the option t
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | Generated image(s) based on the input parameters | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingImageGenerationNode/en.md)
---
-**Source fingerprint (SHA-256):** `3c029920c966ac9a3588a790e83e1350021a0864a02677258a25af46a0770dce`
+**Source fingerprint (SHA-256):** `65bd6ea842877a9af9a7b554fe020418291d06ae6cc35e86127ab524aadd48c1`
diff --git a/built-in-nodes/KlingImageToVideoWithAudio.mdx b/built-in-nodes/KlingImageToVideoWithAudio.mdx
index 27bf924fc..92624a1cb 100644
--- a/built-in-nodes/KlingImageToVideoWithAudio.mdx
+++ b/built-in-nodes/KlingImageToVideoWithAudio.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingImageToVideoWithAudio"
icon: "circle"
mode: wide
---
+
The Kling Image(First Frame) to Video with Audio node uses the Kling AI model to generate a short video from a single starting image and a text prompt. It creates a video sequence that begins with the provided image and can optionally include AI-generated audio to accompany the visuals.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model_name` | The specific version of the Kling AI model to use for video generation. | COMBO | Yes | `"kling-v2-6"` |
| `start_frame` | The image that will serve as the first frame of the generated video. The image must be at least 300x300 pixels and have an aspect ratio between 1:2.5 and 2.5:1. | IMAGE | Yes | - |
| `prompt` | Positive text prompt. This describes the video content you want to generate. The prompt must be between 1 and 2500 characters long. | STRING | Yes | - |
@@ -21,10 +22,10 @@ The Kling Image(First Frame) to Video with Audio node uses the Kling AI model to
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `video` | The generated video file, which may include audio depending on the `generate_audio` input. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingImageToVideoWithAudio/en.md)
---
-**Source fingerprint (SHA-256):** `c994748fdfa6d79f81aaf864ec174a6b608c4f05943a7e23edd345608122d9a1`
+**Source fingerprint (SHA-256):** `e0b834a297f7afd72cfb779a92557f0dc680eacd4d0e18bab0e7c59ae8624965`
diff --git a/built-in-nodes/KlingLipSyncAudioToVideoNode.mdx b/built-in-nodes/KlingLipSyncAudioToVideoNode.mdx
index a6f99f2fe..a5988ce8c 100644
--- a/built-in-nodes/KlingLipSyncAudioToVideoNode.mdx
+++ b/built-in-nodes/KlingLipSyncAudioToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingLipSyncAudioToVideoNode"
icon: "circle"
mode: wide
---
+
Kling Lip Sync Audio to Video Node synchronizes mouth movements in a video file to match the audio content of an audio file. This node analyzes the vocal patterns in the audio and adjusts the facial movements in the video to create realistic lip-syncing. The process requires both a video containing a distinct face and an audio file with clearly distinguishable vocals.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `video` | The video file containing a face to be lip-synced | VIDEO | Yes | - |
| `audio` | The audio file containing vocals to sync with the video | AUDIO | Yes | - |
| `voice_language` | The language of the voice in the audio file (default: "en") | COMBO | Yes | `"en"` `"zh"` `"es"` `"fr"` `"de"` `"it"` `"pt"` `"pl"` `"tr"` `"ru"` `"nl"` `"cs"` `"ar"` `"ja"` `"hu"` `"ko"` |
@@ -27,7 +28,7 @@ Kling Lip Sync Audio to Video Node synchronizes mouth movements in a video file
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The processed video with lip-synced mouth movements | VIDEO |
| `video_id` | The unique identifier for the processed video | STRING |
| `duration` | The duration of the processed video | STRING |
@@ -35,4 +36,4 @@ Kling Lip Sync Audio to Video Node synchronizes mouth movements in a video file
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingLipSyncAudioToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `bc6dcc5a1e3b873edc0c65cc156bb622992866920a4975a308d8cdb8a3c0e71a`
+**Source fingerprint (SHA-256):** `2f88af3191ac4f9c5c9fa1aaa5b744a12620b66e55a1fe0ab16b8b3b61110128`
diff --git a/built-in-nodes/KlingLipSyncTextToVideoNode.mdx b/built-in-nodes/KlingLipSyncTextToVideoNode.mdx
index 2bee3aad0..b6db3f868 100644
--- a/built-in-nodes/KlingLipSyncTextToVideoNode.mdx
+++ b/built-in-nodes/KlingLipSyncTextToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingLipSyncTextToVideoNode"
icon: "circle"
mode: wide
---
+
Kling Lip Sync Text to Video Node synchronizes mouth movements in a video file to match a text prompt. It takes an input video and generates a new video where the character's lip movements are aligned with the provided text. The node uses voice synthesis to create natural-looking speech synchronization.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `video` | Input video file for lip synchronization. Video must be between 720px and 1920px in height/width, between 2s and 10s in duration, and no larger than 100MB. | VIDEO | Yes | - |
| `text` | Text Content for Lip-Sync Video Generation. Required when mode is text2video. Maximum length is 120 characters. | STRING | Yes | - |
| `voice` | Voice selection for the lip-sync audio (default: "Melody"). Includes both English and Chinese voice options. | COMBO | No | "Melody" "Sunny" "Sage" "Ace" "Blossom" "Peppy" "Dove" "Shine" "Anchor" "Lyric" "Tender" "Siren" "Zippy" "Bud" "Sprite" "Candy" "Beacon" "Rock" "Titan" "Grace" "Helen" "Lore" "Crag" "Prattle" "Hearth" "The Reader" "Commercial Lady" "阳光少年" "懂事小弟" "运动少年" "青春少女" "温柔小妹" "元气少女" "阳光男生" "幽默小哥" "文艺小哥" "甜美邻家" "温柔姐姐" "职场女青" "活泼男童" "俏皮女童" "稳重老爸" "温柔妈妈" "严肃上司" "优雅贵妇" "慈祥爷爷" "唠叨爷爷" "唠叨奶奶" "和蔼奶奶" "东北老铁" "重庆小伙" "四川妹子" "潮汕大叔" "台湾男生" "西安掌柜" "天津姐姐" "新闻播报男" "译制片男" "撒娇女友" "刀片烟嗓" "乖巧正太" |
@@ -25,7 +26,7 @@ Kling Lip Sync Text to Video Node synchronizes mouth movements in a video file t
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | Generated video with lip-synchronized audio | VIDEO |
| `video_id` | Unique identifier for the generated video | STRING |
| `duration` | Duration information for the generated video | STRING |
@@ -33,4 +34,4 @@ Kling Lip Sync Text to Video Node synchronizes mouth movements in a video file t
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingLipSyncTextToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `fb6d208be684f8fc38f692c0439bcfebafc8c448932bc54fa4730da87113f376`
+**Source fingerprint (SHA-256):** `28a7be92d7e8a57efeb7e2913124e4373dfc75fbdba6ff7036fafb3a8ae43a60`
diff --git a/built-in-nodes/KlingMotionControl.mdx b/built-in-nodes/KlingMotionControl.mdx
index 936ccd0df..be57f6a5e 100644
--- a/built-in-nodes/KlingMotionControl.mdx
+++ b/built-in-nodes/KlingMotionControl.mdx
@@ -5,15 +5,16 @@ sidebarTitle: "KlingMotionControl"
icon: "circle"
mode: wide
---
+
The Kling Motion Control node generates a video by applying the motion, expressions, and camera movements from a reference video to a character defined by a reference image and a text prompt. It allows you to control whether the character's final orientation comes from the reference video or the reference image.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | A text description of the desired video. Maximum length is 2500 characters. | STRING | Yes | N/A |
| `reference_image` | An image of the character to animate. Minimum dimensions are 340x340 pixels. The aspect ratio must be between 1:2.5 and 2.5:1. | IMAGE | Yes | N/A |
-| `reference_video` | A motion reference video used to drive the character's movement and expression. Minimum dimensions are 340x340 pixels, maximum dimensions are 3850x3850 pixels. Duration limits depend on the `character_orientation` setting. | VIDEO | Yes | N/A |
+| `reference_video` | Motion reference video used to drive movement/expression. Duration limits depend on `character_orientation` setting. Minimum dimensions are 340x340 pixels, maximum dimensions are 3850x3850 pixels. | VIDEO | Yes | N/A |
| `keep_original_sound` | Determines if the original audio from the reference video is kept in the output. Default is `True`. | BOOLEAN | No | N/A |
| `character_orientation` | Controls where the character's facing/orientation comes from. `"video"`: movements, expressions, camera moves, and orientation follow the motion reference video (other details via prompt). `"image"`: movements and expressions still follow the motion reference video, but the character orientation matches the reference image (camera/other details via prompt). | COMBO | No | `"video"` `"image"` |
| `mode` | The generation mode to use. | COMBO | No | `"pro"` `"std"` |
@@ -21,16 +22,16 @@ The Kling Motion Control node generates a video by applying the motion, expressi
**Constraints:**
-* The `reference_video` duration must be between 3 and 30 seconds when `character_orientation` is set to `"video"`.
-* The `reference_video` duration must be between 3 and 10 seconds when `character_orientation` is set to `"image"`.
+- The `reference_video` duration must be between 3 and 30 seconds when `character_orientation` is set to `"video"`.
+- The `reference_video` duration must be between 3 and 10 seconds when `character_orientation` is set to `"image"`.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video with the character performing the motion from the reference video. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingMotionControl/en.md)
---
-**Source fingerprint (SHA-256):** `3e350ca448a927367edfc90c5abb572be7ffa589c9e8e8734066af280233bd60`
+**Source fingerprint (SHA-256):** `a61e55fabe53f4e13fa993c3d891db40024709ea4fb6b16b5716d893b2bd23b5`
diff --git a/built-in-nodes/KlingOmniProEditVideoNode.mdx b/built-in-nodes/KlingOmniProEditVideoNode.mdx
index 461b7a2fa..3bc4bc873 100644
--- a/built-in-nodes/KlingOmniProEditVideoNode.mdx
+++ b/built-in-nodes/KlingOmniProEditVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingOmniProEditVideoNode"
icon: "circle"
mode: wide
---
+
The Kling Omni Edit Video (Pro) node uses an AI model to edit an existing video based on a text description. You provide a source video and a prompt, and the node generates a new video of the same length with the requested changes. It can optionally use reference images to guide the style and keep the original audio from the source video.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model_name` | The AI model to use for video editing (default: `"kling-v3-omni"`). | COMBO | Yes | `"kling-v3-omni"` `"kling-video-o1"` |
| `prompt` | A text prompt describing the video content. This can include both positive and negative descriptions. | STRING | Yes | |
| `video` | Video for editing. The output video length will be the same. | VIDEO | Yes | |
@@ -31,10 +32,10 @@ The Kling Omni Edit Video (Pro) node uses an AI model to edit an existing video
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `video` | The edited video generated by the AI model. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingOmniProEditVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `770f1944738c06523a537a1add85340ea9264771f62e463f4985ca6bcacddf78`
+**Source fingerprint (SHA-256):** `4aa7779a30183c80f025e15ae693ba23021013c68d247753e7e9a4c3a64762da`
diff --git a/built-in-nodes/KlingOmniProFirstLastFrameNode.mdx b/built-in-nodes/KlingOmniProFirstLastFrameNode.mdx
index 4dfe9df91..7c23744a2 100644
--- a/built-in-nodes/KlingOmniProFirstLastFrameNode.mdx
+++ b/built-in-nodes/KlingOmniProFirstLastFrameNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingOmniProFirstLastFrameNode"
icon: "circle"
mode: wide
---
+
This node uses the latest Kling AI model to generate a video from a start frame, an optional end frame, or reference images. It can create a single video or a multi-shot storyboard with individual prompts and durations for each segment. The node processes these inputs to produce a video of a specified length and resolution, with optional audio generation.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model_name` | The specific Kling AI model to use for video generation. | COMBO | Yes | `"kling-v3-omni"` `"kling-video-o1"` |
| `prompt` | A text prompt describing the video content. This can include both positive and negative descriptions. Ignored when storyboards are enabled. | STRING | Yes | - |
| `duration` | The desired length of the generated video in seconds (default: 5). | INT | Yes | 3 to 15 |
@@ -38,10 +39,10 @@ This node uses the latest Kling AI model to generate a video from a start frame,
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingOmniProFirstLastFrameNode/en.md)
---
-**Source fingerprint (SHA-256):** `caa8c321124c70cb9cbeedee13cdde4c37c7e107c04265b4baf2dd8864a1fc65`
+**Source fingerprint (SHA-256):** `2b26914ba29c3d877a981e41acb44d15dfacc604d86d7cc232ebfa7fda0ae3b8`
diff --git a/built-in-nodes/KlingOmniProImageNode.mdx b/built-in-nodes/KlingOmniProImageNode.mdx
index 6f58799ec..1740374d8 100644
--- a/built-in-nodes/KlingOmniProImageNode.mdx
+++ b/built-in-nodes/KlingOmniProImageNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingOmniProImageNode"
icon: "circle"
mode: wide
---
+
The Kling Omni Image (Pro) node creates or edits images using the latest Kling AI model. It generates images based on a text description and can optionally use reference images to guide the style or content. The node sends a request to an external API, which processes the task and returns the final image(s).
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model_name` | The specific Kling AI model to use for image generation. | COMBO | Yes | `"kling-v3-omni"` `"kling-image-o1"` |
| `prompt` | A text prompt describing the image content. This can include both positive and negative descriptions. The text must be between 1 and 2500 characters long. You can use `@image`, `@image1`, `@image2`, etc. or `@video`, `@video1`, `@video2`, etc. to reference uploaded images or videos in the prompt. | STRING | Yes | - |
| `resolution` | The target resolution for the generated image. Note: 4K resolution is not supported for the `kling-image-o1` model. | COMBO | Yes | `"1K"` `"2K"` `"4K"` |
@@ -22,10 +23,10 @@ The Kling Omni Image (Pro) node creates or edits images using the latest Kling A
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The final image(s) generated or edited by the Kling AI model. If a series was requested, multiple images are returned as a batch. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingOmniProImageNode/en.md)
---
-**Source fingerprint (SHA-256):** `b1d25806bc3b8eaa5ee8677a32b1f1f45189b800a2bfe1664635eaa851c34032`
+**Source fingerprint (SHA-256):** `923db96e956e0f11c9290478ceb105304893f28d35af9f0e13077ca0f88dff79`
diff --git a/built-in-nodes/KlingOmniProImageToVideoNode.mdx b/built-in-nodes/KlingOmniProImageToVideoNode.mdx
index 1cfc9da6b..fe95c5368 100644
--- a/built-in-nodes/KlingOmniProImageToVideoNode.mdx
+++ b/built-in-nodes/KlingOmniProImageToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingOmniProImageToVideoNode"
icon: "circle"
mode: wide
---
+
This node uses the Kling AI model to generate a video based on a text prompt and up to seven reference images. It allows you to control the video's aspect ratio, duration, resolution, and optionally use storyboards or generate audio. The node sends the request to an external API and returns the generated video.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model_name` | The specific Kling model to use for video generation (default: "kling-v3-omni"). | COMBO | Yes | `"kling-v3-omni"` `"kling-video-o1"` |
| `prompt` | A text prompt describing the video content. This can include both positive and negative descriptions. The text is automatically normalized and must be between 1 and 2500 characters. Ignored when storyboards are enabled. | STRING | Yes | - |
| `aspect_ratio` | The desired aspect ratio for the generated video. | COMBO | Yes | `"16:9"` `"9:16"` `"1:1"` |
@@ -32,10 +33,10 @@ This node uses the Kling AI model to generate a video based on a text prompt and
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingOmniProImageToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `e1fe0433a604fbc071fdd426121a1f4ff10bb0aa6d3eb2d702306b7206dae4c0`
+**Source fingerprint (SHA-256):** `ccf7881065d2a365cdaa0e164b8b1d46c67985067866ab0fe91d492a62015f07`
diff --git a/built-in-nodes/KlingOmniProTextToVideoNode.mdx b/built-in-nodes/KlingOmniProTextToVideoNode.mdx
index 6698a3d23..a5a9d6db0 100644
--- a/built-in-nodes/KlingOmniProTextToVideoNode.mdx
+++ b/built-in-nodes/KlingOmniProTextToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingOmniProTextToVideoNode"
icon: "circle"
mode: wide
---
+
This node uses the latest Kling AI model to generate a video from a text description. It sends your prompt to a remote API and returns the generated video. The node allows you to control the video's length, shape, quality, and even create multi-shot storyboards.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model_name` | The specific Kling model to use for video generation (default: `"kling-v3-omni"`). | COMBO | Yes | `"kling-v3-omni"` `"kling-video-o1"` |
| `prompt` | A text prompt describing the video content. This can include both positive and negative descriptions. Ignored when storyboards are enabled. | STRING | Yes | 0 to 2500 characters |
| `aspect_ratio` | The shape or dimensions of the video to generate. | COMBO | Yes | `"16:9"` `"9:16"` `"1:1"` |
@@ -38,10 +39,10 @@ This node uses the latest Kling AI model to generate a video from a text descrip
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The video generated based on the provided text prompt and settings. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingOmniProTextToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `8789c78184356c8ca1d84e046a2c8db644b6e47822d909d95e9d7417f2311109`
+**Source fingerprint (SHA-256):** `d2fbbe7c6aae283eb3fa7f73d788b809098a9a4dd6e8ada54697d43fd5bf10f2`
diff --git a/built-in-nodes/KlingOmniProVideoToVideoNode.mdx b/built-in-nodes/KlingOmniProVideoToVideoNode.mdx
index b739b0213..d3285378f 100644
--- a/built-in-nodes/KlingOmniProVideoToVideoNode.mdx
+++ b/built-in-nodes/KlingOmniProVideoToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingOmniProVideoToVideoNode"
icon: "circle"
mode: wide
---
+
This node uses the Kling AI model to generate a new video based on an input video and optional reference images. You provide a text prompt describing the desired content, and the node transforms the reference video accordingly. It can also incorporate up to four additional reference images to guide the style and content of the output.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model_name` | The specific Kling model to use for video generation (default: "kling-v3-omni"). | COMBO | Yes | `"kling-v3-omni"` `"kling-video-o1"` |
| `prompt` | A text prompt describing the video content. This can include both positive and negative descriptions. | STRING | Yes | N/A |
| `aspect_ratio` | The desired aspect ratio for the generated video. | COMBO | Yes | `"16:9"` `"9:16"` `"1:1"` |
@@ -31,10 +32,10 @@ This node uses the Kling AI model to generate a new video based on an input vide
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The newly generated video. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingOmniProVideoToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `aa99b865ca96ec5c2d5535d3392e8dc94dd5e56ebf624f8fdff09302767ab300`
+**Source fingerprint (SHA-256):** `3dc2e3d153ddd9e6da705b764c51b4a859d66464b893fdebb0689d2ad5e870c7`
diff --git a/built-in-nodes/KlingSingleImageVideoEffectNode.mdx b/built-in-nodes/KlingSingleImageVideoEffectNode.mdx
index 95d10408b..f7d228f14 100644
--- a/built-in-nodes/KlingSingleImageVideoEffectNode.mdx
+++ b/built-in-nodes/KlingSingleImageVideoEffectNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingSingleImageVideoEffectNode"
icon: "circle"
mode: wide
---
+
The Kling Single Image Video Effect Node creates videos with different special effects based on a single reference image. It applies various visual effects and scenes to transform static images into dynamic video content. The node supports different effect scenes, model options, and video durations to achieve the desired visual outcome.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | Reference Image. URL or Base64 encoded string (without data:image prefix). File size cannot exceed 10MB, resolution not less than 300x300px, aspect ratio between 1:2.5 to 2.5:1 | IMAGE | Yes | - |
| `effect_scene` | The type of special effect scene to apply to the video generation. Some effects may have different pricing. | COMBO | Yes | `"dizzydizzy"` `"bloombloom"` `"neon"` `"cartoon"` `"sketch"` `"oil"` `"watercolor"` `"3d"` |
| `model_name` | The specific model version to use for generating the video effect. | COMBO | Yes | `"kling-v1-5"` `"kling-v1-6"` |
@@ -21,7 +22,7 @@ The Kling Single Image Video Effect Node creates videos with different special e
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video with applied effects | VIDEO |
| `video_id` | The unique identifier for the generated video | STRING |
| `duration` | The duration of the generated video | STRING |
@@ -29,4 +30,4 @@ The Kling Single Image Video Effect Node creates videos with different special e
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingSingleImageVideoEffectNode/en.md)
---
-**Source fingerprint (SHA-256):** `7e9d1e2830f16361587d3d1f082fb2536d36ca9d933aa9e2ced32eeb65a161ea`
+**Source fingerprint (SHA-256):** `fb4a8b044daa99154a58d6926ff746bd2397b71ea32f1fafc851589f163ab51a`
diff --git a/built-in-nodes/KlingStartEndFrameNode.mdx b/built-in-nodes/KlingStartEndFrameNode.mdx
index 8fb94104a..cbfd41aea 100644
--- a/built-in-nodes/KlingStartEndFrameNode.mdx
+++ b/built-in-nodes/KlingStartEndFrameNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingStartEndFrameNode"
icon: "circle"
mode: wide
---
-Kling Start-End Frame to Video node creates a video sequence that transitions between your provided start and end images. It generates all the frames in between to produce a smooth transformation from the first frame to the last frame. This node calls the image-to-video API but only supports the input options that work with the `image_tail` request field.
+
+This node creates a video sequence that transitions between your provided start and end images. It generates all the frames in between to produce a smooth transformation from the first frame to the last frame. This node calls the image-to-video API but only supports the input options that work with the `image_tail` request field.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `start_frame` | Reference Image - URL or Base64 encoded string, cannot exceed 10MB, resolution not less than 300*300px, aspect ratio between 1:2.5 ~ 2.5:1. Base64 should not include data:image prefix. | IMAGE | Yes | - |
| `end_frame` | Reference Image - End frame control. URL or Base64 encoded string, cannot exceed 10MB, resolution not less than 300*300px. Base64 should not include data:image prefix. | IMAGE | Yes | - |
| `prompt` | Positive text prompt | STRING | Yes | - |
@@ -29,7 +30,7 @@ Kling Start-End Frame to Video node creates a video sequence that transitions be
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video sequence | VIDEO |
| `video_id` | Unique identifier for the generated video | STRING |
| `duration` | Duration of the generated video | STRING |
@@ -37,4 +38,4 @@ Kling Start-End Frame to Video node creates a video sequence that transitions be
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingStartEndFrameNode/en.md)
---
-**Source fingerprint (SHA-256):** `e0bf25103e72ea3f56651adf64c0712f32c055f2b870448dcbbe82b546be8f37`
+**Source fingerprint (SHA-256):** `7e3a6a4b04b7ad01708a0664a6bed9d817103206074ef41a747ef8193a8ce348`
diff --git a/built-in-nodes/KlingTextToVideoNode.mdx b/built-in-nodes/KlingTextToVideoNode.mdx
index a47fb4594..0073ec6a7 100644
--- a/built-in-nodes/KlingTextToVideoNode.mdx
+++ b/built-in-nodes/KlingTextToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingTextToVideoNode"
icon: "circle"
mode: wide
---
+
The Kling Text to Video Node converts text descriptions into video content. It takes text prompts and generates corresponding video sequences based on the specified configuration settings. The node supports different aspect ratios, generation modes, and model versions to produce videos of varying durations and quality.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Positive text prompt describing the desired video content | STRING | Yes | Maximum 2500 characters |
| `negative_prompt` | Negative text prompt describing what to avoid in the video | STRING | Yes | Maximum 2500 characters |
| `cfg_scale` | Configuration scale value that controls how closely the video follows the prompt (default: 1.0) | FLOAT | No | 0.0 to 1.0 |
@@ -20,7 +21,7 @@ The Kling Text to Video Node converts text descriptions into video content. It t
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video output | VIDEO |
| `video_id` | Unique identifier for the generated video | STRING |
| `duration` | Duration information for the generated video | STRING |
@@ -28,4 +29,4 @@ The Kling Text to Video Node converts text descriptions into video content. It t
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingTextToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `2ec33023f023e8e6fbef04df4f6038a95b88205dbb9d170e88a964cf1ef03a27`
+**Source fingerprint (SHA-256):** `02860325301936682a8e4e49f2a3d7c18d4915edbf61f58ded513564c5e85f7a`
diff --git a/built-in-nodes/KlingTextToVideoWithAudio.mdx b/built-in-nodes/KlingTextToVideoWithAudio.mdx
index d470d69d9..c0aedb39c 100644
--- a/built-in-nodes/KlingTextToVideoWithAudio.mdx
+++ b/built-in-nodes/KlingTextToVideoWithAudio.mdx
@@ -5,26 +5,27 @@ sidebarTitle: "KlingTextToVideoWithAudio"
icon: "circle"
mode: wide
---
+
The Kling Text to Video with Audio node generates a short video from a text description. It sends a request to the Kling AI service, which processes the prompt and returns a video file. The node can also generate accompanying audio for the video based on the text.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model_name` | The specific AI model to use for video generation. | COMBO | Yes | `"kling-v2-6"` |
| `prompt` | Positive text prompt. The description used to generate the video. Must be between 1 and 2500 characters. | STRING | Yes | - |
| `mode` | The operational mode for the video generation. | COMBO | Yes | `"pro"` |
| `aspect_ratio` | The desired width-to-height ratio for the generated video. | COMBO | Yes | `"16:9"` `"9:16"` `"1:1"` |
| `duration` | The length of the video in seconds. | COMBO | Yes | `5` `10` |
-| `generate_audio` | Controls whether audio is generated for the video. When enabled, the AI will create sound based on the prompt. (default: `True`) | BOOLEAN | No | - |
+| `generate_audio` | Controls whether audio is generated for the video. When enabled, the AI will create sound based on the prompt (default: `True`). | BOOLEAN | No | - |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingTextToVideoWithAudio/en.md)
---
-**Source fingerprint (SHA-256):** `60c76cc66b02552cfbf63dda35e8422349c0b6989ca07631d2d8321bb5686cca`
+**Source fingerprint (SHA-256):** `ddd2f3c1799abac067a05f3f5d6442ad4fe023d2f4f9afbde2894ca66854977e`
diff --git a/built-in-nodes/KlingVideoExtendNode.mdx b/built-in-nodes/KlingVideoExtendNode.mdx
index 4d7e52a41..3f379c094 100644
--- a/built-in-nodes/KlingVideoExtendNode.mdx
+++ b/built-in-nodes/KlingVideoExtendNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingVideoExtendNode"
icon: "circle"
mode: wide
---
+
The Kling Video Extend Node allows you to extend videos created by other Kling nodes. It takes an existing video identified by its video ID and generates additional content based on your text prompts. The node works by sending your extension request to the Kling API and returning the extended video along with its new ID and duration.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Positive text prompt for guiding the video extension | STRING | No | - |
| `negative_prompt` | Negative text prompt for elements to avoid in the extended video | STRING | No | - |
| `cfg_scale` | Controls the strength of prompt guidance (default: 0.5) | FLOAT | No | 0.0 - 1.0 |
@@ -21,7 +22,7 @@ The Kling Video Extend Node allows you to extend videos created by other Kling n
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The extended video generated by the Kling API | VIDEO |
| `video_id` | The unique identifier for the extended video | STRING |
| `duration` | The duration of the extended video | STRING |
@@ -29,4 +30,4 @@ The Kling Video Extend Node allows you to extend videos created by other Kling n
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingVideoExtendNode/en.md)
---
-**Source fingerprint (SHA-256):** `31f9d394845412d92b9e9ad7e032acea9c686fe54e32b53dac3848ab54ff9287`
+**Source fingerprint (SHA-256):** `56674dee721a1784138852f5fd1cce137acf0b5e09bd9ee17353dde6fb251b5e`
diff --git a/built-in-nodes/KlingVideoNode.mdx b/built-in-nodes/KlingVideoNode.mdx
index af1bab791..2b6ecf607 100644
--- a/built-in-nodes/KlingVideoNode.mdx
+++ b/built-in-nodes/KlingVideoNode.mdx
@@ -5,27 +5,28 @@ sidebarTitle: "KlingVideoNode"
icon: "circle"
mode: wide
---
-This node generates videos using the Kling V3 model. It supports two primary modes: text-to-video, where a video is created from a text description, and image-to-video, where an existing image is animated. It also offers advanced features like creating multi-segment videos with different prompts for each part (storyboards) and optionally generating accompanying audio.
+
+This node generates videos using the Kling V3 model. It supports text-to-video mode, where a video is created from a text description, and image-to-video mode, where an existing image is animated. It also offers advanced features like creating multi-segment videos with individual prompts for each part (storyboards) and optionally generating accompanying audio.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `multi_shot` | Controls whether to generate a single video or a series of segments with individual prompts and durations. When not "disabled," additional inputs for each storyboard's prompt and duration appear. | COMBO | Yes | `"disabled"` `"1 storyboard"` `"2 storyboards"` `"3 storyboards"` `"4 storyboards"` `"5 storyboards"` `"6 storyboards"` |
-| `generate_audio` | When enabled, the node will generate audio for the video. Default is `True`. | BOOLEAN | Yes | `True` / `False` |
+| `generate_audio` | When enabled, the node will generate audio for the video. Default is True. | BOOLEAN | Yes | True / False |
| `model` | The model and its associated settings. Selecting this option reveals the `resolution` and `aspect_ratio` sub-parameters. | COMBO | Yes | `"kling-v3"` |
-| `model.resolution` | The resolution for the generated video. This setting is available when the `model` is set to "kling-v3". | COMBO | Yes | `"4k"` `"1080p"` `"720p"` |
-| `model.aspect_ratio` | The aspect ratio for the generated video. This setting is ignored when an image is provided for `start_frame` (image-to-video mode). Available when the `model` is set to "kling-v3". | COMBO | Yes | `"16:9"` `"9:16"` `"1:1"` |
-| `seed` | A seed value for generation. Changing this value will cause the node to re-run, but the results are non-deterministic. Default is `0`. | INT | Yes | 0 to 2147483647 |
-| `start_frame` | An optional starting image. When connected, the node switches from text-to-video to image-to-video mode, animating the provided image. | IMAGE | No | - |
+| `model.resolution` | The resolution for the generated video. | COMBO | Yes | `"4k"` `"1080p"` `"720p"` |
+| `model.aspect_ratio` | The aspect ratio for the generated video. This setting is ignored when an image is provided for `start_frame` (image-to-video mode). | COMBO | Yes | `"16:9"` `"9:16"` `"1:1"` |
+| `seed` | A seed value for generation. Changing this value will cause the node to re-run, but results are non-deterministic regardless of seed. Default is 0. | INT | Yes | 0 to 2147483647 |
+| `start_frame` | Optional start frame image. When connected, switches to image-to-video mode. | IMAGE | No | - |
**Inputs for `multi_shot` mode:**
* When `multi_shot` is set to **"disabled"**, the following inputs appear:
- * `prompt` (STRING): The main text description for the video. Required. Must be between 1 and 2500 characters.
- * `negative_prompt` (STRING): Text describing what should not appear in the video. Optional.
- * `duration` (INT): The length of the video in seconds. Must be between 3 and 15. Default is `5`.
-* When `multi_shot` is set to a storyboard option (e.g., `"3 storyboards"`), inputs for each storyboard segment appear (e.g., `storyboard_1_prompt`, `storyboard_1_duration`). Each prompt must be between 1 and 512 characters. The **total sum of all storyboard durations** must be between 3 and 15 seconds.
+ * `prompt` (STRING): The main text description for the video. Must be between 1 and 2500 characters.
+ * `negative_prompt` (STRING): Text describing what should not appear in the video.
+ * `duration` (INT): The length of the video in seconds. Must be between 3 and 15. Default is 5.
+* When `multi_shot` is set to a storyboard option (e.g., `"3 storyboards"`), inputs for each storyboard segment appear (e.g., `storyboard_1_prompt`, `storyboard_1_duration`). Each storyboard prompt must be between 1 and 512 characters. The **total sum of all storyboard durations** must be between 3 and 15 seconds.
**Constraints:**
@@ -36,10 +37,10 @@ This node generates videos using the Kling V3 model. It supports two primary mod
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `video` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `c329fa5a8609ccd2caec96fc23afae9ba79bdf835faa05450d4e20a7380087f5`
+**Source fingerprint (SHA-256):** `62a336f957836693fbcfbc097fe909e3efbceaf77102c960e00dc890ba9b5757`
diff --git a/built-in-nodes/KlingVirtualTryOnNode.mdx b/built-in-nodes/KlingVirtualTryOnNode.mdx
index d1c019eaf..a586c88fc 100644
--- a/built-in-nodes/KlingVirtualTryOnNode.mdx
+++ b/built-in-nodes/KlingVirtualTryOnNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "KlingVirtualTryOnNode"
icon: "circle"
mode: wide
---
+
Kling Virtual Try On Node. Input a human image and a cloth image to try on the cloth on the human. You can merge multiple clothing item pictures into one image with a white background.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `human_image` | The human image to try clothes on | IMAGE | Yes | - |
| `cloth_image` | The clothing image to try on the human | IMAGE | Yes | - |
| `model_name` | The virtual try-on model to use (default: "kolors-virtual-try-on-v1") | STRING | Yes | `"kolors-virtual-try-on-v1"` |
@@ -18,10 +19,10 @@ Kling Virtual Try On Node. Input a human image and a cloth image to try on the c
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The resulting image showing the human with the clothing item tried on | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/KlingVirtualTryOnNode/en.md)
---
-**Source fingerprint (SHA-256):** `b642ea6583e971f47a580212030f564e24b055caf77dc99764b79ee21e2988f9`
+**Source fingerprint (SHA-256):** `bf256d8732f4c6acf65838812fc322e48ef886257bbb48c02b0cc6ab5d78dce5`
diff --git a/built-in-nodes/Krea2ImageNode.mdx b/built-in-nodes/Krea2ImageNode.mdx
index 3ab47134f..0702c3ec7 100644
--- a/built-in-nodes/Krea2ImageNode.mdx
+++ b/built-in-nodes/Krea2ImageNode.mdx
@@ -5,14 +5,15 @@ sidebarTitle: "Krea2ImageNode"
icon: "circle"
mode: wide
---
+
## Overview
-The Krea 2 Image node generates images using the Krea 2 AI model. It supports two model variants: Medium for expressive illustrations and Large for expressive photorealism. You can optionally include a moodboard and up to 10 image style references to influence the generated image.
+The Krea 2 Image node generates images using the Krea 2 AI model. It supports two model variants: Medium for expressive illustrations and Large for expressive photorealism, with an additional Medium Turbo option for faster generation. You can optionally include a moodboard and up to 10 image style references to influence the generated image.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text prompt for the image. | STRING | Yes | N/A |
| `model` | Krea 2 Medium is best for expressive illustrations; Krea 2 Large is best for expressive photorealism. | DICT | Yes | See below |
| `seed` | Random seed for reproducibility (default: 0). | INT | Yes | 0 to 2147483647 |
@@ -20,8 +21,8 @@ The Krea 2 Image node generates images using the Krea 2 AI model. It supports tw
The `model` parameter is a dictionary with the following sub-parameters:
| Sub-Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `model` | Selects the Krea 2 model variant. | STRING | Yes | `"krea 2 medium"` `"krea 2 large"` |
+|---------------|-------------|-----------|----------|-------|
+| `model` | Selects the Krea 2 model variant. | STRING | Yes | `"krea 2 medium turbo"` `"krea 2 medium"` `"krea 2 large"` |
| `aspect_ratio` | The aspect ratio for the generated image. | STRING | Yes | N/A |
| `resolution` | The resolution for the generated image. | STRING | Yes | N/A |
| `creativity` | Controls the creativity level of the generation. | FLOAT | Yes | N/A |
@@ -37,10 +38,10 @@ The `model` parameter is a dictionary with the following sub-parameters:
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The generated image as a tensor. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Krea2ImageNode/en.md)
---
-**Source fingerprint (SHA-256):** `6aeb2d935ef5df5699a19271c9ceb766892ef4b0e4f67bfa540bf12ffadf362d`
+**Source fingerprint (SHA-256):** `645b404fe2c7653662803f1630125bdef912429c95d7b3a1268b0e0d7f533277`
diff --git a/built-in-nodes/Krea2StyleReferenceNode.mdx b/built-in-nodes/Krea2StyleReferenceNode.mdx
index 5f517aaed..c2fd5ff9c 100644
--- a/built-in-nodes/Krea2StyleReferenceNode.mdx
+++ b/built-in-nodes/Krea2StyleReferenceNode.mdx
@@ -5,14 +5,13 @@ sidebarTitle: "Krea2StyleReferenceNode"
icon: "circle"
mode: wide
---
-## Overview
The Krea 2 Style Reference node lets you add a reference image to influence the style of a Krea 2 image generation. You can chain multiple style references together (up to 10 total) and feed the combined result into a Krea 2 Image node. Each image you provide is uploaded to ComfyAPI storage and passed as a URL.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | Reference image whose style influences the generation. | IMAGE | Yes | - |
| `strength` | Reference strength; negative values invert the style influence (default: 1.0). | FLOAT | Yes | -2.0 to 2.0 (step: 0.05) |
| `style_reference` | Optional incoming chain of style references; this node appends one more. | STYLE_REF | No | - |
@@ -22,10 +21,10 @@ The Krea 2 Style Reference node lets you add a reference image to influence the
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `style_reference` | A list of style reference entries, each containing a URL and strength value. Feed this output into a Krea 2 Image node. | STYLE_REF |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Krea2StyleReferenceNode/en.md)
---
-**Source fingerprint (SHA-256):** `7f87568a1cd5038571f3188cfb1d71e15533ea19eee01d7826fe574a1a4dc88d`
+**Source fingerprint (SHA-256):** `a7e52408245b6a3caaca558c8d4d07d090686f32f5d5c7df77ab07311c9c1c6e`
diff --git a/built-in-nodes/LTXAVTextEncoderLoader.mdx b/built-in-nodes/LTXAVTextEncoderLoader.mdx
index 35d6ad03b..ae7b14212 100644
--- a/built-in-nodes/LTXAVTextEncoderLoader.mdx
+++ b/built-in-nodes/LTXAVTextEncoderLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXAVTextEncoderLoader"
icon: "circle"
mode: wide
---
+
This node loads a specialized text encoder for the LTXV audio model. It combines a specific text encoder file with a checkpoint file to create a CLIP model that can be used for audio-related text conditioning tasks.
## Inputs
diff --git a/built-in-nodes/LTXVAddGuide.mdx b/built-in-nodes/LTXVAddGuide.mdx
index f8df08404..b47bab87c 100644
--- a/built-in-nodes/LTXVAddGuide.mdx
+++ b/built-in-nodes/LTXVAddGuide.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVAddGuide"
icon: "circle"
mode: wide
---
+
The LTXVAddGuide node adds video conditioning guidance to latent sequences by encoding input images or videos and incorporating them as keyframes into the conditioning data. It processes the input through a VAE encoder and strategically places the resulting latents at specified frame positions while updating both positive and negative conditioning with keyframe information. The node handles frame alignment constraints and allows control over the strength of the conditioning influence.
## Inputs
diff --git a/built-in-nodes/LTXVAudioVAEDecode.mdx b/built-in-nodes/LTXVAudioVAEDecode.mdx
index 4c4164033..f9cd349d7 100644
--- a/built-in-nodes/LTXVAudioVAEDecode.mdx
+++ b/built-in-nodes/LTXVAudioVAEDecode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVAudioVAEDecode"
icon: "circle"
mode: wide
---
+
The LTXV Audio VAE Decode node converts a latent representation of audio back into an audio waveform. It uses a specialized Audio VAE model to perform this decoding process, producing an audio output with a specific sample rate.
## Inputs
diff --git a/built-in-nodes/LTXVAudioVAEEncode.mdx b/built-in-nodes/LTXVAudioVAEEncode.mdx
index 6931a45b7..e3bb954c1 100644
--- a/built-in-nodes/LTXVAudioVAEEncode.mdx
+++ b/built-in-nodes/LTXVAudioVAEEncode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVAudioVAEEncode"
icon: "circle"
mode: wide
---
+
The LTXV Audio VAE Encode node takes an audio input and compresses it into a smaller, latent representation using a specified Audio VAE model. This process is essential for generating or manipulating audio within a latent space workflow, as it converts raw audio data into a format that other nodes in the pipeline can understand and process.
## Inputs
diff --git a/built-in-nodes/LTXVAudioVAELoader.mdx b/built-in-nodes/LTXVAudioVAELoader.mdx
index c9bf24e64..66dc4f3e1 100644
--- a/built-in-nodes/LTXVAudioVAELoader.mdx
+++ b/built-in-nodes/LTXVAudioVAELoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVAudioVAELoader"
icon: "circle"
mode: wide
---
+
The LTXV Audio VAE Loader node loads a pre-trained Audio Variational Autoencoder (VAE) model from a checkpoint file. It reads the specified checkpoint, loads its weights and metadata, and prepares the model for use in audio generation or processing workflows within ComfyUI.
## Inputs
diff --git a/built-in-nodes/LTXVConcatAVLatent.mdx b/built-in-nodes/LTXVConcatAVLatent.mdx
index 93b5a6b91..4ced86f44 100644
--- a/built-in-nodes/LTXVConcatAVLatent.mdx
+++ b/built-in-nodes/LTXVConcatAVLatent.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVConcatAVLatent"
icon: "circle"
mode: wide
---
+
The LTXVConcatAVLatent node combines a video latent representation and an audio latent representation into a single, concatenated latent output. It merges the `samples` tensors from both inputs and, if present, their `noise_mask` tensors as well, preparing them for further processing in a video generation pipeline.
## Inputs
diff --git a/built-in-nodes/LTXVConditioning.mdx b/built-in-nodes/LTXVConditioning.mdx
index e34da8c55..20f1d0e13 100644
--- a/built-in-nodes/LTXVConditioning.mdx
+++ b/built-in-nodes/LTXVConditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVConditioning"
icon: "circle"
mode: wide
---
+
The LTXVConditioning node adds frame rate information to both positive and negative conditioning inputs for video generation models. It takes existing conditioning data and applies the specified frame rate value to both conditioning sets, making them suitable for video model processing.
## Inputs
diff --git a/built-in-nodes/LTXVContextWindows.mdx b/built-in-nodes/LTXVContextWindows.mdx
new file mode 100644
index 000000000..28d68a332
--- /dev/null
+++ b/built-in-nodes/LTXVContextWindows.mdx
@@ -0,0 +1,37 @@
+---
+title: "LTXVContextWindows - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the LTXVContextWindows node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "LTXVContextWindows"
+icon: "circle"
+mode: wide
+---
+
+This node sets context windows for LTXV-like models during sampling. It divides the video generation process into overlapping windows to manage memory usage and improve temporal coherence.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `model` | The model to apply context windows to during sampling. | MODEL | Yes | - |
+| `context_length` | The length of the context window in real frames. Must be 8*n + 1. (default: 145) | INT | Yes | Minimum: 1 Maximum: nodes.MAX_RESOLUTION Step: 8 |
+| `context_overlap` | The overlap of the context window in real frames. (default: 40) | INT | Yes | Minimum: 0 Step: 8 |
+| `context_schedule` | Step-dependent scheduling algorithm for context windows. (default: UNIFORM_STANDARD) | COMBO | Yes | `STATIC_STANDARD` `UNIFORM_STANDARD` `UNIFORM_LOOPED` `BATCHED` |
+| `context_stride` | The stride of the context window; only applicable to uniform schedules. (default: 1) | INT | No | Minimum: 1 |
+| `closed_loop` | Whether to close the context window loop; only applicable to looped schedules. (default: False) | BOOLEAN | No | True False |
+| `fuse_method` | The method to use to fuse the context windows. (default: PYRAMID) | COMBO | Yes | Options from comfy.context_windows.ContextFuseMethods.LIST_STATIC |
+| `freenoise` | Whether to apply FreeNoise noise shuffling, improves window blending. (default: True) | BOOLEAN | No | True False |
+| `retain_first_frame` | Retain the first latent frame in every context window (may help retain initial reference). (default: False) | BOOLEAN | No | True False |
+| `split_conds_to_windows` | Whether to split multiple conditionings (created by ConditionCombine) to each window based on region index. (default: False) | BOOLEAN | No | True False |
+
+**Note:** The `context_length` parameter must follow the formula 8*n + 1, where n is a positive integer. The node automatically adjusts the value to meet this requirement by converting real frames to latent frames. The `context_overlap` is also converted from real frames to latent frames (divided by 8).
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `MODEL` | The model with context windows applied for sampling. | MODEL |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LTXVContextWindows/en.md)
+
+---
+**Source fingerprint (SHA-256):** `ad0b8c54acaab1853f6fe98dbad675478f033caf867df954b40b7db5208f5ae4`
diff --git a/built-in-nodes/LTXVCropGuides.mdx b/built-in-nodes/LTXVCropGuides.mdx
index 977c6238e..d1dc06790 100644
--- a/built-in-nodes/LTXVCropGuides.mdx
+++ b/built-in-nodes/LTXVCropGuides.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVCropGuides"
icon: "circle"
mode: wide
---
+
The LTXVCropGuides node processes conditioning and latent inputs for video generation by removing keyframe information and adjusting the latent dimensions. It crops the latent image and noise mask to exclude keyframe sections while clearing keyframe indices from both positive and negative conditioning inputs. This prepares the data for video generation workflows that don't require keyframe guidance.
## Inputs
diff --git a/built-in-nodes/LTXVEmptyLatentAudio.mdx b/built-in-nodes/LTXVEmptyLatentAudio.mdx
index 948155198..dd1d70ff2 100644
--- a/built-in-nodes/LTXVEmptyLatentAudio.mdx
+++ b/built-in-nodes/LTXVEmptyLatentAudio.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVEmptyLatentAudio"
icon: "circle"
mode: wide
---
+
The LTXV Empty Latent Audio node creates a batch of empty (zero-filled) latent audio tensors. It uses the configuration from a provided Audio VAE model to determine the correct dimensions for the latent space, such as the number of channels and frequency bins. This empty latent serves as a starting point for audio generation or manipulation workflows within ComfyUI.
## Inputs
diff --git a/built-in-nodes/LTXVImgToVideo.mdx b/built-in-nodes/LTXVImgToVideo.mdx
index c56ae7a9f..90572a90b 100644
--- a/built-in-nodes/LTXVImgToVideo.mdx
+++ b/built-in-nodes/LTXVImgToVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVImgToVideo"
icon: "circle"
mode: wide
---
+
The LTXVImgToVideo node converts an input image into a video latent representation for video generation models. It takes a single image and extends it into a sequence of frames using the VAE encoder, then applies conditioning with strength control to determine how much of the original image content is preserved versus modified during video generation.
## Inputs
diff --git a/built-in-nodes/LTXVImgToVideoInplace.mdx b/built-in-nodes/LTXVImgToVideoInplace.mdx
index e9ec3a003..4615a5a60 100644
--- a/built-in-nodes/LTXVImgToVideoInplace.mdx
+++ b/built-in-nodes/LTXVImgToVideoInplace.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVImgToVideoInplace"
icon: "circle"
mode: wide
---
+
The LTXVImgToVideoInplace node conditions a video latent representation by encoding an input image into its initial frames. It works by using a VAE to encode the image into the latent space and then blending it with the existing latent samples based on a specified strength. This allows an image to serve as a starting point or conditioning signal for video generation.
## Inputs
diff --git a/built-in-nodes/LTXVLatentUpsampler.mdx b/built-in-nodes/LTXVLatentUpsampler.mdx
index aa5a820d8..247517285 100644
--- a/built-in-nodes/LTXVLatentUpsampler.mdx
+++ b/built-in-nodes/LTXVLatentUpsampler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVLatentUpsampler"
icon: "circle"
mode: wide
---
+
The LTXVLatentUpsampler node increases the spatial resolution of a video latent representation by a factor of two. It uses a specialized upscale model to process the latent data, which is first un-normalized and then re-normalized using the provided VAE's channel statistics. This node is designed for video workflows within the latent space.
## Inputs
diff --git a/built-in-nodes/LTXVPreprocess.mdx b/built-in-nodes/LTXVPreprocess.mdx
index 6bd657331..24e9a9525 100644
--- a/built-in-nodes/LTXVPreprocess.mdx
+++ b/built-in-nodes/LTXVPreprocess.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVPreprocess"
icon: "circle"
mode: wide
---
+
The LTXVPreprocess node applies video compression preprocessing to images. It simulates the quality loss of video compression by encoding an image as a single-frame MP4 video and then decoding it back, allowing you to control the compression level.
## Inputs
diff --git a/built-in-nodes/LTXVReferenceAudio.mdx b/built-in-nodes/LTXVReferenceAudio.mdx
index 0b8bb8557..f272f60b6 100644
--- a/built-in-nodes/LTXVReferenceAudio.mdx
+++ b/built-in-nodes/LTXVReferenceAudio.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVReferenceAudio"
icon: "circle"
mode: wide
---
+
The LTXV Reference Audio node is used for speaker identity transfer in audio generation. It encodes a reference audio clip into the conditioning for a model, allowing the generated audio to adopt the speaker's voice characteristics. It can also apply identity guidance, which runs an extra processing step to amplify the speaker identity effect.
## Inputs
diff --git a/built-in-nodes/LTXVScheduler.mdx b/built-in-nodes/LTXVScheduler.mdx
index 6f038b161..67b66f9f7 100644
--- a/built-in-nodes/LTXVScheduler.mdx
+++ b/built-in-nodes/LTXVScheduler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVScheduler"
icon: "circle"
mode: wide
---
+
The LTXVScheduler node generates sigma values for custom sampling processes. It calculates noise schedule parameters based on the number of tokens in the input latent and applies a sigmoid transformation to create the sampling schedule. The node can optionally stretch the resulting sigmas to match a specified terminal value.
## Inputs
diff --git a/built-in-nodes/LTXVSeparateAVLatent.mdx b/built-in-nodes/LTXVSeparateAVLatent.mdx
index 29eb0ff20..60ef973f4 100644
--- a/built-in-nodes/LTXVSeparateAVLatent.mdx
+++ b/built-in-nodes/LTXVSeparateAVLatent.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LTXVSeparateAVLatent"
icon: "circle"
mode: wide
---
+
The LTXVSeparateAVLatent node takes a combined audio-visual latent representation and splits it into two distinct parts: one for video and one for audio. It separates the samples and, if present, the noise masks from the input latent, creating two new latent objects.
## Inputs
diff --git a/built-in-nodes/LaplaceScheduler.mdx b/built-in-nodes/LaplaceScheduler.mdx
index f6a814250..741e201ae 100644
--- a/built-in-nodes/LaplaceScheduler.mdx
+++ b/built-in-nodes/LaplaceScheduler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LaplaceScheduler"
icon: "circle"
mode: wide
---
+
The LaplaceScheduler node generates a sequence of sigma values following a Laplace distribution for use in diffusion sampling. It creates a schedule of noise levels that gradually decrease from a maximum to minimum value, using Laplace distribution parameters to control the progression. This scheduler is commonly used in custom sampling workflows to define the noise schedule for diffusion models.
## Inputs
diff --git a/built-in-nodes/LatentAdd.mdx b/built-in-nodes/LatentAdd.mdx
index 9d46d92c5..43bbe2d05 100644
--- a/built-in-nodes/LatentAdd.mdx
+++ b/built-in-nodes/LatentAdd.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentAdd"
icon: "circle"
mode: wide
---
+
The LatentAdd node is designed for the addition of two latent representations. It facilitates the combination of features or characteristics encoded in these representations by performing element-wise addition.
## Inputs
diff --git a/built-in-nodes/LatentApplyOperation.mdx b/built-in-nodes/LatentApplyOperation.mdx
index 9493cc2cb..7afd43c00 100644
--- a/built-in-nodes/LatentApplyOperation.mdx
+++ b/built-in-nodes/LatentApplyOperation.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentApplyOperation"
icon: "circle"
mode: wide
---
+
The LatentApplyOperation node applies a specified operation to latent samples. It takes latent data and an operation as inputs, processes the latent samples using the provided operation, and returns the modified latent data. This node allows you to transform or manipulate latent representations in your workflow.
## Inputs
diff --git a/built-in-nodes/LatentApplyOperationCFG.mdx b/built-in-nodes/LatentApplyOperationCFG.mdx
index 03f629b36..a3e67bb3e 100644
--- a/built-in-nodes/LatentApplyOperationCFG.mdx
+++ b/built-in-nodes/LatentApplyOperationCFG.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentApplyOperationCFG"
icon: "circle"
mode: wide
---
+
The LatentApplyOperationCFG node applies a latent operation to modify the conditioning guidance process in a model. It works by intercepting the conditioning outputs during the classifier-free guidance (CFG) sampling process and applying the specified operation to the latent representations before they are used for generation.
## Inputs
diff --git a/built-in-nodes/LatentBatch.mdx b/built-in-nodes/LatentBatch.mdx
index e3fcccd96..cb1f3d66f 100644
--- a/built-in-nodes/LatentBatch.mdx
+++ b/built-in-nodes/LatentBatch.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentBatch"
icon: "circle"
mode: wide
---
+
The LatentBatch node is designed to merge two sets of latent samples into a single batch, potentially resizing one set to match the dimensions of the other before concatenation. This operation facilitates the combination of different latent representations for further processing or generation tasks.
## Inputs
diff --git a/built-in-nodes/LatentBatchSeedBehavior.mdx b/built-in-nodes/LatentBatchSeedBehavior.mdx
index 67dca98cb..959c8d7e7 100644
--- a/built-in-nodes/LatentBatchSeedBehavior.mdx
+++ b/built-in-nodes/LatentBatchSeedBehavior.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentBatchSeedBehavior"
icon: "circle"
mode: wide
---
+
The LatentBatchSeedBehavior node is designed to modify the seed behavior of a batch of latent samples. It allows for either randomizing or fixing the seed across the batch, thereby influencing the generation process by either introducing variability or maintaining consistency in the generated outputs.
## Inputs
diff --git a/built-in-nodes/LatentBlend.mdx b/built-in-nodes/LatentBlend.mdx
index 26aa4931e..d7159bbc0 100644
--- a/built-in-nodes/LatentBlend.mdx
+++ b/built-in-nodes/LatentBlend.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentBlend"
icon: "circle"
mode: wide
---
+
The LatentBlend node combines two latent samples by blending them together using a specified blend factor. It takes two latent inputs and creates a new output where the first sample is weighted by the blend factor and the second sample is weighted by the inverse. If the input samples have different shapes, the second sample is automatically resized to match the first sample's dimensions.
## Inputs
diff --git a/built-in-nodes/LatentComposite.mdx b/built-in-nodes/LatentComposite.mdx
index 37a251fe9..24337984d 100644
--- a/built-in-nodes/LatentComposite.mdx
+++ b/built-in-nodes/LatentComposite.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentComposite"
icon: "circle"
mode: wide
---
+
The LatentComposite node is designed to blend or merge two latent representations into a single output. This process is essential for creating composite images or features by combining the characteristics of the input latents in a controlled manner.
## Inputs
diff --git a/built-in-nodes/LatentCompositeMasked.mdx b/built-in-nodes/LatentCompositeMasked.mdx
index 6c04b95d7..1099649b2 100644
--- a/built-in-nodes/LatentCompositeMasked.mdx
+++ b/built-in-nodes/LatentCompositeMasked.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentCompositeMasked"
icon: "circle"
mode: wide
---
+
The LatentCompositeMasked node is designed for blending two latent representations together at specified coordinates, optionally using a mask for more controlled compositing. This node enables the creation of complex latent images by overlaying parts of one image onto another, with the ability to resize the source image for a perfect fit.
## Inputs
diff --git a/built-in-nodes/LatentConcat.mdx b/built-in-nodes/LatentConcat.mdx
index 9d91bdb6d..56c918e9d 100644
--- a/built-in-nodes/LatentConcat.mdx
+++ b/built-in-nodes/LatentConcat.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentConcat"
icon: "circle"
mode: wide
---
+
The LatentConcat node combines two latent samples by joining them together along a chosen dimension. It takes two latent inputs and concatenates them along the x, y, or t axis, with the option to control which sample comes first. The node automatically adjusts the batch size of the second input to match the first before performing the concatenation.
## Inputs
diff --git a/built-in-nodes/LatentCrop.mdx b/built-in-nodes/LatentCrop.mdx
index 443ec468e..c0f0d9041 100644
--- a/built-in-nodes/LatentCrop.mdx
+++ b/built-in-nodes/LatentCrop.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentCrop"
icon: "circle"
mode: wide
---
+
The LatentCrop node is designed to perform cropping operations on latent representations of images. It allows for the specification of the crop dimensions and position, enabling targeted modifications of the latent space.
## Inputs
diff --git a/built-in-nodes/LatentCut.mdx b/built-in-nodes/LatentCut.mdx
index 10b26dfcc..2960c8dce 100644
--- a/built-in-nodes/LatentCut.mdx
+++ b/built-in-nodes/LatentCut.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentCut"
icon: "circle"
mode: wide
---
+
The LatentCut node extracts a specific section from latent samples along a chosen dimension. It allows you to cut out a portion of the latent representation by specifying the dimension (x, y, or t), starting position, and amount to extract. The node handles both positive and negative indexing and automatically adjusts the extraction amount to stay within the available bounds.
## Inputs
diff --git a/built-in-nodes/LatentCutToBatch.mdx b/built-in-nodes/LatentCutToBatch.mdx
index e15848315..ced2114f6 100644
--- a/built-in-nodes/LatentCutToBatch.mdx
+++ b/built-in-nodes/LatentCutToBatch.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentCutToBatch"
icon: "circle"
mode: wide
---
+
The LatentCutToBatch node splits a latent representation along a chosen dimension into multiple slices and stacks them into a new batch. This allows you to process different parts of a latent sample independently.
## Inputs
diff --git a/built-in-nodes/LatentFlip.mdx b/built-in-nodes/LatentFlip.mdx
index 430e46194..d608eb250 100644
--- a/built-in-nodes/LatentFlip.mdx
+++ b/built-in-nodes/LatentFlip.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentFlip"
icon: "circle"
mode: wide
---
+
The LatentFlip node is designed to manipulate latent representations by flipping them either vertically or horizontally. This operation allows for the transformation of the latent space, potentially uncovering new variations or perspectives within the data.
## Inputs
diff --git a/built-in-nodes/LatentFromBatch.mdx b/built-in-nodes/LatentFromBatch.mdx
index 4aa8eb787..61f64d77f 100644
--- a/built-in-nodes/LatentFromBatch.mdx
+++ b/built-in-nodes/LatentFromBatch.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentFromBatch"
icon: "circle"
mode: wide
---
+
This node is designed to extract a specific subset of latent samples from a given batch based on the specified batch index and length. It allows for selective processing of latent samples, facilitating operations on smaller segments of the batch for efficiency or targeted manipulation.
## Inputs
diff --git a/built-in-nodes/LatentInterpolate.mdx b/built-in-nodes/LatentInterpolate.mdx
index d4e637a4f..de781e5c2 100644
--- a/built-in-nodes/LatentInterpolate.mdx
+++ b/built-in-nodes/LatentInterpolate.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentInterpolate"
icon: "circle"
mode: wide
---
+
The LatentInterpolate node is designed to perform interpolation between two sets of latent samples based on a specified ratio, blending the characteristics of both sets to produce a new, intermediate set of latent samples.
## Inputs
diff --git a/built-in-nodes/LatentMultiply.mdx b/built-in-nodes/LatentMultiply.mdx
index 41e03158c..dde2fbb83 100644
--- a/built-in-nodes/LatentMultiply.mdx
+++ b/built-in-nodes/LatentMultiply.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentMultiply"
icon: "circle"
mode: wide
---
+
The LatentMultiply node is designed to scale the latent representation of samples by a specified multiplier. This operation allows for the adjustment of the intensity or magnitude of features within the latent space, enabling fine-tuning of generated content or the exploration of variations within a given latent direction.
## Inputs
diff --git a/built-in-nodes/LatentOperationSharpen.mdx b/built-in-nodes/LatentOperationSharpen.mdx
index 3aba4f240..78b50c211 100644
--- a/built-in-nodes/LatentOperationSharpen.mdx
+++ b/built-in-nodes/LatentOperationSharpen.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentOperationSharpen"
icon: "circle"
mode: wide
---
+
The LatentOperationSharpen node applies a sharpening effect to latent representations using a Gaussian kernel. It works by normalizing the latent data, applying a convolution with a custom sharpening kernel, and then restoring the original luminance. This enhances the details and edges in the latent space representation.
## Inputs
diff --git a/built-in-nodes/LatentOperationTonemapReinhard.mdx b/built-in-nodes/LatentOperationTonemapReinhard.mdx
index 6c52b98c4..96c23d463 100644
--- a/built-in-nodes/LatentOperationTonemapReinhard.mdx
+++ b/built-in-nodes/LatentOperationTonemapReinhard.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentOperationTonemapReinhard"
icon: "circle"
mode: wide
---
+
The LatentOperationTonemapReinhard node applies Reinhard tonemapping to latent vectors. This technique normalizes the latent vectors and adjusts their magnitude using a statistical approach based on mean and standard deviation, with the intensity controlled by a multiplier parameter.
## Inputs
diff --git a/built-in-nodes/LatentRotate.mdx b/built-in-nodes/LatentRotate.mdx
index eeae6d5fa..807eb8811 100644
--- a/built-in-nodes/LatentRotate.mdx
+++ b/built-in-nodes/LatentRotate.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentRotate"
icon: "circle"
mode: wide
---
+
The LatentRotate node is designed to rotate latent representations of images by specified angles. It abstracts the complexity of manipulating latent space to achieve rotation effects, enabling users to easily transform images in a generative model's latent space.
## Inputs
diff --git a/built-in-nodes/LatentSubtract.mdx b/built-in-nodes/LatentSubtract.mdx
index c6aa88be4..e573814d4 100644
--- a/built-in-nodes/LatentSubtract.mdx
+++ b/built-in-nodes/LatentSubtract.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentSubtract"
icon: "circle"
mode: wide
---
+
The LatentSubtract node is designed for subtracting one latent representation from another. This operation can be used to manipulate or modify the characteristics of generative models' outputs by effectively removing features or attributes represented in one latent space from another.
## Inputs
diff --git a/built-in-nodes/LatentUpscale.mdx b/built-in-nodes/LatentUpscale.mdx
index be2d38403..7c49c63be 100644
--- a/built-in-nodes/LatentUpscale.mdx
+++ b/built-in-nodes/LatentUpscale.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentUpscale"
icon: "circle"
mode: wide
---
+
The LatentUpscale node is designed for upscaling latent representations of images. It allows for the adjustment of the output image's dimensions and the method of upscaling, providing flexibility in enhancing the resolution of latent images.
## Inputs
diff --git a/built-in-nodes/LatentUpscaleBy.mdx b/built-in-nodes/LatentUpscaleBy.mdx
index e273a3de8..17caad6f7 100644
--- a/built-in-nodes/LatentUpscaleBy.mdx
+++ b/built-in-nodes/LatentUpscaleBy.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentUpscaleBy"
icon: "circle"
mode: wide
---
+
The LatentUpscaleBy node is designed for upscaling latent representations of images. It allows for the adjustment of the scale factor and the method of upscaling, providing flexibility in enhancing the resolution of latent samples.
## Inputs
diff --git a/built-in-nodes/LatentUpscaleModelLoader.mdx b/built-in-nodes/LatentUpscaleModelLoader.mdx
index 29e5620a1..c4a296e83 100644
--- a/built-in-nodes/LatentUpscaleModelLoader.mdx
+++ b/built-in-nodes/LatentUpscaleModelLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LatentUpscaleModelLoader"
icon: "circle"
mode: wide
---
+
The LatentUpscaleModelLoader node loads a specialized model designed for upscaling latent representations. It reads a model file from the system's designated folder and automatically detects its type (720p, 1080p, or other) to instantiate and configure the correct internal model architecture. The loaded model is then ready to be used by other nodes for latent space super-resolution tasks.
## Inputs
diff --git a/built-in-nodes/LazyCache.mdx b/built-in-nodes/LazyCache.mdx
index adb93110f..fb05e5627 100644
--- a/built-in-nodes/LazyCache.mdx
+++ b/built-in-nodes/LazyCache.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LazyCache"
icon: "circle"
mode: wide
---
+
LazyCache is a homebrew version of EasyCache that provides an even easier implementation. It works with any model in ComfyUI and adds caching functionality to reduce computation during sampling. While it generally performs worse than EasyCache, it can be more effective in some rare cases and offers universal compatibility.
## Inputs
diff --git a/built-in-nodes/Load3D.mdx b/built-in-nodes/Load3D.mdx
index 4e5970369..21ac45aa6 100644
--- a/built-in-nodes/Load3D.mdx
+++ b/built-in-nodes/Load3D.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Load3D"
icon: "circle"
mode: wide
---
+
The Load3D node is a core node for loading and processing 3D model files. When loading the node, it automatically retrieves available 3D resources from `ComfyUI/input/3d/`. You can also upload supported 3D files for preview using the upload function.
**Supported Formats**
diff --git a/built-in-nodes/Load3DAdvanced.mdx b/built-in-nodes/Load3DAdvanced.mdx
new file mode 100644
index 000000000..da2511330
--- /dev/null
+++ b/built-in-nodes/Load3DAdvanced.mdx
@@ -0,0 +1,38 @@
+---
+title: "Load3DAdvanced - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the Load3DAdvanced node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "Load3DAdvanced"
+icon: "circle"
+mode: wide
+---
+
+This node loads a 3D model file from your ComfyUI input directory and provides the model data along with camera and viewport information. It supports common 3D file formats and allows you to specify the output image dimensions for rendering.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `model_file` | The 3D model file to load. Select "none" to skip loading a model. | STRING | Yes | `"none"` List of available 3D files in the input/3d directory |
+| `viewport_state` | The current viewport state containing camera and model information from the 3D viewer. | LOAD3D | Yes | - |
+| `width` | The width of the output image in pixels (default: 1024) | INT | Yes | Min: 1 Max: 4096 Step: 1 |
+| `height` | The height of the output image in pixels (default: 1024) | INT | Yes | Min: 1 Max: 4096 Step: 1 |
+
+**Notes on Parameters:**
+- The `model_file` parameter only shows files with the following extensions: .gltf, .glb, .obj, .fbx, .stl
+- Files must be placed in the `input/3d` directory of your ComfyUI installation
+- If `model_file` is set to "none", no 3D model data will be loaded (the output `model_3d` will be empty)
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `model_3d` | The loaded 3D model data, or empty if no model file was selected | FILE3DANY |
+| `model_3d_info` | Information about the loaded 3D model from the viewport state | LOAD3DMODELINFO |
+| `camera_info` | Camera information from the viewport state | LOAD3DCAMERA |
+| `width` | The specified output image width | INT |
+| `height` | The specified output image height | INT |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Load3DAdvanced/en.md)
+
+---
+**Source fingerprint (SHA-256):** `fdacea8abf627621150e1196743e36f61534333837c33cc9a7416a6d11700c4d`
diff --git a/built-in-nodes/Load3DAnimation.mdx b/built-in-nodes/Load3DAnimation.mdx
index b6d996cc6..c56a81b22 100644
--- a/built-in-nodes/Load3DAnimation.mdx
+++ b/built-in-nodes/Load3DAnimation.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Load3DAnimation"
icon: "circle"
mode: wide
---
+
The Load3DAnimation node is a core node for loading and processing 3D model files. When loading the node, it automatically retrieves available 3D resources from `ComfyUI/input/3d/`. You can also upload supported 3D files for preview using the upload function.
> - Most of the functions of this node are the same as the Load 3D node, but this node supports loading models with animations, and you can preview the corresponding animations in the node.
diff --git a/built-in-nodes/LoadAudio.mdx b/built-in-nodes/LoadAudio.mdx
index 044acfa3f..5b186fb40 100644
--- a/built-in-nodes/LoadAudio.mdx
+++ b/built-in-nodes/LoadAudio.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadAudio"
icon: "circle"
mode: wide
---
+
The LoadAudio node loads audio files from the input directory and converts them into a format that can be processed by other audio nodes in ComfyUI. It reads audio files and extracts both the waveform data and sample rate, making them available for downstream audio processing tasks.
## Inputs
diff --git a/built-in-nodes/LoadBackgroundRemovalModel.mdx b/built-in-nodes/LoadBackgroundRemovalModel.mdx
index efb4657ce..2f43d96fc 100644
--- a/built-in-nodes/LoadBackgroundRemovalModel.mdx
+++ b/built-in-nodes/LoadBackgroundRemovalModel.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadBackgroundRemovalModel"
icon: "circle"
mode: wide
---
+
## Overview
Loads a background removal model from a file. This node prepares the model for use in removing backgrounds from images.
diff --git a/built-in-nodes/LoadDA3Model.mdx b/built-in-nodes/LoadDA3Model.mdx
new file mode 100644
index 000000000..7430bb557
--- /dev/null
+++ b/built-in-nodes/LoadDA3Model.mdx
@@ -0,0 +1,27 @@
+---
+title: "LoadDA3Model - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the LoadDA3Model node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "LoadDA3Model"
+icon: "circle"
+mode: wide
+---
+
+This node loads a Depth Anything 3 model from a file, preparing it for use in depth estimation tasks. It allows you to select the model file and optionally specify the numerical precision (data type) for the model's weights.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `model_name` | The name of the Depth Anything 3 model file to load. | STRING | Yes | List of available model files in the `geometry_estimation` folder |
+| `weight_dtype` | The numerical precision (data type) for the model's weights. The "default" option uses the model's original precision. (default: "default") | STRING | No | `"default"` `"fp16"` `"bf16"` `"fp32"` |
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `DA3_MODEL` | The loaded Depth Anything 3 model, ready for use in depth estimation workflows. | DA3_MODEL |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LoadDA3Model/en.md)
+
+---
+**Source fingerprint (SHA-256):** `b1b3f4075cd9172bc1f274848b9300bca20d3cbd53b23d3c4a9f0986b36e409e`
diff --git a/built-in-nodes/LoadImage.mdx b/built-in-nodes/LoadImage.mdx
index 51af9bdf2..78821242e 100644
--- a/built-in-nodes/LoadImage.mdx
+++ b/built-in-nodes/LoadImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadImage"
icon: "circle"
mode: wide
---
+
The LoadImage node is designed to load and preprocess images from a specified path. It handles image formats with multiple frames, applies necessary transformations such as rotation based on EXIF data, normalizes pixel values, and optionally generates a mask for images with an alpha channel. This node is essential for preparing images for further processing or analysis within a pipeline.
## Inputs
diff --git a/built-in-nodes/LoadImageDataSetFromFolder.mdx b/built-in-nodes/LoadImageDataSetFromFolder.mdx
index 952692f51..8fcbd489c 100644
--- a/built-in-nodes/LoadImageDataSetFromFolder.mdx
+++ b/built-in-nodes/LoadImageDataSetFromFolder.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadImageDataSetFromFolder"
icon: "circle"
mode: wide
---
+
This node loads multiple images from a specified subfolder within ComfyUI's input directory. It scans the chosen folder for common image file types and returns them as a list, making it useful for batch processing or dataset preparation.
## Inputs
diff --git a/built-in-nodes/LoadImageMask.mdx b/built-in-nodes/LoadImageMask.mdx
index f22b6cfc7..df690d91e 100644
--- a/built-in-nodes/LoadImageMask.mdx
+++ b/built-in-nodes/LoadImageMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadImageMask"
icon: "circle"
mode: wide
---
+
The LoadImageMask node is designed to load images and their associated masks from a specified path, processing them to ensure compatibility with further image manipulation or analysis tasks. It focuses on handling various image formats and conditions, such as presence of an alpha channel for masks, and prepares the images and masks for downstream processing by converting them to a standardized format.
## Inputs
diff --git a/built-in-nodes/LoadImageOutput.mdx b/built-in-nodes/LoadImageOutput.mdx
index b0c1a2288..fb2d52234 100644
--- a/built-in-nodes/LoadImageOutput.mdx
+++ b/built-in-nodes/LoadImageOutput.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadImageOutput"
icon: "circle"
mode: wide
---
+
The LoadImageOutput node loads images from the output folder. When you click the refresh button, it updates the list of available images and automatically selects the first one, making it easy to iterate through your generated images.
## Inputs
diff --git a/built-in-nodes/LoadImageSetFromFolderNode.mdx b/built-in-nodes/LoadImageSetFromFolderNode.mdx
index 839cb040f..8d07b9b05 100644
--- a/built-in-nodes/LoadImageSetFromFolderNode.mdx
+++ b/built-in-nodes/LoadImageSetFromFolderNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadImageSetFromFolderNode"
icon: "circle"
mode: wide
---
+
The LoadImageSetFromFolderNode loads multiple images from a specified folder directory for training purposes. It automatically detects common image formats and can optionally resize the images using different methods before returning them as a batch.
## Inputs
diff --git a/built-in-nodes/LoadImageSetNode.mdx b/built-in-nodes/LoadImageSetNode.mdx
index 3f4647614..dcaa23bcb 100644
--- a/built-in-nodes/LoadImageSetNode.mdx
+++ b/built-in-nodes/LoadImageSetNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadImageSetNode"
icon: "circle"
mode: wide
---
+
The LoadImageSetNode loads multiple images from the input directory for batch processing and training purposes. It supports various image formats and can optionally resize the images using different methods. This node processes all selected images as a batch and returns them as a single tensor.
## Inputs
diff --git a/built-in-nodes/LoadImageTextDataSetFromFolder.mdx b/built-in-nodes/LoadImageTextDataSetFromFolder.mdx
index b7e0ef8ed..e8045e8b6 100644
--- a/built-in-nodes/LoadImageTextDataSetFromFolder.mdx
+++ b/built-in-nodes/LoadImageTextDataSetFromFolder.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadImageTextDataSetFromFolder"
icon: "circle"
mode: wide
---
+
This node loads a dataset of images and their corresponding text captions from a specified folder. It searches for image files and automatically looks for matching `.txt` files with the same base name to use as captions. The node also supports a specific folder structure where subfolders can be named with a number prefix (like `10_folder_name`) to indicate that the images inside should be repeated multiple times in the output.
## Inputs
diff --git a/built-in-nodes/LoadImageTextSetFromFolderNode.mdx b/built-in-nodes/LoadImageTextSetFromFolderNode.mdx
index 2e1d1e737..1a36b7090 100644
--- a/built-in-nodes/LoadImageTextSetFromFolderNode.mdx
+++ b/built-in-nodes/LoadImageTextSetFromFolderNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadImageTextSetFromFolderNode"
icon: "circle"
mode: wide
---
+
Loads a batch of images and their corresponding text captions from a specified directory for training purposes. The node automatically searches for image files and their associated caption text files, processes the images according to specified resize settings, and encodes the captions using the provided CLIP model.
## Inputs
diff --git a/built-in-nodes/LoadLatent.mdx b/built-in-nodes/LoadLatent.mdx
index 1f35b532d..6c9fba7a2 100644
--- a/built-in-nodes/LoadLatent.mdx
+++ b/built-in-nodes/LoadLatent.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadLatent"
icon: "circle"
mode: wide
---
+
The LoadLatent node loads previously saved latent representations from .latent files in the input directory. It reads the latent tensor data from the file and applies any necessary scaling adjustments before returning the latent data for use in other nodes.
## Inputs
diff --git a/built-in-nodes/LoadMediaPipeFaceLandmarker.mdx b/built-in-nodes/LoadMediaPipeFaceLandmarker.mdx
index fc65c231f..283b4ffd3 100644
--- a/built-in-nodes/LoadMediaPipeFaceLandmarker.mdx
+++ b/built-in-nodes/LoadMediaPipeFaceLandmarker.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadMediaPipeFaceLandmarker"
icon: "circle"
mode: wide
---
+
## Overview
This node loads a MediaPipe Face Landmarker v2 model, which can detect faces and facial landmarks (like eyes, nose, and mouth) in images. It contains two detection variants (short-range and full-range) along with shared mesh data, blendshapes, and canonical geometry for facial analysis.
diff --git a/built-in-nodes/LoadMoGeModel.mdx b/built-in-nodes/LoadMoGeModel.mdx
index 26fdfb5d4..6d29f1edc 100644
--- a/built-in-nodes/LoadMoGeModel.mdx
+++ b/built-in-nodes/LoadMoGeModel.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadMoGeModel"
icon: "circle"
mode: wide
---
+
## Overview
Loads a MoGe (Monocular Geometry) model from a file and prepares it for use in geometry estimation tasks. This node reads a model file from the `geometry_estimation` folder and initializes the MoGe model with its trained weights.
diff --git a/built-in-nodes/LoadTrainingDataset.mdx b/built-in-nodes/LoadTrainingDataset.mdx
index 85ee570af..f2481729a 100644
--- a/built-in-nodes/LoadTrainingDataset.mdx
+++ b/built-in-nodes/LoadTrainingDataset.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadTrainingDataset"
icon: "circle"
mode: wide
---
+
This node loads an encoded training dataset that has been previously saved to disk. It searches for and reads all data shard files from a specified folder within the ComfyUI output directory, then returns the combined latent vectors and conditioning data for use in training workflows.
## Inputs
diff --git a/built-in-nodes/LoadVideo.mdx b/built-in-nodes/LoadVideo.mdx
index 87a75f526..2234a0a13 100644
--- a/built-in-nodes/LoadVideo.mdx
+++ b/built-in-nodes/LoadVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoadVideo"
icon: "circle"
mode: wide
---
+
The Load Video node loads video files from the input directory and makes them available for processing in the workflow. It reads video files from the designated input folder and outputs them as video data that can be connected to other video processing nodes.
## Inputs
diff --git a/built-in-nodes/LoraLoader.mdx b/built-in-nodes/LoraLoader.mdx
index 614765574..c9a11b5d4 100644
--- a/built-in-nodes/LoraLoader.mdx
+++ b/built-in-nodes/LoraLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoraLoader"
icon: "circle"
mode: wide
---
+
This node automatically detects models located in the LoRA folder (including subfolders) with the corresponding model path being `ComfyUI\models\loras`. For more information, please refer to Installing LoRA Models
The LoRA Loader node is primarily used to load LoRA models. You can think of LoRA models as filters that can give your images specific styles, content, and details:
diff --git a/built-in-nodes/LoraLoaderBypass.mdx b/built-in-nodes/LoraLoaderBypass.mdx
index 9630b4319..c9b7141cb 100644
--- a/built-in-nodes/LoraLoaderBypass.mdx
+++ b/built-in-nodes/LoraLoaderBypass.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoraLoaderBypass"
icon: "circle"
mode: wide
---
+
The LoraLoaderBypass node applies a LoRA (Low-Rank Adaptation) to a diffusion model and a CLIP model in a special "bypass" mode. Unlike a standard LoRA loader, this method does not permanently modify the base model's weights. Instead, it computes the output by adding the LoRA's effect to the model's normal forward pass, which is useful for training or when working with models that have their weights offloaded.
## Inputs
diff --git a/built-in-nodes/LoraLoaderBypassModelOnly.mdx b/built-in-nodes/LoraLoaderBypassModelOnly.mdx
index 64b14997e..580193561 100644
--- a/built-in-nodes/LoraLoaderBypassModelOnly.mdx
+++ b/built-in-nodes/LoraLoaderBypassModelOnly.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoraLoaderBypassModelOnly"
icon: "circle"
mode: wide
---
+
This node applies a LoRA (Low-Rank Adaptation) to a model to modify its behavior, but only affects the model component itself. It loads a specified LoRA file and adjusts the model's weights by a given strength, leaving other components like the CLIP text encoder unchanged.
## Inputs
diff --git a/built-in-nodes/LoraLoaderModelOnly.mdx b/built-in-nodes/LoraLoaderModelOnly.mdx
index 80258e91f..9bbd47ee7 100644
--- a/built-in-nodes/LoraLoaderModelOnly.mdx
+++ b/built-in-nodes/LoraLoaderModelOnly.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoraLoaderModelOnly"
icon: "circle"
mode: wide
---
+
This node will detect models located in the `ComfyUI/models/loras` folder, and it will also read models from additional paths configured in the extra_model_paths.yaml file. Sometimes, you may need to **refresh the ComfyUI interface** to allow it to read the model files from the corresponding folder.
This node specializes in loading a LoRA model without requiring a CLIP model, focusing on enhancing or modifying a given model based on LoRA parameters. It allows for the dynamic adjustment of the model's strength through LoRA parameters, facilitating fine-tuned control over the model's behavior.
diff --git a/built-in-nodes/LoraModelLoader.mdx b/built-in-nodes/LoraModelLoader.mdx
index 69a36937c..067788379 100644
--- a/built-in-nodes/LoraModelLoader.mdx
+++ b/built-in-nodes/LoraModelLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoraModelLoader"
icon: "circle"
mode: wide
---
+
The LoraModelLoader node applies trained LoRA (Low-Rank Adaptation) weights to a diffusion model. It modifies the base model by loading LoRA weights from a trained LoRA model and adjusting their influence strength. This allows you to customize the behavior of diffusion models without retraining them from scratch.
## Inputs
diff --git a/built-in-nodes/LoraSave.mdx b/built-in-nodes/LoraSave.mdx
index 74af80ac8..03dcb3c2b 100644
--- a/built-in-nodes/LoraSave.mdx
+++ b/built-in-nodes/LoraSave.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LoraSave"
icon: "circle"
mode: wide
---
+
The LoraSave node extracts and saves LoRA (Low-Rank Adaptation) files from model differences. It can process diffusion model differences, text encoder differences, or both, converting them into LoRA format with specified rank and type. The resulting LoRA file is saved to the output directory for later use.
## Inputs
diff --git a/built-in-nodes/LossGraphNode.mdx b/built-in-nodes/LossGraphNode.mdx
index 5dbd19baf..5f55aaa95 100644
--- a/built-in-nodes/LossGraphNode.mdx
+++ b/built-in-nodes/LossGraphNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LossGraphNode"
icon: "circle"
mode: wide
---
+
The LossGraphNode creates a visual graph of training loss values over time and displays it as a preview image. It takes loss data from training processes and generates a line chart showing how the loss changes across training steps. The resulting graph includes axis labels and min/max loss values.
## Inputs
diff --git a/built-in-nodes/LotusConditioning.mdx b/built-in-nodes/LotusConditioning.mdx
index 6c333e3f9..b12fdc376 100644
--- a/built-in-nodes/LotusConditioning.mdx
+++ b/built-in-nodes/LotusConditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LotusConditioning"
icon: "circle"
mode: wide
---
+
The LotusConditioning node provides pre-computed conditioning embeddings for the Lotus model. It uses a frozen encoder with null conditioning and returns hardcoded prompt embeddings to achieve parity with the reference implementation without requiring inference or loading large tensor files. This node outputs a fixed conditioning tensor that can be used directly in the generation pipeline.
## Inputs
diff --git a/built-in-nodes/LtxvApiImageToVideo.mdx b/built-in-nodes/LtxvApiImageToVideo.mdx
index 5c4dfd9bf..932bf84c8 100644
--- a/built-in-nodes/LtxvApiImageToVideo.mdx
+++ b/built-in-nodes/LtxvApiImageToVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LtxvApiImageToVideo"
icon: "circle"
mode: wide
---
+
The LTXV Image To Video node generates a professional-quality video from a single starting image. It uses an external API to create a video sequence based on your text prompt, allowing you to customize the duration, resolution, and frame rate.
## Inputs
@@ -34,4 +35,4 @@ The LTXV Image To Video node generates a professional-quality video from a singl
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LtxvApiImageToVideo/en.md)
---
-**Source fingerprint (SHA-256):** `a4c6109ba8f70b0e80cf1888f940190c7a3e3994867e37f00669ae12742a94f8`
+**Source fingerprint (SHA-256):** `5c62025059cc0c583de3e0ae8721b8f8adb6929bb03cbcec5875bbc1fdaf20c3`
diff --git a/built-in-nodes/LtxvApiTextToVideo.mdx b/built-in-nodes/LtxvApiTextToVideo.mdx
index 268b62edc..9ee281547 100644
--- a/built-in-nodes/LtxvApiTextToVideo.mdx
+++ b/built-in-nodes/LtxvApiTextToVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LtxvApiTextToVideo"
icon: "circle"
mode: wide
---
+
The LTXV Text To Video node generates professional-quality videos from a text description. It connects to an external API to create videos with customizable duration, resolution, and frame rate. You can also choose to have AI-generated audio added to the video.
## Inputs
@@ -32,4 +33,4 @@ The LTXV Text To Video node generates professional-quality videos from a text de
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LtxvApiTextToVideo/en.md)
---
-**Source fingerprint (SHA-256):** `8da5616f195dc4dea7d46d56b71dead6fb7a5dfa74bb7d8909bf6bd792540feb`
+**Source fingerprint (SHA-256):** `11e358bdf9ff9b799b428768c10504f450d81d12f81b2ec0749f9d2d88e82f91`
diff --git a/built-in-nodes/LumaConceptsNode.mdx b/built-in-nodes/LumaConceptsNode.mdx
index 8a60d234b..065f1a956 100644
--- a/built-in-nodes/LumaConceptsNode.mdx
+++ b/built-in-nodes/LumaConceptsNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "LumaConceptsNode"
icon: "circle"
mode: wide
---
+
Holds one or more Camera Concepts for use with Luma Text to Video and Luma Image to Video nodes. This node allows you to select up to four camera concepts and optionally combine them with existing concept chains.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `concept1` | First camera concept selection from available Luma concepts | STRING | Yes | Multiple options available Includes "None" option |
| `concept2` | Second camera concept selection from available Luma concepts | STRING | Yes | Multiple options available Includes "None" option |
| `concept3` | Third camera concept selection from available Luma concepts | STRING | Yes | Multiple options available Includes "None" option |
@@ -22,10 +23,10 @@ Holds one or more Camera Concepts for use with Luma Text to Video and Luma Image
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `luma_concepts` | Combined camera concept chain containing all selected concepts | LUMA_CONCEPTS |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaConceptsNode/en.md)
---
-**Source fingerprint (SHA-256):** `37e292aee8316e165e0069b1080479fed049d5bf754de90ef830f6400ca7e5c8`
+**Source fingerprint (SHA-256):** `e684f7d9d2975d4168701e4f6a79dc6b22854d62b58ce016477a05c66dd6e058`
diff --git a/built-in-nodes/LumaImageEditNode2.mdx b/built-in-nodes/LumaImageEditNode2.mdx
index c84c750a5..4c889318f 100644
--- a/built-in-nodes/LumaImageEditNode2.mdx
+++ b/built-in-nodes/LumaImageEditNode2.mdx
@@ -5,16 +5,15 @@ sidebarTitle: "LumaImageEditNode2"
icon: "circle"
mode: wide
---
-## Overview
This node edits an existing image using a text prompt, powered by the Luma UNI-1 model. It takes a source image and a description of the desired change, then generates a new edited version of the image.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `source` | Source image to edit. | IMAGE | Yes | - |
-| `prompt` | Description of the desired edit. Default: "" (empty string). | STRING | Yes | 1–6000 characters |
+| `prompt` | Description of the desired edit. 1–6000 characters. Default: "" (empty string). | STRING | Yes | 1 to 6000 characters |
| `model` | Model to use for editing. | MODEL | Yes | `"uni-1"` `"uni-1-max"` |
| `seed` | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. Default: 0. | INT | Yes | 0 to 2147483647 |
@@ -25,10 +24,10 @@ This node edits an existing image using a text prompt, powered by the Luma UNI-1
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The edited image generated by the Luma UNI-1 model. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaImageEditNode2/en.md)
---
-**Source fingerprint (SHA-256):** `7d658d8e11b54dbad38d8d679553d55299313dacbdcc76d91079c5f92275d07e`
+**Source fingerprint (SHA-256):** `4febbf1688f9b0ce2128265ddcc2e8a80c996821c41488e86594a6216993bccd`
diff --git a/built-in-nodes/LumaImageModifyNode.mdx b/built-in-nodes/LumaImageModifyNode.mdx
index ea192cfed..a6dd1ade9 100644
--- a/built-in-nodes/LumaImageModifyNode.mdx
+++ b/built-in-nodes/LumaImageModifyNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "LumaImageModifyNode"
icon: "circle"
mode: wide
---
+
Modifies images synchronously based on a text prompt and the original image's aspect ratio. This node takes an input image and transforms it according to the provided prompt, using a configurable image weight to control how much the original image is altered.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to be modified | IMAGE | Yes | - |
| `prompt` | Prompt for the image generation (default: "") | STRING | Yes | - |
| `image_weight` | Weight of the image; the closer to 1.0, the less the image will be modified (default: 0.1). Internally, this value is inverted (1.0 - image_weight) and clamped between 0.0 and 0.98. | FLOAT | No | 0.0-0.98 |
@@ -20,10 +21,10 @@ Modifies images synchronously based on a text prompt and the original image's as
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The modified image generated by the Luma model | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaImageModifyNode/en.md)
---
-**Source fingerprint (SHA-256):** `9798382092f179fe55972568687285bd728981ca59f1b0a5e4e2ca4bd9b7c981`
+**Source fingerprint (SHA-256):** `56b13600f6fb8cd6ff80bc8c8184db059273c2ef648630ff1ef10a7ed6b04b7c`
diff --git a/built-in-nodes/LumaImageNode.mdx b/built-in-nodes/LumaImageNode.mdx
index ec91eb4c9..ffb0f1396 100644
--- a/built-in-nodes/LumaImageNode.mdx
+++ b/built-in-nodes/LumaImageNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "LumaImageNode"
icon: "circle"
mode: wide
---
+
Generates images synchronously based on a text prompt and aspect ratio. This node creates images using text descriptions and allows you to control the image dimensions and style through various reference inputs, including character and style images.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the image generation (default: empty string). Must be at least 3 characters long. | STRING | Yes | - |
| `model` | Model selection for image generation. Different models have different costs. | COMBO | Yes | `photon-flash-1` `photon-1` `photon` |
| `aspect_ratio` | Aspect ratio for the generated image (default: `16:9`) | COMBO | Yes | `16:9` `1:1` `4:3` `3:2` `21:9` `9:16` `3:4` `2:3` `9:21` |
@@ -31,10 +32,10 @@ Generates images synchronously based on a text prompt and aspect ratio. This nod
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated image based on the input parameters. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaImageNode/en.md)
---
-**Source fingerprint (SHA-256):** `353d99868c8c09edfab212e49f127585a6cbe1a24d6ee8fe584169adcded2961`
+**Source fingerprint (SHA-256):** `cde0fc1ace28523d658b757d7f829b0d20071bed391964d2d8caa81801265b46`
diff --git a/built-in-nodes/LumaImageNode2.mdx b/built-in-nodes/LumaImageNode2.mdx
index 1392019bd..c6572b022 100644
--- a/built-in-nodes/LumaImageNode2.mdx
+++ b/built-in-nodes/LumaImageNode2.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "LumaImageNode2"
icon: "circle"
mode: wide
---
+
## Overview
This node generates images from text descriptions using the Luma UNI-1 model. It takes a text prompt and optional settings like aspect ratio and style, then sends the request to the Luma API to create an image.
@@ -13,7 +14,7 @@ This node generates images from text descriptions using the Luma UNI-1 model. It
| Parameter | Description | Data Type | Required | Range |
| --- | --- | --- | --- | --- |
-| `prompt` | Text description of the desired image. | STRING | Yes | 1–6000 characters |
+| `prompt` | Text description of the desired image. 1–6000 characters. | STRING | Yes | 1 to 6000 characters |
| `model` | Model to use for generation. Selecting a model reveals additional settings for that model. | COMBO | Yes | `"uni-1"` `"uni-1-max"` |
| `seed` | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. (default: 0) | INT | Yes | 0 to 2147483647 |
@@ -39,4 +40,4 @@ When `"uni-1"` or `"uni-1-max"` is selected for the `model` parameter, the follo
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaImageNode2/en.md)
---
-**Source fingerprint (SHA-256):** `cd680f8b9e6bcf5fa415aa2d9ec3126bf8873d14bd6f4cd127491cfa242e5548`
+**Source fingerprint (SHA-256):** `8157d2e4717e196056bd6821526ccb49df3f0fdf48e36c87a18742c3f5fe63bf`
diff --git a/built-in-nodes/LumaImageToVideoNode.mdx b/built-in-nodes/LumaImageToVideoNode.mdx
index 60f7ff5c8..4080f77fa 100644
--- a/built-in-nodes/LumaImageToVideoNode.mdx
+++ b/built-in-nodes/LumaImageToVideoNode.mdx
@@ -5,15 +5,16 @@ sidebarTitle: "LumaImageToVideoNode"
icon: "circle"
mode: wide
---
+
Generates videos synchronously based on a text prompt and optional starting/ending images. This node uses the Luma API to create videos, allowing you to define the video's content through a prompt and optionally specify the first and/or last frame to control the video's structure.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the video generation (default: "") | STRING | Yes | - |
| `model` | Selects the video generation model from available Luma models | COMBO | Yes | `"ray-1-6"` `"ray-2"` |
-| `resolution` | Output resolution for the generated video (default: "540p"). This parameter is ignored when using the `ray-1-6` model. | COMBO | Yes | `"540p"` `"720p" `"1080p"` `"4k"` |
+| `resolution` | Output resolution for the generated video (default: "540p"). This parameter is ignored when using the `ray-1-6` model. | COMBO | Yes | `"540p"` `"720p"` `"1080p"` `"4k"` |
| `duration` | Duration of the generated video. This parameter is ignored when using the `ray-1-6` model. | COMBO | Yes | `"5s"` `"9s"` |
| `loop` | Whether the generated video should loop (default: False) | BOOLEAN | Yes | - |
| `seed` | Seed to determine if node should re-run; actual results are nondeterministic regardless of seed. (default: 0) | INT | Yes | 0 to 18446744073709551615 |
@@ -26,10 +27,10 @@ Generates videos synchronously based on a text prompt and optional starting/endi
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video file | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaImageToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `0ef0e33f4822b522909a9732b333710197cd6e28ed6012c791f4268f8e995a84`
+**Source fingerprint (SHA-256):** `2eea8934bcce20b093b88c52e430d21077705d57ab259bf620a94e46eac65e6e`
diff --git a/built-in-nodes/LumaRay32ExtendVideoNode.mdx b/built-in-nodes/LumaRay32ExtendVideoNode.mdx
new file mode 100644
index 000000000..17af132be
--- /dev/null
+++ b/built-in-nodes/LumaRay32ExtendVideoNode.mdx
@@ -0,0 +1,34 @@
+---
+title: "LumaRay32ExtendVideoNode - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the LumaRay32ExtendVideoNode node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "LumaRay32ExtendVideoNode"
+icon: "circle"
+mode: wide
+---
+
+This node extends a previous Luma Ray 3.2 video generation by adding new content either after it (forward extension) or before it (backward extension). Connect the generation ID output from a prior Luma Ray 3.2 node to create a seamless 5-second extension of your video.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `source_generation_id` | Generation ID of the prior Ray 3.2 video to extend. Connect the generation_id output of another Luma Ray 3.2 node. | STRING | Yes | - |
+| `direction` | Forward continues after the prior clip; backward is prepended before it. When "Forward (continue after)" is selected, you can optionally enable loop mode. | COMBO | Yes | "Forward (continue after)" "Backward (lead-in before)" |
+| `loop` | Loop the extended video seamlessly (forward extend only). | BOOLEAN | No | True False |
+| `prompt` | Text prompt for the new content. | STRING | Yes | - |
+| `resolution` | Output resolution for the extended video segment. | COMBO | Yes | "540p" "720p" "1080p" |
+| `seed` | Random seed for reproducible generation results. | INT | Yes | - |
+
+**Note:** The `loop` parameter is only available when `direction` is set to "Forward (continue after)". When using "Backward (lead-in before)", the loop option is not available. The `prompt` must be between 1 and 6000 characters. The `source_generation_id` is required and must be connected from a prior Luma Ray 3.2 node's generation_id output.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `VIDEO` | The generated 5-second extended video segment. | VIDEO |
+| `generation_id` | Unique identifier for this generation, which can be connected to another Luma Ray 3.2 Extend Video node for further extensions. | STRING |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaRay32ExtendVideoNode/en.md)
+
+---
+**Source fingerprint (SHA-256):** `a67ca53d4bcb9f3fd82bc0482b579f5f7fe4bf866f8d83cb922e1082ad320057`
diff --git a/built-in-nodes/LumaRay32ImageToVideoNode.mdx b/built-in-nodes/LumaRay32ImageToVideoNode.mdx
new file mode 100644
index 000000000..f2c29351b
--- /dev/null
+++ b/built-in-nodes/LumaRay32ImageToVideoNode.mdx
@@ -0,0 +1,34 @@
+---
+title: "LumaRay32ImageToVideoNode - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the LumaRay32ImageToVideoNode node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "LumaRay32ImageToVideoNode"
+icon: "circle"
+mode: wide
+---
+
+Generate a video from a start and/or end frame using Luma's Ray 3.2 model. Image-anchored generations are always 5 seconds in duration.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `prompt` | Text prompt for the video generation. | STRING | Yes | 1 to 6000 characters |
+| `resolution` | The output resolution of the generated video (default: "720p"). | COMBO | Yes | "360p" "540p" "720p" "1080p" |
+| `loop` | Make the video loop seamlessly. Not available when an end_frame is set. | BOOLEAN | Yes | True False |
+| `seed` | Seed value for reproducible generation. | INT | Yes | 0 to 2147483647 |
+| `start_frame` | First frame of the generated video. | IMAGE | No | - |
+| `end_frame` | Last frame of the generated video. | IMAGE | No | - |
+
+**Note:** At least one of `start_frame` or `end_frame` must be provided. If both are provided, the generated video will transition from the start frame to the end frame. The `loop` option cannot be enabled when an `end_frame` is set.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `video` | The generated video output. | VIDEO |
+| `generation_id` | The unique identifier for the generation request. | STRING |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaRay32ImageToVideoNode/en.md)
+
+---
+**Source fingerprint (SHA-256):** `ff479c196f10153ffa09af6acfb4e286d1934aa28a5e9b413613097a2cfb5f2a`
diff --git a/built-in-nodes/LumaRay32KeyframeNode.mdx b/built-in-nodes/LumaRay32KeyframeNode.mdx
new file mode 100644
index 000000000..21e73caac
--- /dev/null
+++ b/built-in-nodes/LumaRay32KeyframeNode.mdx
@@ -0,0 +1,32 @@
+---
+title: "LumaRay32KeyframeNode - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the LumaRay32KeyframeNode node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "LumaRay32KeyframeNode"
+icon: "circle"
+mode: wide
+---
+
+This node anchors a guide image to a specific position on the Luma Ray 3.2 output video timeline. Connect this node to the "keyframes" input of the Luma Ray 3.2 Keyframes to Video node, and chain several keyframes together by connecting the optional "keyframes" input.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `image` | Guide image to place at the chosen moment of the output video. | IMAGE | Yes | - |
+| `position` | How to place this image on the output video's timeline. | COMBO | Yes | "Fraction of duration (0.0-1.0)" "Absolute time (seconds)" |
+| `keyframes` | Optional earlier keyframes to chain with this one. | LUMA_RAY32_KEYFRAME | No | - |
+
+When "Fraction of duration (0.0-1.0)" is selected for the `position` parameter, you can specify a `fraction` value (default: 0.0, range: 0.0 to 1.0, step: 0.01) that determines where in the output video this image applies (0.0 = start, 1.0 = end).
+
+When "Absolute time (seconds)" is selected for the `position` parameter, you can specify a `seconds` value (default: 0.0, range: 0.0 to 10.0, step: 0.1) that determines the time in seconds from the start of the output video where this image applies.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `keyframes` | A keyframe chain that includes the new keyframe combined with any optional earlier keyframes. | LUMA_RAY32_KEYFRAME |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaRay32KeyframeNode/en.md)
+
+---
+**Source fingerprint (SHA-256):** `b49d879888e6e83d6937068e799ea583ed5c90284e829ac496821eea330fe9c7`
diff --git a/built-in-nodes/LumaRay32KeyframesToVideoNode.mdx b/built-in-nodes/LumaRay32KeyframesToVideoNode.mdx
new file mode 100644
index 000000000..a19b43974
--- /dev/null
+++ b/built-in-nodes/LumaRay32KeyframesToVideoNode.mdx
@@ -0,0 +1,33 @@
+---
+title: "LumaRay32KeyframesToVideoNode - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the LumaRay32KeyframesToVideoNode node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "LumaRay32KeyframesToVideoNode"
+icon: "circle"
+mode: wide
+---
+
+This node generates a video that interpolates through a sequence of guide images, each anchored to a specific position on the timeline, using Luma Ray 3.2. Build the keyframe sequence using Luma Ray 3.2 Keyframe nodes, connecting at least 2 keyframes to define the animation.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `prompt` | Text prompt for the video generation. | STRING | Yes | 1 to 6000 characters |
+| `resolution` | The output resolution of the generated video (default: "720p"). | STRING | Yes | `"360p"` `"540p"` `"720p"` `"1080p"` |
+| `duration` | The duration of the generated video (default: "5s"). | STRING | Yes | `"5s"` `"10s"` |
+| `seed` | Seed for random number generation to control reproducibility. | INT | Yes | 0 to 4294967295 |
+| `keyframes` | Keyframe sequence from Luma Ray 3.2 Keyframe nodes (at least 2). | LUMA_RAY32_KEYFRAME | Yes | 2 to 64 keyframes |
+
+**Note:** The keyframe sequence must contain at least 2 keyframes and at most 64 keyframes. Each keyframe must have a distinct position on the timeline. Keyframe positions are resolved to output frame indices based on the selected duration (120 frames for 5s, 240 frames for 10s). Keyframe positions in seconds mode must not exceed the total video duration.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `video` | The generated video output. | VIDEO |
+| `generation_id` | The unique identifier for the generation request. | STRING |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaRay32KeyframesToVideoNode/en.md)
+
+---
+**Source fingerprint (SHA-256):** `28099e5990942860a20e23cfd5c71a36b23a6264b44097ca617f8bdd06e7857a`
diff --git a/built-in-nodes/LumaRay32TextToVideoNode.mdx b/built-in-nodes/LumaRay32TextToVideoNode.mdx
new file mode 100644
index 000000000..d6f5449ed
--- /dev/null
+++ b/built-in-nodes/LumaRay32TextToVideoNode.mdx
@@ -0,0 +1,34 @@
+---
+title: "LumaRay32TextToVideoNode - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the LumaRay32TextToVideoNode node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "LumaRay32TextToVideoNode"
+icon: "circle"
+mode: wide
+---
+
+This node generates a video from a text prompt using Luma's Ray 3.2 model. It sends your prompt and video settings to the Luma API and returns the generated video along with a generation ID.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `prompt` | Text prompt for the video generation. | STRING | Yes | 1-6000 characters |
+| `aspect_ratio` | The aspect ratio of the generated video. | STRING | Yes | `"16:9"` `"9:16"` `"1:1"` `"4:3"` `"3:4"` `"21:9"` |
+| `resolution` | The output resolution of the video (default: "720p"). | STRING | Yes | `"360p"` `"540p"` `"720p"` `"1080p"` |
+| `duration` | The duration of the generated video. | STRING | Yes | `"5s"` `"10s"` |
+| `loop` | Make the video loop seamlessly. Only available with 5s duration. | BOOLEAN | No | True/False (default: False) |
+| `seed` | Seed for reproducible generation. | INT | No | 0 to 2147483647 |
+
+**Note:** The `loop` parameter can only be enabled when `duration` is set to "5s". If you select "10s" duration and enable looping, the node will return an error.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `VIDEO` | The generated video file. | VIDEO |
+| `generation_id` | The unique identifier for the video generation request. | STRING |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaRay32TextToVideoNode/en.md)
+
+---
+**Source fingerprint (SHA-256):** `04358a872530e5a2622bf0f148a694f2c707ce8535586d8f860bdf9911e1fa6a`
diff --git a/built-in-nodes/LumaRay32VideoEditNode.mdx b/built-in-nodes/LumaRay32VideoEditNode.mdx
new file mode 100644
index 000000000..450527ab7
--- /dev/null
+++ b/built-in-nodes/LumaRay32VideoEditNode.mdx
@@ -0,0 +1,33 @@
+---
+title: "LumaRay32VideoEditNode - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the LumaRay32VideoEditNode node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "LumaRay32VideoEditNode"
+icon: "circle"
+mode: wide
+---
+
+This node re-renders an existing video under a new prompt using Luma Ray 3.2, allowing you to restyle, relight, add, or remove elements while keeping the original motion. The source video can be up to 18 seconds, and the edited video retains the source's original length.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `video` | Source video to edit. Up to 18 seconds. | VIDEO | Yes | - |
+| `prompt` | Describes the desired edit. | STRING | Yes | - |
+| `resolution` | The output resolution for the edited video. | COMBO | Yes | `"360p"` `"540p"` `"720p"` `"1080p"` |
+| `strength` | How strongly to preserve vs. reimagine the source. "auto" lets Ray 3.2 choose; adhere_* preserves the most, flex_* is balanced, reimagine_* changes the most. (default: "auto") | COMBO | Yes | `"auto"` `"adhere_1"` `"adhere_2"` `"adhere_3"` `"flex_1"` `"flex_2"` `"flex_3"` `"reimagine_1"` `"reimagine_2"` `"reimagine_3"` |
+| `seed` | Seed for reproducibility. | INT | Yes | - |
+
+**Note:** The `prompt` must be between 1 and 6000 characters. The source video must not exceed 18 seconds in duration.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `VIDEO` | The edited video output. | VIDEO |
+| `generation_id` | The unique identifier for the generation request. | STRING |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaRay32VideoEditNode/en.md)
+
+---
+**Source fingerprint (SHA-256):** `936d9d7da3fdee9b0b468781fd470751db01f772f3c5c20582da7fb1ff85e6e6`
diff --git a/built-in-nodes/LumaRay32VideoReframeNode.mdx b/built-in-nodes/LumaRay32VideoReframeNode.mdx
new file mode 100644
index 000000000..24e9daa47
--- /dev/null
+++ b/built-in-nodes/LumaRay32VideoReframeNode.mdx
@@ -0,0 +1,33 @@
+---
+title: "LumaRay32VideoReframeNode - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the LumaRay32VideoReframeNode node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "LumaRay32VideoReframeNode"
+icon: "circle"
+mode: wide
+---
+
+This node changes the aspect ratio of an existing video using Luma Ray 3.2, which fills the newly exposed canvas areas with generated content. The source video can be up to 30 seconds long, and billing is per second of output.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `video` | Source video to reframe. Up to 30 seconds. | VIDEO | Yes | - |
+| `prompt` | Describes how the newly exposed canvas areas should be filled. | STRING | Yes | Min length: 1 character Max length: 6000 characters |
+| `aspect_ratio` | The target aspect ratio for the reframed video (default: "16:9"). | STRING | Yes | "16:9" "9:16" "1:1" "4:3" "3:4" "21:9" |
+| `resolution` | The output resolution of the reframed video (default: "720p"). | STRING | Yes | "360p" "540p" "720p" "1080p" |
+| `seed` | Seed for reproducible generation. | INT | Yes | - |
+
+**Note:** The `1080p` resolution is not available for vertical aspect ratios (`9:16` and `3:4`) when reframing.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `video` | The reframed video with the new aspect ratio and filled canvas areas. | VIDEO |
+| `generation_id` | The unique identifier for the generation request. | STRING |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaRay32VideoReframeNode/en.md)
+
+---
+**Source fingerprint (SHA-256):** `d35ff5b63a850e4e44a40857188918ab5cde00b9159e3720a189a81807cfa7cb`
diff --git a/built-in-nodes/LumaReferenceNode.mdx b/built-in-nodes/LumaReferenceNode.mdx
index b2da2cfd4..ff73c5646 100644
--- a/built-in-nodes/LumaReferenceNode.mdx
+++ b/built-in-nodes/LumaReferenceNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "LumaReferenceNode"
icon: "circle"
mode: wide
---
+
This node holds an image and weight value for use with the Luma Generate Image node. It creates a reference chain that can be passed to other Luma nodes to influence image generation. The node can either start a new reference chain or add to an existing one.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | Image to use as reference. | IMAGE | Yes | - |
| `weight` | Weight of image reference (default: 1.0). | FLOAT | Yes | 0.0 - 1.0 |
| `luma_ref` | Optional existing Luma reference chain to add to. | LUMA_REF | No | - |
@@ -18,10 +19,10 @@ This node holds an image and weight value for use with the Luma Generate Image n
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `luma_ref` | The Luma reference chain containing the image and weight. | LUMA_REF |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaReferenceNode/en.md)
---
-**Source fingerprint (SHA-256):** `1cca0ddc397a72c03bb7d6d24135c09795934f566b23368298a89b90a14dc8cc`
+**Source fingerprint (SHA-256):** `f7e7789f2f19cac41cb9e55d21f10fef3012b10dcdbd59eb79f97fe5c2a944b7`
diff --git a/built-in-nodes/LumaVideoNode.mdx b/built-in-nodes/LumaVideoNode.mdx
index 3aa70f693..aa1802e06 100644
--- a/built-in-nodes/LumaVideoNode.mdx
+++ b/built-in-nodes/LumaVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "LumaVideoNode"
icon: "circle"
mode: wide
---
+
Generates videos synchronously based on a text prompt and output settings. This node creates video content using text descriptions and various generation parameters, producing the final video output once the generation process is complete.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the video generation (default: empty string). Must be at least 3 characters long. | STRING | Yes | - |
| `model` | The video generation model to use. | COMBO | Yes | `"ray_1_6"` `"ray_2"` |
| `aspect_ratio` | The aspect ratio for the generated video (default: "16:9"). | COMBO | Yes | `"16:9"` `"9:16"` `"1:1"` `"4:3"` `"3:4"` `"21:9"` `"9:21"` |
@@ -25,10 +26,10 @@ Generates videos synchronously based on a text prompt and output settings. This
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/LumaVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `3e7fb20aebee034e2055d87e7c1c24a995aece152b0271de48c81ce82cf2911a`
+**Source fingerprint (SHA-256):** `3ce9db0780dbe7a752a6b1c35a02b9511f532e81a28d5d83b2bf3be9e35e2e6b`
diff --git a/built-in-nodes/MagnificImageRelightNode.mdx b/built-in-nodes/MagnificImageRelightNode.mdx
index 1f00b7ef3..382e36b6d 100644
--- a/built-in-nodes/MagnificImageRelightNode.mdx
+++ b/built-in-nodes/MagnificImageRelightNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MagnificImageRelightNode"
icon: "circle"
mode: wide
---
+
The Magnific Image Relight node adjusts the lighting of an input image. It can apply stylistic lighting based on a text prompt or transfer the lighting characteristics from an optional reference image. The node offers various controls for fine-tuning the brightness, contrast, and overall mood of the final output.
## Inputs
@@ -42,4 +43,4 @@ The Magnific Image Relight node adjusts the lighting of an input image. It can a
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MagnificImageRelightNode/en.md)
---
-**Source fingerprint (SHA-256):** `52d6a2c2ab8b03397ed78222c4da936f96f816cde01e2c9cccc3d4915042330f`
+**Source fingerprint (SHA-256):** `45fe68b21e1da7c367800915c803ad4cf1c5b80e9a2e91d80cae51b8a9531144`
diff --git a/built-in-nodes/MagnificImageSkinEnhancerNode.mdx b/built-in-nodes/MagnificImageSkinEnhancerNode.mdx
index 48599da26..8984048cc 100644
--- a/built-in-nodes/MagnificImageSkinEnhancerNode.mdx
+++ b/built-in-nodes/MagnificImageSkinEnhancerNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "MagnificImageSkinEnhancerNode"
icon: "circle"
mode: wide
---
+
The Magnific Image Skin Enhancer node applies specialized AI processing to portrait images to improve skin appearance. It offers three distinct modes for different enhancement goals: creative for artistic effects, faithful for preserving the original look, and flexible for targeted improvements like lighting or realism. The node uploads the image to an external API for processing and returns the enhanced result.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The portrait image to enhance. | IMAGE | Yes | - |
| `sharpen` | Sharpening intensity level (default: 0). | INT | No | 0 to 100 |
| `smart_grain` | Smart grain intensity level (default: 2). | INT | No | 0 to 100 |
@@ -29,10 +30,10 @@ The Magnific Image Skin Enhancer node applies specialized AI processing to portr
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The enhanced portrait image. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MagnificImageSkinEnhancerNode/en.md)
---
-**Source fingerprint (SHA-256):** `1c87ba8a71ccac4fd17c35ad5bf2ee9b27c8bcb45a9d76cd077d6c0614f1ecc1`
+**Source fingerprint (SHA-256):** `2430cc0fb1d2042a8eda78f7f5a5794fa6b4e555d3957616ae6891374b556a76`
diff --git a/built-in-nodes/MagnificImageStyleTransferNode.mdx b/built-in-nodes/MagnificImageStyleTransferNode.mdx
index 3dc13f477..b4cdde27f 100644
--- a/built-in-nodes/MagnificImageStyleTransferNode.mdx
+++ b/built-in-nodes/MagnificImageStyleTransferNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "MagnificImageStyleTransferNode"
icon: "circle"
mode: wide
---
+
This node applies the visual style from a reference image to your input image. It uses an external AI service to process the images, allowing you to control the strength of the style transfer and the preservation of the original image's structure.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The image to apply style transfer to. | IMAGE | Yes | - |
| `reference_image` | The reference image to extract style from. | IMAGE | Yes | - |
| `prompt` | An optional text prompt to guide the style transfer. | STRING | No | - |
@@ -33,10 +34,10 @@ This node applies the visual style from a reference image to your input image. I
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The resulting image after style transfer has been applied. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MagnificImageStyleTransferNode/en.md)
---
-**Source fingerprint (SHA-256):** `2a008de2ad1345360c8313da90721c1118b1d7447647a0a9a4676ff71461e142`
+**Source fingerprint (SHA-256):** `edffec024ebe7cbf7c42008e14c1b99d6fafcf5b9da62b0b560d194a585dc9ad`
diff --git a/built-in-nodes/MagnificImageUpscalerCreativeNode.mdx b/built-in-nodes/MagnificImageUpscalerCreativeNode.mdx
index 598e824ee..efd896a52 100644
--- a/built-in-nodes/MagnificImageUpscalerCreativeNode.mdx
+++ b/built-in-nodes/MagnificImageUpscalerCreativeNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "MagnificImageUpscalerCreativeNode"
icon: "circle"
mode: wide
---
+
This node uses the Magnific AI service to upscale and creatively enhance an image. It allows you to guide the enhancement with a text prompt, choose a specific style to optimize for, and control various aspects of the creative process like detail, resemblance to the original, and stylization strength. The node outputs an upscaled image at your chosen factor (2x, 4x, 8x, or 16x), with a maximum output size of 25.3 megapixels.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to be upscaled and enhanced. | IMAGE | Yes | - |
| `prompt` | A text description to guide the creative enhancement of the image. This is optional (default: empty). | STRING | No | - |
| `scale_factor` | The factor by which to upscale the image's dimensions. | COMBO | Yes | `"2x"` `"4x"` `"8x"` `"16x"` |
@@ -32,10 +33,10 @@ This node uses the Magnific AI service to upscale and creatively enhance an imag
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The creatively enhanced and upscaled output image. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MagnificImageUpscalerCreativeNode/en.md)
---
-**Source fingerprint (SHA-256):** `3eb5ce7887ba67a3a49d06820851df90d1c1c73f28ded62288054154bcb2d7e8`
+**Source fingerprint (SHA-256):** `88362dd9630f0f9420bd7caf3f82ace73d5d2b979bd71939298b84ceff288dc8`
diff --git a/built-in-nodes/MagnificImageUpscalerPreciseV2Node.mdx b/built-in-nodes/MagnificImageUpscalerPreciseV2Node.mdx
index c54b75eaf..6c93f2b90 100644
--- a/built-in-nodes/MagnificImageUpscalerPreciseV2Node.mdx
+++ b/built-in-nodes/MagnificImageUpscalerPreciseV2Node.mdx
@@ -5,29 +5,30 @@ sidebarTitle: "MagnificImageUpscalerPreciseV2Node"
icon: "circle"
mode: wide
---
+
The Magnific Image Upscale (Precise V2) node performs high-fidelity image upscaling with precise control over sharpness, grain, and detail enhancement. It processes images through an external API, supporting up to a maximum output resolution of 10060×10060 pixels. The node offers different processing styles and can automatically downscale the input if the requested output would exceed the maximum allowed size.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to be upscaled. Exactly one image is required. Minimum dimensions are 160x160 pixels. The aspect ratio must be between 1:3 and 3:1. | IMAGE | Yes | - |
| `scale_factor` | The desired upscaling multiplier. | STRING | Yes | `"2x"` `"4x"` `"8x"` `"16x"` |
-| `flavor` | The processing style. "sublime" is for general use, "photo" is optimized for photographs, and "photo_denoiser" is for noisy photos. | STRING | Yes | `"sublime"` `"photo"` `"photo_denoiser"` |
-| `sharpen` | Controls the intensity of image sharpening to increase edge definition and clarity. Higher values produce a sharper result. Default: 7. | INT | No | 0 to 100 |
-| `smart_grain` | Adds intelligent grain or texture enhancement to prevent the upscaled image from looking too smooth or artificial. Default: 7. | INT | No | 0 to 100 |
-| `ultra_detail` | Controls the amount of fine detail, textures, and micro-details added during the upscaling process. Default: 30. | INT | No | 0 to 100 |
-| `auto_downscale` | When enabled, the node will automatically downscale the input image if the calculated output dimensions would exceed the maximum allowed resolution of 10060x10060 pixels. This helps prevent errors but may affect quality. Default: False. | BOOLEAN | No | - |
+| `flavor` | Processing style: sublime for general use, photo for photographs, photo_denoiser for noisy photos. | STRING | Yes | `"sublime"` `"photo"` `"photo_denoiser"` |
+| `sharpen` | Image sharpness intensity. Higher values increase edge definition and clarity. Default: 7. | INT | No | 0 to 100 |
+| `smart_grain` | Intelligent grain/texture enhancement to prevent the image from looking too smooth or artificial. Default: 7. | INT | No | 0 to 100 |
+| `ultra_detail` | Controls fine detail, textures, and micro-details added during upscaling. Default: 30. | INT | No | 0 to 100 |
+| `auto_downscale` | Automatically downscale input image if output would exceed maximum resolution. Default: False. | BOOLEAN | No | - |
-**Note:** If `auto_downscale` is disabled and the requested output size (input dimensions × `scale_factor`) exceeds 10060x10060 pixels, the node will raise an error.
+**Note:** If `auto_downscale` is disabled and the requested output size (input dimensions × `scale_factor`) exceeds 10060x10060 pixels, the node will raise an error. When `auto_downscale` is enabled, the node will attempt to find an optimal scale factor that keeps quality loss minimal.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The resulting upscaled image. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MagnificImageUpscalerPreciseV2Node/en.md)
---
-**Source fingerprint (SHA-256):** `83559e99f86398b894c659996bdde48633a49f857a4769127fdf7ab6e80d6b0d`
+**Source fingerprint (SHA-256):** `b4de8780c46d113fd043930daa6d4b91df3dca493afef486a0ecf2ee9e0ae708`
diff --git a/built-in-nodes/Mahiro.mdx b/built-in-nodes/Mahiro.mdx
index 298fdffcd..619580b9e 100644
--- a/built-in-nodes/Mahiro.mdx
+++ b/built-in-nodes/Mahiro.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Mahiro"
icon: "circle"
mode: wide
---
+
The Mahiro node modifies the guidance function to focus more on the direction of the positive prompt rather than the difference between positive and negative prompts. It creates a patched model that applies a custom guidance scaling approach using cosine similarity between normalized conditional and unconditional denoised outputs. This experimental node helps steer the generation more strongly toward the positive prompt's intended direction.
## Inputs
diff --git a/built-in-nodes/MakeTrainingDataset.mdx b/built-in-nodes/MakeTrainingDataset.mdx
index 6e15b4d46..44e4bbda3 100644
--- a/built-in-nodes/MakeTrainingDataset.mdx
+++ b/built-in-nodes/MakeTrainingDataset.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MakeTrainingDataset"
icon: "circle"
mode: wide
---
+
This node prepares data for training by encoding images and text. It takes a list of images and a corresponding list of text captions, then uses a VAE model to convert the images into latent representations and a CLIP model to convert the text into conditioning data. The resulting paired latents and conditioning are output as lists, ready for use in training workflows.
## Inputs
diff --git a/built-in-nodes/ManualSigmas.mdx b/built-in-nodes/ManualSigmas.mdx
index de108bcdd..d373c4f3e 100644
--- a/built-in-nodes/ManualSigmas.mdx
+++ b/built-in-nodes/ManualSigmas.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ManualSigmas"
icon: "circle"
mode: wide
---
+
The ManualSigmas node allows you to manually define a custom sequence of noise levels (sigmas) for the sampling process. You input a list of numbers as a string, and the node converts them into a tensor that can be used by other sampling nodes. This is useful for testing or creating specific noise schedules.
## Inputs
diff --git a/built-in-nodes/MarkdownNote.mdx b/built-in-nodes/MarkdownNote.mdx
index 6b916b113..b7c727369 100644
--- a/built-in-nodes/MarkdownNote.mdx
+++ b/built-in-nodes/MarkdownNote.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MarkdownNote"
icon: "circle"
mode: wide
---
+
Node to add annotations to a workflow. It supports text formatting using Markdown syntax.
## Inputs
diff --git a/built-in-nodes/MaskComposite.mdx b/built-in-nodes/MaskComposite.mdx
index 5f93742f7..f1f988e5e 100644
--- a/built-in-nodes/MaskComposite.mdx
+++ b/built-in-nodes/MaskComposite.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MaskComposite"
icon: "circle"
mode: wide
---
+
This node specializes in combining two mask inputs through a variety of operations such as addition, subtraction, and logical operations, to produce a new, modified mask. It abstractly handles the manipulation of mask data to achieve complex masking effects, serving as a crucial component in mask-based image editing and processing workflows.
## Inputs
diff --git a/built-in-nodes/MaskPreview.mdx b/built-in-nodes/MaskPreview.mdx
index e9a6a8906..5859798c0 100644
--- a/built-in-nodes/MaskPreview.mdx
+++ b/built-in-nodes/MaskPreview.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MaskPreview"
icon: "circle"
mode: wide
---
+
The MaskPreview node saves mask data as a preview image to your ComfyUI output directory, allowing you to visually inspect mask data during workflow execution. It converts the input mask into a format suitable for image display and saves it with a configurable filename prefix.
## Inputs
diff --git a/built-in-nodes/MaskToImage.mdx b/built-in-nodes/MaskToImage.mdx
index eb65fe36a..79dbd1c7a 100644
--- a/built-in-nodes/MaskToImage.mdx
+++ b/built-in-nodes/MaskToImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MaskToImage"
icon: "circle"
mode: wide
---
+
The `MaskToImage` node is designed to convert a mask into an image format. This transformation allows for the visualization and further processing of masks as images, facilitating a bridge between mask-based operations and image-based applications.
## Inputs
diff --git a/built-in-nodes/MediaPipeFaceLandmarker.mdx b/built-in-nodes/MediaPipeFaceLandmarker.mdx
index 70d4980ad..bc827573d 100644
--- a/built-in-nodes/MediaPipeFaceLandmarker.mdx
+++ b/built-in-nodes/MediaPipeFaceLandmarker.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MediaPipeFaceLandmarker"
icon: "circle"
mode: wide
---
+
## Overview
Detects faces in an image and identifies 468 facial landmarks (key points) on each face using MediaPipe's BlazeFace and FaceMesh models. It also calculates ARKit-52 blendshape coefficients for facial expression analysis. The node can process multiple images in a batch and outputs both the landmark data and bounding boxes for each detected face.
diff --git a/built-in-nodes/MediaPipeFaceMask.mdx b/built-in-nodes/MediaPipeFaceMask.mdx
index 37d01e968..1a55d2adb 100644
--- a/built-in-nodes/MediaPipeFaceMask.mdx
+++ b/built-in-nodes/MediaPipeFaceMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MediaPipeFaceMask"
icon: "circle"
mode: wide
---
+
## Overview
This node creates a binary mask (a black and white image) based on face landmarks detected by MediaPipe. It draws filled polygon shapes for each detected face region, producing one mask per frame in a batch. When multiple faces are detected in the same frame, their masks are combined into a single mask.
diff --git a/built-in-nodes/MediaPipeFaceMeshVisualize.mdx b/built-in-nodes/MediaPipeFaceMeshVisualize.mdx
index 03d3c6cfc..f9c998a93 100644
--- a/built-in-nodes/MediaPipeFaceMeshVisualize.mdx
+++ b/built-in-nodes/MediaPipeFaceMeshVisualize.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MediaPipeFaceMeshVisualize"
icon: "circle"
mode: wide
---
+
## Overview
Draws face landmark points and connection lines (a face mesh) on top of an input image. This node uses the landmark data produced by a face detection node to visualize the detected facial features, such as the eyes, nose, mouth, and face outline.
diff --git a/built-in-nodes/MergeImageLists.mdx b/built-in-nodes/MergeImageLists.mdx
index e6718b52c..7c9025eca 100644
--- a/built-in-nodes/MergeImageLists.mdx
+++ b/built-in-nodes/MergeImageLists.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MergeImageLists"
icon: "circle"
mode: wide
---
+
The Merge Image Lists node combines multiple separate lists of images into a single, continuous list. It works by taking all the images from each connected input and appending them together in the order they are received. This is useful for organizing or batching images from different sources for further processing.
**Note:** This node is deprecated and superseded by the Create List node.
diff --git a/built-in-nodes/MergeSplat.mdx b/built-in-nodes/MergeSplat.mdx
index b02e0cd01..00b42d2f6 100644
--- a/built-in-nodes/MergeSplat.mdx
+++ b/built-in-nodes/MergeSplat.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "MergeSplat"
icon: "circle"
mode: wide
---
-# Merge Splats
The Merge Splats node combines multiple gaussian splat models into a single splat by concatenating their data. This is useful for merging several decodes of the same latent generated with different seeds, which can densify the surface and improve quality when creating 3D meshes.
diff --git a/built-in-nodes/MergeTextLists.mdx b/built-in-nodes/MergeTextLists.mdx
index bf09c0f6c..f9289d635 100644
--- a/built-in-nodes/MergeTextLists.mdx
+++ b/built-in-nodes/MergeTextLists.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MergeTextLists"
icon: "circle"
mode: wide
---
+
This node merges multiple text lists into a single, combined list. It is designed to receive text inputs as lists and concatenates them together. The node logs the total number of texts in the merged list.
## Inputs
diff --git a/built-in-nodes/MeshyAnimateModelNode.mdx b/built-in-nodes/MeshyAnimateModelNode.mdx
index 7859b7ae8..5ea648a9f 100644
--- a/built-in-nodes/MeshyAnimateModelNode.mdx
+++ b/built-in-nodes/MeshyAnimateModelNode.mdx
@@ -5,19 +5,20 @@ sidebarTitle: "MeshyAnimateModelNode"
icon: "circle"
mode: wide
---
+
This node applies a specific animation to a 3D character model that has already been rigged using the Meshy service. It takes a task ID from a previous rigging operation and an action ID to select the desired animation from the library. The node then processes the request and returns the animated model in both GLB and FBX file formats.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `rig_task_id` | The unique task ID from a previously completed Meshy character rigging operation. | STRING | Yes | N/A |
| `action_id` | The ID number of the animation action to apply. Visit https://docs.meshy.ai/en/api/animation-library for a list of available values. (default: 0) | INT | Yes | 0 to 696 |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model_file` | A string identifier for the animated model. This output is provided for backward compatibility only. | STRING |
| `GLB` | The animated 3D model file in GLB format. | FILE3DGLB |
| `FBX` | The animated 3D model file in FBX format. | FILE3DFBX |
@@ -25,4 +26,4 @@ This node applies a specific animation to a 3D character model that has already
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MeshyAnimateModelNode/en.md)
---
-**Source fingerprint (SHA-256):** `0af4e96d031025fdb5e11d6dd35e408b61dcdd4ca64f88464a6510426485dac2`
+**Source fingerprint (SHA-256):** `e773145f8f08e80f3cef8ce70becc3b593aea8e02a888a0005353f1bc8e3b909`
diff --git a/built-in-nodes/MeshyImageToModelNode.mdx b/built-in-nodes/MeshyImageToModelNode.mdx
index 2092e1586..155ab6de6 100644
--- a/built-in-nodes/MeshyImageToModelNode.mdx
+++ b/built-in-nodes/MeshyImageToModelNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MeshyImageToModelNode"
icon: "circle"
mode: wide
---
+
The Meshy: Image to Model node uses the Meshy API to generate a 3D model from a single input image. It uploads your image, submits a processing task, and returns the generated 3D model files (GLB and FBX) along with the task ID for reference.
## Inputs
@@ -42,4 +43,4 @@ The Meshy: Image to Model node uses the Meshy API to generate a 3D model from a
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MeshyImageToModelNode/en.md)
---
-**Source fingerprint (SHA-256):** `87825d9d78ccfb1efdf07da0e9c8cfca39a8446dd99d346c732e4d1470194205`
+**Source fingerprint (SHA-256):** `9f7abcb0db3c78715e4ba7370efe294caf186590f7ab62da8568778848fc838c`
diff --git a/built-in-nodes/MeshyMultiImageToModelNode.mdx b/built-in-nodes/MeshyMultiImageToModelNode.mdx
index 52b4fed43..da5daeb08 100644
--- a/built-in-nodes/MeshyMultiImageToModelNode.mdx
+++ b/built-in-nodes/MeshyMultiImageToModelNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MeshyMultiImageToModelNode"
icon: "circle"
mode: wide
---
+
This node uses the Meshy API to generate a 3D model from multiple input images. It uploads the provided images, submits a processing task, and returns the resulting 3D model files (GLB and FBX) along with the task ID for reference.
## Inputs
@@ -14,7 +15,7 @@ This node uses the Meshy API to generate a 3D model from multiple input images.
| `model` | Specifies the AI model version to use. | COMBO | Yes | `"latest"` |
| `images` | A set of images used to generate the 3D model. You must provide between 2 and 4 images. | IMAGE | Yes | 2 to 4 images |
| `should_remesh` | Determines if the generated mesh should be processed. When set to `"false"`, the node returns an unprocessed triangular mesh. | COMBO | Yes | `"true"` `"false"` |
-| `topology` | The target polygon type for the remeshed output. This parameter is only available and required when `should_remesh` is set to `"true"`. | COMBO | No | `"triangle"` `"quad"` |
+| `topology` | The target polygon type for the remeshed output. This parameter is only available when `should_remesh` is set to `"true"`. | COMBO | No | `"triangle"` `"quad"` |
| `target_polycount` | The target number of polygons for the remeshed model (default: 300000). This parameter is only available when `should_remesh` is set to `"true"`. | INT | No | 100 to 300000 |
| `symmetry_mode` | Controls whether symmetry is applied to the generated model. | COMBO | Yes | `"auto"` `"on"` `"off"` |
| `should_texture` | Determines whether textures are generated. Setting it to `"false"` skips the texture phase and returns a mesh without textures. | COMBO | Yes | `"true"` `"false"` |
@@ -43,4 +44,4 @@ This node uses the Meshy API to generate a 3D model from multiple input images.
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MeshyMultiImageToModelNode/en.md)
---
-**Source fingerprint (SHA-256):** `7118368e2d9c1a7df9866d19a033c6e2efd632381624a9ee537552502185d444`
+**Source fingerprint (SHA-256):** `c2282cad611bbbc8c0a618df6a68fcd9f6e3c29c6d08b2c96a117c29765d8a7a`
diff --git a/built-in-nodes/MeshyRefineNode.mdx b/built-in-nodes/MeshyRefineNode.mdx
index 75e71ec42..4cc1f5220 100644
--- a/built-in-nodes/MeshyRefineNode.mdx
+++ b/built-in-nodes/MeshyRefineNode.mdx
@@ -5,15 +5,16 @@ sidebarTitle: "MeshyRefineNode"
icon: "circle"
mode: wide
---
+
The Meshy: Refine Draft Model node takes a previously generated 3D draft model and improves its quality, optionally adding textures. It submits a refinement task to the Meshy API and returns the final 3D model files once processing is complete.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | Specifies the AI model to use for refinement. Currently, only the "latest" model is available. | COMBO | Yes | `"latest"` |
| `meshy_task_id` | The unique task ID of the draft model you want to refine. | MESHY_TASK_ID | Yes | - |
-| `enable_pbr` | Generate PBR Maps (metallic, roughness, normal) in addition to the base color. Note: this should be set to false when using Sculpture style, as Sculpture style generates its own set of PBR maps. (default: `False`) | BOOLEAN | No | - |
+| `enable_pbr` | Generate PBR Maps (metallic, roughness, normal) in addition to the base color. Note: this should be set to false when using Sculpture style, as Sculpture style generates its own set of PBR maps. (default: False) | BOOLEAN | No | - |
| `texture_prompt` | Provide a text prompt to guide the texturing process. Maximum 600 characters. Cannot be used at the same time as `texture_image`. (default: empty string) | STRING | No | - |
| `texture_image` | Only one of `texture_image` or `texture_prompt` may be used at the same time. | IMAGE | No | - |
@@ -22,7 +23,7 @@ The Meshy: Refine Draft Model node takes a previously generated 3D draft model a
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model_file` | The filename of the generated GLB model. (For backward compatibility only) | STRING |
| `meshy_task_id` | The unique task ID for the submitted refinement job. | MESHY_TASK_ID |
| `GLB` | The final refined 3D model in GLB format. | FILE3DGLB |
@@ -31,4 +32,4 @@ The Meshy: Refine Draft Model node takes a previously generated 3D draft model a
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MeshyRefineNode/en.md)
---
-**Source fingerprint (SHA-256):** `b1cfdeb12d1f79c4c18f96b4f8a92de227210e369b22356fe7232e025956696e`
+**Source fingerprint (SHA-256):** `dc4e8c43e16132b3928d21c94c6648cdc8df46e671ecd5686ac811cde69123aa`
diff --git a/built-in-nodes/MeshyRigModelNode.mdx b/built-in-nodes/MeshyRigModelNode.mdx
index 0ff5188ac..eebe69644 100644
--- a/built-in-nodes/MeshyRigModelNode.mdx
+++ b/built-in-nodes/MeshyRigModelNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "MeshyRigModelNode"
icon: "circle"
mode: wide
---
+
The Meshy: Rig Model node takes a 3D model from a previous Meshy task and automatically creates a skeleton for it, producing a rigged character that can be posed and animated. The node outputs the rigged model in both GLB and FBX file formats.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `meshy_task_id` | The unique task ID from a previous Meshy operation (e.g., text-to-3D or image-to-3D) that generated the model to be rigged. | STRING | Yes | N/A |
| `height_meters` | The approximate height of the character model in meters. This aids in scaling and rigging accuracy (default: 1.7). | FLOAT | Yes | 0.1 to 15.0 |
| `texture_image` | The model's UV-unwrapped base color texture image. | IMAGE | No | N/A |
@@ -20,7 +21,7 @@ The Meshy: Rig Model node takes a 3D model from a previous Meshy task and automa
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model_file` | A legacy output for backward compatibility, containing the filename of the GLB model. | STRING |
| `rig_task_id` | The unique task ID for this rigging operation, which can be used to reference the result. | STRING |
| `GLB` | The rigged 3D character model saved in the GLB file format. | FILE3DGLB |
@@ -29,4 +30,4 @@ The Meshy: Rig Model node takes a 3D model from a previous Meshy task and automa
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MeshyRigModelNode/en.md)
---
-**Source fingerprint (SHA-256):** `de47454600293b647fd6e244ad7e53de66169bb0d2b65df517a85bc6bc3ee6e0`
+**Source fingerprint (SHA-256):** `c7817278d4269d6a507937691529e063cb470e5123d33a726307bff7e1813344`
diff --git a/built-in-nodes/MeshyTextToModelNode.mdx b/built-in-nodes/MeshyTextToModelNode.mdx
index 3450d0157..5c003da12 100644
--- a/built-in-nodes/MeshyTextToModelNode.mdx
+++ b/built-in-nodes/MeshyTextToModelNode.mdx
@@ -5,28 +5,29 @@ sidebarTitle: "MeshyTextToModelNode"
icon: "circle"
mode: wide
---
+
The Meshy: Text to Model node uses the Meshy API to generate a 3D model from a text description. It sends a request to the API with your prompt and settings, then waits for the generation to complete and downloads the resulting model files.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | Specifies the AI model version to use. Currently, only the "latest" version is available. | COMBO | Yes | `"latest"` |
| `prompt` | The text description of the 3D model you want to generate. Must be between 1 and 600 characters long. | STRING | Yes | - |
| `style` | The artistic style for the generated 3D model. | COMBO | Yes | `"realistic"` `"sculpture"` |
| `should_remesh` | Controls whether the generated mesh is processed. When set to "false", the node returns an unprocessed triangular mesh. Selecting "true" reveals additional parameters for topology and polycount. | DYNAMIC COMBO | Yes | `"true"` `"false"` |
-| `topology` | The target polygon type for the remeshed model. This parameter is only available and required when `should_remesh` is set to "true". | COMBO | No* | `"triangle"` `"quad"` |
-| `target_polycount` | The target number of polygons for the remeshed model. Default is 300000. This parameter is only available and required when `should_remesh` is set to "true". | INT | No* | 100 - 300000 |
+| `topology` | The target polygon type for the remeshed model. This parameter is only available when `should_remesh` is set to "true". | COMBO | No* | `"triangle"` `"quad"` |
+| `target_polycount` | The target number of polygons for the remeshed model. Default is 300000. This parameter is only available when `should_remesh` is set to "true". | INT | No* | 100 - 300000 |
| `symmetry_mode` | Controls symmetry in the generated model. | COMBO | Yes | `"auto"` `"on"` `"off"` |
| `pose_mode` | Specifies the pose mode for the generated model. An empty string means no specific pose is requested. | COMBO | Yes | `""` `"A-pose"` `"T-pose"` |
| `seed` | A seed value for generation. Setting this controls whether the node should re-run, but results are non-deterministic regardless of the seed value. Default is 0. | INT | Yes | 0 - 2147483647 |
-*Note: The `topology` and `target_polycount` parameters are conditionally required. They only appear and must be set when the `should_remesh` parameter is set to "true".
+*Note: The `topology` and `target_polycount` parameters are conditionally available. They only appear when the `should_remesh` parameter is set to "true".
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model_file` | The filename of the generated GLB model. This output is provided for backward compatibility. | STRING |
| `meshy_task_id` | The unique identifier for the Meshy API task. | MESHY_TASK_ID |
| `GLB` | The generated 3D model file in GLB format. | FILE3DGLB |
@@ -35,4 +36,4 @@ The Meshy: Text to Model node uses the Meshy API to generate a 3D model from a t
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MeshyTextToModelNode/en.md)
---
-**Source fingerprint (SHA-256):** `4b02709a29d3df85e0ab1741b46d3ac74b0fe04135afa435f882b5a02114cc97`
+**Source fingerprint (SHA-256):** `1860b2d760aa81d611d4f44114591b4d98ccb85075bd1e06beabf462fb58bd53`
diff --git a/built-in-nodes/MeshyTextureNode.mdx b/built-in-nodes/MeshyTextureNode.mdx
index e5a830a2a..704868d06 100644
--- a/built-in-nodes/MeshyTextureNode.mdx
+++ b/built-in-nodes/MeshyTextureNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MeshyTextureNode"
icon: "circle"
mode: wide
---
+
The Meshy: Texture Node applies AI-generated textures to a 3D model. It takes a task ID from a previous Meshy 3D generation or conversion node and uses either a text description or a reference image to create new textures for the model. The node outputs the textured model in GLB and FBX file formats.
## Inputs
@@ -35,4 +36,4 @@ The Meshy: Texture Node applies AI-generated textures to a 3D model. It takes a
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MeshyTextureNode/en.md)
---
-**Source fingerprint (SHA-256):** `ac14eadd89c884abb8cb4800093fca93c8da5d8c86beec94bbdd40d34368ca09`
+**Source fingerprint (SHA-256):** `b98ba2d88adcc55c4b708f9222007d61911fbec9454f3f2e912e42a0b485c61c`
diff --git a/built-in-nodes/MinimaxHailuoVideoNode.mdx b/built-in-nodes/MinimaxHailuoVideoNode.mdx
index d9a63a78f..476100ad5 100644
--- a/built-in-nodes/MinimaxHailuoVideoNode.mdx
+++ b/built-in-nodes/MinimaxHailuoVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "MinimaxHailuoVideoNode"
icon: "circle"
mode: wide
---
+
Generates videos from text prompts using the MiniMax Hailuo-02 model. You can optionally provide a starting image as the first frame to create a video that continues from that image.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt_text` | Text prompt to guide the video generation. | STRING | Yes | - |
| `seed` | The random seed used for creating the noise (default: 0). | INT | No | 0 to 18446744073709551615 |
| `first_frame_image` | Optional image to use as the first frame to generate a video. | IMAGE | No | - |
@@ -23,10 +24,10 @@ Generates videos from text prompts using the MiniMax Hailuo-02 model. You can op
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MinimaxHailuoVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `180e8d3c739e34094a12a719d3187378a4c360a5799a4b23029edf164d0c55a3`
+**Source fingerprint (SHA-256):** `7b6c78459bb1347ca61cb16fb6c5e9c88c6a0896dda90f48bb1b6397b99e8ca0`
diff --git a/built-in-nodes/MinimaxImageToVideoNode.mdx b/built-in-nodes/MinimaxImageToVideoNode.mdx
index 657b21b98..6e4868c29 100644
--- a/built-in-nodes/MinimaxImageToVideoNode.mdx
+++ b/built-in-nodes/MinimaxImageToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "MinimaxImageToVideoNode"
icon: "circle"
mode: wide
---
+
Generates videos synchronously based on an image and prompt, and optional parameters using MiniMax's API. This node takes an input image and text description to create a video sequence, with various model options and configuration settings available.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | Image to use as first frame of video generation | IMAGE | Yes | - |
| `prompt_text` | Text prompt to guide the video generation (default: empty string) | STRING | Yes | - |
| `model` | Model to use for video generation (default: "I2V-01") | COMBO | Yes | "I2V-01-Director" "I2V-01" "I2V-01-live" |
@@ -19,10 +20,10 @@ Generates videos synchronously based on an image and prompt, and optional parame
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video output | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MinimaxImageToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `8e5ae93cc214b541665f057c66d3203ef0ffdb10021fed2c05607df1b1a27844`
+**Source fingerprint (SHA-256):** `90eef1d58fa0ae4897ab19d702ecad707948eb79181ac4927dba650056e954c8`
diff --git a/built-in-nodes/MinimaxSubjectToVideoNode.mdx b/built-in-nodes/MinimaxSubjectToVideoNode.mdx
index b82045b39..64c4037b0 100644
--- a/built-in-nodes/MinimaxSubjectToVideoNode.mdx
+++ b/built-in-nodes/MinimaxSubjectToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "MinimaxSubjectToVideoNode"
icon: "circle"
mode: wide
---
+
Generates a video synchronously based on a subject image and a text prompt using MiniMax's API. This node takes an image of a subject and a description to create a video that animates or features that subject according to the prompt.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `subject` | Image of subject to reference for video generation | IMAGE | Yes | - |
| `prompt_text` | Text prompt to guide the video generation (default: empty string) | STRING | Yes | - |
| `model` | Model to use for video generation (default: "S2V-01") | COMBO | No | `"S2V-01"` |
@@ -19,10 +20,10 @@ Generates a video synchronously based on a subject image and a text prompt using
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video based on the input subject image and prompt | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MinimaxSubjectToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `0dbdb1bb92850f4eac7c30017643a49ad932b2542bdf5c5c521ba875a0e341ca`
+**Source fingerprint (SHA-256):** `e7d496d8e24a776bbea4afe102858e7d31c4f2e273889703eb02cc61e8389055`
diff --git a/built-in-nodes/MinimaxTextToVideoNode.mdx b/built-in-nodes/MinimaxTextToVideoNode.mdx
index dc72daf0f..0c4eb5f45 100644
--- a/built-in-nodes/MinimaxTextToVideoNode.mdx
+++ b/built-in-nodes/MinimaxTextToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "MinimaxTextToVideoNode"
icon: "circle"
mode: wide
---
+
Generates videos synchronously based on a text prompt and optional parameters using MiniMax's API. This node creates video content from text descriptions by connecting to MiniMax's text-to-video service.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt_text` | Text prompt to guide the video generation | STRING | Yes | - |
| `model` | Model to use for video generation (default: "T2V-01") | COMBO | No | "T2V-01" "T2V-01-Director" |
| `seed` | The random seed used for creating the noise (default: 0) | INT | No | 0 to 18446744073709551615 |
@@ -18,10 +19,10 @@ Generates videos synchronously based on a text prompt and optional parameters us
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video based on the input prompt | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/MinimaxTextToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `603b6407446f4f7c5ea9520126f960a52c498d16b59f66fe022fd439b59c39ba`
+**Source fingerprint (SHA-256):** `1d389bdcc48f903e04dad043a8609250f34466b9084b1319c411e155a8040422`
diff --git a/built-in-nodes/MoGeInference.mdx b/built-in-nodes/MoGeInference.mdx
index 8215b9e71..5434bf33e 100644
--- a/built-in-nodes/MoGeInference.mdx
+++ b/built-in-nodes/MoGeInference.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MoGeInference"
icon: "circle"
mode: wide
---
+
## Overview
Run MoGe on a single image to estimate depth and geometry. This node processes an input image through the MoGe model to generate a 3D point cloud, depth map, camera intrinsics, a mask, and surface normals.
diff --git a/built-in-nodes/MoGePanoramaInference.mdx b/built-in-nodes/MoGePanoramaInference.mdx
index 3ad975e2d..03a4d0f6d 100644
--- a/built-in-nodes/MoGePanoramaInference.mdx
+++ b/built-in-nodes/MoGePanoramaInference.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MoGePanoramaInference"
icon: "circle"
mode: wide
---
+
## Overview
This node performs depth estimation on equirectangular panorama images. It works by splitting the panorama into 12 perspective views, running the MoGe depth estimation model on each view, and then merging the results back into a single, complete depth map for the original panorama.
diff --git a/built-in-nodes/MoGePointMapToMesh.mdx b/built-in-nodes/MoGePointMapToMesh.mdx
index 0e68d4cd9..a365787ac 100644
--- a/built-in-nodes/MoGePointMapToMesh.mdx
+++ b/built-in-nodes/MoGePointMapToMesh.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MoGePointMapToMesh"
icon: "circle"
mode: wide
---
+
## Overview
This node converts a MoGe point map into a 3D mesh. It takes the geometry data produced by a MoGe depth estimation node and triangulates it into a mesh with UV coordinates and an optional texture.
diff --git a/built-in-nodes/MoGeRender.mdx b/built-in-nodes/MoGeRender.mdx
index 3508f512f..4f30632c5 100644
--- a/built-in-nodes/MoGeRender.mdx
+++ b/built-in-nodes/MoGeRender.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MoGeRender"
icon: "circle"
mode: wide
---
+
## Overview
This node takes a MOGE_GEOMETRY packet (produced by a MoGe depth/normal estimation node) and renders it into a standard image format. You can choose to output a depth map, a colored depth map, a normal map, or a mask.
diff --git a/built-in-nodes/ModelComputeDtype.mdx b/built-in-nodes/ModelComputeDtype.mdx
index 055b8d64a..c47bff459 100644
--- a/built-in-nodes/ModelComputeDtype.mdx
+++ b/built-in-nodes/ModelComputeDtype.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelComputeDtype"
icon: "circle"
mode: wide
---
+
The ModelComputeDtype node changes the computational data type (precision) used by a model during processing. It creates a copy of the input model and applies the selected precision setting, which can help optimize memory usage and performance depending on your hardware. This is useful for debugging and testing different precision configurations.
## Inputs
diff --git a/built-in-nodes/ModelMergeAdd.mdx b/built-in-nodes/ModelMergeAdd.mdx
index c78cd770d..c5f4c0c35 100644
--- a/built-in-nodes/ModelMergeAdd.mdx
+++ b/built-in-nodes/ModelMergeAdd.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeAdd"
icon: "circle"
mode: wide
---
+
The ModelMergeAdd node is designed for merging two models by adding key patches from one model to another. This process involves cloning the first model and then applying patches from the second model, allowing for the combination of features or behaviors from both models.
## Inputs
diff --git a/built-in-nodes/ModelMergeAuraflow.mdx b/built-in-nodes/ModelMergeAuraflow.mdx
index 4b0322906..1224099c4 100644
--- a/built-in-nodes/ModelMergeAuraflow.mdx
+++ b/built-in-nodes/ModelMergeAuraflow.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeAuraflow"
icon: "circle"
mode: wide
---
+
The ModelMergeAuraflow node allows you to blend two different models together by adjusting specific blending weights for various model components. It provides fine-grained control over how different parts of the models are merged, from initial layers to final outputs. This node is particularly useful for creating custom model combinations with precise control over the merging process.
## Inputs
diff --git a/built-in-nodes/ModelMergeBlocks.mdx b/built-in-nodes/ModelMergeBlocks.mdx
index 31b31a0fb..0ec33782a 100644
--- a/built-in-nodes/ModelMergeBlocks.mdx
+++ b/built-in-nodes/ModelMergeBlocks.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeBlocks"
icon: "circle"
mode: wide
---
+
ModelMergeBlocks is designed for advanced model merging operations, allowing for the integration of two models with customizable blending ratios for different parts of the models. This node facilitates the creation of hybrid models by selectively merging components from two source models based on specified parameters.
## Inputs
diff --git a/built-in-nodes/ModelMergeCosmos14B.mdx b/built-in-nodes/ModelMergeCosmos14B.mdx
index 10308e1ad..d6c22cfad 100644
--- a/built-in-nodes/ModelMergeCosmos14B.mdx
+++ b/built-in-nodes/ModelMergeCosmos14B.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeCosmos14B"
icon: "circle"
mode: wide
---
+
The **ModelMergeCosmos14B** node merges two AI models using a block-based approach specifically designed for the Cosmos 14B model architecture. It allows you to blend different components of the models by adjusting weight values between 0.0 and 1.0 for each model block and embedding layer.
## Inputs
diff --git a/built-in-nodes/ModelMergeCosmos7B.mdx b/built-in-nodes/ModelMergeCosmos7B.mdx
index 300a09743..c3498e20a 100644
--- a/built-in-nodes/ModelMergeCosmos7B.mdx
+++ b/built-in-nodes/ModelMergeCosmos7B.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeCosmos7B"
icon: "circle"
mode: wide
---
+
The ModelMergeCosmos7B node merges two AI models together using weighted blending of specific components. It allows fine-grained control over how different parts of the models are combined by adjusting individual weights for position embeddings, transformer blocks, and final layers.
## Inputs
diff --git a/built-in-nodes/ModelMergeCosmosPredict2_14B.mdx b/built-in-nodes/ModelMergeCosmosPredict2_14B.mdx
index 26b4bc4a9..60c47c53e 100644
--- a/built-in-nodes/ModelMergeCosmosPredict2_14B.mdx
+++ b/built-in-nodes/ModelMergeCosmosPredict2_14B.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeCosmosPredict2_14B"
icon: "circle"
mode: wide
---
+
The ModelMergeCosmosPredict2_14B node merges two AI models by blending their internal components. It gives you precise control over how much each part of the second model influences the final merged result, using adjustable weight values for specific layers and components.
## Inputs
diff --git a/built-in-nodes/ModelMergeCosmosPredict2_2B.mdx b/built-in-nodes/ModelMergeCosmosPredict2_2B.mdx
index 66c5e1aa1..ed38d9ce9 100644
--- a/built-in-nodes/ModelMergeCosmosPredict2_2B.mdx
+++ b/built-in-nodes/ModelMergeCosmosPredict2_2B.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeCosmosPredict2_2B"
icon: "circle"
mode: wide
---
+
The ModelMergeCosmosPredict2_2B node merges two diffusion models using a block-based approach with fine-grained control over different model components. It allows you to blend specific parts of two models by adjusting interpolation weights for position embedders, time embedders, transformer blocks, and final layers. This provides precise control over how different architectural components from each model contribute to the final merged result.
## Inputs
diff --git a/built-in-nodes/ModelMergeFlux1.mdx b/built-in-nodes/ModelMergeFlux1.mdx
index 9ff2995f7..8ed2b7c1f 100644
--- a/built-in-nodes/ModelMergeFlux1.mdx
+++ b/built-in-nodes/ModelMergeFlux1.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeFlux1"
icon: "circle"
mode: wide
---
+
The ModelMergeFlux1 node merges two diffusion models by blending their components using weighted interpolation. It allows fine-grained control over how different parts of the models are combined, including image processing blocks, time embedding layers, guidance mechanisms, vector inputs, text encoders, and various transformer blocks. This enables creating hybrid models with customized characteristics from two source models.
## Inputs
diff --git a/built-in-nodes/ModelMergeKrea2.mdx b/built-in-nodes/ModelMergeKrea2.mdx
new file mode 100644
index 000000000..053e18c41
--- /dev/null
+++ b/built-in-nodes/ModelMergeKrea2.mdx
@@ -0,0 +1,40 @@
+---
+title: "ModelMergeKrea2 - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the ModelMergeKrea2 node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "ModelMergeKrea2"
+icon: "circle"
+mode: wide
+---
+
+This node merges two models by blending their internal components at a fine-grained level, allowing you to control how much of each model's specific parts influence the final result. It works by taking two input models and applying separate blend ratios to different sections of their architecture.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `model1` | The first model to merge | MODEL | Yes | - |
+| `model2` | The second model to merge | MODEL | Yes | - |
+| `first.` | Blend ratio for the first layer block (default: 1.0) | FLOAT | Yes | 0.0 to 1.0 (step: 0.01) |
+| `tmlp.` | Blend ratio for the time MLP block (default: 1.0) | FLOAT | Yes | 0.0 to 1.0 (step: 0.01) |
+| `txtmlp.` | Blend ratio for the text MLP block (default: 1.0) | FLOAT | Yes | 0.0 to 1.0 (step: 0.01) |
+| `tproj.` | Blend ratio for the time projection block (default: 1.0) | FLOAT | Yes | 0.0 to 1.0 (step: 0.01) |
+| `txtfusion.layerwise_blocks.0.` | Blend ratio for the first text fusion layerwise block (default: 1.0) | FLOAT | Yes | 0.0 to 1.0 (step: 0.01) |
+| `txtfusion.layerwise_blocks.1.` | Blend ratio for the second text fusion layerwise block (default: 1.0) | FLOAT | Yes | 0.0 to 1.0 (step: 0.01) |
+| `txtfusion.projector.` | Blend ratio for the text fusion projector block (default: 1.0) | FLOAT | Yes | 0.0 to 1.0 (step: 0.01) |
+| `txtfusion.refiner_blocks.0.` | Blend ratio for the first text fusion refiner block (default: 1.0) | FLOAT | Yes | 0.0 to 1.0 (step: 0.01) |
+| `txtfusion.refiner_blocks.1.` | Blend ratio for the second text fusion refiner block (default: 1.0) | FLOAT | Yes | 0.0 to 1.0 (step: 0.01) |
+| `blocks.0.` through `blocks.27.` | Blend ratio for each of the 28 main blocks (default: 1.0) | FLOAT | Yes | 0.0 to 1.0 (step: 0.01) |
+| `last.` | Blend ratio for the last block (default: 1.0) | FLOAT | Yes | 0.0 to 1.0 (step: 0.01) |
+
+Each blend ratio controls how much of `model2` is used for that specific component, where 0.0 means use only `model1`, 1.0 means use only `model2`, and values in between create a weighted blend.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `MODEL` | The merged model resulting from blending the two input models according to the specified ratios | MODEL |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ModelMergeKrea2/en.md)
+
+---
+**Source fingerprint (SHA-256):** `ece35524f77fd906dc3109a0818d4d7d3986ec9debb518fd04893048843d7e88`
diff --git a/built-in-nodes/ModelMergeLTXV.mdx b/built-in-nodes/ModelMergeLTXV.mdx
index 4dee62476..84ec68b3b 100644
--- a/built-in-nodes/ModelMergeLTXV.mdx
+++ b/built-in-nodes/ModelMergeLTXV.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeLTXV"
icon: "circle"
mode: wide
---
+
The ModelMergeLTXV node performs advanced model merging operations specifically designed for LTXV model architectures. It allows you to blend two different models together by adjusting interpolation weights for various model components including transformer blocks, projection layers, and other specialized modules.
## Inputs
diff --git a/built-in-nodes/ModelMergeMochiPreview.mdx b/built-in-nodes/ModelMergeMochiPreview.mdx
index d55ff677a..11641be22 100644
--- a/built-in-nodes/ModelMergeMochiPreview.mdx
+++ b/built-in-nodes/ModelMergeMochiPreview.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeMochiPreview"
icon: "circle"
mode: wide
---
+
This node merges two AI models using a block-based approach with fine-grained control over different model components. It allows you to blend models by adjusting interpolation weights for specific sections including positional frequencies, embedding layers, and individual transformer blocks. The merging process combines the architectures and parameters from both input models according to the specified weight values.
## Inputs
diff --git a/built-in-nodes/ModelMergeQwenImage.mdx b/built-in-nodes/ModelMergeQwenImage.mdx
index 4d3264544..84c1a48aa 100644
--- a/built-in-nodes/ModelMergeQwenImage.mdx
+++ b/built-in-nodes/ModelMergeQwenImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeQwenImage"
icon: "circle"
mode: wide
---
+
The ModelMergeQwenImage node merges two AI models by combining their components with adjustable weights. It allows you to blend specific parts of Qwen image models, including transformer blocks, positional embeddings, and text processing components. You can control how much influence each model has on different sections of the merged result.
## Inputs
diff --git a/built-in-nodes/ModelMergeSD1.mdx b/built-in-nodes/ModelMergeSD1.mdx
index fe90d3186..80aae507d 100644
--- a/built-in-nodes/ModelMergeSD1.mdx
+++ b/built-in-nodes/ModelMergeSD1.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeSD1"
icon: "circle"
mode: wide
---
+
The ModelMergeSD1 node allows you to blend two Stable Diffusion 1.x models together by adjusting the influence of different model components. It provides individual control over time embedding, label embedding, and all input, middle, and output blocks, enabling fine-tuned model merging for specific use cases.
## Inputs
diff --git a/built-in-nodes/ModelMergeSD35_Large.mdx b/built-in-nodes/ModelMergeSD35_Large.mdx
index c4bc5c43d..94a085c75 100644
--- a/built-in-nodes/ModelMergeSD35_Large.mdx
+++ b/built-in-nodes/ModelMergeSD35_Large.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeSD35_Large"
icon: "circle"
mode: wide
---
+
The ModelMergeSD35_Large node allows you to blend two Stable Diffusion 3.5 Large models together by adjusting the influence of different model components. It provides precise control over how much each part of the second model contributes to the final merged model, from embedding layers to joint blocks and final layers.
## Inputs
diff --git a/built-in-nodes/ModelMergeSD3_2B.mdx b/built-in-nodes/ModelMergeSD3_2B.mdx
index 35808d698..760d0b1e9 100644
--- a/built-in-nodes/ModelMergeSD3_2B.mdx
+++ b/built-in-nodes/ModelMergeSD3_2B.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeSD3_2B"
icon: "circle"
mode: wide
---
+
The ModelMergeSD3_2B node allows you to merge two Stable Diffusion 3 2B models by blending their components with adjustable weights. It provides individual control over embedding layers and transformer blocks, enabling fine-tuned model combinations for specialized generation tasks.
## Inputs
diff --git a/built-in-nodes/ModelMergeSDXL.mdx b/built-in-nodes/ModelMergeSDXL.mdx
index c28ae9065..3b7e0a7ff 100644
--- a/built-in-nodes/ModelMergeSDXL.mdx
+++ b/built-in-nodes/ModelMergeSDXL.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeSDXL"
icon: "circle"
mode: wide
---
+
The ModelMergeSDXL node allows you to blend two SDXL models together by adjusting the influence of each model on different parts of the architecture. You can control how much each model contributes to time embeddings, label embeddings, and various blocks within the model structure. This creates a hybrid model that combines characteristics from both input models.
## Inputs
diff --git a/built-in-nodes/ModelMergeSimple.mdx b/built-in-nodes/ModelMergeSimple.mdx
index 7fe27848e..2deea5d88 100644
--- a/built-in-nodes/ModelMergeSimple.mdx
+++ b/built-in-nodes/ModelMergeSimple.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeSimple"
icon: "circle"
mode: wide
---
+
The ModelMergeSimple node is designed for merging two models by blending their parameters based on a specified ratio. This node facilitates the creation of hybrid models that combine the strengths or characteristics of both input models.
The `ratio` parameter determines the blending ratio between the two models. When this value is 1, the output model is 100% `model1`, and when this value is 0, the output model is 100% `model2`.
diff --git a/built-in-nodes/ModelMergeSubtract.mdx b/built-in-nodes/ModelMergeSubtract.mdx
index 7da596e6c..316449cdd 100644
--- a/built-in-nodes/ModelMergeSubtract.mdx
+++ b/built-in-nodes/ModelMergeSubtract.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeSubtract"
icon: "circle"
mode: wide
---
+
This node is designed for advanced model merging operations, specifically to subtract the parameters of one model from another based on a specified multiplier. It enables the customization of model behaviors by adjusting the influence of one model's parameters over another, facilitating the creation of new, hybrid models.
## Inputs
diff --git a/built-in-nodes/ModelMergeWAN2_1.mdx b/built-in-nodes/ModelMergeWAN2_1.mdx
index f2058aae3..342d3c049 100644
--- a/built-in-nodes/ModelMergeWAN2_1.mdx
+++ b/built-in-nodes/ModelMergeWAN2_1.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelMergeWAN2_1"
icon: "circle"
mode: wide
---
+
The ModelMergeWAN2_1 node merges two WAN2.1 models by blending their components using weighted averages. It supports different model sizes including 1.3B models with 30 blocks and 14B models with 40 blocks, with special handling for image to video models that include an extra image embedding component. Each component of the models can be individually weighted to control the blending ratio between the two input models.
## Inputs
diff --git a/built-in-nodes/ModelNoiseScale.mdx b/built-in-nodes/ModelNoiseScale.mdx
index b72672b45..3373ef66d 100644
--- a/built-in-nodes/ModelNoiseScale.mdx
+++ b/built-in-nodes/ModelNoiseScale.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelNoiseScale"
icon: "circle"
mode: wide
---
+
## Overview
This node adjusts the noise scale used during model sampling. It allows you to set a specific noise scale value, which controls the amount of noise applied to the model's sampling process.
diff --git a/built-in-nodes/ModelPatchLoader.mdx b/built-in-nodes/ModelPatchLoader.mdx
index 78f8ef409..086f6d6be 100644
--- a/built-in-nodes/ModelPatchLoader.mdx
+++ b/built-in-nodes/ModelPatchLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelPatchLoader"
icon: "circle"
mode: wide
---
+
The ModelPatchLoader node loads specialized model patches from the model_patches folder. It automatically detects the type of patch file and loads the appropriate model architecture, then wraps it in a ModelPatcher for use in the workflow. This node supports different patch types including controlnet blocks, feature embedder models, and other specialized architectures.
## Inputs
diff --git a/built-in-nodes/ModelSamplingAuraFlow.mdx b/built-in-nodes/ModelSamplingAuraFlow.mdx
index a14435861..c998cb36e 100644
--- a/built-in-nodes/ModelSamplingAuraFlow.mdx
+++ b/built-in-nodes/ModelSamplingAuraFlow.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelSamplingAuraFlow"
icon: "circle"
mode: wide
---
+
The ModelSamplingAuraFlow node applies a specialized sampling configuration to diffusion models, specifically designed for AuraFlow model architectures. It modifies the model's sampling behavior by applying a shift parameter that adjusts the sampling distribution. This node inherits from the SD3 model sampling framework and provides fine control over the sampling process.
## Inputs
diff --git a/built-in-nodes/ModelSamplingContinuousEDM.mdx b/built-in-nodes/ModelSamplingContinuousEDM.mdx
index 70eb85516..c5417559c 100644
--- a/built-in-nodes/ModelSamplingContinuousEDM.mdx
+++ b/built-in-nodes/ModelSamplingContinuousEDM.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelSamplingContinuousEDM"
icon: "circle"
mode: wide
---
+
This node is designed to enhance a model's sampling capabilities by integrating continuous EDM (Energy-based Diffusion Models) sampling techniques. It allows for the dynamic adjustment of the noise levels within the model's sampling process, offering a more refined control over the generation quality and diversity.
## Inputs
diff --git a/built-in-nodes/ModelSamplingContinuousV.mdx b/built-in-nodes/ModelSamplingContinuousV.mdx
index 768703897..9c66d3742 100644
--- a/built-in-nodes/ModelSamplingContinuousV.mdx
+++ b/built-in-nodes/ModelSamplingContinuousV.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelSamplingContinuousV"
icon: "circle"
mode: wide
---
+
The ModelSamplingContinuousV node modifies a model's sampling behavior by applying continuous V-prediction sampling parameters. It creates a clone of the input model and configures it with custom sigma range settings for advanced sampling control. This allows users to fine-tune the sampling process with specific minimum and maximum sigma values.
## Inputs
diff --git a/built-in-nodes/ModelSamplingDiscrete.mdx b/built-in-nodes/ModelSamplingDiscrete.mdx
index dd317e266..6697b9408 100644
--- a/built-in-nodes/ModelSamplingDiscrete.mdx
+++ b/built-in-nodes/ModelSamplingDiscrete.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelSamplingDiscrete"
icon: "circle"
mode: wide
---
+
This node is designed to modify the sampling behavior of a model by applying a discrete sampling strategy. It allows for the selection of different sampling methods, such as epsilon, v_prediction, lcm, or x0, and optionally adjusts the model's noise reduction strategy based on the zero-shot noise ratio (zsnr) setting.
## Inputs
diff --git a/built-in-nodes/ModelSamplingFlux.mdx b/built-in-nodes/ModelSamplingFlux.mdx
index de9cf8748..4cbf75048 100644
--- a/built-in-nodes/ModelSamplingFlux.mdx
+++ b/built-in-nodes/ModelSamplingFlux.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelSamplingFlux"
icon: "circle"
mode: wide
---
+
The ModelSamplingFlux node applies Flux model sampling to a given model by calculating a shift parameter based on image dimensions. It creates a specialized sampling configuration that adjusts the model's behavior according to the specified width, height, and shift parameters, then returns the modified model with the new sampling settings applied.
## Inputs
diff --git a/built-in-nodes/ModelSamplingLTXV.mdx b/built-in-nodes/ModelSamplingLTXV.mdx
index 72d42e99a..e8ed2230b 100644
--- a/built-in-nodes/ModelSamplingLTXV.mdx
+++ b/built-in-nodes/ModelSamplingLTXV.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelSamplingLTXV"
icon: "circle"
mode: wide
---
+
The ModelSamplingLTXV node applies advanced sampling parameters to a model based on token count. It calculates a shift value using a linear interpolation between base and maximum shift values, with the calculation depending on the number of tokens in the input latent. The node then creates a specialized model sampling configuration and applies it to the input model.
## Inputs
diff --git a/built-in-nodes/ModelSamplingSD3.mdx b/built-in-nodes/ModelSamplingSD3.mdx
index 4b85a840b..fd73d0f73 100644
--- a/built-in-nodes/ModelSamplingSD3.mdx
+++ b/built-in-nodes/ModelSamplingSD3.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelSamplingSD3"
icon: "circle"
mode: wide
---
+
The ModelSamplingSD3 node applies Stable Diffusion 3 sampling parameters to a model. It modifies the model's sampling behavior by adjusting the shift parameter, which controls the sampling distribution characteristics. The node creates a modified copy of the input model with the specified sampling configuration applied.
## Inputs
diff --git a/built-in-nodes/ModelSamplingStableCascade.mdx b/built-in-nodes/ModelSamplingStableCascade.mdx
index 57bd396f0..19cf1772f 100644
--- a/built-in-nodes/ModelSamplingStableCascade.mdx
+++ b/built-in-nodes/ModelSamplingStableCascade.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelSamplingStableCascade"
icon: "circle"
mode: wide
---
+
The ModelSamplingStableCascade node applies stable cascade sampling to a model by adjusting the sampling parameters with a shift value. It creates a modified version of the input model with custom sampling configuration for stable cascade generation.
## Inputs
diff --git a/built-in-nodes/ModelSave.mdx b/built-in-nodes/ModelSave.mdx
index f0d67a212..04ed6fcea 100644
--- a/built-in-nodes/ModelSave.mdx
+++ b/built-in-nodes/ModelSave.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ModelSave"
icon: "circle"
mode: wide
---
+
The ModelSave node saves trained or modified models to your computer's storage. It takes a model as input and writes it to a file with your specified filename. This allows you to preserve your work and reuse models in future projects.
## Inputs
diff --git a/built-in-nodes/MoonvalleyImg2VideoNode.mdx b/built-in-nodes/MoonvalleyImg2VideoNode.mdx
index fd5aa4c96..a6b35e98d 100644
--- a/built-in-nodes/MoonvalleyImg2VideoNode.mdx
+++ b/built-in-nodes/MoonvalleyImg2VideoNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MoonvalleyImg2VideoNode"
icon: "circle"
mode: wide
---
+
The Moonvalley Marey Image to Video node transforms a reference image into a video using the Moonvalley API. It takes an input image and a text prompt to generate a video with specified resolution, quality settings, and creative controls. The node handles the entire process from image upload to video generation and download.
## Inputs
diff --git a/built-in-nodes/MoonvalleyTxt2VideoNode.mdx b/built-in-nodes/MoonvalleyTxt2VideoNode.mdx
index 87cabb0c9..32674a5f9 100644
--- a/built-in-nodes/MoonvalleyTxt2VideoNode.mdx
+++ b/built-in-nodes/MoonvalleyTxt2VideoNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MoonvalleyTxt2VideoNode"
icon: "circle"
mode: wide
---
+
The Moonvalley Marey Text to Video node generates video content from text descriptions using the Moonvalley API. It takes a text prompt and converts it into a video with customizable settings for resolution, quality, and style. The node handles the entire process from sending the generation request to downloading the final video output.
## Inputs
diff --git a/built-in-nodes/MoonvalleyVideo2VideoNode.mdx b/built-in-nodes/MoonvalleyVideo2VideoNode.mdx
index 782491173..63613e3a5 100644
--- a/built-in-nodes/MoonvalleyVideo2VideoNode.mdx
+++ b/built-in-nodes/MoonvalleyVideo2VideoNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MoonvalleyVideo2VideoNode"
icon: "circle"
mode: wide
---
+
The Moonvalley Marey Video to Video node transforms an input video into a new video based on a text description. It uses the Moonvalley API to generate videos that match your prompt while preserving motion or pose characteristics from the original video. You can control the style and content of the output video through text prompts and various generation parameters.
## Inputs
diff --git a/built-in-nodes/Morphology.mdx b/built-in-nodes/Morphology.mdx
index 4fe99cf5e..3d7b3d18f 100644
--- a/built-in-nodes/Morphology.mdx
+++ b/built-in-nodes/Morphology.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Morphology"
icon: "circle"
mode: wide
---
+
The Morphology node applies various morphological operations to images, which are mathematical operations used to process and analyze shapes in images. It can perform operations like erosion, dilation, opening, closing, and more using a customizable kernel size to control the effect strength.
## Inputs
diff --git a/built-in-nodes/MultiGPU_Options.mdx b/built-in-nodes/MultiGPU_Options.mdx
index 840f8bbff..7685cf7c5 100644
--- a/built-in-nodes/MultiGPU_Options.mdx
+++ b/built-in-nodes/MultiGPU_Options.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "MultiGPU_Options"
icon: "circle"
mode: wide
---
+
## Overview
This node allows you to specify the relative performance of each GPU when using multiple graphics cards with different speeds. It creates a group of GPU options that can be used to distribute work across devices, though the actual speed-based workload distribution is not yet implemented in the current version.
diff --git a/built-in-nodes/MultiGPU_WorkUnits.mdx b/built-in-nodes/MultiGPU_WorkUnits.mdx
index a3fa38fc7..195c4151a 100644
--- a/built-in-nodes/MultiGPU_WorkUnits.mdx
+++ b/built-in-nodes/MultiGPU_WorkUnits.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "MultiGPU_WorkUnits"
icon: "circle"
mode: wide
---
-# COMFYUI MultiGPU CFG Split Node
## Overview:
diff --git a/built-in-nodes/NAGuidance.mdx b/built-in-nodes/NAGuidance.mdx
index b6172b434..6a36dbd94 100644
--- a/built-in-nodes/NAGuidance.mdx
+++ b/built-in-nodes/NAGuidance.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "NAGuidance"
icon: "circle"
mode: wide
---
+
The NAGuidance node applies Normalized Attention Guidance to a model. This technique enables the use of negative prompts with distilled or schnell models by modifying the model's attention mechanism during the sampling process to steer the generation away from undesired concepts.
## Inputs
diff --git a/built-in-nodes/NormalizeImages.mdx b/built-in-nodes/NormalizeImages.mdx
index 63c8de05b..ee0f6eb15 100644
--- a/built-in-nodes/NormalizeImages.mdx
+++ b/built-in-nodes/NormalizeImages.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "NormalizeImages"
icon: "circle"
mode: wide
---
+
This node adjusts the pixel values of an input image using a mathematical normalization process. It subtracts a specified mean value from each pixel and then divides the result by a specified standard deviation. This is a common preprocessing step to prepare image data for other machine learning models.
## Inputs
diff --git a/built-in-nodes/NormalizeVideoLatentStart.mdx b/built-in-nodes/NormalizeVideoLatentStart.mdx
index 701bfc016..06c40b9a1 100644
--- a/built-in-nodes/NormalizeVideoLatentStart.mdx
+++ b/built-in-nodes/NormalizeVideoLatentStart.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "NormalizeVideoLatentStart"
icon: "circle"
mode: wide
---
+
This node adjusts the first few frames of a video latent to make them look more like the frames that come after. It calculates the average and variation from a set of reference frames later in the video and applies those same characteristics to the starting frames. This helps create a smoother and more consistent visual transition at the beginning of a video.
## Inputs
diff --git a/built-in-nodes/Note.mdx b/built-in-nodes/Note.mdx
index 20f5902f4..631a7aef4 100644
--- a/built-in-nodes/Note.mdx
+++ b/built-in-nodes/Note.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Note"
icon: "circle"
mode: wide
---
+
Node to add annotations to a workflow.
## Inputs
diff --git a/built-in-nodes/OpenAIChatConfig.mdx b/built-in-nodes/OpenAIChatConfig.mdx
index e8f6763b6..ea3a88147 100644
--- a/built-in-nodes/OpenAIChatConfig.mdx
+++ b/built-in-nodes/OpenAIChatConfig.mdx
@@ -5,23 +5,24 @@ sidebarTitle: "OpenAIChatConfig"
icon: "circle"
mode: wide
---
+
The OpenAIChatConfig node allows setting additional configuration options for the OpenAI Chat Node. It provides advanced settings that control how the model generates responses, including truncation behavior, output length limits, and custom instructions.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `truncation` | The truncation strategy to use for the model response. auto: If the context of this response and previous ones exceeds the model's context window size, the model will truncate the response to fit the context window by dropping input items in the middle of the conversation. disabled: If a model response will exceed the context window size for a model, the request will fail with a 400 error (default: "auto") | COMBO | Yes | `"auto"` `"disabled"` |
+|-----------|-------------|-----------|----------|-------|
+| `truncation` | The truncation strategy to use for the model response. auto: If the context of this response and previous ones exceeds the model's context window size, the model will truncate the response to fit the context window by dropping input items in the middle of the conversation. disabled: If a model response will exceed the context window size for a model, the request will fail with a 400 error (default: "auto") | STRING | Yes | "auto" "disabled" |
| `max_output_tokens` | An upper bound for the number of tokens that can be generated for a response, including visible output tokens (default: 4096) | INT | No | 16 to 16384 |
| `instructions` | Instructions for the model on how to generate the response (multiline input supported) | STRING | No | - |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `OPENAI_CHAT_CONFIG` | Configuration object containing the specified settings for use with OpenAI Chat Nodes | OPENAI_CHAT_CONFIG |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/OpenAIChatConfig/en.md)
---
-**Source fingerprint (SHA-256):** `f9ae6d3b2818ea37543156c2f209fc4d093e40e446907deb4be327ca0c9d70e1`
+**Source fingerprint (SHA-256):** `5690c4b6490b7fea3674e4c61dadce8dc7cdb49048d34b0b417b9e00c6f7ddb4`
diff --git a/built-in-nodes/OpenAIChatNode.mdx b/built-in-nodes/OpenAIChatNode.mdx
index 68e471e4a..7c002eefd 100644
--- a/built-in-nodes/OpenAIChatNode.mdx
+++ b/built-in-nodes/OpenAIChatNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "OpenAIChatNode"
icon: "circle"
mode: wide
---
+
This node generates text responses from an OpenAI model. It sends your text prompt (and optionally images or files) to an OpenAI model and returns the generated text response.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text inputs to the model, used to generate a response (default: empty) | STRING | Yes | - |
| `persist_context` | This parameter is deprecated and has no effect (default: False) | BOOLEAN | Yes | - |
| `model` | The model used to generate the response (default: `gpt-5`) | COMBO | Yes | `gpt-5.5-pro` `gpt-5.5` `gpt-5` `gpt-5-mini` `gpt-5-nano` `gpt-4.1` `gpt-4.1-mini` `gpt-4.1-nano` `o4-mini` `o3` `o1-pro` `o1` |
@@ -21,10 +22,10 @@ This node generates text responses from an OpenAI model. It sends your text prom
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output_text` | The text response generated by the OpenAI model | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/OpenAIChatNode/en.md)
---
-**Source fingerprint (SHA-256):** `9adc9685d7fc31fba95bf43fa9e041289b6dbb9ab8f5ed30dc85e0acc015fe5c`
+**Source fingerprint (SHA-256):** `517c4825fa1047fb7411f8c822a53f818c9559c94736874592f61d0bdcfea6b7`
diff --git a/built-in-nodes/OpenAIDalle2.mdx b/built-in-nodes/OpenAIDalle2.mdx
index 4e33e9b12..abb913dbd 100644
--- a/built-in-nodes/OpenAIDalle2.mdx
+++ b/built-in-nodes/OpenAIDalle2.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "OpenAIDalle2"
icon: "circle"
mode: wide
---
-# OpenAIDalle2
Generates images synchronously via OpenAI's DALL·E 2 endpoint.
diff --git a/built-in-nodes/OpenAIDalle3.mdx b/built-in-nodes/OpenAIDalle3.mdx
index 111bc6df9..70c50dcc7 100644
--- a/built-in-nodes/OpenAIDalle3.mdx
+++ b/built-in-nodes/OpenAIDalle3.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "OpenAIDalle3"
icon: "circle"
mode: wide
---
+
Generates images synchronously via OpenAI's DALL·E 3 endpoint. This node takes a text prompt and creates corresponding images using OpenAI's DALL·E 3 model, allowing you to specify image quality, style, and dimensions.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text prompt for DALL·E (default: "") | STRING | Yes | - |
| `seed` | Not implemented yet in backend (default: 0) | INT | No | 0 to 2147483647 |
| `quality` | Image quality (default: "standard") | COMBO | No | "standard" "hd" |
@@ -20,10 +21,10 @@ Generates images synchronously via OpenAI's DALL·E 3 endpoint. This node takes
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `IMAGE` | The generated image from DALL·E 3 | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/OpenAIDalle3/en.md)
---
-**Source fingerprint (SHA-256):** `f100a8564689c2c54cc5c22df554af7e5c166bd4f15bc9234bade4d0819a09dd`
+**Source fingerprint (SHA-256):** `9077628610503d8c0afdd04e30dadac46106bd577d10f2d7aa10864db4430605`
diff --git a/built-in-nodes/OpenAIGPTImage1.mdx b/built-in-nodes/OpenAIGPTImage1.mdx
index a06123b6b..3f22eee1b 100644
--- a/built-in-nodes/OpenAIGPTImage1.mdx
+++ b/built-in-nodes/OpenAIGPTImage1.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "OpenAIGPTImage1"
icon: "circle"
mode: wide
---
+
Generates images synchronously via OpenAI's GPT Image endpoint. This node can create new images from text prompts or edit existing images when provided with an input image and optional mask. It supports multiple GPT Image models, including gpt-image-1, gpt-image-1.5, and gpt-image-2.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text prompt for GPT Image (default: "") | STRING | Yes | - |
| `seed` | Random seed for generation (default: 0) - not implemented yet in backend | INT | No | 0 to 2147483647 |
| `quality` | Image quality, affects cost and generation time (default: "low") | COMBO | No | "low" "medium" "high" |
@@ -39,10 +40,10 @@ Generates images synchronously via OpenAI's GPT Image endpoint. This node can cr
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `IMAGE` | Generated or edited image(s) | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/OpenAIGPTImage1/en.md)
---
-**Source fingerprint (SHA-256):** `826d393831ee38e97dad3ea238877d0aeb5bf16778612c51cdc0ca4816efead2`
+**Source fingerprint (SHA-256):** `e7f460fccb6c372558f9a012632804a6047ee5be78b1fc3209f255a55fe13d7c`
diff --git a/built-in-nodes/OpenAIGPTImageNodeV2.mdx b/built-in-nodes/OpenAIGPTImageNodeV2.mdx
index 2bbe2c16c..e275b4aae 100644
--- a/built-in-nodes/OpenAIGPTImageNodeV2.mdx
+++ b/built-in-nodes/OpenAIGPTImageNodeV2.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "OpenAIGPTImageNodeV2"
icon: "circle"
mode: wide
---
+
## Overview
This node generates images using OpenAI's GPT Image API. It supports multiple models, allows you to provide input images for editing, and can use a mask to specify which parts of an image to modify.
@@ -42,4 +43,4 @@ This node generates images using OpenAI's GPT Image API. It supports multiple mo
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/OpenAIGPTImageNodeV2/en.md)
---
-**Source fingerprint (SHA-256):** `dcea500ebbbbfe87f8b0dd2d714cf2356edf2030312c2cc6e41d64bd2ad04ea6`
+**Source fingerprint (SHA-256):** `d0544a2d0f9e9cdd4b121bbf18eb6e43d508b2230e44dfa814649f6a4999e543`
diff --git a/built-in-nodes/OpenAIInputFiles.mdx b/built-in-nodes/OpenAIInputFiles.mdx
index 836dfdbff..5f3d1e7de 100644
--- a/built-in-nodes/OpenAIInputFiles.mdx
+++ b/built-in-nodes/OpenAIInputFiles.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "OpenAIInputFiles"
icon: "circle"
mode: wide
---
+
Loads and formats input files for the OpenAI API. This node prepares text (.txt) and PDF (.pdf) files to include as context inputs for the OpenAI Chat Node. The files will be read by the OpenAI model when generating a response. Multiple OpenAI Input Files nodes can be chained together to include several files in a single message.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `file` | Input files to include as context for the model. Only accepts text (.txt) and PDF (.pdf) files for now. Files must be smaller than 32MB. | COMBO | Yes | Multiple options available (all .txt and .pdf files in the input directory under 32MB) |
| `OPENAI_INPUT_FILES` | An optional additional file(s) to batch together with the file loaded from this node. Allows chaining of input files so that a single message can include multiple input files. | OPENAI_INPUT_FILES | No | N/A |
@@ -23,10 +24,10 @@ Loads and formats input files for the OpenAI API. This node prepares text (.txt)
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `OPENAI_INPUT_FILES` | Formatted input files ready to be used as context for OpenAI API calls. | OPENAI_INPUT_FILES |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/OpenAIInputFiles/en.md)
---
-**Source fingerprint (SHA-256):** `9e1a60feb48d39646c4247dd12b15c3eb392e1b85b3db2f254571d568d772de0`
+**Source fingerprint (SHA-256):** `6554e685184ced830ee27aa96efefc8bb9616bd0504685bdb643c715ebc6dd98`
diff --git a/built-in-nodes/OpenAIVideoSora2.mdx b/built-in-nodes/OpenAIVideoSora2.mdx
index 75578e21f..51819ff03 100644
--- a/built-in-nodes/OpenAIVideoSora2.mdx
+++ b/built-in-nodes/OpenAIVideoSora2.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "OpenAIVideoSora2"
icon: "circle"
mode: wide
---
+
The OpenAIVideoSora2 node generates videos using OpenAI's Sora models. It creates video content based on text prompts and optional input images, then returns the generated video output. The node supports different video durations and resolutions depending on the selected model.
**DEPRECATION NOTICE:** OpenAI will stop serving the Sora v2 API in September 2026. This node will be removed from ComfyUI at that time.
@@ -35,4 +36,4 @@ The OpenAIVideoSora2 node generates videos using OpenAI's Sora models. It create
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/OpenAIVideoSora2/en.md)
---
-**Source fingerprint (SHA-256):** `b632ef33ca5f01a7aed780a9eeea9b2fcbf4ab85ccb8f026e6175ceaafbda47b`
+**Source fingerprint (SHA-256):** `132b98ce6473c7870053800bc2886293ab88292f40327e541fc053cdcc2f36cd`
diff --git a/built-in-nodes/OpenRouterLLMNode.mdx b/built-in-nodes/OpenRouterLLMNode.mdx
index c433830fe..ddbb97f7b 100644
--- a/built-in-nodes/OpenRouterLLMNode.mdx
+++ b/built-in-nodes/OpenRouterLLMNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "OpenRouterLLMNode"
icon: "circle"
mode: wide
---
+
## Overview
The OpenRouter LLM node sends a text prompt to a curated set of popular language models available through the OpenRouter service and returns the generated text response. It supports models from providers like xAI, DeepSeek, Qwen, Mistral, Z.AI (GLM), Moonshot (Kimi), and Perplexity Sonar, and can optionally include images or videos in the request.
@@ -12,7 +13,7 @@ The OpenRouter LLM node sends a text prompt to a curated set of popular language
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text input to the model. | STRING | Yes | N/A |
| `model` | The OpenRouter model used to generate the response. | STRING | Yes | Multiple options available (see note below) |
| `seed` | Seed for sampling. Set to 0 to omit. Most models treat this as a hint only. (default: 0) | INT | Yes | 0 to 2147483647 |
@@ -24,13 +25,15 @@ The OpenRouter LLM node sends a text prompt to a curated set of popular language
**Note on `system_prompt`:** This parameter is optional and is marked as an advanced parameter in the user interface.
+**Note on image and video constraints:** Some models support image and video inputs. The maximum number of images and videos allowed depends on the selected model. The node will raise an error if the number of images or videos exceeds the model's limit.
+
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated text response from the OpenRouter model. | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/OpenRouterLLMNode/en.md)
---
-**Source fingerprint (SHA-256):** `24757e36bf2356cc1805a6f071db88ca455e17944695672f19845a4cd1826c8a`
+**Source fingerprint (SHA-256):** `d6a807299f476427edfb67b756bb88a6678f6f3fcaf79d20e934f02caf72cb6c`
diff --git a/built-in-nodes/OpticalFlowLoader.mdx b/built-in-nodes/OpticalFlowLoader.mdx
index 27b291dc1..2fe15437f 100644
--- a/built-in-nodes/OpticalFlowLoader.mdx
+++ b/built-in-nodes/OpticalFlowLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "OpticalFlowLoader"
icon: "circle"
mode: wide
---
+
## Overview
Loads an optical flow model from the `models/optical_flow/` folder. Currently, only torchvision's RAFT-large format is supported, which is the model used by the VOIDWarpedNoise node. ComfyUI does not download optical flow weights automatically; you must place the checkpoint file manually in the `models/optical_flow/` directory.
diff --git a/built-in-nodes/OptimalStepsScheduler.mdx b/built-in-nodes/OptimalStepsScheduler.mdx
index cb7889bff..8d9112c76 100644
--- a/built-in-nodes/OptimalStepsScheduler.mdx
+++ b/built-in-nodes/OptimalStepsScheduler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "OptimalStepsScheduler"
icon: "circle"
mode: wide
---
+
The OptimalStepsScheduler node calculates noise schedule sigmas for diffusion models based on the selected model type and step configuration. It adjusts the total number of steps according to the denoise parameter and interpolates the noise levels to match the requested step count. The node returns a sequence of sigma values that determine the noise levels used during the diffusion sampling process.
## Inputs
diff --git a/built-in-nodes/Painter.mdx b/built-in-nodes/Painter.mdx
index 94a4f50d3..f68d66f0e 100644
--- a/built-in-nodes/Painter.mdx
+++ b/built-in-nodes/Painter.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Painter"
icon: "circle"
mode: wide
---
+
The Painter node provides an interactive canvas for creating or editing images and masks directly within ComfyUI. It allows you to start with a blank canvas or an existing image, paint on it using a brush tool, and outputs both the resulting image and a corresponding alpha mask. The mask defines the painted areas, which are then composited over the base image or background color.
## Inputs
diff --git a/built-in-nodes/PairConditioningCombine.mdx b/built-in-nodes/PairConditioningCombine.mdx
index c621f2dd5..de7ed22e1 100644
--- a/built-in-nodes/PairConditioningCombine.mdx
+++ b/built-in-nodes/PairConditioningCombine.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PairConditioningCombine"
icon: "circle"
mode: wide
---
+
The PairConditioningCombine node merges two separate conditioning pairs (each consisting of a positive and negative conditioning) into a single combined pair. It takes the positive and negative conditioning from two different sources and combines them using ComfyUI's internal logic, outputting one final positive and one final negative conditioning. This node is experimental and designed for advanced conditioning manipulation workflows.
## Inputs
diff --git a/built-in-nodes/PairConditioningSetDefaultAndCombine.mdx b/built-in-nodes/PairConditioningSetDefaultAndCombine.mdx
index 75d6a59bf..25c5f41dd 100644
--- a/built-in-nodes/PairConditioningSetDefaultAndCombine.mdx
+++ b/built-in-nodes/PairConditioningSetDefaultAndCombine.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PairConditioningSetDefaultAndCombine"
icon: "circle"
mode: wide
---
+
The **PairConditioningSetDefaultAndCombine** node sets default conditioning values and combines them with input conditioning data. It takes positive and negative conditioning inputs along with their default counterparts, then processes them through ComfyUI's hook system to produce final conditioning outputs that incorporate the default values.
## Inputs
diff --git a/built-in-nodes/PairConditioningSetProperties.mdx b/built-in-nodes/PairConditioningSetProperties.mdx
index 1d24eaa8e..c75486259 100644
--- a/built-in-nodes/PairConditioningSetProperties.mdx
+++ b/built-in-nodes/PairConditioningSetProperties.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PairConditioningSetProperties"
icon: "circle"
mode: wide
---
+
The **PairConditioningSetProperties** node allows you to modify properties of both positive and negative conditioning pairs at the same time. It applies strength adjustments, conditioning area settings, and optional masking or timing controls to both conditioning inputs, returning the modified positive and negative conditioning data.
## Inputs
diff --git a/built-in-nodes/PairConditioningSetPropertiesAndCombine.mdx b/built-in-nodes/PairConditioningSetPropertiesAndCombine.mdx
index 47230da37..ce79d7b5f 100644
--- a/built-in-nodes/PairConditioningSetPropertiesAndCombine.mdx
+++ b/built-in-nodes/PairConditioningSetPropertiesAndCombine.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PairConditioningSetPropertiesAndCombine"
icon: "circle"
mode: wide
---
+
The PairConditioningSetPropertiesAndCombine node modifies and combines conditioning pairs by applying new conditioning data to existing positive and negative conditioning inputs. It allows you to adjust the strength of the applied conditioning and control how the conditioning area is set. This node is particularly useful for advanced conditioning manipulation workflows where you need to blend multiple conditioning sources together.
## Inputs
diff --git a/built-in-nodes/PatchModelAddDownscale.mdx b/built-in-nodes/PatchModelAddDownscale.mdx
index d1d82d13b..32306c150 100644
--- a/built-in-nodes/PatchModelAddDownscale.mdx
+++ b/built-in-nodes/PatchModelAddDownscale.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PatchModelAddDownscale"
icon: "circle"
mode: wide
---
+
The PatchModelAddDownscale node implements Kohya Deep Shrink functionality by applying downscaling and upscaling operations to specific blocks in a model. It reduces the resolution of intermediate features during processing and then restores them to their original size, which can improve performance while maintaining quality. The node allows precise control over when and how these scaling operations occur during the model's execution.
## Inputs
diff --git a/built-in-nodes/PerpNeg.mdx b/built-in-nodes/PerpNeg.mdx
index 372e558cf..f23a0a615 100644
--- a/built-in-nodes/PerpNeg.mdx
+++ b/built-in-nodes/PerpNeg.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PerpNeg"
icon: "circle"
mode: wide
---
+
The PerpNeg node applies perpendicular negative guidance to a model's sampling process. This node modifies the model's configuration function to adjust noise predictions using negative conditioning and scaling factors. It has been deprecated and replaced by the PerpNegGuider node for improved functionality.
## Inputs
diff --git a/built-in-nodes/PerpNegGuider.mdx b/built-in-nodes/PerpNegGuider.mdx
index b31a27310..8c7854d4c 100644
--- a/built-in-nodes/PerpNegGuider.mdx
+++ b/built-in-nodes/PerpNegGuider.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PerpNegGuider"
icon: "circle"
mode: wide
---
+
The PerpNegGuider node creates a guidance system for controlling image generation using perpendicular negative conditioning. It takes positive, negative, and empty conditioning inputs and applies a specialized guidance algorithm that computes all three noise predictions in a single batch for efficiency. This node is designed for experimental testing and provides fine control over the guidance strength and negative scaling.
## Inputs
diff --git a/built-in-nodes/PerturbedAttentionGuidance.mdx b/built-in-nodes/PerturbedAttentionGuidance.mdx
index 20e2e46ae..f4472fc47 100644
--- a/built-in-nodes/PerturbedAttentionGuidance.mdx
+++ b/built-in-nodes/PerturbedAttentionGuidance.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PerturbedAttentionGuidance"
icon: "circle"
mode: wide
---
+
The PerturbedAttentionGuidance node applies perturbed attention guidance to a diffusion model to enhance generation quality. It modifies the model's self-attention mechanism during sampling by replacing it with a simplified version that focuses on value projections. This technique helps improve the coherence and quality of generated images by adjusting the conditional denoising process.
## Inputs
diff --git a/built-in-nodes/PhotoMakerEncode.mdx b/built-in-nodes/PhotoMakerEncode.mdx
index 92e2257d0..a74d6ccc1 100644
--- a/built-in-nodes/PhotoMakerEncode.mdx
+++ b/built-in-nodes/PhotoMakerEncode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PhotoMakerEncode"
icon: "circle"
mode: wide
---
+
The PhotoMakerEncode node processes a reference image and a text prompt to generate conditioning data for AI image generation. It uses the PhotoMaker model to combine visual characteristics from the image with text embeddings, specifically looking for the "photomaker" token in the text to determine where to apply the image-based conditioning.
## Inputs
diff --git a/built-in-nodes/PhotoMakerLoader.mdx b/built-in-nodes/PhotoMakerLoader.mdx
index 42aa2f34f..70be667b8 100644
--- a/built-in-nodes/PhotoMakerLoader.mdx
+++ b/built-in-nodes/PhotoMakerLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PhotoMakerLoader"
icon: "circle"
mode: wide
---
+
The PhotoMakerLoader node loads a PhotoMaker model from the available model files. It reads the specified model file and prepares the PhotoMaker ID encoder for use in identity-based image generation tasks. This node is marked as experimental and is intended for testing purposes.
## Inputs
diff --git a/built-in-nodes/PiDConditioning.mdx b/built-in-nodes/PiDConditioning.mdx
index 3693d9af9..62c97ef9a 100644
--- a/built-in-nodes/PiDConditioning.mdx
+++ b/built-in-nodes/PiDConditioning.mdx
@@ -5,26 +5,25 @@ sidebarTitle: "PiDConditioning"
icon: "circle"
mode: wide
---
-## Overview
Attaches a latent image and a degrade sigma value to a CONDITIONING data. This is used for PiD (Pixel-in-Detail) decoding or upscaling, allowing you to control how much the latent is degraded before processing.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `positive` | The conditioning data to attach the latent and degrade sigma to. | CONDITIONING | Yes | - |
| `latent` | The latent image (from VAEEncode or a KSampler) to attach to the conditioning. | LATENT | Yes | - |
-| `latent_format` | The format of the latent. Flux1 and Flux2 latents are auto-detected from the channel dimension. SD3 must be selected manually (default: "flux"). | COMBO | Yes | `"flux"` `"sd3"` |
+| `latent_format` | The format of the latent. Flux1 (16-ch) and Flux2 (128-ch) latents are auto-detected from the channel dimension under "flux". For SD3 (16-ch), SDXL (4-ch), or QwenImage (16-ch), select manually (default: "flux"). | COMBO | Yes | `"flux"` `"sd3"` `"sdxl"` `"qwenimage"` |
| `degrade_sigma` | The amount of degradation to apply. 0 means a clean latent. Increase this value to denoise corrupted latent outputs (default: 0.0). | FLOAT | Yes | 0.0 to 1.0 (step: 0.01) |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `CONDITIONING` | The original conditioning data with the latent and degrade sigma values attached. | CONDITIONING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/PiDConditioning/en.md)
---
-**Source fingerprint (SHA-256):** `7c8de543629c2299fc2c1e035e433dfc249af594773a77e65c69dde67eb104d7`
+**Source fingerprint (SHA-256):** `5785e2edc3c49006bf6b9faa2f245ea5e0e0f3540306dba015a843b06a48ff92`
diff --git a/built-in-nodes/PikaImageToVideoNode2_2.mdx b/built-in-nodes/PikaImageToVideoNode2_2.mdx
index e16b5cec0..a26a84eed 100644
--- a/built-in-nodes/PikaImageToVideoNode2_2.mdx
+++ b/built-in-nodes/PikaImageToVideoNode2_2.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PikaImageToVideoNode2_2"
icon: "circle"
mode: wide
---
+
The Pika Image to Video node sends an image and text prompt to the Pika API version 2.2 to generate a video. It converts your input image into video format based on the provided description and settings. The node handles the API communication and returns the generated video as output.
## Inputs
diff --git a/built-in-nodes/PikaScenesV2_2.mdx b/built-in-nodes/PikaScenesV2_2.mdx
index 9581ad5d2..25cfde360 100644
--- a/built-in-nodes/PikaScenesV2_2.mdx
+++ b/built-in-nodes/PikaScenesV2_2.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PikaScenesV2_2"
icon: "circle"
mode: wide
---
+
The PikaScenes v2.2 node combines multiple images to create a video that incorporates objects from all the input images. You can upload up to five different images as ingredients and generate a high-quality video that blends them together seamlessly.
## Inputs
diff --git a/built-in-nodes/PikaStartEndFrameNode2_2.mdx b/built-in-nodes/PikaStartEndFrameNode2_2.mdx
index 3dbabd541..49368394e 100644
--- a/built-in-nodes/PikaStartEndFrameNode2_2.mdx
+++ b/built-in-nodes/PikaStartEndFrameNode2_2.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PikaStartEndFrameNode2_2"
icon: "circle"
mode: wide
---
+
The PikaFrames v2.2 Node generates a video by combining your first and last frame. You upload two images to define the start and end points, and the AI creates a smooth transition between them to produce a complete video.
## Inputs
diff --git a/built-in-nodes/PikaTextToVideoNode2_2.mdx b/built-in-nodes/PikaTextToVideoNode2_2.mdx
index 5d7e78837..51657167f 100644
--- a/built-in-nodes/PikaTextToVideoNode2_2.mdx
+++ b/built-in-nodes/PikaTextToVideoNode2_2.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PikaTextToVideoNode2_2"
icon: "circle"
mode: wide
---
+
The Pika Text2Video v2.2 Node sends a text prompt to the Pika API version 2.2 to generate a video. It converts your text description into a video using Pika's AI video generation service. The node allows you to customize various aspects of the video generation process including aspect ratio, duration, and resolution.
## Inputs
diff --git a/built-in-nodes/Pikadditions.mdx b/built-in-nodes/Pikadditions.mdx
index 2d6e41609..72277977f 100644
--- a/built-in-nodes/Pikadditions.mdx
+++ b/built-in-nodes/Pikadditions.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Pikadditions"
icon: "circle"
mode: wide
---
+
The Pikadditions node allows you to add any object or image into your video. You upload a video and specify what you'd like to add to create a seamlessly integrated result. This node uses the Pika API to insert images into videos with natural-looking integration.
## Inputs
diff --git a/built-in-nodes/Pikaffects.mdx b/built-in-nodes/Pikaffects.mdx
index d3db72cf4..c08fea7a4 100644
--- a/built-in-nodes/Pikaffects.mdx
+++ b/built-in-nodes/Pikaffects.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Pikaffects"
icon: "circle"
mode: wide
---
+
The Pikaffects node generates videos with various visual effects applied to an input image. It uses Pika's video generation API to transform static images into animated videos with specific effects like melting, exploding, or levitating. The node requires an API key and authentication token to access the Pika service.
## Inputs
diff --git a/built-in-nodes/Pikaswaps.mdx b/built-in-nodes/Pikaswaps.mdx
index 59c43a53d..3dbb1be28 100644
--- a/built-in-nodes/Pikaswaps.mdx
+++ b/built-in-nodes/Pikaswaps.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Pikaswaps"
icon: "circle"
mode: wide
---
+
The Pika Swaps node replaces objects or regions in your video with a new image. You define the areas to replace using a mask, and the node seamlessly swaps the specified content throughout the video sequence.
## Inputs
diff --git a/built-in-nodes/PixverseImageToVideoNode.mdx b/built-in-nodes/PixverseImageToVideoNode.mdx
index 6443b0a03..e87b0dde1 100644
--- a/built-in-nodes/PixverseImageToVideoNode.mdx
+++ b/built-in-nodes/PixverseImageToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "PixverseImageToVideoNode"
icon: "circle"
mode: wide
---
+
Generates videos based on an input image and text prompt. This node takes an image and creates an animated video by applying the specified motion and quality settings to transform the static image into a moving sequence.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | Input image to transform into video | IMAGE | Yes | - |
| `prompt` | Prompt for the video generation | STRING | Yes | - |
| `quality` | Video quality setting (default: res_540p) | COMBO | Yes | `res_540p` `res_1080p` |
@@ -25,10 +26,10 @@ Generates videos based on an input image and text prompt. This node takes an ima
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | Generated video based on the input image and parameters | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/PixverseImageToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `4ca1624efc87e87de75c33aab850c84a0c8c786229930695fce479fe50455cb0`
+**Source fingerprint (SHA-256):** `e95db00401aaa81959a93b2111b6395e3ff34baf55857dc3453a174328012a82`
diff --git a/built-in-nodes/PixverseTemplateNode.mdx b/built-in-nodes/PixverseTemplateNode.mdx
index c70a35bab..803fb72e8 100644
--- a/built-in-nodes/PixverseTemplateNode.mdx
+++ b/built-in-nodes/PixverseTemplateNode.mdx
@@ -5,21 +5,22 @@ sidebarTitle: "PixverseTemplateNode"
icon: "circle"
mode: wide
---
+
The PixVerse Template node allows you to select from available templates for PixVerse video generation. It converts your selected template name into the corresponding template ID that the PixVerse API requires for video creation.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `template` | The template to use for PixVerse video generation. The available options correspond to predefined templates in the PixVerse system. | STRING | Yes | Multiple options available |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `pixverse_template` | The template ID corresponding to the selected template name, which can be used by other PixVerse nodes for video generation. | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/PixverseTemplateNode/en.md)
---
-**Source fingerprint (SHA-256):** `34daaf036f28b676b1048e8e4174ab34bf69328a94dd9e51696f6298936b4e84`
+**Source fingerprint (SHA-256):** `618f9203127c55e8b65802fe3711c6d7c7dc6b631e9050f9685419c1b23bc138`
diff --git a/built-in-nodes/PixverseTextToVideoNode.mdx b/built-in-nodes/PixverseTextToVideoNode.mdx
index e30872b4d..fd48e93d6 100644
--- a/built-in-nodes/PixverseTextToVideoNode.mdx
+++ b/built-in-nodes/PixverseTextToVideoNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "PixverseTextToVideoNode"
icon: "circle"
mode: wide
---
+
Generates videos based on a text prompt and various generation parameters. This node creates video content using the PixVerse API, allowing control over aspect ratio, quality, duration, motion style, and more.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the video generation (default: "") | STRING | Yes | - |
| `aspect_ratio` | Aspect ratio for the generated video | COMBO | Yes | `"16:9"` `"9:16"` `"1:1"` |
| `quality` | Video quality setting (default: "540p") | COMBO | Yes | `"540p"` `"1080p"` |
@@ -25,10 +26,10 @@ Generates videos based on a text prompt and various generation parameters. This
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video file | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/PixverseTextToVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `dd065e218e3e8ca3d70b58f4d8afdecc33094635663c87f79467452ca47881c7`
+**Source fingerprint (SHA-256):** `9b0bf0d863243b5a9840c21c7f82caea32d30395a22290e323b63d86eabd0721`
diff --git a/built-in-nodes/PixverseTransitionVideoNode.mdx b/built-in-nodes/PixverseTransitionVideoNode.mdx
index 25734c702..5af3a9d28 100644
--- a/built-in-nodes/PixverseTransitionVideoNode.mdx
+++ b/built-in-nodes/PixverseTransitionVideoNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PixverseTransitionVideoNode"
icon: "circle"
mode: wide
---
+
Generates a transition video between two input images using the PixVerse API. You provide a starting image and an ending image, and the node creates a smooth video that transitions from one to the other, guided by your text prompt and chosen settings.
## Inputs
@@ -31,4 +32,4 @@ Generates a transition video between two input images using the PixVerse API. Yo
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/PixverseTransitionVideoNode/en.md)
---
-**Source fingerprint (SHA-256):** `941ba26ffdd5cc93d800066ccd75adc4ccdb9a1c9f93ae0ccd28a11ba5f3c567`
+**Source fingerprint (SHA-256):** `dca56852dc24e6bc9f011888495952beed16b4dcc8995bb8d35e3b6a421933d9`
diff --git a/built-in-nodes/PolyexponentialScheduler.mdx b/built-in-nodes/PolyexponentialScheduler.mdx
index 245df9817..8c4a3fb67 100644
--- a/built-in-nodes/PolyexponentialScheduler.mdx
+++ b/built-in-nodes/PolyexponentialScheduler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PolyexponentialScheduler"
icon: "circle"
mode: wide
---
+
The PolyexponentialScheduler node is designed to generate a sequence of noise levels (sigmas) based on a polyexponential noise schedule. This schedule is a polynomial function in the logarithm of sigma, allowing for a flexible and customizable progression of noise levels throughout the diffusion process.
## Inputs
diff --git a/built-in-nodes/PorterDuffImageComposite.mdx b/built-in-nodes/PorterDuffImageComposite.mdx
index ae2a68d0d..56e444382 100644
--- a/built-in-nodes/PorterDuffImageComposite.mdx
+++ b/built-in-nodes/PorterDuffImageComposite.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PorterDuffImageComposite"
icon: "circle"
mode: wide
---
+
The PorterDuffImageComposite node is designed to perform image compositing using the Porter-Duff compositing operators. It allows for the combination of source and destination images according to various blending modes, enabling the creation of complex visual effects by manipulating image transparency and overlaying images in creative ways.
## Inputs
diff --git a/built-in-nodes/Preview3D.mdx b/built-in-nodes/Preview3D.mdx
index 2c34b3087..96c7893c8 100644
--- a/built-in-nodes/Preview3D.mdx
+++ b/built-in-nodes/Preview3D.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Preview3D"
icon: "circle"
mode: wide
---
+
Preview3D node is mainly used to preview 3D model outputs. This node takes two inputs: one is the `camera_info` from the Load3D node, and the other is the path to the 3D model file. The model file path must be located in the `ComfyUI/output` folder.
**Supported Formats**
diff --git a/built-in-nodes/Preview3DAdvanced.mdx b/built-in-nodes/Preview3DAdvanced.mdx
index 179b8f8a7..f0f6cd315 100644
--- a/built-in-nodes/Preview3DAdvanced.mdx
+++ b/built-in-nodes/Preview3DAdvanced.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "Preview3DAdvanced"
icon: "circle"
mode: wide
---
-# Preview 3D (Advanced)
This node provides an advanced 3D model preview with camera and model information output. It saves the 3D model to a temporary file and displays it in the UI, while also passing through the model data, camera information, and viewport dimensions for further processing downstream.
diff --git a/built-in-nodes/Preview3DAnimation.mdx b/built-in-nodes/Preview3DAnimation.mdx
index 741a58fd2..978b7e957 100644
--- a/built-in-nodes/Preview3DAnimation.mdx
+++ b/built-in-nodes/Preview3DAnimation.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Preview3DAnimation"
icon: "circle"
mode: wide
---
+
Preview3DAnimation node is mainly used to preview 3D model outputs. This node takes two inputs: one is the `camera_info` from the Load3D node, and the other is the path to the 3D model file. The model file path must be located in the `ComfyUI/output` folder.
**Supported Formats**
diff --git a/built-in-nodes/PreviewAny.mdx b/built-in-nodes/PreviewAny.mdx
index 15e1a661b..28e756e33 100644
--- a/built-in-nodes/PreviewAny.mdx
+++ b/built-in-nodes/PreviewAny.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PreviewAny"
icon: "circle"
mode: wide
---
+
The PreviewAny node displays a preview of any input data type in text format. It accepts any data type as input and converts it to a readable string representation for viewing. The node automatically handles different data types including strings, numbers, booleans, and complex objects by attempting to serialize them to JSON format.
## Inputs
diff --git a/built-in-nodes/PreviewAudio.mdx b/built-in-nodes/PreviewAudio.mdx
index 0b0739962..df9951001 100644
--- a/built-in-nodes/PreviewAudio.mdx
+++ b/built-in-nodes/PreviewAudio.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PreviewAudio"
icon: "circle"
mode: wide
---
+
The PreviewAudio node creates a temporary audio preview that can be played directly in the interface. It takes audio data as input and generates a preview widget, allowing users to listen to audio outputs without saving permanent files.
## Inputs
diff --git a/built-in-nodes/PreviewGaussianSplat.mdx b/built-in-nodes/PreviewGaussianSplat.mdx
index 59fffef36..269641064 100644
--- a/built-in-nodes/PreviewGaussianSplat.mdx
+++ b/built-in-nodes/PreviewGaussianSplat.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "PreviewGaussianSplat"
icon: "circle"
mode: wide
---
-# PreviewGaussianSplat
The PreviewGaussianSplat node allows you to preview a 3D gaussian splat file within the ComfyUI interface. It accepts a 3D model file in various gaussian splat formats and renders it in a 3D preview window, passing through the model data for further processing.
diff --git a/built-in-nodes/PreviewImage.mdx b/built-in-nodes/PreviewImage.mdx
index 7997240e5..16cca7eea 100644
--- a/built-in-nodes/PreviewImage.mdx
+++ b/built-in-nodes/PreviewImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PreviewImage"
icon: "circle"
mode: wide
---
+
The PreviewImage node is designed for creating temporary preview images. It automatically generates a unique temporary file name for each image, compresses the image to a specified level, and saves it to a temporary directory. This functionality is particularly useful for generating previews of images during processing without affecting the original files.
## Inputs
diff --git a/built-in-nodes/PreviewPointCloud.mdx b/built-in-nodes/PreviewPointCloud.mdx
index 13c60e9cf..4cff874b6 100644
--- a/built-in-nodes/PreviewPointCloud.mdx
+++ b/built-in-nodes/PreviewPointCloud.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "PreviewPointCloud"
icon: "circle"
mode: wide
---
-# Preview Point Cloud
The Preview Point Cloud node allows you to view a 3D point cloud file within the ComfyUI interface. It saves the point cloud to a temporary file and displays it in a 3D preview window, passing through the model data and viewport settings for further processing.
diff --git a/built-in-nodes/PrimitiveBoolean.mdx b/built-in-nodes/PrimitiveBoolean.mdx
index dc8f9db2f..f902007b3 100644
--- a/built-in-nodes/PrimitiveBoolean.mdx
+++ b/built-in-nodes/PrimitiveBoolean.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PrimitiveBoolean"
icon: "circle"
mode: wide
---
+
The Boolean node provides a simple way to pass boolean (true/false) values through your workflow. It takes a boolean input value and outputs the same value unchanged, allowing you to control boolean parameters in other nodes.
## Inputs
diff --git a/built-in-nodes/PrimitiveBoundingBox.mdx b/built-in-nodes/PrimitiveBoundingBox.mdx
index 8df0abb6e..1b8261ffd 100644
--- a/built-in-nodes/PrimitiveBoundingBox.mdx
+++ b/built-in-nodes/PrimitiveBoundingBox.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PrimitiveBoundingBox"
icon: "circle"
mode: wide
---
+
The PrimitiveBoundingBox node creates a simple rectangular area defined by its position and size. It takes X and Y coordinates for the top-left corner, along with width and height values, and outputs a bounding box data structure that can be used by other nodes in a workflow.
## Inputs
diff --git a/built-in-nodes/PrimitiveFloat.mdx b/built-in-nodes/PrimitiveFloat.mdx
index 7fd5fc2a2..e0408ecbc 100644
--- a/built-in-nodes/PrimitiveFloat.mdx
+++ b/built-in-nodes/PrimitiveFloat.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PrimitiveFloat"
icon: "circle"
mode: wide
---
+
The PrimitiveFloat node creates a floating-point number value that can be used in your workflow. It takes a single numeric input and outputs that same value, allowing you to define and pass float values between different nodes in your ComfyUI pipeline.
## Inputs
diff --git a/built-in-nodes/PrimitiveInt.mdx b/built-in-nodes/PrimitiveInt.mdx
index 14b432194..e6bab1f57 100644
--- a/built-in-nodes/PrimitiveInt.mdx
+++ b/built-in-nodes/PrimitiveInt.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PrimitiveInt"
icon: "circle"
mode: wide
---
+
The PrimitiveInt node provides a simple way to work with integer values in your workflow. It takes an integer input and outputs the same value, making it useful for passing integer parameters between nodes or setting specific numeric values for other operations.
## Inputs
diff --git a/built-in-nodes/PrimitiveString.mdx b/built-in-nodes/PrimitiveString.mdx
index ebe3f0974..737247b06 100644
--- a/built-in-nodes/PrimitiveString.mdx
+++ b/built-in-nodes/PrimitiveString.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PrimitiveString"
icon: "circle"
mode: wide
---
+
The String node provides a simple way to input and pass through text data in your workflow. It takes a text string as input and outputs the same string unchanged, making it useful for providing text inputs to other nodes that require string parameters.
## Inputs
diff --git a/built-in-nodes/PrimitiveStringMultiline.mdx b/built-in-nodes/PrimitiveStringMultiline.mdx
index 1b5b45221..791ce07e9 100644
--- a/built-in-nodes/PrimitiveStringMultiline.mdx
+++ b/built-in-nodes/PrimitiveStringMultiline.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "PrimitiveStringMultiline"
icon: "circle"
mode: wide
---
+
The PrimitiveStringMultiline node provides a multiline text input field for entering and passing string values through your workflow. It accepts text input with multiple lines and outputs the same string value unchanged. This node is useful when you need to input longer text content or formatted text that spans multiple lines.
## Inputs
diff --git a/built-in-nodes/QuadrupleCLIPLoader.mdx b/built-in-nodes/QuadrupleCLIPLoader.mdx
index fe48df587..252c46f32 100644
--- a/built-in-nodes/QuadrupleCLIPLoader.mdx
+++ b/built-in-nodes/QuadrupleCLIPLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "QuadrupleCLIPLoader"
icon: "circle"
mode: wide
---
+
The Quadruple CLIP Loader, QuadrupleCLIPLoader, is one of the core nodes of ComfyUI, first added to support the HiDream I1 version model. If you find this node missing, try updating ComfyUI to the latest version to ensure node support.
It requires 4 CLIP models, corresponding to the parameters `clip_name1`, `clip_name2`, `clip_name3`, and `clip_name4`, and will provide a CLIP model output for subsequent nodes.
diff --git a/built-in-nodes/QuiverImageToSVGNode.mdx b/built-in-nodes/QuiverImageToSVGNode.mdx
index e403742d0..ca7bb9f99 100644
--- a/built-in-nodes/QuiverImageToSVGNode.mdx
+++ b/built-in-nodes/QuiverImageToSVGNode.mdx
@@ -5,24 +5,25 @@ sidebarTitle: "QuiverImageToSVGNode"
icon: "circle"
mode: wide
---
+
This node converts a raster image into a scalable vector graphic (SVG) using Quiver AI's vectorization models. It sends the image to an external API which processes it and returns the vectorized result.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | Input image to vectorize. | IMAGE | Yes | N/A |
-| `auto_crop` | Automatically crop to the dominant subject. This is an advanced parameter (default: `False`). | BOOLEAN | No | `True` `False` |
+| `auto_crop` | Automatically crop to the dominant subject (default: False). | BOOLEAN | No | True False |
| `model` | Model to use for SVG vectorization. Selecting a model reveals additional parameters specific to that model: `target_size` (square resize target in pixels, default: 1024, range: 128-4096), `temperature`, `top_p`, and `presence_penalty`. | DYNAMICCOMBO | Yes | Multiple options available |
| `seed` | Seed to determine if the node should re-run; the actual results are nondeterministic regardless of the seed value. This parameter has "control after generate" functionality (default: 0). | INT | No | 0 to 2147483647 |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `SVG` | The vectorized SVG output. | SVG |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/QuiverImageToSVGNode/en.md)
---
-**Source fingerprint (SHA-256):** `f2e411bd3ed235d04a94cb3e5c26990eb30404c3329e9c91e705d3039d2d8089`
+**Source fingerprint (SHA-256):** `178655d7b92a5b6823eefc2e75952fc8a12128da68786ba60bcfca1c7b464147`
diff --git a/built-in-nodes/QuiverTextToSVGNode.mdx b/built-in-nodes/QuiverTextToSVGNode.mdx
index 7cc6ce9fa..945ffe325 100644
--- a/built-in-nodes/QuiverTextToSVGNode.mdx
+++ b/built-in-nodes/QuiverTextToSVGNode.mdx
@@ -5,16 +5,17 @@ sidebarTitle: "QuiverTextToSVGNode"
icon: "circle"
mode: wide
---
+
The Quiver Text to SVG node generates a Scalable Vector Graphic (SVG) image from a text description using Quiver AI's models. You can optionally provide reference images and style instructions to guide the generation process.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text description of the desired SVG output. This is the main instruction for what to generate. | STRING | Yes | N/A |
| `instructions` | Additional style or formatting guidance. This is an optional, advanced parameter. | STRING | No | N/A |
| `reference_images` | Up to 4 reference images to guide the generation. This is an optional input. | IMAGE | No | 0 to 4 images |
-| `model` | Model to use for SVG generation. The available options are determined by the Quiver API. | COMBO | Yes | `"Quiver SVG v1"` `"Quiver SVG v1 Max"` `"Quiver SVG v1 Preview"` |
+| `model` | Model to use for SVG generation. | COMBO | Yes | `"Quiver SVG v1"` `"Quiver SVG v1 Max"` `"Quiver SVG v1 Preview"` |
| `seed` | Seed to determine if node should re-run; actual results are nondeterministic regardless of seed. Default: 0. | INT | Yes | 0 to 2147483647 |
**Note:** The `reference_images` input accepts a maximum of 4 images. If more are provided, the node will raise an error.
@@ -22,10 +23,10 @@ The Quiver Text to SVG node generates a Scalable Vector Graphic (SVG) image from
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `SVG` | The generated Scalable Vector Graphic (SVG) image. | SVG |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/QuiverTextToSVGNode/en.md)
---
-**Source fingerprint (SHA-256):** `dd5edd1be1c3cfd4b651896a1b020da7005f72097e0dcf09b947be0b771b8756`
+**Source fingerprint (SHA-256):** `68401d15367a78fa9349a72c18572994ae1615983ddfe04b4f744695057f2a94`
diff --git a/built-in-nodes/QwenImageDiffsynthControlnet.mdx b/built-in-nodes/QwenImageDiffsynthControlnet.mdx
index 8d76ea88d..d14774241 100644
--- a/built-in-nodes/QwenImageDiffsynthControlnet.mdx
+++ b/built-in-nodes/QwenImageDiffsynthControlnet.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "QwenImageDiffsynthControlnet"
icon: "circle"
mode: wide
---
+
The QwenImageDiffsynthControlnet node applies a diffusion synthesis control network patch to modify a base model's behavior. It uses an image input and optional mask to guide the model's generation process with adjustable strength, creating a patched model that incorporates the control network's influence for more controlled image synthesis.
## Inputs
diff --git a/built-in-nodes/RTDETR_detect.mdx b/built-in-nodes/RTDETR_detect.mdx
index b3a506068..da1054142 100644
--- a/built-in-nodes/RTDETR_detect.mdx
+++ b/built-in-nodes/RTDETR_detect.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RTDETR_detect"
icon: "circle"
mode: wide
---
+
The RT-DETR Detect node performs object detection on input images using an RT-DETR model. It identifies objects, draws bounding boxes around them, and labels them according to the COCO dataset classes. You can filter the results by confidence score, object class, and limit the total number of detections.
## Inputs
diff --git a/built-in-nodes/RandomCropImages.mdx b/built-in-nodes/RandomCropImages.mdx
index 7bdb23f6f..f7d1b5c05 100644
--- a/built-in-nodes/RandomCropImages.mdx
+++ b/built-in-nodes/RandomCropImages.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RandomCropImages"
icon: "circle"
mode: wide
---
+
The Random Crop Images node randomly selects a rectangular section from each input image and crops it to a specified width and height. This is commonly used for data augmentation to create variations of training images. The random position for the crop is determined by a seed value, ensuring the same crop can be reproduced.
## Inputs
diff --git a/built-in-nodes/RandomNoise.mdx b/built-in-nodes/RandomNoise.mdx
index 7291bcaf1..7d9c1c3bb 100644
--- a/built-in-nodes/RandomNoise.mdx
+++ b/built-in-nodes/RandomNoise.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RandomNoise"
icon: "circle"
mode: wide
---
+
The RandomNoise node generates random noise patterns based on a seed value. It creates reproducible noise that can be used for various image processing and generation tasks. The same seed will always produce the same noise pattern, allowing for consistent results across multiple runs.
## Inputs
diff --git a/built-in-nodes/RebatchImages.mdx b/built-in-nodes/RebatchImages.mdx
index 48afe6b23..2be825bb3 100644
--- a/built-in-nodes/RebatchImages.mdx
+++ b/built-in-nodes/RebatchImages.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RebatchImages"
icon: "circle"
mode: wide
---
+
The RebatchImages node is designed to reorganize a batch of images into a new batch configuration, adjusting the batch size as specified. This process is essential for managing and optimizing the processing of image data in batch operations, ensuring that images are grouped according to the desired batch size for efficient handling.
## Inputs
diff --git a/built-in-nodes/RebatchLatents.mdx b/built-in-nodes/RebatchLatents.mdx
index 3fa48c2c0..949b733b6 100644
--- a/built-in-nodes/RebatchLatents.mdx
+++ b/built-in-nodes/RebatchLatents.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RebatchLatents"
icon: "circle"
mode: wide
---
+
The RebatchLatents node is designed to reorganize a batch of latent representations into a new batch configuration, based on a specified batch size. It ensures that the latent samples are grouped appropriately, handling variations in dimensions and sizes, to facilitate further processing or model inference.
## Inputs
diff --git a/built-in-nodes/RecordAudio.mdx b/built-in-nodes/RecordAudio.mdx
index 4e15c741b..637969a97 100644
--- a/built-in-nodes/RecordAudio.mdx
+++ b/built-in-nodes/RecordAudio.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RecordAudio"
icon: "circle"
mode: wide
---
+
The RecordAudio node loads audio files that have been recorded or selected through the audio recording interface. It processes the audio file and converts it into a waveform format that can be used by other audio processing nodes in the workflow. The node automatically detects the sample rate and prepares the audio data for further manipulation.
## Inputs
diff --git a/built-in-nodes/RecraftColorRGB.mdx b/built-in-nodes/RecraftColorRGB.mdx
index c3bf71c19..cf94ef073 100644
--- a/built-in-nodes/RecraftColorRGB.mdx
+++ b/built-in-nodes/RecraftColorRGB.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "RecraftColorRGB"
icon: "circle"
mode: wide
---
+
Create a Recraft color by specifying individual red, green, and blue values. This node takes RGB integer values (0-255) and converts them into a Recraft color format that can be used in other Recraft operations. You can also optionally provide an existing Recraft color chain to extend it with the new color.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `r` | Red value of color (default: 0) | INT | Yes | 0-255 |
| `g` | Green value of color (default: 0) | INT | Yes | 0-255 |
| `b` | Blue value of color (default: 0) | INT | Yes | 0-255 |
@@ -19,10 +20,10 @@ Create a Recraft color by specifying individual red, green, and blue values. Thi
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `recraft_color` | The created Recraft color object containing the specified RGB values, or the extended color chain if an existing one was provided | COLOR |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftColorRGB/en.md)
---
-**Source fingerprint (SHA-256):** `3c645f17232a1c646b6b64dab658a48dc4aa4c10c2daee9451977f824c3bf2c2`
+**Source fingerprint (SHA-256):** `2246d266bc36d1aa7f115402b049f895f2b15d0085b84d1b0a813cdfb1b6e2fc`
diff --git a/built-in-nodes/RecraftControls.mdx b/built-in-nodes/RecraftControls.mdx
index c047d48ff..fe12863f4 100644
--- a/built-in-nodes/RecraftControls.mdx
+++ b/built-in-nodes/RecraftControls.mdx
@@ -5,22 +5,23 @@ sidebarTitle: "RecraftControls"
icon: "circle"
mode: wide
---
+
Creates Recraft Controls for customizing Recraft generation. This node allows you to configure color settings that will be used during the Recraft image generation process.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `colors` | Color settings for the main elements | COLOR | No | - |
| `background_color` | Background color setting | COLOR | No | - |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `recraft_controls` | The configured Recraft controls containing color settings | CONTROLS |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftControls/en.md)
---
-**Source fingerprint (SHA-256):** `3d07c8ca226e19849ebe5d37d93f129c77930a6971e58fe73abc2a47a58ee42e`
+**Source fingerprint (SHA-256):** `d6237821472e5305303c25119601b1c8eb5781d3e1aee4f6b3b80060a4fdc8cf`
diff --git a/built-in-nodes/RecraftCreateStyleNode.mdx b/built-in-nodes/RecraftCreateStyleNode.mdx
index fd28926cf..94b8ce40f 100644
--- a/built-in-nodes/RecraftCreateStyleNode.mdx
+++ b/built-in-nodes/RecraftCreateStyleNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "RecraftCreateStyleNode"
icon: "circle"
mode: wide
---
+
This node creates a custom style for image generation by uploading reference images. You can upload between 1 and 5 images to define the new style, and the node will return a unique style ID that can be used with other Recraft nodes. The total combined file size of all uploaded images must not exceed 5 MB.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `style` | The base style of the generated images. | STRING | Yes | `"realistic_image"` `"digital_illustration"` |
| `images` | A set of 1 to 5 reference images used to create the custom style. | IMAGE | Yes | 1 to 5 images |
@@ -19,10 +20,10 @@ This node creates a custom style for image generation by uploading reference ima
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `style_id` | The unique identifier for the newly created custom style. | STRING |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftCreateStyleNode/en.md)
---
-**Source fingerprint (SHA-256):** `9f6d6f87621b72fcbf19200e7b2461c9a22160311c77411e9ddd06ee2053dc63`
+**Source fingerprint (SHA-256):** `36edcb0b96eed5930d9d7ff00a1812d129b7cd9b7ab0f0d758594a20791826b2`
diff --git a/built-in-nodes/RecraftCreativeUpscaleNode.mdx b/built-in-nodes/RecraftCreativeUpscaleNode.mdx
index 96e4cbe6c..df8014b1e 100644
--- a/built-in-nodes/RecraftCreativeUpscaleNode.mdx
+++ b/built-in-nodes/RecraftCreativeUpscaleNode.mdx
@@ -5,21 +5,22 @@ sidebarTitle: "RecraftCreativeUpscaleNode"
icon: "circle"
mode: wide
---
+
The Recraft Creative Upscale Image node enhances a raster image by increasing its resolution. It uses a "creative upscale" process that focuses on improving small details and faces within the image. This operation is performed synchronously through an external API.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `image` | The input image to be upscaled. | IMAGE | Yes | |
+|-----------|-------------|-----------|----------|-------|
+| `image` | The input image to be upscaled. | IMAGE | Yes | |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The resulting upscaled image with enhanced details. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftCreativeUpscaleNode/en.md)
---
-**Source fingerprint (SHA-256):** `1dc5cd9d6f0c5a269d20ad94e417d31abc20c4ef8dd673f926ab4aceb2b6d924`
+**Source fingerprint (SHA-256):** `52e19f6dfb3846cdea2b150f3008fa49c98bc5fced94ffb362846d3a5fba57df`
diff --git a/built-in-nodes/RecraftCrispUpscaleNode.mdx b/built-in-nodes/RecraftCrispUpscaleNode.mdx
index a044863f5..cb4f36d92 100644
--- a/built-in-nodes/RecraftCrispUpscaleNode.mdx
+++ b/built-in-nodes/RecraftCrispUpscaleNode.mdx
@@ -5,21 +5,22 @@ sidebarTitle: "RecraftCrispUpscaleNode"
icon: "circle"
mode: wide
---
+
Upscale image synchronously. Enhances a given raster image using the 'crisp upscale' tool, increasing image resolution, making the image sharper and cleaner.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to be upscaled. Accepts a batch of images. | IMAGE | Yes | - |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The upscaled image with enhanced resolution and clarity. Returns a batch of images if a batch was provided as input. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftCrispUpscaleNode/en.md)
---
-**Source fingerprint (SHA-256):** `4683d62ca72ce624ad96b41e4abbbcf3df8c8e11f473f1729a675fba78a9ccc0`
+**Source fingerprint (SHA-256):** `0a5efef73c86ef24825055af39601576e4ae465e641783b524d347325a5c5982`
diff --git a/built-in-nodes/RecraftImageInpaintingNode.mdx b/built-in-nodes/RecraftImageInpaintingNode.mdx
index 2f6bed322..11b0151f7 100644
--- a/built-in-nodes/RecraftImageInpaintingNode.mdx
+++ b/built-in-nodes/RecraftImageInpaintingNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "RecraftImageInpaintingNode"
icon: "circle"
mode: wide
---
+
This node modifies specific areas of an image based on a text prompt and a mask. It uses the Recraft API to intelligently edit only the masked regions while keeping the rest of the image unchanged.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to be modified | IMAGE | Yes | - |
| `mask` | The mask defining which areas of the image should be modified | MASK | Yes | - |
| `prompt` | Prompt for the image generation (default: empty string, maximum length: 1000 characters) | STRING | Yes | - |
@@ -24,10 +25,10 @@ This node modifies specific areas of an image based on a text prompt and a mask.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The modified image(s) generated based on the prompt and mask. Returns one image per input image multiplied by the `n` parameter | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftImageInpaintingNode/en.md)
---
-**Source fingerprint (SHA-256):** `c0871ae6510d42f5525701dd622f2f84a65103a7eec053635c4bd64102a2a4e6`
+**Source fingerprint (SHA-256):** `64493a418224f4a01c6b6511581d31f92189852a32b41d9748629e57782bd511`
diff --git a/built-in-nodes/RecraftImageToImageNode.mdx b/built-in-nodes/RecraftImageToImageNode.mdx
index 38482a8b9..2f2ca3b3f 100644
--- a/built-in-nodes/RecraftImageToImageNode.mdx
+++ b/built-in-nodes/RecraftImageToImageNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "RecraftImageToImageNode"
icon: "circle"
mode: wide
---
+
This node modifies an existing image based on a text prompt and strength parameter. It uses the Recraft API to transform the input image according to the provided description while maintaining some similarity to the original image based on the strength setting.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to be modified | IMAGE | Yes | - |
| `prompt` | Prompt for the image generation (default: "", max length: 1000 characters) | STRING | Yes | - |
| `n` | The number of images to generate (default: 1) | INT | Yes | 1-6 |
@@ -25,10 +26,10 @@ This node modifies an existing image based on a text prompt and strength paramet
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The generated image(s) based on the input image and prompt | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftImageToImageNode/en.md)
---
-**Source fingerprint (SHA-256):** `15f0f42a1c217abcffeff3836ec77d8a94b37143fdff45d69e1a645f5ffac939`
+**Source fingerprint (SHA-256):** `5e5b675c5122fd4b3c754590b18d4cdf2ec995b4d14c1b9150050599071b38bb`
diff --git a/built-in-nodes/RecraftRemoveBackgroundNode.mdx b/built-in-nodes/RecraftRemoveBackgroundNode.mdx
index f526f63b9..9292cb300 100644
--- a/built-in-nodes/RecraftRemoveBackgroundNode.mdx
+++ b/built-in-nodes/RecraftRemoveBackgroundNode.mdx
@@ -5,22 +5,23 @@ sidebarTitle: "RecraftRemoveBackgroundNode"
icon: "circle"
mode: wide
---
+
This node removes the background from images using the Recraft API service. It processes each image in the input batch and returns both the processed images with transparent backgrounds and corresponding alpha masks that indicate the removed background areas.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image(s) to process for background removal | IMAGE | Yes | - |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | Processed images with transparent backgrounds | IMAGE |
| `mask` | Alpha channel masks indicating the removed background areas | MASK |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftRemoveBackgroundNode/en.md)
---
-**Source fingerprint (SHA-256):** `8bced9bb96c179101a2122fb5990cb3015313ad6ca888adf7a37b082b2e8a656`
+**Source fingerprint (SHA-256):** `b71006e6b276329c2652483a06ac57ab817135a9d2d2625a971bef9dcb870d5c`
diff --git a/built-in-nodes/RecraftReplaceBackgroundNode.mdx b/built-in-nodes/RecraftReplaceBackgroundNode.mdx
index 32fed5008..608b27177 100644
--- a/built-in-nodes/RecraftReplaceBackgroundNode.mdx
+++ b/built-in-nodes/RecraftReplaceBackgroundNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "RecraftReplaceBackgroundNode"
icon: "circle"
mode: wide
---
+
Replace background on image, based on provided prompt. This node uses the Recraft API to generate new backgrounds for your images according to your text description, allowing you to completely transform the background while keeping the main subject intact.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to process | IMAGE | Yes | - |
| `prompt` | Prompt for the image generation (default: empty) | STRING | Yes | - |
| `n` | The number of images to generate (default: 1) | INT | Yes | 1-6 |
@@ -23,10 +24,10 @@ Replace background on image, based on provided prompt. This node uses the Recraf
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `IMAGE` | The generated image(s) with replaced background | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftReplaceBackgroundNode/en.md)
---
-**Source fingerprint (SHA-256):** `ce14005093aaac30de3de84c43bd46c0a3327d0ba8de4ea7ec62afa2028c1cae`
+**Source fingerprint (SHA-256):** `3b97298469f0b116da260f444df4d1c174e04720938e3701f964a4aefda2213b`
diff --git a/built-in-nodes/RecraftStyleV3DigitalIllustration.mdx b/built-in-nodes/RecraftStyleV3DigitalIllustration.mdx
index d77243a95..50dcc1b41 100644
--- a/built-in-nodes/RecraftStyleV3DigitalIllustration.mdx
+++ b/built-in-nodes/RecraftStyleV3DigitalIllustration.mdx
@@ -5,21 +5,22 @@ sidebarTitle: "RecraftStyleV3DigitalIllustration"
icon: "circle"
mode: wide
---
+
This node configures a style for use with the Recraft API, specifically selecting the "digital_illustration" style. It allows you to choose an optional substyle to further refine the artistic direction of the generated image.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `substyle` | An optional substyle to specify a particular type of digital illustration. If not selected, the base "digital_illustration" style is used. | STRING | No | `"digital_illustration"` `"digital_illustration_anime"` `"digital_illustration_cartoon"` `"digital_illustration_comic"` `"digital_illustration_concept_art"` `"digital_illustration_fantasy"` `"digital_illustration_futuristic"` `"digital_illustration_graffiti"` `"digital_illustration_graphic_novel"` `"digital_illustration_hyperrealistic"` `"digital_illustration_ink"` `"digital_illustration_manga"` `"digital_illustration_minimalist"` `"digital_illustration_pixel_art"` `"digital_illustration_pop_art"` `"digital_illustration_retro"` `"digital_illustration_sci_fi"` `"digital_illustration_sticker"` `"digital_illustration_street_art"` `"digital_illustration_surreal"` `"digital_illustration_vector"` |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `recraft_style` | A configured style object containing the selected "digital_illustration" style and optional substyle, ready to be passed to other Recraft API nodes. | STYLEV3 |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftStyleV3DigitalIllustration/en.md)
---
-**Source fingerprint (SHA-256):** `167b5f875e1d9ec39dd830d98349fe34b23a3ac870cff8329bc834fe13a5fc8f`
+**Source fingerprint (SHA-256):** `b6901d81bc11c3226d847ed61386b9bcf4ece90f6a95b6ad9888f102ef355594`
diff --git a/built-in-nodes/RecraftStyleV3InfiniteStyleLibrary.mdx b/built-in-nodes/RecraftStyleV3InfiniteStyleLibrary.mdx
index b7e1879bb..fcea00b56 100644
--- a/built-in-nodes/RecraftStyleV3InfiniteStyleLibrary.mdx
+++ b/built-in-nodes/RecraftStyleV3InfiniteStyleLibrary.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "RecraftStyleV3InfiniteStyleLibrary"
icon: "circle"
mode: wide
---
+
This node allows you to select a style from Recraft's Infinite Style Library using a preexisting UUID. It retrieves the style information based on the provided style identifier and returns it for use in other Recraft nodes.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `style_id` | UUID of style from Infinite Style Library. | STRING | Yes | Any valid UUID |
**Note:** The `style_id` input cannot be empty. If an empty string is provided, the node will raise an exception.
@@ -18,10 +19,10 @@ This node allows you to select a style from Recraft's Infinite Style Library usi
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `recraft_style` | The selected style object from Recraft's Infinite Style Library | STYLEV3 |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftStyleV3InfiniteStyleLibrary/en.md)
---
-**Source fingerprint (SHA-256):** `c613e153fa56f403367f132a2592b853327a28cc640faab061dfe373b0202e21`
+**Source fingerprint (SHA-256):** `4554acaaba9e83373d6fb44ea5465175182efcf7c9220c2328c4749c2febd40f`
diff --git a/built-in-nodes/RecraftStyleV3LogoRaster.mdx b/built-in-nodes/RecraftStyleV3LogoRaster.mdx
index 7dd23f256..3c8f56010 100644
--- a/built-in-nodes/RecraftStyleV3LogoRaster.mdx
+++ b/built-in-nodes/RecraftStyleV3LogoRaster.mdx
@@ -5,21 +5,22 @@ sidebarTitle: "RecraftStyleV3LogoRaster"
icon: "circle"
mode: wide
---
+
This node selects the logo raster style and an optional substyle for generating logo images. It specializes in creating logo designs with raster-based visual treatments.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `substyle` | The specific logo raster substyle to apply for logo generation (default: `"none"`) | STRING | Yes | `"none"` `"bold"` `"minimal"` `"vibrant"` `"handdrawn"` `"geometric"` `"vintage"` `"neon"` `"gradient"` `"flat"` `"outline"` `"mascot"` `"badge"` `"abstract"` `"retro"` `"modern"` `"playful"` `"luxury"` `"tech"` `"nature"` `"food"` `"sport"` `"fashion"` `"music"` `"travel"` `"education"` `"health"` `"finance"` `"realestate"` `"nonprofit"` |
+|-----------|-------------|-----------|----------|-------|
+| `substyle` | The specific logo raster substyle to apply for logo generation | STRING | Yes | `"bold"` `"minimal"` `"vibrant"` `"handdrawn"` `"geometric"` `"vintage"` `"neon"` `"gradient"` `"flat"` `"outline"` `"mascot"` `"badge"` `"abstract"` `"retro"` `"modern"` `"playful"` `"luxury"` `"tech"` `"nature"` `"food"` `"sport"` `"fashion"` `"music"` `"travel"` `"education"` `"health"` `"finance"` `"realestate"` `"nonprofit"` |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `recraft_style` | The selected Recraft style configuration, including the logo raster style and chosen substyle | CUSTOM |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftStyleV3LogoRaster/en.md)
---
-**Source fingerprint (SHA-256):** `a9912e3a9f634cf3e4402cc71e934a636a448ecbfa7664f5167289d4526e4d4f`
+**Source fingerprint (SHA-256):** `f3eedb43237c1b594ff5a2127f4ed67c9d700c1d26e7615350e7876003b0d577`
diff --git a/built-in-nodes/RecraftStyleV3RealisticImage.mdx b/built-in-nodes/RecraftStyleV3RealisticImage.mdx
index 34710ef4f..3b1df98cc 100644
--- a/built-in-nodes/RecraftStyleV3RealisticImage.mdx
+++ b/built-in-nodes/RecraftStyleV3RealisticImage.mdx
@@ -5,21 +5,22 @@ sidebarTitle: "RecraftStyleV3RealisticImage"
icon: "circle"
mode: wide
---
+
This node creates a style configuration for generating realistic images using Recraft's API. It selects the `realistic_image` style and lets you choose an optional substyle to fine-tune the output appearance.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `substyle` | The specific substyle to apply to the realistic_image style. If set to "None", no substyle will be applied. | STRING | Yes | Multiple options available (determined by Recraft API) |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `recraft_style` | A Recraft style configuration object containing the `realistic_image` style and the selected substyle settings. This output can be connected to other Recraft nodes that accept a style input. | STYLEV3 |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftStyleV3RealisticImage/en.md)
---
-**Source fingerprint (SHA-256):** `967e52e32456299da342a3d87f46f180f17aa1505cb2a3d22ee5f50cda79e8e3`
+**Source fingerprint (SHA-256):** `df3a09ae0956dd5807b7475248359085fdbe5abb5c40291e37db3ceabafef2ac`
diff --git a/built-in-nodes/RecraftStyleV3VectorIllustrationNode.mdx b/built-in-nodes/RecraftStyleV3VectorIllustrationNode.mdx
index a2b0700fb..e7ae5042b 100644
--- a/built-in-nodes/RecraftStyleV3VectorIllustrationNode.mdx
+++ b/built-in-nodes/RecraftStyleV3VectorIllustrationNode.mdx
@@ -5,21 +5,22 @@ sidebarTitle: "RecraftStyleV3VectorIllustrationNode"
icon: "circle"
mode: wide
---
+
This node configures a style for use with the Recraft API, specifically selecting the `vector_illustration` style. It allows you to optionally choose a more specific substyle within that category. The node outputs a style configuration object that can be passed to other Recraft API nodes.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `substyle` | An optional, more specific style within the `vector_illustration` category. If not selected, the base `vector_illustration` style is used. | STRING | No | `"vector_illustration"` `"vector_illustration_flat"` `"vector_illustration_3d"` `"vector_illustration_hand_drawn"` `"vector_illustration_retro"` `"vector_illustration_modern"` `"vector_illustration_abstract"` `"vector_illustration_geometric"` `"vector_illustration_organic"` `"vector_illustration_minimalist"` `"vector_illustration_detailed"` `"vector_illustration_colorful"` `"vector_illustration_monochrome"` `"vector_illustration_grayscale"` `"vector_illustration_pastel"` `"vector_illustration_vibrant"` `"vector_illustration_muted"` `"vector_illustration_warm"` `"vector_illustration_cool"` `"vector_illustration_neutral"` `"vector_illustration_bold"` `"vector_illustration_subtle"` `"vector_illustration_playful"` `"vector_illustration_serious"` `"vector_illustration_elegant"` `"vector_illustration_rustic"` `"vector_illustration_urban"` `"vector_illustration_nature"` `"vector_illustration_fantasy"` `"vector_illustration_sci_fi"` `"vector_illustration_historical"` `"vector_illustration_futuristic"` `"vector_illustration_whimsical"` `"vector_illustration_surreal"` `"vector_illustration_realistic"` `"vector_illustration_stylized"` `"vector_illustration_cartoony"` `"vector_illustration_anime"` `"vector_illustration_comic"` `"vector_illustration_pixel"` `"vector_illustration_low_poly"` `"vector_illustration_high_poly"` `"vector_illustration_isometric"` `"vector_illustration_orthographic"` `"vector_illustration_perspective"` `"vector_illustration_2d"` `"vector_illustration_2.5d"` `"vector_illustration_3d"` `"vector_illustration_4d"` |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `recraft_style` | A Recraft API style configuration object containing the selected `vector_illustration` style and optional substyle. This can be connected to other Recraft nodes. | STYLEV3 |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftStyleV3VectorIllustrationNode/en.md)
---
-**Source fingerprint (SHA-256):** `c57ffa5504fff8430f8193f97d4d991b9373e688a4b412ff4926ef356aef0dc9`
+**Source fingerprint (SHA-256):** `4aa9946fc9918d2a16eafe21f9b77cdada35ca8a12010fc6f1adb8f46f41cad0`
diff --git a/built-in-nodes/RecraftTextToImageNode.mdx b/built-in-nodes/RecraftTextToImageNode.mdx
index bd87eb7c2..1babbac4b 100644
--- a/built-in-nodes/RecraftTextToImageNode.mdx
+++ b/built-in-nodes/RecraftTextToImageNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "RecraftTextToImageNode"
icon: "circle"
mode: wide
---
+
Generates images synchronously based on prompt and resolution. This node connects to the Recraft API to create images from text descriptions with specified dimensions and optional style and control parameters.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the image generation. (default: "") | STRING | Yes | - |
| `size` | The size of the generated image. (default: "1024x1024") | COMBO | Yes | "1024x1024" "1152x896" "896x1152" "1216x832" "832x1216" "1344x768" "768x1344" "1536x640" "640x1536" |
| `n` | The number of images to generate. (default: 1) | INT | Yes | 1-6 |
@@ -28,10 +29,10 @@ Generates images synchronously based on prompt and resolution. This node connect
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `IMAGE` | The generated image(s) as a batched tensor output. When multiple images are generated (n > 1), they are concatenated along the batch dimension. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftTextToImageNode/en.md)
---
-**Source fingerprint (SHA-256):** `946010fbb6a5b99eed11e74de0733f64a270fa62910acf942749c76e0b5448f3`
+**Source fingerprint (SHA-256):** `9e9607f6c122a5560680302287b677a4aced626443bc782641177a4ecdaef65a`
diff --git a/built-in-nodes/RecraftTextToVectorNode.mdx b/built-in-nodes/RecraftTextToVectorNode.mdx
index f463c36a9..9297995f4 100644
--- a/built-in-nodes/RecraftTextToVectorNode.mdx
+++ b/built-in-nodes/RecraftTextToVectorNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "RecraftTextToVectorNode"
icon: "circle"
mode: wide
---
+
Generates SVG vector illustrations synchronously based on a text prompt and resolution. This node sends your prompt to the Recraft API and returns the generated SVG content.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the image generation. (default: "") | STRING | Yes | - |
| `substyle` | The specific vector illustration style to use for generation. | COMBO | Yes | `"2d_character"` `"2d_gradient"` `"2d_illustration"` `"2d_flat_character"` `"2d_flat_illustration"` `"2d_art"` `"2d_art_character"` `"2d_pattern"` `"2d_pixel_art"` `"2d_cyberpunk"` `"2d_engraving"` `"2d_black_and_white"` `"2d_ink"` `"2d_sketch"` `"2d_watercolor"` `"2d_animation"` `"2d_comic"` `"2d_children_illustration"` `"2d_vintage"` `"2d_retro"` `"2d_hand_drawn"` `"2d_psychedelic"` `"2d_graffiti"` `"2d_ukiyo_e"` `"2d_woodcut"` `"2d_art_deco"` `"2d_art_nouveau"` `"2d_bauhaus"` `"2d_constructivism"` `"2d_cubism"` `"2d_futurism"` `"2d_glitch"` `"2d_impressionism"` `"2d_naive"` `"2d_pointillism"` `"2d_pop_art"` `"2d_realism"` `"2d_renaissance"` `"2d_rococo"` `"2d_romanticism"` `"2d_surrealism"` `"2d_suprematism"` `"2d_symbolism"` `"2d_expressionism"` `"2d_abstract"` `"2d_minimalism"` `"2d_contemporary"` `"2d_modern"` `"2d_brutalism"` `"2d_metaphysical"` `"2d_mannerism"` `"2d_baroque"` `"2d_neoclassicism"` `"2d_orientalism"` `"2d_primitivism"` `"2d_fauvism"` `"2d_rayonism"` `"2d_orphism"` `"2d_vorticism"` `"2d_dadaism"` `"2d_neo_expressionism"` `"2d_transavantgarde"` `"2d_new_wild"` `"2d_graffiti_classic"` `"2d_graffiti_modern"` `"2d_graffiti_wildstyle"` `"2d_graffiti_bubble"` `"2d_graffiti_throwup"` `"2d_graffiti_tag"` `"2d_graffiti_blockbuster"` `"2d_graffiti_mural"` `"2d_graffiti_stencil"` `"2d_graffiti_3d"` `"2d_graffiti_character"` `"2d_graffiti_abstract"` `"2d_graffiti_urban"` `"2d_graffiti_neo_muralism"` `"2d_graffiti_post_graffiti"` `"2d_graffiti_street_art"` |
| `size` | The size of the generated image. (default: "1024x1024") | COMBO | Yes | `"1024x1024"` `"1024x2048"` `"2048x1024"` `"2048x2048"` `"512x512"` `"512x1024"` `"1024x512"` `"2048x512"` `"512x2048"` |
@@ -24,10 +25,10 @@ Generates SVG vector illustrations synchronously based on a text prompt and reso
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `SVG` | The generated vector illustration in SVG format | SVG |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftTextToVectorNode/en.md)
---
-**Source fingerprint (SHA-256):** `b7b89e929a6d8dba78c0078962c9dde5c803bcff51350b0fb21c0cbd4c725ffe`
+**Source fingerprint (SHA-256):** `4385c843d4ea312e9f35574bff6f75ae4ffd052486b787426ec37b0f8a6316e8`
diff --git a/built-in-nodes/RecraftV4TextToImageNode.mdx b/built-in-nodes/RecraftV4TextToImageNode.mdx
index 6712aa01f..5d9aeed99 100644
--- a/built-in-nodes/RecraftV4TextToImageNode.mdx
+++ b/built-in-nodes/RecraftV4TextToImageNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "RecraftV4TextToImageNode"
icon: "circle"
mode: wide
---
+
This node generates images from text descriptions using the Recraft V4 or V4 Pro AI models. It sends your prompt to an external API and returns the generated images. You can control the output by specifying the model, image size, and number of images to create.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the image generation. Maximum 10,000 characters. | STRING | Yes | N/A |
| `negative_prompt` | An optional text description of undesired elements on an image. | STRING | No | N/A |
| `model` | The model to use for generation. Selecting a model determines the available image sizes. | COMBO | Yes | `"recraftv4"` `"recraftv4_pro"` |
@@ -19,15 +20,15 @@ This node generates images from text descriptions using the Recraft V4 or V4 Pro
| `seed` | Seed to determine if node should re-run; actual results are nondeterministic regardless of seed (default: 0). | INT | Yes | 0 to 18446744073709551615 |
| `recraft_controls` | Optional additional controls over the generation via the Recraft Controls node. | CUSTOM | No | N/A |
-**Note:** The `size` parameter is a dynamic input whose available options change based on the selected `model`. The `seed` value does not guarantee reproducible image outputs.
+**Note:** The `size` parameter is a dynamic input whose available options change based on the selected `model`. The `seed` value does not guarantee reproducible image outputs. If you use a style ID from the Infinite Style Library, make sure it is not a Vector art style, as this may return SVG data instead of an image.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated image or batch of images. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftV4TextToImageNode/en.md)
---
-**Source fingerprint (SHA-256):** `b116fc35810d9cd246742b3ee1e3ce5472e79a467981ffb994cd1e2c53f0f086`
+**Source fingerprint (SHA-256):** `aa23cb2627407350b79ed38d9b6a5487802ddda5c7050df7a7bfb167a707cb79`
diff --git a/built-in-nodes/RecraftV4TextToVectorNode.mdx b/built-in-nodes/RecraftV4TextToVectorNode.mdx
index e30935338..91b7a15f6 100644
--- a/built-in-nodes/RecraftV4TextToVectorNode.mdx
+++ b/built-in-nodes/RecraftV4TextToVectorNode.mdx
@@ -5,16 +5,17 @@ sidebarTitle: "RecraftV4TextToVectorNode"
icon: "circle"
mode: wide
---
+
The Recraft V4 Text to Vector node generates Scalable Vector Graphics (SVG) illustrations from a text description. It connects to an external API to use either the Recraft V4 or Recraft V4 Pro model for image generation. The node outputs one or more SVG images based on your prompt.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Prompt for the image generation. Maximum 10,000 characters. | STRING | Yes | N/A |
| `negative_prompt` | An optional text description of undesired elements on an image. | STRING | No | N/A |
| `model` | The model to use for generation. Selecting a model changes the available `size` options. | COMBO | Yes | `"recraftv4"` `"recraftv4_pro"` |
-| `size` | The size of the generated image. The available options depend on the selected `model`. Default is `"1024x1024"` for `recraftv4` and `"2048x2048"` for `recraftv4_pro`. | COMBO | Yes | For `recraftv4`: `"1024x1024"`, `"1152x896"`, `"896x1152"`, `"1216x832"`, `"832x1216"`, `"1344x768"`, `"768x1344"`, `"1536x640"`, `"640x1536"` For `recraftv4_pro`: `"2048x2048"`, `"2304x1792"`, `"1792x2304"`, `"2432x1664"`, `"1664x2432"`, `"2688x1536"`, `"1536x2688"`, `"3072x1280"`, `"1280x3072"` |
+| `size` | The size of the generated image. The available options depend on the selected `model`. Default is `"1024x1024"` for `recraftv4` and `"2048x2048"` for `recraftv4_pro`. | COMBO | Yes | For `recraftv4`: `"1024x1024"` `"1152x896"` `"896x1152"` `"1216x832"` `"832x1216"` `"1344x768"` `"768x1344"` `"1536x640"` `"640x1536"` For `recraftv4_pro`: `"2048x2048"` `"2304x1792"` `"1792x2304"` `"2432x1664"` `"1664x2432"` `"2688x1536"` `"1536x2688"` `"3072x1280"` `"1280x3072"` |
| `n` | The number of images to generate (default: 1). | INT | Yes | 1 to 6 |
| `seed` | Seed to determine if node should re-run; actual results are nondeterministic regardless of seed. | INT | Yes | 0 to 18446744073709551615 |
| `recraft_controls` | Optional additional controls over the generation via the Recraft Controls node. | CUSTOM | No | N/A |
@@ -24,10 +25,10 @@ The Recraft V4 Text to Vector node generates Scalable Vector Graphics (SVG) illu
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated Scalable Vector Graphics (SVG) image(s). | SVG |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftV4TextToVectorNode/en.md)
---
-**Source fingerprint (SHA-256):** `e2524f2607068f2115cf7a192cb9a4f77fbe4e2535108e3c7167923d599fd212`
+**Source fingerprint (SHA-256):** `0e0214036b6a8f9f6aeaad0533e014ef429a94ff55613095acb4317fc69ad934`
diff --git a/built-in-nodes/RecraftVectorizeImageNode.mdx b/built-in-nodes/RecraftVectorizeImageNode.mdx
index e1d6f56fc..dea25de30 100644
--- a/built-in-nodes/RecraftVectorizeImageNode.mdx
+++ b/built-in-nodes/RecraftVectorizeImageNode.mdx
@@ -5,21 +5,22 @@ sidebarTitle: "RecraftVectorizeImageNode"
icon: "circle"
mode: wide
---
+
Generates SVG vector graphics from an input image. This node converts raster images into scalable vector format by sending each image to the Recraft API and combining the results into a single SVG output.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to convert to SVG format. Supports batch processing of multiple images. | IMAGE | Yes | - |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `SVG` | The generated vector graphics output combining all processed images into a single SVG document. | SVG |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RecraftVectorizeImageNode/en.md)
---
-**Source fingerprint (SHA-256):** `de221f8156396cd3c95b30840e446811c2a5f8f09d66028cbc2dbe2a551fc4cd`
+**Source fingerprint (SHA-256):** `bda74d9f11cc79217c61ecb8ba597a671133baa4380386428c4d9e9b68006713`
diff --git a/built-in-nodes/ReferenceLatent.mdx b/built-in-nodes/ReferenceLatent.mdx
index e3db13d05..4e14b356b 100644
--- a/built-in-nodes/ReferenceLatent.mdx
+++ b/built-in-nodes/ReferenceLatent.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ReferenceLatent"
icon: "circle"
mode: wide
---
+
This node sets the guiding latent for an edit model. It takes conditioning data and an optional latent input, then modifies the conditioning to include reference latent information. If the model supports it, you can chain multiple ReferenceLatent nodes to set multiple reference images.
## Inputs
diff --git a/built-in-nodes/ReferenceTimbreAudio.mdx b/built-in-nodes/ReferenceTimbreAudio.mdx
index 918dcce29..60a12dee5 100644
--- a/built-in-nodes/ReferenceTimbreAudio.mdx
+++ b/built-in-nodes/ReferenceTimbreAudio.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ReferenceTimbreAudio"
icon: "circle"
mode: wide
---
+
This node sets a reference audio timbre for use in the "ace step 1.5" process. It works by taking a conditioning input and optionally a latent representation of audio, then attaches that latent data to the conditioning for use by subsequent nodes in the workflow.
## Inputs
diff --git a/built-in-nodes/RegexExtract.mdx b/built-in-nodes/RegexExtract.mdx
index 9b44cd803..a343e7a74 100644
--- a/built-in-nodes/RegexExtract.mdx
+++ b/built-in-nodes/RegexExtract.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RegexExtract"
icon: "circle"
mode: wide
---
+
The RegexExtract node searches for patterns in text using regular expressions. It can find the first match, all matches, specific groups from matches, or all groups across multiple matches. The node supports various regex flags for case sensitivity, multiline matching, and dotall behavior.
## Inputs
diff --git a/built-in-nodes/RegexMatch.mdx b/built-in-nodes/RegexMatch.mdx
index 0f13e68a5..fa4eb61b8 100644
--- a/built-in-nodes/RegexMatch.mdx
+++ b/built-in-nodes/RegexMatch.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RegexMatch"
icon: "circle"
mode: wide
---
+
The RegexMatch node checks if a text string contains a match for a given regular expression pattern. It searches the input string and returns a simple yes/no result indicating whether the pattern was found anywhere in the text. You can adjust how the search works by enabling options like case-insensitive matching or multiline mode.
## Inputs
diff --git a/built-in-nodes/RegexReplace.mdx b/built-in-nodes/RegexReplace.mdx
index 8d226bd29..636374175 100644
--- a/built-in-nodes/RegexReplace.mdx
+++ b/built-in-nodes/RegexReplace.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RegexReplace"
icon: "circle"
mode: wide
---
+
The RegexReplace node finds and replaces text in strings using regular expression patterns. It allows you to search for text patterns and replace them with new text, with options to control how the pattern matching works including case sensitivity, multiline matching, and limiting the number of replacements.
## Inputs
diff --git a/built-in-nodes/RemoveBackground.mdx b/built-in-nodes/RemoveBackground.mdx
index ef942c956..b385a1b8c 100644
--- a/built-in-nodes/RemoveBackground.mdx
+++ b/built-in-nodes/RemoveBackground.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RemoveBackground"
icon: "circle"
mode: wide
---
+
## Overview
The Remove Background node generates a foreground mask that separates the main subject from the background of an input image. It uses a background removal model to analyze the image and produce a mask highlighting the foreground elements.
@@ -12,17 +13,17 @@ The Remove Background node generates a foreground mask that separates the main s
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `image` | Input image to remove the background from | IMAGE | Yes | N/A |
+|-----------|-------------|-----------|----------|-------|
| `bg_removal_model` | Background removal model used to generate the mask | BACKGROUND_REMOVAL_MODEL | Yes | N/A |
+| `image` | Input image to remove the background from | IMAGE | Yes | N/A |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
-| `mask` | Generated foreground mask that highlights the main subject of the input image | MASK |
+|-------------|-------------|-----------|
+| `mask` | Generated foreground mask | MASK |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RemoveBackground/en.md)
---
-**Source fingerprint (SHA-256):** `6b0e31792dc8a5c949944680129e91790ca396336a43ac67b7816b9d6c5b9049`
+**Source fingerprint (SHA-256):** `75b415acedaeaa1a694aeba2e4b0367524c6878e3e4a1f48b2a62898c68109f9`
diff --git a/built-in-nodes/RenderSplat.mdx b/built-in-nodes/RenderSplat.mdx
index 3a95e1df7..b6f785471 100644
--- a/built-in-nodes/RenderSplat.mdx
+++ b/built-in-nodes/RenderSplat.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "RenderSplat"
icon: "circle"
mode: wide
---
-# Render Splat
Render a gaussian splat as an image using an anisotropic EWA rasterizer with oriented elliptical splats, antialiasing, and depth-sorted front-to-back rendering. The camera comes from a camera_info input, or you can leave it empty to auto-frame the splat. Set frames greater than 1 for a turntable batch of images to feed a Video node.
diff --git a/built-in-nodes/RenormCFG.mdx b/built-in-nodes/RenormCFG.mdx
index e074272a1..d96df57b4 100644
--- a/built-in-nodes/RenormCFG.mdx
+++ b/built-in-nodes/RenormCFG.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RenormCFG"
icon: "circle"
mode: wide
---
+
The RenormCFG node modifies the classifier-free guidance (CFG) process in diffusion models by applying conditional scaling and normalization. It adjusts the denoising process based on specified timestep thresholds and renormalization factors to control the influence of conditional versus unconditional predictions during image generation.
## Inputs
diff --git a/built-in-nodes/RepeatImageBatch.mdx b/built-in-nodes/RepeatImageBatch.mdx
index 9b19e3e93..62c64685d 100644
--- a/built-in-nodes/RepeatImageBatch.mdx
+++ b/built-in-nodes/RepeatImageBatch.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RepeatImageBatch"
icon: "circle"
mode: wide
---
+
The RepeatImageBatch node is designed to replicate a given image a specified number of times, creating a batch of identical images. This functionality is useful for operations that require multiple instances of the same image, such as batch processing or data augmentation.
## Inputs
diff --git a/built-in-nodes/RepeatLatentBatch.mdx b/built-in-nodes/RepeatLatentBatch.mdx
index 48394ccbc..450e7436c 100644
--- a/built-in-nodes/RepeatLatentBatch.mdx
+++ b/built-in-nodes/RepeatLatentBatch.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RepeatLatentBatch"
icon: "circle"
mode: wide
---
+
The RepeatLatentBatch node is designed to replicate a given batch of latent representations a specified number of times, potentially including additional data like noise masks and batch indices. This functionality is crucial for operations that require multiple instances of the same latent data, such as data augmentation or specific generative tasks.
## Inputs
diff --git a/built-in-nodes/ReplaceText.mdx b/built-in-nodes/ReplaceText.mdx
index 0275d95ac..0581e3e0e 100644
--- a/built-in-nodes/ReplaceText.mdx
+++ b/built-in-nodes/ReplaceText.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ReplaceText"
icon: "circle"
mode: wide
---
+
The Replace Text node performs a simple text substitution. It searches for a specified piece of text within the input and replaces every occurrence with a new piece of text. The operation is applied to all text inputs provided to the node.
**Note:** This node is deprecated and superseded by the other Replace Text node.
diff --git a/built-in-nodes/ReplaceVideoLatentFrames.mdx b/built-in-nodes/ReplaceVideoLatentFrames.mdx
index 43eb70752..b8f7ffa39 100644
--- a/built-in-nodes/ReplaceVideoLatentFrames.mdx
+++ b/built-in-nodes/ReplaceVideoLatentFrames.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ReplaceVideoLatentFrames"
icon: "circle"
mode: wide
---
+
The ReplaceVideoLatentFrames node inserts frames from a source latent video into a destination latent video, starting at a specified frame index. If the source latent is not provided, the destination latent is returned unchanged. The node handles negative indexing and will issue a warning if the source frames do not fit within the destination.
## Inputs
diff --git a/built-in-nodes/Reroute.mdx b/built-in-nodes/Reroute.mdx
index 25051e395..3c819b9bf 100644
--- a/built-in-nodes/Reroute.mdx
+++ b/built-in-nodes/Reroute.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Reroute"
icon: "circle"
mode: wide
---
+
Node Name: Reroute Node
Node Purpose: Mainly used to organize the logic of overly long connection lines in the ComfyUI workflow.
diff --git a/built-in-nodes/RescaleCFG.mdx b/built-in-nodes/RescaleCFG.mdx
index 264d9763c..e7cac6eb4 100644
--- a/built-in-nodes/RescaleCFG.mdx
+++ b/built-in-nodes/RescaleCFG.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "RescaleCFG"
icon: "circle"
mode: wide
---
+
The RescaleCFG node is designed to adjust the conditioning and unconditioning scales of a model's output based on a specified multiplier, aiming to achieve a more balanced and controlled generation process. It operates by rescaling the model's output to modify the influence of conditioned and unconditioned components, thereby potentially enhancing the model's performance or output quality.
## Inputs
diff --git a/built-in-nodes/ResizeAndPadImage.mdx b/built-in-nodes/ResizeAndPadImage.mdx
index 5bb65e173..58c563107 100644
--- a/built-in-nodes/ResizeAndPadImage.mdx
+++ b/built-in-nodes/ResizeAndPadImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ResizeAndPadImage"
icon: "circle"
mode: wide
---
+
The ResizeAndPadImage node resizes an image to fit within specified dimensions while maintaining its original aspect ratio. It scales the image down proportionally to fit within the target width and height, then adds padding around the edges to fill any remaining space. The padding color and interpolation method can be customized to control the appearance of the padded areas and the quality of the resizing.
## Inputs
diff --git a/built-in-nodes/ResizeImageMaskNode.mdx b/built-in-nodes/ResizeImageMaskNode.mdx
index 2f1ea8f29..2948e344c 100644
--- a/built-in-nodes/ResizeImageMaskNode.mdx
+++ b/built-in-nodes/ResizeImageMaskNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ResizeImageMaskNode"
icon: "circle"
mode: wide
---
+
The Resize Image/Mask node provides multiple methods to change the dimensions of an input image or mask. It can scale by a multiplier, set specific dimensions, match the size of another input, or adjust based on pixel count, using various interpolation methods for quality.
## Inputs
diff --git a/built-in-nodes/ResizeImagesByLongerEdge.mdx b/built-in-nodes/ResizeImagesByLongerEdge.mdx
index 54f5a831e..e8a98ae25 100644
--- a/built-in-nodes/ResizeImagesByLongerEdge.mdx
+++ b/built-in-nodes/ResizeImagesByLongerEdge.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ResizeImagesByLongerEdge"
icon: "circle"
mode: wide
---
+
The Resize Images by Longer Edge node resizes one or more images so that their longest side matches a specified target length. It automatically determines whether the width or height is longer and scales the other dimension proportionally to preserve the original aspect ratio. This node is deprecated and superseded by the Resize Image/Mask node with the resize type set to "scale longer dimension".
## Inputs
diff --git a/built-in-nodes/ResizeImagesByShorterEdge.mdx b/built-in-nodes/ResizeImagesByShorterEdge.mdx
index 8062cf1d8..6cd4803a2 100644
--- a/built-in-nodes/ResizeImagesByShorterEdge.mdx
+++ b/built-in-nodes/ResizeImagesByShorterEdge.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ResizeImagesByShorterEdge"
icon: "circle"
mode: wide
---
+
This node resizes images so that the shorter edge matches a specified length while preserving the original aspect ratio. It calculates new dimensions based on the target length for the shorter side and returns the resized image.
## Inputs
diff --git a/built-in-nodes/ResolutionBucket.mdx b/built-in-nodes/ResolutionBucket.mdx
index 1b4376046..1c86579f9 100644
--- a/built-in-nodes/ResolutionBucket.mdx
+++ b/built-in-nodes/ResolutionBucket.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ResolutionBucket"
icon: "circle"
mode: wide
---
+
This node organizes a list of latent images and their corresponding conditioning data by their resolution. It groups together items that share the same height and width, creating separate batches for each unique resolution. This process is useful for preparing data for efficient training, as it allows models to process multiple items of the same size together.
## Inputs
diff --git a/built-in-nodes/ResolutionSelector.mdx b/built-in-nodes/ResolutionSelector.mdx
index 24b67c6e9..3f7b1b277 100644
--- a/built-in-nodes/ResolutionSelector.mdx
+++ b/built-in-nodes/ResolutionSelector.mdx
@@ -5,23 +5,25 @@ sidebarTitle: "ResolutionSelector"
icon: "circle"
mode: wide
---
-The Resolution Selector node calculates the pixel width and height for an image based on a chosen aspect ratio and a target total resolution in megapixels. It is useful for generating consistent dimensions for other nodes, such as the Empty Latent Image node. The output dimensions are always rounded to the nearest multiple of 8.
+
+The Resolution Selector node calculates pixel width and height based on a chosen aspect ratio and a target total resolution in megapixels. It is useful for generating consistent dimensions for other nodes, such as the Empty Latent Image node.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `aspect_ratio` | The aspect ratio for the output dimensions (default: `"1:1 (Square)"`). | COMBO | Yes | `"1:1 (Square)"` `"3:2 (Photo)"` `"4:3 (Standard)"` `"16:9 (Widescreen)"` `"21:9 (Ultrawide)"` `"2:3 (Portrait Photo)"` `"3:4 (Portrait Standard)"` `"9:16 (Portrait Widescreen)"` |
-| `megapixels` | Target total megapixels. 1.0 MP ≈ 1024×1024 for a square aspect ratio (default: 1.0). | FLOAT | Yes | 0.1 - 16.0 |
+|-----------|-------------|-----------|----------|-------|
+| `aspect_ratio` | The aspect ratio for the output dimensions (default: `"1:1 (Square)"`). | COMBO | Yes | `"1:1 (Square)"` `"2:3 (Portrait Photo)"` `"3:2 (Photo)"` `"3:4 (Portrait Standard)"` `"4:3 (Standard)"` `"9:16 (Portrait Widescreen)"` `"16:9 (Widescreen)"` `"21:9 (Ultrawide)"` |
+| `megapixels` | Target total megapixels. 1.0 MP ≈ 1024x1024 for square (default: 1.0). | FLOAT | Yes | 0.1 - 16.0 |
+| `multiple` | Nearest multiple of the result to set the selected resolution to (default: 8). | INT | No | 8 - 128 (step: 4) |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
-| `width` | The calculated width in pixels, which is a multiple of 8. | INT |
-| `height` | The calculated height in pixels, which is a multiple of 8. | INT |
+|-------------|-------------|-----------|
+| `width` | Calculated width in pixels multiplied by the selected multiple. | INT |
+| `height` | Calculated height in pixels multiplied by the selected multiple. | INT |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ResolutionSelector/en.md)
---
-**Source fingerprint (SHA-256):** `7b27f0ffaaa1740a6371e53f10fa6a0ead3237ecec656b9148a2ecd11de7aaa5`
+**Source fingerprint (SHA-256):** `2060bbeb6583f09014045a19462cf22a231975831b1b3b6d9374753030857e1b`
diff --git a/built-in-nodes/ReveImageCreateNode.mdx b/built-in-nodes/ReveImageCreateNode.mdx
index 34e5d7391..064585ae8 100644
--- a/built-in-nodes/ReveImageCreateNode.mdx
+++ b/built-in-nodes/ReveImageCreateNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ReveImageCreateNode"
icon: "circle"
mode: wide
---
+
The Reve Image Create node generates images from text descriptions using the Reve AI model. It sends a text prompt to the Reve API and returns the generated image. You can control the image's aspect ratio and apply optional post-processing effects like upscaling and background removal.
## Inputs
@@ -12,15 +13,12 @@ The Reve Image Create node generates images from text descriptions using the Rev
| Parameter | Description | Data Type | Required | Range |
| --- | --- | --- | --- | --- |
| `prompt` | Text description of the desired image. Maximum 2560 characters. | STRING | Yes | N/A |
-| `model` | Model version to use for generation. The aspect ratio is selected from the available options within this parameter. | COMBO | Yes | `"reve-create@20250915"` |
-| `aspect_ratio` | The desired aspect ratio for the generated image. | COMBO | Yes | `"3:2"` `"16:9"` `"9:16"` `"2:3"` `"4:3"` `"3:4"` `"1:1"` |
-| `test_time_scaling` | Enables or disables test-time scaling, which can improve image quality at the cost of longer generation time. | COMBO | Yes | `"disabled"` `"enabled"` |
+| `model` | Model version to use for generation. Includes aspect ratio selection within this parameter. | COMBO | Yes | `"reve-create@20250915"` |
+| `seed` | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. Default: 0. | INT | No | 0 to 2147483647 |
| `upscale` | Enables or disables the upscaling post-processing step. When enabled, you must also select an upscale factor. | COMBO | No | `"disabled"` `"enabled"` |
-| `upscale_factor` | The factor by which to increase the image's resolution. This parameter is only active when `upscale` is set to `"enabled"`. | COMBO | No | `2` `3` `4` |
| `remove_background` | When enabled, applies a background removal post-processing step to the generated image. | BOOLEAN | No | N/A |
-| `seed` | A seed value that controls whether the node should re-run. Note: Results are non-deterministic regardless of the seed value. Default: 0. | INT | No | 0 to 2147483647 |
-**Note:** The `upscale_factor` parameter is dependent on the `upscale` parameter being set to `"enabled"`. The `seed` parameter does not guarantee deterministic outputs.
+**Note:** The `seed` parameter does not guarantee deterministic outputs. The `upscale` parameter controls whether upscaling is applied as a post-processing step.
## Outputs
@@ -31,4 +29,4 @@ The Reve Image Create node generates images from text descriptions using the Rev
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ReveImageCreateNode/en.md)
---
-**Source fingerprint (SHA-256):** `69c81413cb345b7ecd92055e244f89d5b33f2bd67ee83e4225dd7c2168b55d5a`
+**Source fingerprint (SHA-256):** `d4e233fb94afa248503ec34fc4c1d4de48759c33632b35e139083e34929cecf3`
diff --git a/built-in-nodes/ReveImageEditNode.mdx b/built-in-nodes/ReveImageEditNode.mdx
index fcbcd2552..ca1055db4 100644
--- a/built-in-nodes/ReveImageEditNode.mdx
+++ b/built-in-nodes/ReveImageEditNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "ReveImageEditNode"
icon: "circle"
mode: wide
---
+
The Reve Image Edit node allows you to modify an existing image based on a text description. It uses the Reve API to interpret your instructions and apply the requested changes to the image you provide.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The image to edit. | IMAGE | Yes | - |
| `edit_instruction` | Text description of how to edit the image. Maximum 2560 characters. | STRING | Yes | - |
| `model` | Model version to use for editing. | MODEL | Yes | `"reve-edit@20250915"` `"reve-edit-fast@20251030"` |
@@ -26,10 +27,10 @@ The Reve Image Edit node allows you to modify an existing image based on a text
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The edited image generated based on the instruction. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ReveImageEditNode/en.md)
---
-**Source fingerprint (SHA-256):** `21fbe9e23e952eb0132d31a295505a38a6d3640396865d00b999135d0722166f`
+**Source fingerprint (SHA-256):** `067ef57802f549bc475c07eed43b14e567d6a0bdacd468825f084846b7cfddfd`
diff --git a/built-in-nodes/ReveImageRemixNode.mdx b/built-in-nodes/ReveImageRemixNode.mdx
index 32372e60e..156601a79 100644
--- a/built-in-nodes/ReveImageRemixNode.mdx
+++ b/built-in-nodes/ReveImageRemixNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "ReveImageRemixNode"
icon: "circle"
mode: wide
---
+
The Reve Image Remix node uses the Reve API to generate a new image. It combines one or more reference images with a text prompt to create a new, remixed image based on the provided description.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `reference_images` | One or more reference images to use as a base for the remix. You can add between 1 and 6 images. | IMAGE | Yes | 1 to 6 images |
| `prompt` | A text description of the desired image. You can include XML `` tags to reference specific images by their index (e.g., `0`, `1`). (default: empty) | STRING | Yes | 1 to 2560 characters |
| `model` | The model version to use for remixing. Each model option includes configurable aspect ratios and test-time scaling. | COMBO | Yes | `reve-remix@20250915` `reve-remix-fast@20251030` |
@@ -23,10 +24,10 @@ The Reve Image Remix node uses the Reve API to generate a new image. It combines
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The new image generated by the Reve remix process. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/ReveImageRemixNode/en.md)
---
-**Source fingerprint (SHA-256):** `eb69d653812ecd63c66be9290233a820a4d0145bdd5be1e23601d8cdd5eb228a`
+**Source fingerprint (SHA-256):** `095e286f5badcdc1cdc034b2b91545f136f37550819888ac19d7ac808aec7641`
diff --git a/built-in-nodes/Rodin3D_Detail.mdx b/built-in-nodes/Rodin3D_Detail.mdx
index aad0426c0..a1298afa9 100644
--- a/built-in-nodes/Rodin3D_Detail.mdx
+++ b/built-in-nodes/Rodin3D_Detail.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "Rodin3D_Detail"
icon: "circle"
mode: wide
---
+
The Rodin 3D Detail node generates detailed 3D assets using the Rodin API. It takes input images and processes them through the Rodin service to create high-quality 3D models with detailed geometry and materials. The node handles the entire workflow from task creation to downloading the final 3D model file.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `Images` | Input images used for 3D model generation. A minimum of 1 image is required, and a maximum of 5 images can be provided. | IMAGE | Yes | - |
| `Seed` | Random seed value for reproducible results (default: 0) | INT | No | 0 to 65535 |
| `Material_Type` | Type of material to apply to the 3D model (default: "PBR") | STRING | No | `"PBR"` `"Shaded"` |
@@ -19,11 +20,11 @@ The Rodin 3D Detail node generates detailed 3D assets using the Rodin API. It ta
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `3D Model Path` | File path to the generated 3D model (for backward compatibility only) | STRING |
| `GLB` | The generated 3D model in GLB format | FILE3DGLB |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Rodin3D_Detail/en.md)
---
-**Source fingerprint (SHA-256):** `ccdee80eb972c13a8849488080c08ba7276cec0b77a2089c7a9ad5b8adc5937b`
+**Source fingerprint (SHA-256):** `941265733c20d27d67621a83a05be822731696f4dd376299510d4279a35f51ee`
diff --git a/built-in-nodes/Rodin3D_Gen2.mdx b/built-in-nodes/Rodin3D_Gen2.mdx
index 71286e7b0..adee37603 100644
--- a/built-in-nodes/Rodin3D_Gen2.mdx
+++ b/built-in-nodes/Rodin3D_Gen2.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "Rodin3D_Gen2"
icon: "circle"
mode: wide
---
+
The Rodin3D_Gen2 node generates 3D assets using the Rodin API. It takes input images and converts them into 3D models with various material types and polygon counts. The node handles the entire generation process including task creation, status polling, and file downloading automatically.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `Images` | Input images to use for 3D model generation. Accepts 1 to 5 images. | IMAGE | Yes | - |
| `Seed` | Random seed value for generation (default: 0) | INT | No | 0-65535 |
| `Material_Type` | Type of material to apply to the 3D model (default: "PBR") | COMBO | No | "PBR" "Shaded" |
@@ -20,11 +21,11 @@ The Rodin3D_Gen2 node generates 3D assets using the Rodin API. It takes input im
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `3D Model Path` | File path to the generated 3D model (for backward compatibility) | STRING |
| `GLB` | The generated 3D model in GLB format | FILE3DGLB |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Rodin3D_Gen2/en.md)
---
-**Source fingerprint (SHA-256):** `98e183ba480d2ef8dc1930132ea4edf83481cf6bf7ee18a22972b71dd532c7ea`
+**Source fingerprint (SHA-256):** `6ee8b52152e84cca48c7875ce066ab19805a42e5cccc84865c6027a4f6fd3b16`
diff --git a/built-in-nodes/Rodin3D_Gen25_Image.mdx b/built-in-nodes/Rodin3D_Gen25_Image.mdx
index 49c61e238..625fa8cc2 100644
--- a/built-in-nodes/Rodin3D_Gen25_Image.mdx
+++ b/built-in-nodes/Rodin3D_Gen25_Image.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Rodin3D_Gen25_Image"
icon: "circle"
mode: wide
---
+
## Overview
This node generates a 3D model from one to five reference images using the Rodin Gen-2.5 API. You can choose between Fast, Regular, or Extreme-High quality modes to balance generation speed and cost.
@@ -12,7 +13,7 @@ This node generates a 3D model from one to five reference images using the Rodin
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `images` | One to five input images. The first image is used for materials when multiple images are provided. | IMAGE | Yes | 1 to 5 images |
| `mode` | The generation quality mode. Higher quality modes produce better results but cost more. | COMBO | Yes | `"Fast"` `"Regular"` `"Extreme-High"` |
| `material` | The material type for the generated 3D model. | COMBO | Yes | `"PBR"` `"Matte"` |
@@ -34,10 +35,10 @@ This node generates a 3D model from one to five reference images using the Rodin
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model_file` | The generated 3D model file in the selected geometry format. | FILE3D |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Rodin3D_Gen25_Image/en.md)
---
-**Source fingerprint (SHA-256):** `65f755a2c3bd2317eb61c4681a406b51b06f960e36864d3602c3d03a44aa4878`
+**Source fingerprint (SHA-256):** `6437f8d34624fccfb92505bcdc627db2df2f4159c929a4f7b00352906c609a25`
diff --git a/built-in-nodes/Rodin3D_Gen25_Text.mdx b/built-in-nodes/Rodin3D_Gen25_Text.mdx
index db45a92f1..16b3c779c 100644
--- a/built-in-nodes/Rodin3D_Gen25_Text.mdx
+++ b/built-in-nodes/Rodin3D_Gen25_Text.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Rodin3D_Gen25_Text"
icon: "circle"
mode: wide
---
+
## Overview
Generate a 3D model from a text prompt using the Rodin Gen-2.5 API. You can choose between different quality modes (Fast, Regular, or Extreme-High) to balance generation speed and output quality.
@@ -12,8 +13,8 @@ Generate a 3D model from a text prompt using the Rodin Gen-2.5 API. You can choo
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `prompt` | Text prompt describing the 3D model you want to generate. | STRING | Yes | Max 2500 characters |
+|-----------|-------------|-----------|----------|-------|
+| `prompt` | Text prompt for the 3D model. | STRING | Yes | 1 to 2500 characters |
| `mode` | The generation quality and speed mode. "Fast" is quickest, "Extreme-High" produces the highest quality but takes longer. | COMBO | Yes | `"Fast"` `"Regular"` `"Extreme-High"` |
| `material` | The material style for the generated 3D model. | COMBO | Yes | `"PBR"` `"Matte"` `"Shiny"` |
| `geometry_file_format` | The file format for the output 3D model. | COMBO | Yes | `"glb"` `"obj"` `"stl"` `"usdz"` |
@@ -33,10 +34,10 @@ Generate a 3D model from a text prompt using the Rodin Gen-2.5 API. You can choo
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model_file` | The generated 3D model file in the specified format. | FILE3DANY |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Rodin3D_Gen25_Text/en.md)
---
-**Source fingerprint (SHA-256):** `79fbaf466e9af88cdfdac0f9136a2df17ba4bc2e5bb65a35b9ad2b1181da94db`
+**Source fingerprint (SHA-256):** `7e71532203290e21e13d345b09330a1c00aff9d3754e63f5eff65f37f3fa2403`
diff --git a/built-in-nodes/Rodin3D_Regular.mdx b/built-in-nodes/Rodin3D_Regular.mdx
index 05843bfd4..8361b6cd0 100644
--- a/built-in-nodes/Rodin3D_Regular.mdx
+++ b/built-in-nodes/Rodin3D_Regular.mdx
@@ -5,16 +5,17 @@ sidebarTitle: "Rodin3D_Regular"
icon: "circle"
mode: wide
---
+
The Rodin 3D Regular node generates 3D assets using the Rodin API. It takes input images and processes them through the Rodin service to create 3D models. The node handles the entire workflow from task creation to downloading the final 3D model files.
## Inputs
| Parameter | Description | Data Type | Required | Range |
| --- | --- | --- | --- | --- |
-| `Images` | Input images used for 3D model generation. Up to 5 images can be provided. | IMAGE | Yes | - |
+| `Images` | Input images used for 3D model generation. Up to 5 images can be provided. At least 1 image is required. | IMAGE | Yes | - |
| `Seed` | Random seed value for reproducible results (default: 0). | INT | No | 0 to 65535 |
| `Material_Type` | Type of material to apply to the 3D model (default: "PBR"). | STRING | No | `"PBR"` `"Shaded"` |
-| `Polygon_count` | Target polygon count and mesh type for the generated 3D model (default: "18K-Quad"). | STRING | No | `"4K-Quad"` `"8K-Quad"` `"18K-Quad"` `"50K-Quad"` `"200K-Triangle"` |
+| `Polygon_count` | Target polygon count and mesh type for the generated 3D model (default: "18K-Quad"). | STRING | No | `"4K-Quad"` `"8K-Quad"` `"18K-Quad"` `"50K-Quad" `"200K-Triangle"` |
**Note:** At least 1 image is required for 3D model generation. A maximum of 5 images can be provided.
@@ -28,4 +29,4 @@ The Rodin 3D Regular node generates 3D assets using the Rodin API. It takes inpu
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Rodin3D_Regular/en.md)
---
-**Source fingerprint (SHA-256):** `5d65be9cb92da615690df5665ca02c98e98e95510e002502a33fd869c31e7419`
+**Source fingerprint (SHA-256):** `e0bd8ef311f33481fec877801dea80302eba076f2d9e12f52467e889242a9637`
diff --git a/built-in-nodes/Rodin3D_Sketch.mdx b/built-in-nodes/Rodin3D_Sketch.mdx
index f96aed3f3..4385bfb67 100644
--- a/built-in-nodes/Rodin3D_Sketch.mdx
+++ b/built-in-nodes/Rodin3D_Sketch.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "Rodin3D_Sketch"
icon: "circle"
mode: wide
---
+
This node generates 3D assets using the Rodin API. It takes input images and converts them into 3D models through an external service. The node handles the entire process from task creation to downloading the final 3D model files.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `Images` | Input images to be converted into 3D models. You can provide between 1 and 5 images. | IMAGE | Yes | 1 to 5 images |
| `Seed` | Random seed value for generation (default: 0). Set to 0 for a random seed. | INT | No | 0 to 65535 |
@@ -19,11 +20,11 @@ This node generates 3D assets using the Rodin API. It takes input images and con
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `3D Model Path` | File path to the generated 3D model (for backward compatibility only) | STRING |
| `GLB` | The generated 3D model in GLB format | FILE3DGLB |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Rodin3D_Sketch/en.md)
---
-**Source fingerprint (SHA-256):** `7030e6966a13b62055a17fc1eb39f34aa228fa37bbdcf7c2d5dbbbc1ca96c819`
+**Source fingerprint (SHA-256):** `0b77ce871e267450af63f3e2fe0e36fe81ababc25cbb11498546ad8f487b65e5`
diff --git a/built-in-nodes/Rodin3D_Smooth.mdx b/built-in-nodes/Rodin3D_Smooth.mdx
index 995f7b2c2..32f1f872b 100644
--- a/built-in-nodes/Rodin3D_Smooth.mdx
+++ b/built-in-nodes/Rodin3D_Smooth.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "Rodin3D_Smooth"
icon: "circle"
mode: wide
---
+
The Rodin 3D Smooth node generates 3D assets using the Rodin API by processing input images and converting them into smooth 3D models. It takes multiple images as input and produces a downloadable 3D model file. The node handles the entire generation process including task creation, status polling, and file downloading automatically.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `Images` | Input images to use for 3D model generation. Multiple images can be provided (up to 5). | IMAGE | Yes | - |
| `Seed` | Random seed value for generation consistency (default: 0). | INT | No | 0 to 65535 |
| `Material_Type` | Type of material to apply to the 3D model (default: "PBR"). | STRING | No | "PBR" "Shaded" |
@@ -21,11 +22,11 @@ The Rodin 3D Smooth node generates 3D assets using the Rodin API by processing i
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `3D Model Path` | File path to the downloaded 3D model (for backward compatibility only). | STRING |
| `GLB` | The generated 3D model in GLB format. | FILE3DGLB |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Rodin3D_Smooth/en.md)
---
-**Source fingerprint (SHA-256):** `60a5d70fa095b46f221ce452e290739852b1ebeba34ab7ec21b0b4e3c8e6d164`
+**Source fingerprint (SHA-256):** `c7dc23d2a7a8e2d425fc389476ef381f4ebf974f522c6e3774222866eee064e9`
diff --git a/built-in-nodes/RunwayAleph2KeyframeNode.mdx b/built-in-nodes/RunwayAleph2KeyframeNode.mdx
new file mode 100644
index 000000000..17dacf826
--- /dev/null
+++ b/built-in-nodes/RunwayAleph2KeyframeNode.mdx
@@ -0,0 +1,35 @@
+---
+title: "RunwayAleph2KeyframeNode - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the RunwayAleph2KeyframeNode node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "RunwayAleph2KeyframeNode"
+icon: "circle"
+mode: wide
+---
+
+This node anchors a guidance image to a specific moment of your input video, so the Aleph2 model steers the edit at that point in your footage. Connect this node to the "keyframes" input of the Runway Aleph2 Video to Video node, and chain several together (up to 5) via the optional "keyframes" input.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `image` | The guidance image to apply at the chosen moment of the input video. | IMAGE | Yes | - |
+| `timing` | How to place this image on the input video's timeline. | COMBO | Yes | "Absolute seconds" "Fraction of duration" |
+| `keyframes` | Optional earlier keyframes to chain with this one. | KEYFRAME | No | - |
+
+### Timing Parameter Details
+
+The `timing` parameter has two modes:
+
+- **"Absolute seconds"**: When selected, a `seconds` sub-parameter appears. This specifies the time in seconds from the start of the input video where the image applies (default: 0.0, range: 0.0 to 30.0, step 0.1).
+- **"Fraction of duration"**: When selected, a `fraction` sub-parameter appears. This specifies where in the input video the image applies as a fraction of its duration, where 0.0 is the start and 1.0 is the end (default: 0.0, range: 0.0 to 1.0, step 0.01).
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `keyframes` | A chain of keyframes including this one and any previously connected keyframes. | KEYFRAME |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RunwayAleph2KeyframeNode/en.md)
+
+---
+**Source fingerprint (SHA-256):** `b5ac6553166b7366fd35f97740861be163f91bc2353f5f83bdc2f04bf40f8478`
diff --git a/built-in-nodes/RunwayAleph2PromptImageNode.mdx b/built-in-nodes/RunwayAleph2PromptImageNode.mdx
new file mode 100644
index 000000000..3b6b9cf72
--- /dev/null
+++ b/built-in-nodes/RunwayAleph2PromptImageNode.mdx
@@ -0,0 +1,34 @@
+---
+title: "RunwayAleph2PromptImageNode - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the RunwayAleph2PromptImageNode node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "RunwayAleph2PromptImageNode"
+icon: "circle"
+mode: wide
+---
+
+This node anchors a guidance image to a specific moment in the output video, controlling what the edited video looks like at that point. Connect this node to the `prompt_images` input of the Runway Aleph2 Video to Video node, and chain several together (up to 5) using the optional `prompt_images` input.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `image` | The guidance image to place at the chosen moment of the output video. | IMAGE | Yes | - |
+| `position` | How to place this image on the output video's timeline. Choose between absolute timing (seconds from start) or fractional timing (percentage of video duration). | COMBO | Yes | `Absolute (seconds)` `Fraction (0.0 to 1.0)` |
+| `prompt_images` | Optional earlier prompt images to chain with this one. Connect the output of another Runway Aleph2 Prompt Image node here to build a chain of up to 5 guidance images. | PROMPT_IMAGE_CHAIN | No | - |
+
+**Position Mode Details:**
+
+When `position` is set to `Absolute (seconds)`, you must provide a `seconds` value (default: 0.0, range: 0.0 to 30.0, step: 0.1). This specifies the exact time in seconds from the start of the output video where this image applies.
+
+When `position` is set to `Fraction (0.0 to 1.0)`, you must provide a `fraction` value (default: 0.0, range: 0.0 to 1.0, step: 0.01). This specifies where in the output video this image applies as a fraction of its total duration (0.0 = start, 1.0 = end).
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `prompt_images` | A chain of prompt images that can be connected to the `prompt_images` input of the Runway Aleph2 Video to Video node. | PROMPT_IMAGE_CHAIN |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RunwayAleph2PromptImageNode/en.md)
+
+---
+**Source fingerprint (SHA-256):** `a8b86fb5d73d27cc58aa59c195ca058eec8a5c9433ea09522ff3e905f6b88193`
diff --git a/built-in-nodes/RunwayAleph2VideoToVideoNode.mdx b/built-in-nodes/RunwayAleph2VideoToVideoNode.mdx
new file mode 100644
index 000000000..3661f77f8
--- /dev/null
+++ b/built-in-nodes/RunwayAleph2VideoToVideoNode.mdx
@@ -0,0 +1,37 @@
+---
+title: "RunwayAleph2VideoToVideoNode - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the RunwayAleph2VideoToVideoNode node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "RunwayAleph2VideoToVideoNode"
+icon: "circle"
+mode: wide
+---
+
+This node edits a video using a text prompt with Runway's Aleph2 model. It transforms your footage by restyling, relighting, adding or removing elements, or changing the viewpoint while preserving the original motion and timing. The output resolution matches the input video.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `prompt` | Describes what should appear in the output (1-1000 characters). | STRING | Yes | 1-1000 characters |
+| `video` | Input video to edit. Must be 2-30 seconds at 30 fps or lower. | VIDEO | Yes | 2-30 seconds duration, 30 fps max |
+| `seed` | Random seed for generation (default: 0). | INT | Yes | 0 to 4294967295 |
+| `public_figure_threshold` | Content moderation for recognizable public figures (default: "low"). | COMBO | Yes | "auto" "low" |
+| `keyframes` | Guidance images anchored to the input video, from Aleph2 Keyframe nodes (up to 5). Use keyframes or prompt images, not both. | KEYFRAME | No | Up to 5 items |
+| `prompt_images` | Guidance images anchored to the output video, from Aleph2 Prompt Image nodes (up to 5). Use keyframes or prompt images, not both. | PROMPT_IMAGE | No | Up to 5 items |
+
+**Important constraints:**
+- The input video must be between 2 and 30 seconds long and have a frame rate of 30 fps or lower.
+- You can use either `keyframes` or `prompt_images` for guidance, but not both at the same time.
+- Each guidance input (keyframes or prompt images) supports a maximum of 5 items.
+- Keyframe timestamps and prompt image timestamps must not exceed the input video duration.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `video` | The edited video generated by the Aleph2 model. | VIDEO |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RunwayAleph2VideoToVideoNode/en.md)
+
+---
+**Source fingerprint (SHA-256):** `bda4d0f49843c1a8f311ddbce5911a2a157cae798a26f7a183b31fe41686d0b7`
diff --git a/built-in-nodes/RunwayFirstLastFrameNode.mdx b/built-in-nodes/RunwayFirstLastFrameNode.mdx
index 8e854b5a1..cc472f963 100644
--- a/built-in-nodes/RunwayFirstLastFrameNode.mdx
+++ b/built-in-nodes/RunwayFirstLastFrameNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "RunwayFirstLastFrameNode"
icon: "circle"
mode: wide
---
+
The Runway First-Last-Frame to Video node generates videos by uploading first and last keyframes along with a text prompt. It creates smooth transitions between the provided start and end frames using Runway's Gen-3 model. This is particularly useful for complex transitions where the end frame differs significantly from the start frame.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text prompt for the generation (default: empty string) | STRING | Yes | N/A |
| `start_frame` | Start frame to be used for the video | IMAGE | Yes | N/A |
| `end_frame` | End frame to be used for the video. Supported for gen3a_turbo only. | IMAGE | Yes | N/A |
@@ -28,10 +29,10 @@ The Runway First-Last-Frame to Video node generates videos by uploading first an
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video transitioning between the start and end frames | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RunwayFirstLastFrameNode/en.md)
---
-**Source fingerprint (SHA-256):** `a2d4839bf30bff3e3199a18129eb32c8495b8ea0c9ce209e9b3d00574de35399`
+**Source fingerprint (SHA-256):** `469814fa2ac6d3fb539a4e4fb8a7e952c610f715816c7179a0c918edd47051eb`
diff --git a/built-in-nodes/RunwayImageToVideoNodeGen3a.mdx b/built-in-nodes/RunwayImageToVideoNodeGen3a.mdx
index 1904afae7..6a41652a4 100644
--- a/built-in-nodes/RunwayImageToVideoNodeGen3a.mdx
+++ b/built-in-nodes/RunwayImageToVideoNodeGen3a.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "RunwayImageToVideoNodeGen3a"
icon: "circle"
mode: wide
---
+
The Runway Image to Video (Gen3a Turbo) node generates a video from a single starting frame using Runway's Gen3a Turbo model. It takes a text prompt and an initial image frame, then creates a video sequence based on the specified duration and aspect ratio. This node connects to Runway's API to process the generation remotely.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text prompt for the generation (default: "") | STRING | Yes | N/A |
| `start_frame` | Start frame to be used for the video | IMAGE | Yes | N/A |
| `duration` | Video duration in seconds (default: "5") | COMBO | Yes | `"5"` `"10"` |
@@ -26,10 +27,10 @@ The Runway Image to Video (Gen3a Turbo) node generates a video from a single sta
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video sequence | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RunwayImageToVideoNodeGen3a/en.md)
---
-**Source fingerprint (SHA-256):** `ff88d2486746ab3ddf1b7a0c3184c54abd6bcb01e9743bc04c93e9c3a9e8d9ff`
+**Source fingerprint (SHA-256):** `86d4c5468ca1a192e71f502d4d409a9813769c68aa464d113a012052a55d760e`
diff --git a/built-in-nodes/RunwayImageToVideoNodeGen4.mdx b/built-in-nodes/RunwayImageToVideoNodeGen4.mdx
index 9d32c81db..cb53b147b 100644
--- a/built-in-nodes/RunwayImageToVideoNodeGen4.mdx
+++ b/built-in-nodes/RunwayImageToVideoNodeGen4.mdx
@@ -5,15 +5,16 @@ sidebarTitle: "RunwayImageToVideoNodeGen4"
icon: "circle"
mode: wide
---
+
The Runway Image to Video (Gen4 Turbo) node generates a video from a single starting frame using Runway's Gen4 Turbo model. It takes a text prompt and an initial image frame, then creates a video sequence based on the provided duration and aspect ratio settings. The node handles uploading the starting frame to Runway's API and returns the generated video.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text prompt for the generation (default: empty string) | STRING | Yes | - |
| `start_frame` | Start frame to be used for the video | IMAGE | Yes | - |
-| `duration` | Video duration in seconds (default: "5") | COMBO | Yes | `"5"` `"10"` |
+| `duration` | Video duration in seconds | COMBO | Yes | `"5"` `"10"` |
| `ratio` | Aspect ratio for the generated video (default: "1280:720") | COMBO | Yes | `"1280:720"` `"720:1280"` `"1104:832"` `"832:1104"` `"960:960"` `"1584:672"` |
| `seed` | Random seed for generation (default: 0) | INT | No | 0 to 4294967295 |
@@ -26,10 +27,10 @@ The Runway Image to Video (Gen4 Turbo) node generates a video from a single star
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated video based on the input frame and prompt | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RunwayImageToVideoNodeGen4/en.md)
---
-**Source fingerprint (SHA-256):** `0b5a2c351277b8c2247b4625fd030dd6f4de8dafd92f59a969575db1ba2f7fe9`
+**Source fingerprint (SHA-256):** `1cbf70391f1dfd0f40a3085dad68b98ec20e964eab7d4a17b2fb3cd07a035277`
diff --git a/built-in-nodes/RunwayTextToImageNode.mdx b/built-in-nodes/RunwayTextToImageNode.mdx
index 500f003b3..dc72cc624 100644
--- a/built-in-nodes/RunwayTextToImageNode.mdx
+++ b/built-in-nodes/RunwayTextToImageNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "RunwayTextToImageNode"
icon: "circle"
mode: wide
---
+
The Runway Text to Image node generates images from text prompts using Runway's Gen 4 model. You can provide a text description and optionally include a reference image to guide the image generation process. The node handles the API communication and returns the generated image.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | Text prompt for the generation (default: "") | STRING | Yes | - |
| `ratio` | Aspect ratio for the generated image | COMBO | Yes | "16:9" "1:1" "21:9" "2:3" "3:2" "4:5" "5:4" "9:16" "9:21" |
| `reference_image` | Optional reference image to guide the generation | IMAGE | No | - |
@@ -20,10 +21,10 @@ The Runway Text to Image node generates images from text prompts using Runway's
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated image based on the text prompt and optional reference image | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/RunwayTextToImageNode/en.md)
---
-**Source fingerprint (SHA-256):** `212eec9ae7ae3df06cefacae361cfd1f623ea7b6b1ca0e4beb4f5b7df76226e5`
+**Source fingerprint (SHA-256):** `c9403da2e9ad8f663d3eea32eb549843696262e4472fc8d58c1f56ef9cc5aa7d`
diff --git a/built-in-nodes/SAM3_Detect.mdx b/built-in-nodes/SAM3_Detect.mdx
index 7569abb22..3b1f41ff7 100644
--- a/built-in-nodes/SAM3_Detect.mdx
+++ b/built-in-nodes/SAM3_Detect.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "SAM3_Detect"
icon: "circle"
mode: wide
---
-# SAM3 Detect Node
## Overview
diff --git a/built-in-nodes/SAM3_TrackPreview.mdx b/built-in-nodes/SAM3_TrackPreview.mdx
index ce8195c23..07143e3e3 100644
--- a/built-in-nodes/SAM3_TrackPreview.mdx
+++ b/built-in-nodes/SAM3_TrackPreview.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SAM3_TrackPreview"
icon: "circle"
mode: wide
---
+
## Overview
This node creates a video preview of tracked objects, drawing each tracked object with a distinct color overlay and a number label. It does not output any image or video tensors — instead, it saves the resulting preview video directly to a temporary file.
diff --git a/built-in-nodes/SAM3_TrackToMask.mdx b/built-in-nodes/SAM3_TrackToMask.mdx
index f887dfd1a..aa9d3cf4f 100644
--- a/built-in-nodes/SAM3_TrackToMask.mdx
+++ b/built-in-nodes/SAM3_TrackToMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SAM3_TrackToMask"
icon: "circle"
mode: wide
---
+
## Overview
Selects specific tracked objects from a SAM3 tracking session by their index numbers and combines them into a single output mask. This allows you to choose which objects to keep and which to ignore from the tracking results.
diff --git a/built-in-nodes/SAM3_VideoTrack.mdx b/built-in-nodes/SAM3_VideoTrack.mdx
index 948a88457..d7cf9d28a 100644
--- a/built-in-nodes/SAM3_VideoTrack.mdx
+++ b/built-in-nodes/SAM3_VideoTrack.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SAM3_VideoTrack"
icon: "circle"
mode: wide
---
+
## Overview
Track objects across video frames using SAM3's memory-based tracker. This node processes a sequence of video frames and maintains object identities across frames, using either initial masks or text prompts to define what to track.
diff --git a/built-in-nodes/SCAIL2ColoredMask.mdx b/built-in-nodes/SCAIL2ColoredMask.mdx
new file mode 100644
index 000000000..798f71447
--- /dev/null
+++ b/built-in-nodes/SCAIL2ColoredMask.mdx
@@ -0,0 +1,31 @@
+---
+title: "SCAIL2ColoredMask - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the SCAIL2ColoredMask node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "SCAIL2ColoredMask"
+icon: "circle"
+mode: wide
+---
+
+This node renders SAM3 tracking data into colored masks that are consumed by the WanSCAILToVideo node. It processes tracking data from a driving pose video and optionally a reference image, assigning consistent colors to each tracked person across both outputs.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `driving_track_data` | SAM3 track of the driving pose video. Will be rendered into the pose_video_mask output. | SAM3_TRACK_DATA | Yes | - |
+| `ref_track_data` | SAM3 track of the reference image(s) (one identity per object, colored in batch order), or a plain MASK of the reference subject (rendered as a single identity). | SAM3_TRACK_DATA or MASK | No | - |
+| `object_indices` | Comma-separated list of person indices to include (e.g. '0,2,3'). Applied to both reference and pose video masks. Empty = all. (default: "") | STRING | Yes | - |
+| `sort_by` | Order in which palette colors are assigned to the tracked objects (applied to both reference and pose video so each identity keeps the same color). Objects that appear in earlier frames always come first; within a frame, left_to_right = leftmost object (by centroid at first appearance) gets the first color, area = biggest object (by mask area at first appearance) gets the first color; none = keep SAM3's order. (default: "left_to_right") | COMBO | Yes | `"none"` `"left_to_right"` `"area"` |
+| `replacement_mode` | False = Animation Mode (pose_video_mask has black background, reference_image_mask has white background). True = Replacement Mode (pose_video_mask has white background, reference_image_mask has black background). (default: False) | BOOLEAN | Yes | False True |
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `pose_video_mask` | Colored mask rendered from the driving pose video tracking data. Background color follows replacement_mode setting. | IMAGE |
+| `reference_image_mask` | Colored mask rendered from the reference image tracking data. Background is black in Replacement Mode, white in Animation Mode. If no reference data is provided, returns a solid fill matching the reference background color. | IMAGE |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/SCAIL2ColoredMask/en.md)
+
+---
+**Source fingerprint (SHA-256):** `ce0669ad0ed3c76cc18ef0ee7b620f5aa6eaa1e5b96c189941c0a5b744c3351f`
diff --git a/built-in-nodes/SDPoseDrawKeypoints.mdx b/built-in-nodes/SDPoseDrawKeypoints.mdx
index d41fe5e9d..cadf7a8c8 100644
--- a/built-in-nodes/SDPoseDrawKeypoints.mdx
+++ b/built-in-nodes/SDPoseDrawKeypoints.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SDPoseDrawKeypoints"
icon: "circle"
mode: wide
---
+
The SDPoseDrawKeypoints node takes pose estimation data (keypoints) and draws them as a visual skeleton on a blank canvas. It allows you to selectively draw different parts of the pose, such as the body, hands, face, and feet, with customizable line widths and point sizes. The resulting image can be used for visualization or as input for other nodes that require a pose image.
## Inputs
diff --git a/built-in-nodes/SDPoseFaceBBoxes.mdx b/built-in-nodes/SDPoseFaceBBoxes.mdx
index d5bb3b3ff..b1935e291 100644
--- a/built-in-nodes/SDPoseFaceBBoxes.mdx
+++ b/built-in-nodes/SDPoseFaceBBoxes.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SDPoseFaceBBoxes"
icon: "circle"
mode: wide
---
+
The SDPoseFaceBBoxes node processes pose keypoint data to detect and generate bounding boxes around human faces. It analyzes the 2D face keypoints for each person in a frame, calculates a bounding box based on those points, and can adjust the box's size and shape. The resulting bounding boxes are formatted to be compatible with other nodes in the SDPose workflow, such as the SDPoseKeypointExtractor.
## Inputs
diff --git a/built-in-nodes/SDPoseKeypointExtractor.mdx b/built-in-nodes/SDPoseKeypointExtractor.mdx
index 74e7f47f5..25f10e9c5 100644
--- a/built-in-nodes/SDPoseKeypointExtractor.mdx
+++ b/built-in-nodes/SDPoseKeypointExtractor.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SDPoseKeypointExtractor"
icon: "circle"
mode: wide
---
+
The SDPoseKeypointExtractor node detects human pose keypoints from input images using the SDPose model. It can process full images or specific regions defined by bounding boxes and outputs the detected keypoints in the OpenPose format, which includes the coordinates for each person and a confidence score for each keypoint.
## Inputs
diff --git a/built-in-nodes/SDTurboScheduler.mdx b/built-in-nodes/SDTurboScheduler.mdx
index 3a7a51f62..f4bc5d5e6 100644
--- a/built-in-nodes/SDTurboScheduler.mdx
+++ b/built-in-nodes/SDTurboScheduler.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SDTurboScheduler"
icon: "circle"
mode: wide
---
+
SDTurboScheduler is designed to generate a sequence of sigma values for image sampling, adjusting the sequence based on the denoise level and the number of steps specified. It leverages a specific model's sampling capabilities to produce these sigma values, which are crucial for controlling the denoising process during image generation.
## Inputs
diff --git a/built-in-nodes/SD_4XUpscale_Conditioning.mdx b/built-in-nodes/SD_4XUpscale_Conditioning.mdx
index 726116918..3cb9976d9 100644
--- a/built-in-nodes/SD_4XUpscale_Conditioning.mdx
+++ b/built-in-nodes/SD_4XUpscale_Conditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SD_4XUpscale_Conditioning"
icon: "circle"
mode: wide
---
+
The SD_4XUpscale_Conditioning node prepares conditioning data for upscaling images using diffusion models. It takes input images and conditioning data, then applies scaling and noise augmentation to create modified conditioning that guides the upscaling process. The node outputs both positive and negative conditioning along with latent representations for the upscaled dimensions.
## Inputs
diff --git a/built-in-nodes/SUPIRApply.mdx b/built-in-nodes/SUPIRApply.mdx
index f932261c7..1b2e6544a 100644
--- a/built-in-nodes/SUPIRApply.mdx
+++ b/built-in-nodes/SUPIRApply.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SUPIRApply"
icon: "circle"
mode: wide
---
+
The SUPIRApply node applies a SUPIR model patch to a diffusion model. It uses the patch to modify the model's behavior, allowing it to incorporate guidance from an input image during the sampling process. The node also provides controls for adjusting the strength of this guidance over time and includes an optional feature to help maintain fidelity to the original input.
## Inputs
diff --git a/built-in-nodes/SV3D_Conditioning.mdx b/built-in-nodes/SV3D_Conditioning.mdx
index e909e0a81..0e460629a 100644
--- a/built-in-nodes/SV3D_Conditioning.mdx
+++ b/built-in-nodes/SV3D_Conditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SV3D_Conditioning"
icon: "circle"
mode: wide
---
+
The SV3D_Conditioning node prepares conditioning data for 3D video generation using the SV3D model. It takes an initial image and processes it through CLIP vision and VAE encoders to create positive and negative conditioning, along with a latent representation. The node generates camera elevation and azimuth sequences for multi-frame video generation based on the specified number of video frames.
## Inputs
diff --git a/built-in-nodes/SVD_img2vid_Conditioning.mdx b/built-in-nodes/SVD_img2vid_Conditioning.mdx
index c2770fac9..df2617508 100644
--- a/built-in-nodes/SVD_img2vid_Conditioning.mdx
+++ b/built-in-nodes/SVD_img2vid_Conditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SVD_img2vid_Conditioning"
icon: "circle"
mode: wide
---
+
The SVD_img2vid_Conditioning node prepares conditioning data for video generation using Stable Video Diffusion. It takes an initial image and processes it through CLIP vision and VAE encoders to create positive and negative conditioning pairs, along with an empty latent space for video generation. This node sets up the necessary parameters for controlling motion, frame rate, and augmentation levels in the generated video.
## Inputs
diff --git a/built-in-nodes/SamplerARVideo.mdx b/built-in-nodes/SamplerARVideo.mdx
index 324c764c5..63e1d270e 100644
--- a/built-in-nodes/SamplerARVideo.mdx
+++ b/built-in-nodes/SamplerARVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerARVideo"
icon: "circle"
mode: wide
---
+
The Sampler AR Video node provides a specialized sampling method for autoregressive video models, such as those using Causal Forcing or Self-Forcing techniques. It manages all parameters related to the autoregressive (AR) loop directly within the workflow, making it easy to configure how the model generates video frames one step at a time.
## Inputs
diff --git a/built-in-nodes/SamplerCustom.mdx b/built-in-nodes/SamplerCustom.mdx
index 451756916..42d8767ea 100644
--- a/built-in-nodes/SamplerCustom.mdx
+++ b/built-in-nodes/SamplerCustom.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerCustom"
icon: "circle"
mode: wide
---
+
The SamplerCustom node is designed to provide a flexible and customizable sampling mechanism for various applications. It enables users to select and configure different sampling strategies tailored to their specific needs, enhancing the adaptability and efficiency of the sampling process.
## Inputs
diff --git a/built-in-nodes/SamplerCustomAdvanced.mdx b/built-in-nodes/SamplerCustomAdvanced.mdx
index 0ebe37cd5..7f098c6cd 100644
--- a/built-in-nodes/SamplerCustomAdvanced.mdx
+++ b/built-in-nodes/SamplerCustomAdvanced.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerCustomAdvanced"
icon: "circle"
mode: wide
---
+
The SamplerCustomAdvanced node performs advanced latent space sampling using custom noise, guidance, and sampling configurations. It processes a latent image through a guided sampling process with customizable noise generation and sigma schedules, producing both the final sampled output and a denoised version when available.
## Inputs
diff --git a/built-in-nodes/SamplerDPMAdaptative.mdx b/built-in-nodes/SamplerDPMAdaptative.mdx
index 8c715e7f9..6bda2fcd1 100644
--- a/built-in-nodes/SamplerDPMAdaptative.mdx
+++ b/built-in-nodes/SamplerDPMAdaptative.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerDPMAdaptative"
icon: "circle"
mode: wide
---
+
The SamplerDPMAdaptative node implements an adaptive DPM (Diffusion Probabilistic Model) sampler that automatically adjusts step sizes during the sampling process. It uses tolerance-based error control to determine optimal step sizes, balancing computational efficiency with sampling accuracy. This adaptive approach helps maintain quality while potentially reducing the number of steps needed.
## Inputs
diff --git a/built-in-nodes/SamplerDPMPP_2M_SDE.mdx b/built-in-nodes/SamplerDPMPP_2M_SDE.mdx
index 4bac6588c..09f6fa4ce 100644
--- a/built-in-nodes/SamplerDPMPP_2M_SDE.mdx
+++ b/built-in-nodes/SamplerDPMPP_2M_SDE.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerDPMPP_2M_SDE"
icon: "circle"
mode: wide
---
+
The SamplerDPMPP_2M_SDE node creates a DPM++ 2M SDE sampler for diffusion models. This sampler uses second-order differential equation solvers with stochastic differential equations to generate samples. It provides different solver types and noise handling options to control the sampling process.
## Inputs
diff --git a/built-in-nodes/SamplerDPMPP_2S_Ancestral.mdx b/built-in-nodes/SamplerDPMPP_2S_Ancestral.mdx
index 0d308ead5..f681b42f8 100644
--- a/built-in-nodes/SamplerDPMPP_2S_Ancestral.mdx
+++ b/built-in-nodes/SamplerDPMPP_2S_Ancestral.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerDPMPP_2S_Ancestral"
icon: "circle"
mode: wide
---
+
The SamplerDPMPP_2S_Ancestral node creates a sampler that uses the DPM++ 2S Ancestral sampling method for generating images. This sampler combines deterministic and stochastic elements to produce varied results while maintaining some consistency. It allows you to control the randomness and noise levels during the sampling process.
## Inputs
diff --git a/built-in-nodes/SamplerDPMPP_3M_SDE.mdx b/built-in-nodes/SamplerDPMPP_3M_SDE.mdx
index eee57724a..fc943e88a 100644
--- a/built-in-nodes/SamplerDPMPP_3M_SDE.mdx
+++ b/built-in-nodes/SamplerDPMPP_3M_SDE.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerDPMPP_3M_SDE"
icon: "circle"
mode: wide
---
+
The SamplerDPMPP_3M_SDE node creates a DPM++ 3M SDE sampler for use in the sampling process. This sampler uses a third-order multistep stochastic differential equation method with configurable noise parameters. The node allows you to choose whether noise calculations are performed on the GPU or CPU.
## Inputs
diff --git a/built-in-nodes/SamplerDPMPP_SDE.mdx b/built-in-nodes/SamplerDPMPP_SDE.mdx
index 4e9506b31..d75621d21 100644
--- a/built-in-nodes/SamplerDPMPP_SDE.mdx
+++ b/built-in-nodes/SamplerDPMPP_SDE.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerDPMPP_SDE"
icon: "circle"
mode: wide
---
+
The SamplerDPMPP_SDE node creates a DPM++ SDE (Stochastic Differential Equation) sampler for use in the sampling process. This sampler provides a stochastic sampling method with configurable noise parameters and device selection. It returns a sampler object that can be used in the sampling pipeline.
## Inputs
diff --git a/built-in-nodes/SamplerDpmpp2mSde.mdx b/built-in-nodes/SamplerDpmpp2mSde.mdx
index f528a4e52..32a24a8db 100644
--- a/built-in-nodes/SamplerDpmpp2mSde.mdx
+++ b/built-in-nodes/SamplerDpmpp2mSde.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerDpmpp2mSde"
icon: "circle"
mode: wide
---
+
This node is designed to generate a sampler for the DPMPP_2M_SDE model, allowing for the creation of samples based on specified solver types, noise levels, and computational device preferences. It abstracts the complexities of sampler configuration, providing a streamlined interface for generating samples with customized settings.
## Inputs
diff --git a/built-in-nodes/SamplerDpmppSde.mdx b/built-in-nodes/SamplerDpmppSde.mdx
index 7668faf35..af659f18f 100644
--- a/built-in-nodes/SamplerDpmppSde.mdx
+++ b/built-in-nodes/SamplerDpmppSde.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerDpmppSde"
icon: "circle"
mode: wide
---
+
This node is designed to generate a sampler for the DPM++ SDE (Stochastic Differential Equation) model. It adapts to both CPU and GPU execution environments, optimizing the sampler's implementation based on the available hardware.
## Inputs
diff --git a/built-in-nodes/SamplerER_SDE.mdx b/built-in-nodes/SamplerER_SDE.mdx
index ff101ec99..f3a348f92 100644
--- a/built-in-nodes/SamplerER_SDE.mdx
+++ b/built-in-nodes/SamplerER_SDE.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerER_SDE"
icon: "circle"
mode: wide
---
+
The SamplerER_SDE node provides specialized sampling methods for diffusion models, offering different solver types including ER-SDE, Reverse-time SDE, and ODE approaches. It allows control over the stochastic behavior and computational stages of the sampling process. The node automatically adjusts parameters based on the selected solver type to ensure proper functionality.
## Inputs
diff --git a/built-in-nodes/SamplerEulerAncestral.mdx b/built-in-nodes/SamplerEulerAncestral.mdx
index 1b4106d05..f117596c3 100644
--- a/built-in-nodes/SamplerEulerAncestral.mdx
+++ b/built-in-nodes/SamplerEulerAncestral.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerEulerAncestral"
icon: "circle"
mode: wide
---
+
The SamplerEulerAncestral node creates an Euler Ancestral sampler for generating images. This sampler uses a specific mathematical approach that combines Euler integration with ancestral sampling techniques to produce image variations. The node allows you to configure the sampling behavior by adjusting parameters that control the randomness and step size during the generation process.
## Inputs
diff --git a/built-in-nodes/SamplerEulerAncestralCFGPP.mdx b/built-in-nodes/SamplerEulerAncestralCFGPP.mdx
index 4441b3f1b..77e7c3711 100644
--- a/built-in-nodes/SamplerEulerAncestralCFGPP.mdx
+++ b/built-in-nodes/SamplerEulerAncestralCFGPP.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerEulerAncestralCFGPP"
icon: "circle"
mode: wide
---
+
The SamplerEulerAncestralCFGPP node creates a sampler that uses the Euler Ancestral method with classifier-free guidance (CFG++) for image generation. This sampler combines ancestral sampling techniques with guidance conditioning to produce diverse image variations while maintaining coherence, and allows fine-tuning through parameters that control noise and step size adjustments.
## Inputs
diff --git a/built-in-nodes/SamplerEulerCFGpp.mdx b/built-in-nodes/SamplerEulerCFGpp.mdx
index 78b3ce60c..7e67dce06 100644
--- a/built-in-nodes/SamplerEulerCFGpp.mdx
+++ b/built-in-nodes/SamplerEulerCFGpp.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerEulerCFGpp"
icon: "circle"
mode: wide
---
+
The SamplerEulerCFGpp node provides an Euler CFG++ sampling method for generating outputs. This node offers two different implementation versions of the Euler CFG++ sampler that can be selected based on user preference.
## Inputs
diff --git a/built-in-nodes/SamplerLCM.mdx b/built-in-nodes/SamplerLCM.mdx
index 65f7fe076..39b16dd57 100644
--- a/built-in-nodes/SamplerLCM.mdx
+++ b/built-in-nodes/SamplerLCM.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerLCM"
icon: "circle"
mode: wide
---
+
The SamplerLCM node provides an LCM (Latent Consistency Model) sampler with tunable per-step noise parameters. It allows you to control the noise applied at each sampling step, enabling fine-grained adjustment of the sampling process.
## Inputs
diff --git a/built-in-nodes/SamplerLCMUpscale.mdx b/built-in-nodes/SamplerLCMUpscale.mdx
index 9ba7b3847..d07aff6bb 100644
--- a/built-in-nodes/SamplerLCMUpscale.mdx
+++ b/built-in-nodes/SamplerLCMUpscale.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerLCMUpscale"
icon: "circle"
mode: wide
---
+
The SamplerLCMUpscale node provides a specialized sampling method that combines Latent Consistency Model (LCM) sampling with image upscaling capabilities. It allows you to upscale images during the sampling process using various interpolation methods, making it useful for generating higher resolution outputs while maintaining image quality.
## Inputs
diff --git a/built-in-nodes/SamplerLMS.mdx b/built-in-nodes/SamplerLMS.mdx
index aa7200cd1..64f1276a8 100644
--- a/built-in-nodes/SamplerLMS.mdx
+++ b/built-in-nodes/SamplerLMS.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerLMS"
icon: "circle"
mode: wide
---
+
The SamplerLMS node creates a Least Mean Squares (LMS) sampler for use in diffusion models. It generates a sampler object that can be used in the sampling process, allowing you to control the order of the LMS algorithm for numerical stability and accuracy.
## Inputs
diff --git a/built-in-nodes/SamplerSASolver.mdx b/built-in-nodes/SamplerSASolver.mdx
index 9306138c3..d3c42a5f2 100644
--- a/built-in-nodes/SamplerSASolver.mdx
+++ b/built-in-nodes/SamplerSASolver.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerSASolver"
icon: "circle"
mode: wide
---
+
The SamplerSASolver node implements a custom sampling algorithm for diffusion models. It uses a predictor-corrector approach with configurable order settings and stochastic differential equation (SDE) parameters to generate samples from the input model.
## Inputs
diff --git a/built-in-nodes/SamplerSEEDS2.mdx b/built-in-nodes/SamplerSEEDS2.mdx
index b1c199154..8009220d3 100644
--- a/built-in-nodes/SamplerSEEDS2.mdx
+++ b/built-in-nodes/SamplerSEEDS2.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplerSEEDS2"
icon: "circle"
mode: wide
---
+
This node provides a configurable sampler for generating images. It implements the SEEDS-2 algorithm, which is a stochastic differential equation (SDE) solver. By adjusting its parameters, you can configure it to behave like several specific samplers, including `seeds_2`, `exp_heun_2_x0`, and `exp_heun_2_x0_sde`.
## Inputs
diff --git a/built-in-nodes/SamplingPercentToSigma.mdx b/built-in-nodes/SamplingPercentToSigma.mdx
index 4ca3fa259..71432080f 100644
--- a/built-in-nodes/SamplingPercentToSigma.mdx
+++ b/built-in-nodes/SamplingPercentToSigma.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SamplingPercentToSigma"
icon: "circle"
mode: wide
---
+
The SamplingPercentToSigma node converts a sampling percentage value to a corresponding sigma value using the model's sampling parameters. It takes a percentage value between 0.0 and 1.0 and maps it to the appropriate sigma value in the model's noise schedule, with options to return either the calculated sigma or the actual maximum/minimum sigma values at the boundaries.
## Inputs
diff --git a/built-in-nodes/SaveAnimatedPNG.mdx b/built-in-nodes/SaveAnimatedPNG.mdx
index e97e8ff04..ba1f6c025 100644
--- a/built-in-nodes/SaveAnimatedPNG.mdx
+++ b/built-in-nodes/SaveAnimatedPNG.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SaveAnimatedPNG"
icon: "circle"
mode: wide
---
+
The SaveAnimatedPNG node is designed for creating and saving animated PNG images from a sequence of frames. It handles the assembly of individual image frames into a cohesive animation, allowing for customization of frame duration, looping, and metadata inclusion.
## Inputs
diff --git a/built-in-nodes/SaveAnimatedWEBP.mdx b/built-in-nodes/SaveAnimatedWEBP.mdx
index f8df91f39..03f956df5 100644
--- a/built-in-nodes/SaveAnimatedWEBP.mdx
+++ b/built-in-nodes/SaveAnimatedWEBP.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SaveAnimatedWEBP"
icon: "circle"
mode: wide
---
+
This node is designed for saving a sequence of images as an animated WEBP file. It handles the aggregation of individual frames into a cohesive animation, applying specified metadata, and optimizing the output based on quality and compression settings.
## Inputs
diff --git a/built-in-nodes/SaveAudio.mdx b/built-in-nodes/SaveAudio.mdx
index 7510c8ac9..2ddf8840d 100644
--- a/built-in-nodes/SaveAudio.mdx
+++ b/built-in-nodes/SaveAudio.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "SaveAudio"
icon: "circle"
mode: wide
---
-The SaveAudio node saves audio data to a file in FLAC format. It takes audio input and writes it to the specified output directory with the given filename prefix. The node automatically handles file naming and ensures the audio is properly saved for later use.
+
+The SaveAudio node saves audio data to a file in FLAC format. It takes audio input and writes it to the specified output directory with the given filename prefix. This node is deprecated and should be replaced with the current Save Audio node.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `audio` | The audio data to be saved | AUDIO | Yes | - |
| `filename_prefix` | The prefix for the output filename (default: "audio/ComfyUI") | STRING | No | - |
@@ -19,10 +20,10 @@ The SaveAudio node saves audio data to a file in FLAC format. It takes audio inp
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| *None* | This node does not return any output data but saves the audio file to the output directory | - |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/SaveAudio/en.md)
---
-**Source fingerprint (SHA-256):** `fddb5b1b2e103efa18cd367969193b25753a08e9a56420c39df4645894006ac2`
+**Source fingerprint (SHA-256):** `7c8b7aefb438ce8463cb277e044a118af1a8e8a9f7e90aac4d33ad60544903bd`
diff --git a/built-in-nodes/SaveAudioAdvanced.mdx b/built-in-nodes/SaveAudioAdvanced.mdx
index 0a7a446c6..96ecd64c5 100644
--- a/built-in-nodes/SaveAudioAdvanced.mdx
+++ b/built-in-nodes/SaveAudioAdvanced.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "SaveAudioAdvanced"
icon: "circle"
mode: wide
---
-# Save Audio (Advanced)
Saves the input audio to your ComfyUI output directory. This node allows you to export audio in various formats including FLAC, MP3, and Opus with configurable quality settings.
diff --git a/built-in-nodes/SaveAudioMP3.mdx b/built-in-nodes/SaveAudioMP3.mdx
index 93b73bb16..1a56356aa 100644
--- a/built-in-nodes/SaveAudioMP3.mdx
+++ b/built-in-nodes/SaveAudioMP3.mdx
@@ -5,25 +5,28 @@ sidebarTitle: "SaveAudioMP3"
icon: "circle"
mode: wide
---
-The SaveAudioMP3 node saves audio data as an MP3 file. It takes audio input and exports it to the specified output directory with customizable filename and quality settings. The node automatically handles file naming and format conversion to create a playable MP3 file.
+
+The SaveAudioMP3 node saves audio data as an MP3 file. It takes audio input and exports it to the specified output directory with customizable filename and quality settings. The node automatically handles file naming and format conversion to create a playable MP3 file. **This node is deprecated and may be removed in future versions.**
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `audio` | The audio data to be saved as an MP3 file | AUDIO | Yes | - |
| `filename_prefix` | The prefix for the output filename (default: "audio/ComfyUI") | STRING | No | - |
-| `quality` | The audio quality setting for the MP3 file (default: "V0") | STRING | No | "V0" "128k" "320k" |
+| `quality` | The audio quality setting for the MP3 file (default: "V0") | STRING | No | `"V0"` `"128k"` `"320k"` |
| `prompt` | Internal prompt data (automatically provided by the system) | PROMPT | No | - |
| `extra_pnginfo` | Additional PNG information (automatically provided by the system) | EXTRA_PNGINFO | No | - |
+**Note:** If the input `audio` is None (for example, when the source video has no audio track), the node will raise a ValueError.
+
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| *None* | This node does not return any output data, but saves the audio file to the output directory | - |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/SaveAudioMP3/en.md)
---
-**Source fingerprint (SHA-256):** `b238008410f7e8d65b07d79f12cad2cf2ead1fd105bc881a3bef87ab4e71f484`
+**Source fingerprint (SHA-256):** `7274988c40c063e1bb4f46010ec722bb9e660d8f9414ec7a618a07b808f89208`
diff --git a/built-in-nodes/SaveAudioOpus.mdx b/built-in-nodes/SaveAudioOpus.mdx
index 70b89a4d6..1f0c38562 100644
--- a/built-in-nodes/SaveAudioOpus.mdx
+++ b/built-in-nodes/SaveAudioOpus.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "SaveAudioOpus"
icon: "circle"
mode: wide
---
-The SaveAudioOpus node saves audio data to an Opus format file. It takes audio input and exports it as a compressed Opus file with configurable quality settings. The node automatically handles file naming and saves the output to the designated output directory.
+
+The SaveAudioOpus node saves audio data to an Opus format file. It takes audio input and exports it as a compressed Opus file with configurable quality settings. This node is deprecated and may be removed in future versions.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `audio` | The audio data to be saved as an Opus file | AUDIO | Yes | - |
| `filename_prefix` | The prefix for the output filename (default: "audio/ComfyUI") | STRING | No | - |
| `quality` | The audio quality setting for the Opus file (default: "128k") | COMBO | No | "64k" "96k" "128k" "192k" "320k" |
@@ -18,10 +19,10 @@ The SaveAudioOpus node saves audio data to an Opus format file. It takes audio i
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| - | This node does not return any output values. It saves the audio file to disk as its primary function. | - |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/SaveAudioOpus/en.md)
---
-**Source fingerprint (SHA-256):** `d793d9ef7da6bd3f9257ad16ab9dc5b31a16354a2dff1449afcb6980b9e1dc63`
+**Source fingerprint (SHA-256):** `37b6eaa7961d6602e9bb7f3233ad8542ca6cc694247ccd2d1334db8b96338071`
diff --git a/built-in-nodes/SaveGLB.mdx b/built-in-nodes/SaveGLB.mdx
index e7180d17b..1ddc28f10 100644
--- a/built-in-nodes/SaveGLB.mdx
+++ b/built-in-nodes/SaveGLB.mdx
@@ -5,22 +5,23 @@ sidebarTitle: "SaveGLB"
icon: "circle"
mode: wide
---
-The SaveGLB node saves 3D mesh data or 3D files to the output directory. It accepts mesh data or various 3D file formats (GLB, GLTF, OBJ, FBX, STL, USDZ) and exports them with a specified filename prefix. When saving mesh data, it can handle multiple meshes and automatically adds workflow metadata to the files when metadata is enabled.
+
+The SaveGLB node saves 3D mesh data or 3D files to the output directory. It accepts mesh data or various 3D file formats and exports them with a specified filename prefix. When saving mesh data, it can handle multiple meshes and automatically adds workflow metadata to the files when metadata is enabled.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `mesh` | Mesh or 3D file to save. Accepts mesh data or 3D file formats including GLB, GLTF, OBJ, FBX, STL, and USDZ | MESH or FILE3D | Yes | - |
+|-----------|-------------|-----------|----------|-------|
+| `mesh` | Mesh or 3D file to save. Accepts mesh data or 3D file formats including GLB, GLTF, OBJ, FBX, STL, USDZ, PLY, SPLAT, SPZ, KSPLAT, and any splat or point cloud format | MESH or FILE3D | Yes | - |
| `filename_prefix` | The prefix for the output filename (default: "3d/ComfyUI") | STRING | No | - |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `ui` | Displays the saved 3D files in the user interface with filename, subfolder, and type information | UI |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/SaveGLB/en.md)
---
-**Source fingerprint (SHA-256):** `ed56f61f60afea7dfbcae8b222aa7129608e3b10bc0daa27934b8c0cbeb1c0e8`
+**Source fingerprint (SHA-256):** `bee2497160a7fbd2cd43900e66faca4b3b5797cdc7c7f99b85ca063836616430`
diff --git a/built-in-nodes/SaveImage.mdx b/built-in-nodes/SaveImage.mdx
index ef6e85908..3c1e47019 100644
--- a/built-in-nodes/SaveImage.mdx
+++ b/built-in-nodes/SaveImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SaveImage"
icon: "circle"
mode: wide
---
+
The SaveImage node saves the images it receives to your `ComfyUI/output` directory. It saves each image as a PNG file and can embed workflow metadata, such as the prompt, into the saved file for future reference.
## Inputs
diff --git a/built-in-nodes/SaveImageAdvanced.mdx b/built-in-nodes/SaveImageAdvanced.mdx
index 7c4becdcd..dbf075b4e 100644
--- a/built-in-nodes/SaveImageAdvanced.mdx
+++ b/built-in-nodes/SaveImageAdvanced.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "SaveImageAdvanced"
icon: "circle"
mode: wide
---
-# SaveImageAdvanced
The **SaveImageAdvanced** node saves images to your ComfyUI output directory with advanced control over file format, bit depth, and color space. It supports saving as PNG or EXR files and can embed workflow metadata into the saved files.
diff --git a/built-in-nodes/SaveImageDataSetToFolder.mdx b/built-in-nodes/SaveImageDataSetToFolder.mdx
index ce18cbaf8..fb36d40ae 100644
--- a/built-in-nodes/SaveImageDataSetToFolder.mdx
+++ b/built-in-nodes/SaveImageDataSetToFolder.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SaveImageDataSetToFolder"
icon: "circle"
mode: wide
---
+
This node saves a list of images to a specified folder within ComfyUI's output directory. It takes multiple images as input and writes them to disk with a customizable filename prefix.
## Inputs
diff --git a/built-in-nodes/SaveImageTextDataSetToFolder.mdx b/built-in-nodes/SaveImageTextDataSetToFolder.mdx
index 8abf03048..c47211b32 100644
--- a/built-in-nodes/SaveImageTextDataSetToFolder.mdx
+++ b/built-in-nodes/SaveImageTextDataSetToFolder.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SaveImageTextDataSetToFolder"
icon: "circle"
mode: wide
---
+
The Save Image and Text Dataset to Folder node saves a list of images and their corresponding text captions to a specified folder within ComfyUI's output directory. For each image saved as a PNG file, a matching text file with the same base name is created to store its caption. This is useful for creating organized datasets of generated images and their descriptions.
## Inputs
diff --git a/built-in-nodes/SaveLatent.mdx b/built-in-nodes/SaveLatent.mdx
index 35007e462..a43ec3930 100644
--- a/built-in-nodes/SaveLatent.mdx
+++ b/built-in-nodes/SaveLatent.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SaveLatent"
icon: "circle"
mode: wide
---
+
The SaveLatent node saves latent tensors to disk as files for later use or sharing. It takes latent samples and saves them to the output directory with optional metadata including prompt information. The node automatically handles file naming and organization while preserving the latent data structure.
## Inputs
diff --git a/built-in-nodes/SaveLoRA.mdx b/built-in-nodes/SaveLoRA.mdx
index 73b3af586..8ed2eb996 100644
--- a/built-in-nodes/SaveLoRA.mdx
+++ b/built-in-nodes/SaveLoRA.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SaveLoRA"
icon: "circle"
mode: wide
---
+
The SaveLoRA node saves a LoRA (Low-Rank Adaptation) model to a file. It takes a LoRA model as input and writes it to a `.safetensors` file in the output directory. You can specify a filename prefix and an optional step count to be included in the final filename.
## Inputs
diff --git a/built-in-nodes/SaveLoRANode.mdx b/built-in-nodes/SaveLoRANode.mdx
index 06464b48b..5a5fa464d 100644
--- a/built-in-nodes/SaveLoRANode.mdx
+++ b/built-in-nodes/SaveLoRANode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SaveLoRANode"
icon: "circle"
mode: wide
---
+
The SaveLoRA node saves LoRA (Low-Rank Adaptation) models to your output directory. It takes a LoRA model as input and creates a safetensors file with an automatically generated filename. You can customize the filename prefix and optionally include the training step count in the filename for better organization.
## Inputs
diff --git a/built-in-nodes/SaveSVGNode.mdx b/built-in-nodes/SaveSVGNode.mdx
index 21d8ced83..8823f7d48 100644
--- a/built-in-nodes/SaveSVGNode.mdx
+++ b/built-in-nodes/SaveSVGNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SaveSVGNode"
icon: "circle"
mode: wide
---
+
Save SVG files on disk. This node takes SVG data as input and saves it to your output directory with optional metadata embedding. The node automatically handles file naming with counter suffixes and can embed workflow prompt information directly into the SVG file.
## Inputs
diff --git a/built-in-nodes/SaveTrainingDataset.mdx b/built-in-nodes/SaveTrainingDataset.mdx
index 7eed23a8d..49baeddbb 100644
--- a/built-in-nodes/SaveTrainingDataset.mdx
+++ b/built-in-nodes/SaveTrainingDataset.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SaveTrainingDataset"
icon: "circle"
mode: wide
---
+
This node saves a prepared training dataset to your computer's hard drive. It takes encoded data, which includes image latents and their corresponding text conditioning, and organizes them into multiple smaller files called shards for easier management. The node automatically creates a folder in your output directory and saves both the data files and a metadata file describing the dataset.
## Inputs
diff --git a/built-in-nodes/SaveVideo.mdx b/built-in-nodes/SaveVideo.mdx
index cc7a9b92d..8ee01bbfe 100644
--- a/built-in-nodes/SaveVideo.mdx
+++ b/built-in-nodes/SaveVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SaveVideo"
icon: "circle"
mode: wide
---
+
The SaveVideo node saves input video content to your ComfyUI output directory. It allows you to specify the filename prefix, video format, and codec for the saved file. The node automatically handles file naming with counter increments and can include workflow metadata in the saved video.
## Inputs
diff --git a/built-in-nodes/SaveWEBM.mdx b/built-in-nodes/SaveWEBM.mdx
index a96149164..c20b0dcff 100644
--- a/built-in-nodes/SaveWEBM.mdx
+++ b/built-in-nodes/SaveWEBM.mdx
@@ -5,25 +5,28 @@ sidebarTitle: "SaveWEBM"
icon: "circle"
mode: wide
---
+
The SaveWEBM node saves a sequence of images as a WEBM video file. It takes multiple input images and encodes them into a video using either VP9 or AV1 codec with configurable quality settings and frame rate. The resulting video file is saved to the output directory with metadata including prompt information.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `images` | Sequence of input images to encode as video frames | IMAGE | Yes | - |
+|-----------|-------------|-----------|----------|-------|
+| `images` | RGBA images are saved with their alpha channel as transparency (vp9 codec only) | IMAGE | Yes | - |
| `filename_prefix` | Prefix for the output filename (default: "ComfyUI") | STRING | No | - |
| `codec` | Video codec to use for encoding | COMBO | Yes | "vp9" "av1" |
| `fps` | Frame rate for the output video (default: 24.0) | FLOAT | No | 0.01-1000.0 |
-| `crf` | Quality setting where higher crf means lower quality with smaller file size, lower crf means higher quality with larger file size (default: 32.0) | FLOAT | No | 0-63.0 |
+| `crf` | Higher crf means lower quality with a smaller file size, lower crf means higher quality higher filesize (default: 32.0) | FLOAT | No | 0-63.0 |
+
+**Note on alpha channel:** The alpha channel from RGBA images is only preserved when using the VP9 codec. When using the AV1 codec, the alpha channel is ignored and only RGB data is encoded.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `ui` | Video preview showing the saved WEBM file | PREVIEW |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/SaveWEBM/en.md)
---
-**Source fingerprint (SHA-256):** `7ed734af0f4af835c5b52a91389666ec1e0101458aa0f639ef5eeabf1968bfcc`
+**Source fingerprint (SHA-256):** `8125a855dc2626eaae99ff63e6e0ae907e3187a1f5110e59b63733216de75073`
diff --git a/built-in-nodes/ScaleROPE.mdx b/built-in-nodes/ScaleROPE.mdx
index b99cdf396..1ae737227 100644
--- a/built-in-nodes/ScaleROPE.mdx
+++ b/built-in-nodes/ScaleROPE.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ScaleROPE"
icon: "circle"
mode: wide
---
+
The ScaleROPE node allows you to modify the Rotary Position Embedding (ROPE) of a model by applying separate scaling and shifting factors to its X, Y, and T (time) components. This is an advanced, experimental node used to adjust the model's positional encoding behavior.
## Inputs
diff --git a/built-in-nodes/Sd4xupscaleConditioning.mdx b/built-in-nodes/Sd4xupscaleConditioning.mdx
index 10d278028..1aab9bcc1 100644
--- a/built-in-nodes/Sd4xupscaleConditioning.mdx
+++ b/built-in-nodes/Sd4xupscaleConditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Sd4xupscaleConditioning"
icon: "circle"
mode: wide
---
+
This node specializes in enhancing the resolution of images through a 4x upscale process, incorporating conditioning elements to refine the output. It leverages diffusion techniques to upscale images while allowing for the adjustment of scale ratio and noise augmentation to fine-tune the enhancement process.
## Inputs
diff --git a/built-in-nodes/SeedNode.mdx b/built-in-nodes/SeedNode.mdx
new file mode 100644
index 000000000..33ff4c40d
--- /dev/null
+++ b/built-in-nodes/SeedNode.mdx
@@ -0,0 +1,26 @@
+---
+title: "SeedNode - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the SeedNode node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "SeedNode"
+icon: "circle"
+mode: wide
+---
+
+The Seed node generates a fixed or random integer value. It is commonly used to control the reproducibility of random operations in other nodes by providing a consistent starting point for their random number generation.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `seed` | The seed value to use. The control after generate option determines whether the value stays fixed or changes after each generation. | INT | Yes | 0 to 9223372036854775807 |
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `seed` | The generated seed value. | INT |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/SeedNode/en.md)
+
+---
+**Source fingerprint (SHA-256):** `19f9b22945bb152ff5066195067f1b6b4c006589f26c7533fad905044ac3b7fa`
diff --git a/built-in-nodes/SeedVR2Conditioning.mdx b/built-in-nodes/SeedVR2Conditioning.mdx
index e8275c042..0dc56871f 100644
--- a/built-in-nodes/SeedVR2Conditioning.mdx
+++ b/built-in-nodes/SeedVR2Conditioning.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "SeedVR2Conditioning"
icon: "circle"
mode: wide
---
-# Apply SeedVR2 Conditioning
This node builds positive and negative conditioning from a VAE latent for use with the SeedVR2 model. It prepares the conditioning data that guides the image or video generation process.
diff --git a/built-in-nodes/SeedVR2PostProcessing.mdx b/built-in-nodes/SeedVR2PostProcessing.mdx
index 1cc700dc4..ea0b0ac15 100644
--- a/built-in-nodes/SeedVR2PostProcessing.mdx
+++ b/built-in-nodes/SeedVR2PostProcessing.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "SeedVR2PostProcessing"
icon: "circle"
mode: wide
---
-# Post-Process SeedVR2 Output
This node aligns the generated image with the original resized image and applies optional color correction. It takes the output from a SeedVR2 upscaling process and adjusts it to match the colors and dimensions of the original reference image.
diff --git a/built-in-nodes/SeedVR2Preprocess.mdx b/built-in-nodes/SeedVR2Preprocess.mdx
index 198dcf9d2..24129df17 100644
--- a/built-in-nodes/SeedVR2Preprocess.mdx
+++ b/built-in-nodes/SeedVR2Preprocess.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "SeedVR2Preprocess"
icon: "circle"
mode: wide
---
-# Pre-Process SeedVR2 Input
This node pads a resized image to prepare it for the SeedVR2 model. It removes the alpha channel during processing, which is later restored by the companion Post-Process SeedVR2 Output node using the original resized image.
diff --git a/built-in-nodes/SeedVR2ProgressiveSampler.mdx b/built-in-nodes/SeedVR2ProgressiveSampler.mdx
index 78a5673ee..bafd2e759 100644
--- a/built-in-nodes/SeedVR2ProgressiveSampler.mdx
+++ b/built-in-nodes/SeedVR2ProgressiveSampler.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "SeedVR2ProgressiveSampler"
icon: "circle"
mode: wide
---
-# SeedVR2ProgressiveSampler
Sequential temporal chunking sampler for SeedVR2 native workflows. This node processes long video latents by splitting them into smaller temporal chunks, sampling each chunk sequentially, and blending the results together. It serves as a drop-in replacement for the standard KSampler when working with SeedVR2 models on sequences that would otherwise cause out-of-memory errors.
diff --git a/built-in-nodes/SelectCLIPDevice.mdx b/built-in-nodes/SelectCLIPDevice.mdx
index 0dff964a6..f087c25cb 100644
--- a/built-in-nodes/SelectCLIPDevice.mdx
+++ b/built-in-nodes/SelectCLIPDevice.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SelectCLIPDevice"
icon: "circle"
mode: wide
---
+
## Overview
The Select CLIP Device node lets you choose which device (CPU or a specific GPU) the CLIP text encoder runs on. By default, the device is assigned by the model loader, but you can override it to use the CPU or a particular GPU. If the requested device doesn't exist on your machine, the node simply passes the CLIP through unchanged and logs a message instead of causing an error.
diff --git a/built-in-nodes/SelectModelDevice.mdx b/built-in-nodes/SelectModelDevice.mdx
index d38a8a9e8..709abb17a 100644
--- a/built-in-nodes/SelectModelDevice.mdx
+++ b/built-in-nodes/SelectModelDevice.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SelectModelDevice"
icon: "circle"
mode: wide
---
+
## Overview
The SelectModelDevice node allows you to manually choose which device (CPU or a specific GPU) a diffusion model runs on. It can move a model to a different device, and it handles conflicts with other multi-GPU nodes automatically.
diff --git a/built-in-nodes/SelectVAEDevice.mdx b/built-in-nodes/SelectVAEDevice.mdx
index 29dfcc77b..4bf9c8b5a 100644
--- a/built-in-nodes/SelectVAEDevice.mdx
+++ b/built-in-nodes/SelectVAEDevice.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SelectVAEDevice"
icon: "circle"
mode: wide
---
+
## Overview
This node allows you to manually select which GPU device the VAE model should be placed on. By default, the VAE is placed on the device assigned by the model loader, but you can pin it to a specific GPU (e.g., `gpu:0`, `gpu:1`). If the selected device is not available on your machine, the node will pass the VAE through unchanged and log a message instead of failing.
diff --git a/built-in-nodes/SelfAttentionGuidance.mdx b/built-in-nodes/SelfAttentionGuidance.mdx
index 1e770827e..3d82f18e7 100644
--- a/built-in-nodes/SelfAttentionGuidance.mdx
+++ b/built-in-nodes/SelfAttentionGuidance.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SelfAttentionGuidance"
icon: "circle"
mode: wide
---
+
The Self-Attention Guidance node applies guidance to diffusion models by modifying the attention mechanism during the sampling process. It captures attention scores from unconditional denoising steps and uses them to create blurred guidance maps that influence the final output. This technique helps guide the generation process by leveraging the model's own attention patterns.
## Inputs
diff --git a/built-in-nodes/SetClipHooks.mdx b/built-in-nodes/SetClipHooks.mdx
index eb851e9e4..e7194df60 100644
--- a/built-in-nodes/SetClipHooks.mdx
+++ b/built-in-nodes/SetClipHooks.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SetClipHooks"
icon: "circle"
mode: wide
---
+
The SetClipHooks node allows you to apply custom hooks to a CLIP model, enabling advanced modifications to its behavior. It can apply hooks to conditioning outputs and optionally enable clip scheduling functionality. This node creates a cloned copy of the input CLIP model with the specified hook configurations applied.
## Inputs
diff --git a/built-in-nodes/SetFirstSigma.mdx b/built-in-nodes/SetFirstSigma.mdx
index 26ca5e156..be8cfa8bd 100644
--- a/built-in-nodes/SetFirstSigma.mdx
+++ b/built-in-nodes/SetFirstSigma.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SetFirstSigma"
icon: "circle"
mode: wide
---
+
The SetFirstSigma node modifies a sequence of sigma values by replacing the first sigma value in the sequence with a custom value. It takes an existing sigma sequence and a new sigma value as inputs, then returns a new sigma sequence where only the first element has been changed while keeping all other sigma values unchanged.
## Inputs
diff --git a/built-in-nodes/SetHookKeyframes.mdx b/built-in-nodes/SetHookKeyframes.mdx
index f114b2632..74bdbdc5b 100644
--- a/built-in-nodes/SetHookKeyframes.mdx
+++ b/built-in-nodes/SetHookKeyframes.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SetHookKeyframes"
icon: "circle"
mode: wide
---
+
The Set Hook Keyframes node allows you to apply keyframe scheduling to existing hook groups. It takes a hook group and optionally applies keyframe timing information to control when different hooks are executed during the generation process. When keyframes are provided, the node clones the hook group and sets the keyframe timing on all hooks within the group.
## Inputs
diff --git a/built-in-nodes/SetLatentNoiseMask.mdx b/built-in-nodes/SetLatentNoiseMask.mdx
index 067db636e..f45c96810 100644
--- a/built-in-nodes/SetLatentNoiseMask.mdx
+++ b/built-in-nodes/SetLatentNoiseMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SetLatentNoiseMask"
icon: "circle"
mode: wide
---
+
This node is designed to apply a noise mask to a set of latent samples. It modifies the input samples by integrating a specified mask, thereby altering their noise characteristics.
## Inputs
diff --git a/built-in-nodes/SetModelHooksOnCond.mdx b/built-in-nodes/SetModelHooksOnCond.mdx
index cdb174e78..74e791224 100644
--- a/built-in-nodes/SetModelHooksOnCond.mdx
+++ b/built-in-nodes/SetModelHooksOnCond.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SetModelHooksOnCond"
icon: "circle"
mode: wide
---
+
This node attaches custom hooks to conditioning data, allowing you to intercept and modify the conditioning process during model execution. It takes a set of hooks and applies them to the provided conditioning data, enabling advanced customization of the text-to-image generation workflow. The modified conditioning with attached hooks is then returned for use in subsequent processing steps.
## Inputs
diff --git a/built-in-nodes/SetUnionControlNetType.mdx b/built-in-nodes/SetUnionControlNetType.mdx
index 0c939adb2..e4d8fe13e 100644
--- a/built-in-nodes/SetUnionControlNetType.mdx
+++ b/built-in-nodes/SetUnionControlNetType.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SetUnionControlNetType"
icon: "circle"
mode: wide
---
+
The SetUnionControlNetType node allows you to specify the type of control network to use for conditioning. It takes an existing control network and sets its control type based on your selection, creating a modified copy of the control network with the specified type configuration.
## Inputs
diff --git a/built-in-nodes/ShuffleDataset.mdx b/built-in-nodes/ShuffleDataset.mdx
index 4303bfb40..909d2eb5d 100644
--- a/built-in-nodes/ShuffleDataset.mdx
+++ b/built-in-nodes/ShuffleDataset.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ShuffleDataset"
icon: "circle"
mode: wide
---
+
The Shuffle Dataset node takes a list of images and randomly changes their order. It uses a seed value to control the randomness, ensuring the same shuffle order can be reproduced. This is useful for randomizing the sequence of images in a dataset before processing.
## Inputs
diff --git a/built-in-nodes/ShuffleImageTextDataset.mdx b/built-in-nodes/ShuffleImageTextDataset.mdx
index ea6566f04..44c36f2bb 100644
--- a/built-in-nodes/ShuffleImageTextDataset.mdx
+++ b/built-in-nodes/ShuffleImageTextDataset.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ShuffleImageTextDataset"
icon: "circle"
mode: wide
---
+
This node shuffles a list of images and a list of texts together, keeping their pairings intact. It uses a random seed to determine the shuffle order, ensuring the same input lists will be shuffled in the same way each time the seed is reused.
## Inputs
diff --git a/built-in-nodes/SkipLayerGuidanceDiT.mdx b/built-in-nodes/SkipLayerGuidanceDiT.mdx
index 256be244f..394840efd 100644
--- a/built-in-nodes/SkipLayerGuidanceDiT.mdx
+++ b/built-in-nodes/SkipLayerGuidanceDiT.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SkipLayerGuidanceDiT"
icon: "circle"
mode: wide
---
+
Enhances guidance towards detailed structure by using another set of CFG negative with skipped layers. This generic version of SkipLayerGuidance can be used on every DiT model and is inspired by Perturbed Attention Guidance. The original experimental implementation was created for SD3.
## Inputs
diff --git a/built-in-nodes/SkipLayerGuidanceDiTSimple.mdx b/built-in-nodes/SkipLayerGuidanceDiTSimple.mdx
index 5fbd90707..1058780af 100644
--- a/built-in-nodes/SkipLayerGuidanceDiTSimple.mdx
+++ b/built-in-nodes/SkipLayerGuidanceDiTSimple.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SkipLayerGuidanceDiTSimple"
icon: "circle"
mode: wide
---
+
Simple version of the SkipLayerGuidanceDiT node that only modifies the unconditional pass during the denoising process. This node applies skip layer guidance to specific transformer layers in DiT (Diffusion Transformer) models by selectively skipping certain layers during the unconditional pass based on specified timing and layer parameters.
## Inputs
diff --git a/built-in-nodes/SkipLayerGuidanceSD3.mdx b/built-in-nodes/SkipLayerGuidanceSD3.mdx
index 4ef186515..d45b93555 100644
--- a/built-in-nodes/SkipLayerGuidanceSD3.mdx
+++ b/built-in-nodes/SkipLayerGuidanceSD3.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SkipLayerGuidanceSD3"
icon: "circle"
mode: wide
---
+
The SkipLayerGuidanceSD3 node enhances guidance towards detailed structure by applying an additional set of classifier-free guidance with skipped layers. This experimental implementation is inspired by Perturbed Attention Guidance and works by selectively bypassing certain layers during the negative conditioning process to improve structural details in the generated output.
## Inputs
diff --git a/built-in-nodes/SolidMask.mdx b/built-in-nodes/SolidMask.mdx
index a44e3e274..a64e301b0 100644
--- a/built-in-nodes/SolidMask.mdx
+++ b/built-in-nodes/SolidMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SolidMask"
icon: "circle"
mode: wide
---
+
The SolidMask node generates a uniform mask with a specified value across its entire area. It's designed to create masks of specific dimensions and intensity, useful in various image processing and masking tasks.
## Inputs
diff --git a/built-in-nodes/SoniloTextToMusic.mdx b/built-in-nodes/SoniloTextToMusic.mdx
index 891159f5d..147635678 100644
--- a/built-in-nodes/SoniloTextToMusic.mdx
+++ b/built-in-nodes/SoniloTextToMusic.mdx
@@ -5,14 +5,15 @@ sidebarTitle: "SoniloTextToMusic"
icon: "circle"
mode: wide
---
+
The Sonilo Text to Music node generates music from a text description using Sonilo's AI model. You provide a prompt describing the music you want, and the node sends a request to the Sonilo service to create an audio file. You can specify a target duration or let the model infer it from your prompt.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `prompt` | Text prompt describing the music to generate. This is a required field. | STRING | Yes | N/A |
-| `duration` | Target duration in seconds. Set to 0 to let the model infer the duration from the prompt. Maximum: 6 minutes (360 seconds). Default: 0. | INT | No | 0 to 360 |
+|-----------|-------------|-----------|----------|-------|
+| `prompt` | Text prompt describing the music to generate. | STRING | Yes | N/A |
+| `duration` | Target duration in seconds. Set to 0 to let the model infer the duration from the prompt. Maximum: 6 minutes. Default: 0. | INT | No | 0 to 360 |
| `seed` | Seed for reproducibility. Currently ignored by the Sonilo service but kept for graph consistency. Default: 0. | INT | No | 0 to 18446744073709551615 |
**Note:** The `seed` input is provided for workflow consistency but does not currently affect the output of the Sonilo service.
@@ -20,10 +21,10 @@ The Sonilo Text to Music node generates music from a text description using Soni
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `audio` | The generated music as an audio file. | AUDIO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/SoniloTextToMusic/en.md)
---
-**Source fingerprint (SHA-256):** `3c94a2f1004d01d410be089e5dbb926246cca38fdadadee0597c1843ba53883c`
+**Source fingerprint (SHA-256):** `ffb4c5b5c81d12d67ed1db2b65111ffb78bb31104b4bcb55dd7ec60fb7758e86`
diff --git a/built-in-nodes/SoniloVideoToMusic.mdx b/built-in-nodes/SoniloVideoToMusic.mdx
index 3d3aa00fe..7501bf9d2 100644
--- a/built-in-nodes/SoniloVideoToMusic.mdx
+++ b/built-in-nodes/SoniloVideoToMusic.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "SoniloVideoToMusic"
icon: "circle"
mode: wide
---
+
Generate music from video using Sonilo's AI model. This node analyzes the content of an input video and creates a matching piece of music. It uses an external AI service to process the video and generate the audio.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `video` | Input video to generate music from. Maximum duration: 6 minutes. | VIDEO | Yes | - |
| `prompt` | Optional text prompt to guide music generation. Leave empty for best quality - the model will fully analyze the video content. (default: empty string) | STRING | No | - |
| `seed` | Seed for reproducibility. Currently ignored by the Sonilo service but kept for graph consistency. (default: 0) | INT | No | 0 to 18446744073709551615 |
@@ -18,10 +19,10 @@ Generate music from video using Sonilo's AI model. This node analyzes the conten
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `audio` | The generated music as an audio file. | AUDIO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/SoniloVideoToMusic/en.md)
---
-**Source fingerprint (SHA-256):** `6c7965a4cc31d9fce6711b57052fdfbff37ba9decd086b18587ff39cc4fc3a0b`
+**Source fingerprint (SHA-256):** `ed118d346add099f41a99635638ecb9aa4026b2210b17628c34cdad6bb919767`
diff --git a/built-in-nodes/SplatToFile3D.mdx b/built-in-nodes/SplatToFile3D.mdx
index a3b69d2fe..00d26f2c7 100644
--- a/built-in-nodes/SplatToFile3D.mdx
+++ b/built-in-nodes/SplatToFile3D.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "SplatToFile3D"
icon: "circle"
mode: wide
---
-# SplatToFile3D Node Documentation
## Overview
diff --git a/built-in-nodes/SplatToMesh.mdx b/built-in-nodes/SplatToMesh.mdx
index ebbdbcc49..5b7d5c29d 100644
--- a/built-in-nodes/SplatToMesh.mdx
+++ b/built-in-nodes/SplatToMesh.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "SplatToMesh"
icon: "circle"
mode: wide
---
-# Extract Mesh from Splat
This node converts a 3D Gaussian splat into a colored mesh surface. It works by rasterizing the gaussians onto a density grid, extracting an iso-surface at a chosen density level, and then applying optional smoothing and cleanup to produce a clean, colored triangle mesh.
diff --git a/built-in-nodes/SplitAudioChannels.mdx b/built-in-nodes/SplitAudioChannels.mdx
index b9017cdad..624f2ef7c 100644
--- a/built-in-nodes/SplitAudioChannels.mdx
+++ b/built-in-nodes/SplitAudioChannels.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SplitAudioChannels"
icon: "circle"
mode: wide
---
+
The SplitAudioChannels node separates stereo audio into individual left and right channels. It takes a stereo audio input with two channels and outputs two separate audio streams, one for the left channel and one for the right channel.
## Inputs
diff --git a/built-in-nodes/SplitImageToTileList.mdx b/built-in-nodes/SplitImageToTileList.mdx
index c32769ffd..72a4013e9 100644
--- a/built-in-nodes/SplitImageToTileList.mdx
+++ b/built-in-nodes/SplitImageToTileList.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SplitImageToTileList"
icon: "circle"
mode: wide
---
+
The Split Image into List of Tiles node divides a single input image into a series of smaller, overlapping rectangular sections called tiles. It creates a batched list of these tiles, which can be processed individually by other nodes. The size of each tile and the amount of overlap between them can be specified.
## Inputs
diff --git a/built-in-nodes/SplitImageWithAlpha.mdx b/built-in-nodes/SplitImageWithAlpha.mdx
index ff7b207d4..1f84d1b37 100644
--- a/built-in-nodes/SplitImageWithAlpha.mdx
+++ b/built-in-nodes/SplitImageWithAlpha.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SplitImageWithAlpha"
icon: "circle"
mode: wide
---
+
The SplitImageWithAlpha node is designed to separate the color and alpha components of an image. It processes an input image tensor, extracting the RGB channels as the color component and the alpha channel as the transparency component, facilitating operations that require manipulation of these distinct image aspects.
## Inputs
diff --git a/built-in-nodes/SplitSigmas.mdx b/built-in-nodes/SplitSigmas.mdx
index 0902c5399..92d1a3244 100644
--- a/built-in-nodes/SplitSigmas.mdx
+++ b/built-in-nodes/SplitSigmas.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SplitSigmas"
icon: "circle"
mode: wide
---
+
The SplitSigmas node is designed for dividing a sequence of sigma values into two parts based on a specified step. This functionality is crucial for operations that require different handling or processing of the initial and subsequent parts of the sigma sequence, enabling more flexible and targeted manipulation of these values.
## Inputs
diff --git a/built-in-nodes/SplitSigmasDenoise.mdx b/built-in-nodes/SplitSigmasDenoise.mdx
index 9e77599f9..d9defbff7 100644
--- a/built-in-nodes/SplitSigmasDenoise.mdx
+++ b/built-in-nodes/SplitSigmasDenoise.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SplitSigmasDenoise"
icon: "circle"
mode: wide
---
+
The SplitSigmasDenoise node divides a sequence of sigma values into two parts based on a denoising strength parameter. It splits the input sigmas into high and low sigma sequences, where the split point is determined by multiplying the total steps by the denoise factor. This allows for separating the noise schedule into different intensity ranges for specialized processing.
## Inputs
diff --git a/built-in-nodes/StabilityAudioInpaint.mdx b/built-in-nodes/StabilityAudioInpaint.mdx
index 5e2d98204..56ef591cf 100644
--- a/built-in-nodes/StabilityAudioInpaint.mdx
+++ b/built-in-nodes/StabilityAudioInpaint.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "StabilityAudioInpaint"
icon: "circle"
mode: wide
---
+
Transforms part of an existing audio sample using text instructions. This node allows you to modify specific sections of audio by providing descriptive prompts, effectively "inpainting" or regenerating selected portions while preserving the rest of the audio.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The AI model to use for audio inpainting. | STRING | Yes | `"stable-audio-2.5"` |
| `prompt` | Text description guiding how the audio should be transformed (default: empty). Maximum length is 10,000 characters. | STRING | Yes | |
| `audio` | Input audio file to transform. Audio must be between 6 and 190 seconds long. | AUDIO | Yes | |
@@ -25,10 +26,10 @@ Transforms part of an existing audio sample using text instructions. This node a
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `audio` | The transformed audio output with the specified section modified according to the prompt. | AUDIO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/StabilityAudioInpaint/en.md)
---
-**Source fingerprint (SHA-256):** `c00d84db73dfcd708495d7a04e21a2378880ca6ceb906473a45dcc1dae20bf79`
+**Source fingerprint (SHA-256):** `3c180043c538311b1808cddd84b0c0ab22a6fa1d943b7f9ddc9edab0fb3413ad`
diff --git a/built-in-nodes/StabilityAudioToAudio.mdx b/built-in-nodes/StabilityAudioToAudio.mdx
index 9035e7c1c..12df2dc92 100644
--- a/built-in-nodes/StabilityAudioToAudio.mdx
+++ b/built-in-nodes/StabilityAudioToAudio.mdx
@@ -5,15 +5,16 @@ sidebarTitle: "StabilityAudioToAudio"
icon: "circle"
mode: wide
---
+
Transforms existing audio samples into new high-quality compositions using text instructions. This node takes an input audio file and modifies it based on your text prompt to create new audio content.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The AI model to use for audio transformation | COMBO | Yes | "stable-audio-2.5" |
-| `prompt` | Text instructions describing how to transform the audio (default: empty, max length: 10000 characters) | STRING | Yes | |
-| `audio` | Audio must be between 6 and 190 seconds long | AUDIO | Yes | |
+| `prompt` | Text instructions describing how to transform the audio (default: empty, max length: 10000 characters) | STRING | Yes | |
+| `audio` | Audio must be between 6 and 190 seconds long | AUDIO | Yes | |
| `duration` | Controls the duration in seconds of the generated audio (default: 190) | INT | No | 1-190 |
| `seed` | The random seed used for generation (default: 0) | INT | No | 0-4294967294 |
| `steps` | Controls the number of sampling steps (default: 8) | INT | No | 4-8 |
@@ -24,10 +25,10 @@ Transforms existing audio samples into new high-quality compositions using text
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `audio` | The transformed audio generated based on the input audio and text prompt | AUDIO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/StabilityAudioToAudio/en.md)
---
-**Source fingerprint (SHA-256):** `4d320c851a58b58d1a744ca64295fe0cf3002455944ea1c5484b0c2df3ecd4d5`
+**Source fingerprint (SHA-256):** `3df67797bf2eccf9d7464a1dd00ea5b6c5a9527f7290911c60a9ebff69302241`
diff --git a/built-in-nodes/StabilityStableImageSD_3_5Node.mdx b/built-in-nodes/StabilityStableImageSD_3_5Node.mdx
index 544f9ba4b..fe30b3e39 100644
--- a/built-in-nodes/StabilityStableImageSD_3_5Node.mdx
+++ b/built-in-nodes/StabilityStableImageSD_3_5Node.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "StabilityStableImageSD_3_5Node"
icon: "circle"
mode: wide
---
+
This node generates images synchronously using Stability AI's Stable Diffusion 3.5 model. It creates images based on text prompts and can also modify existing images when provided as input. The node supports various aspect ratios and style presets to customize the output.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | What you wish to see in the output image. A strong, descriptive prompt that clearly defines elements, colors, and subjects will lead to better results. (default: empty string) | STRING | Yes | - |
| `model` | The Stable Diffusion 3.5 model to use for generation. | COMBO | Yes | `sd3.5-large` `sd3.5-large-turbo` `sd3.5-medium` |
| `aspect_ratio` | Aspect ratio of generated image. (default: 1:1) | COMBO | Yes | `16:9` `1:1` `21:9` `2:3` `3:2` `4:5` `5:4` `9:16` `9:21` |
@@ -26,10 +27,10 @@ This node generates images synchronously using Stability AI's Stable Diffusion 3
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The generated or modified image. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/StabilityStableImageSD_3_5Node/en.md)
---
-**Source fingerprint (SHA-256):** `aa071616da3ff645dfbc885c84706324d555c18772d3cc0d603b5699a0e7dfff`
+**Source fingerprint (SHA-256):** `0ef029d4651fb4a9132899a6df1a2c2de6152dd9091129573f366a2aac39bbae`
diff --git a/built-in-nodes/StabilityStableImageUltraNode.mdx b/built-in-nodes/StabilityStableImageUltraNode.mdx
index 1324de547..0442aa282 100644
--- a/built-in-nodes/StabilityStableImageUltraNode.mdx
+++ b/built-in-nodes/StabilityStableImageUltraNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "StabilityStableImageUltraNode"
icon: "circle"
mode: wide
---
+
Generates images synchronously based on prompt and resolution. This node creates images using Stability AI's Stable Image Ultra model, processing your text prompt and generating a corresponding image with the specified aspect ratio and style.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | What you wish to see in the output image. A strong, descriptive prompt that clearly defines elements, colors, and subjects will lead to better results. To control the weight of a given word use the format `(word:weight)`, where `word` is the word you'd like to control the weight of and `weight` is a value between 0 and 1. For example: `The sky was a crisp (blue:0.3) and (green:0.8)` would convey a sky that was blue and green, but more green than blue. | STRING | Yes | - |
| `aspect_ratio` | Aspect ratio of generated image (default: "1:1"). | COMBO | Yes | `"1:1"` `"16:9"` `"21:9"` `"2:3"` `"3:2"` `"4:5"` `"5:4"` `"9:16"` `"9:21"` |
| `style_preset` | Optional desired style of generated image. Select "None" to not apply any style preset. | COMBO | No | `"3d-model"` `"analog-film"` `"anime"` `"cinematic"` `"comic-book"` `"digital-art"` `"enhance"` `"fantasy-art"` `"isometric"` `"line-art"` `"low-poly"` `"modeling-compound"` `"neon-punk"` `"origami"` `"photographic"` `"pixel-art"` `"tile-texture"` |
@@ -24,10 +25,10 @@ Generates images synchronously based on prompt and resolution. This node creates
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The generated image based on the input parameters. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/StabilityStableImageUltraNode/en.md)
---
-**Source fingerprint (SHA-256):** `4d516f67a0e2a8c02f601b4da9fe466b7376d50bb96d6e0dc6ca2cc034c79585`
+**Source fingerprint (SHA-256):** `86a9ace60a1f9f2b872865381c695bd0e3e3578e0dd3453f1ab3be58bae2e2f0`
diff --git a/built-in-nodes/StabilityTextToAudio.mdx b/built-in-nodes/StabilityTextToAudio.mdx
index 0cd700e92..bd3d297fa 100644
--- a/built-in-nodes/StabilityTextToAudio.mdx
+++ b/built-in-nodes/StabilityTextToAudio.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "StabilityTextToAudio"
icon: "circle"
mode: wide
---
+
Generates high-quality music and sound effects from text descriptions. This node uses Stability AI's audio generation technology to create audio content based on your text prompts.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The audio generation model to use (default: "stable-audio-2.5") | COMBO | Yes | `"stable-audio-2.5"` |
| `prompt` | The text description used to generate audio content (default: empty string) | STRING | Yes | - |
| `duration` | Controls the duration in seconds of the generated audio (default: 190) | INT | No | 1-190 |
@@ -20,10 +21,10 @@ Generates high-quality music and sound effects from text descriptions. This node
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `audio` | The generated audio file based on the text prompt | AUDIO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/StabilityTextToAudio/en.md)
---
-**Source fingerprint (SHA-256):** `123b166c3879b18854b8d3cf039576d76925664baac63a816a1639d764d869f7`
+**Source fingerprint (SHA-256):** `8dfe0eafb6157bc458c2ba3053a98e2bb5dfe896921cf90a70a88c695f8c5edc`
diff --git a/built-in-nodes/StabilityUpscaleConservativeNode.mdx b/built-in-nodes/StabilityUpscaleConservativeNode.mdx
index 005e7296c..60dcc746e 100644
--- a/built-in-nodes/StabilityUpscaleConservativeNode.mdx
+++ b/built-in-nodes/StabilityUpscaleConservativeNode.mdx
@@ -5,25 +5,26 @@ sidebarTitle: "StabilityUpscaleConservativeNode"
icon: "circle"
mode: wide
---
+
Upscale image with minimal alterations to 4K resolution. This node uses Stability AI's conservative upscaling to increase image resolution while preserving the original content and making only subtle changes.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to be upscaled | IMAGE | Yes | - |
| `prompt` | What you wish to see in the output image. A strong, descriptive prompt that clearly defines elements, colors, and subjects will lead to better results. (default: empty string) | STRING | Yes | - |
-| `creativity` | Controls the likelihood of creating additional details not heavily conditioned by the init image. (default: 0.35) | FLOAT | Yes | 0.2-0.5 |
-| `seed` | The random seed used for creating the noise. (default: 0) | INT | Yes | 0-4294967294 |
+| `creativity` | Controls the likelihood of creating additional details not heavily conditioned by the init image. (default: 0.35) | FLOAT | Yes | 0.2 - 0.5 |
+| `seed` | The random seed used for creating the noise. (default: 0) | INT | Yes | 0 - 4294967294 |
| `negative_prompt` | Keywords of what you do not wish to see in the output image. This is an advanced feature. (default: empty string) | STRING | No | - |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The upscaled image at 4K resolution | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/StabilityUpscaleConservativeNode/en.md)
---
-**Source fingerprint (SHA-256):** `7fc0cdf98b4edd991070252d8d9736b48acca6038804209ab7163e5516e1ca34`
+**Source fingerprint (SHA-256):** `e4faa795d5a197cdc85c6985b99e8a7229b2b64f929eea3fefff3aff32558c18`
diff --git a/built-in-nodes/StabilityUpscaleCreativeNode.mdx b/built-in-nodes/StabilityUpscaleCreativeNode.mdx
index a96ba851f..e7673452a 100644
--- a/built-in-nodes/StabilityUpscaleCreativeNode.mdx
+++ b/built-in-nodes/StabilityUpscaleCreativeNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "StabilityUpscaleCreativeNode"
icon: "circle"
mode: wide
---
+
Upscale image with minimal alterations to 4K resolution. This node uses Stability AI's creative upscaling technology to enhance image resolution while preserving the original content and adding subtle creative details.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to be upscaled | IMAGE | Yes | - |
| `prompt` | What you wish to see in the output image. A strong, descriptive prompt that clearly defines elements, colors, and subjects will lead to better results. (default: empty string) | STRING | Yes | - |
| `creativity` | Controls the likelihood of creating additional details not heavily conditioned by the init image. (default: 0.3) | FLOAT | Yes | 0.1-0.5 |
@@ -21,10 +22,10 @@ Upscale image with minimal alterations to 4K resolution. This node uses Stabilit
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The upscaled image at 4K resolution | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/StabilityUpscaleCreativeNode/en.md)
---
-**Source fingerprint (SHA-256):** `1720cc44cc6273b00b3061b44581ba00853e9da32616bc02584335eb6156632c`
+**Source fingerprint (SHA-256):** `dc9bfacee3bfa663cff22cd0bcef6759f7808e2ae8e19526de28d55a3bef26e6`
diff --git a/built-in-nodes/StabilityUpscaleFastNode.mdx b/built-in-nodes/StabilityUpscaleFastNode.mdx
index 7add4ccc3..32fe1578b 100644
--- a/built-in-nodes/StabilityUpscaleFastNode.mdx
+++ b/built-in-nodes/StabilityUpscaleFastNode.mdx
@@ -5,21 +5,22 @@ sidebarTitle: "StabilityUpscaleFastNode"
icon: "circle"
mode: wide
---
+
Quickly upscales an image via Stability API call to 4x its original size. This node is specifically intended for upscaling low-quality or compressed images by sending them to Stability AI's fast upscaling service.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to be upscaled | IMAGE | Yes | - |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `output` | The upscaled image returned from the Stability AI API | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/StabilityUpscaleFastNode/en.md)
---
-**Source fingerprint (SHA-256):** `fd3b033c3454e3b795806f2759f8416ea091df24cb2878b701983e4286da98c9`
+**Source fingerprint (SHA-256):** `2d24f44fdd96a528a48869ca9c1343ca03311e982dfdbc4a8841bc147c9a621e`
diff --git a/built-in-nodes/StableCascade_EmptyLatentImage.mdx b/built-in-nodes/StableCascade_EmptyLatentImage.mdx
index be95a251d..cce923fe1 100644
--- a/built-in-nodes/StableCascade_EmptyLatentImage.mdx
+++ b/built-in-nodes/StableCascade_EmptyLatentImage.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StableCascade_EmptyLatentImage"
icon: "circle"
mode: wide
---
+
The StableCascade_EmptyLatentImage node creates empty latent tensors for Stable Cascade models. It generates two separate latent representations - one for stage C and another for stage B - with appropriate dimensions based on the input resolution and compression settings. This node provides the starting point for the Stable Cascade generation pipeline.
## Inputs
diff --git a/built-in-nodes/StableCascade_StageB_Conditioning.mdx b/built-in-nodes/StableCascade_StageB_Conditioning.mdx
index 1529f2b70..ae1180e2e 100644
--- a/built-in-nodes/StableCascade_StageB_Conditioning.mdx
+++ b/built-in-nodes/StableCascade_StageB_Conditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StableCascade_StageB_Conditioning"
icon: "circle"
mode: wide
---
+
The StableCascade_StageB_Conditioning node prepares conditioning data for Stable Cascade Stage B generation by combining existing conditioning information with prior latent representations from Stage C. It modifies the conditioning data to include the latent samples from Stage C, enabling the generation process to leverage the prior information for more coherent outputs.
## Inputs
diff --git a/built-in-nodes/StableCascade_StageC_VAEEncode.mdx b/built-in-nodes/StableCascade_StageC_VAEEncode.mdx
index 3fdeb4efc..c7d5838d5 100644
--- a/built-in-nodes/StableCascade_StageC_VAEEncode.mdx
+++ b/built-in-nodes/StableCascade_StageC_VAEEncode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StableCascade_StageC_VAEEncode"
icon: "circle"
mode: wide
---
+
The StableCascade_StageC_VAEEncode node processes an input image through a VAE encoder to generate latent representations for the Stable Cascade model. It first resizes the image based on a compression factor and the VAE's downscale ratio, then encodes the resized image. The node outputs two latent tensors: one for stage C (the actual encoded result) and one for stage B (a zero-filled placeholder).
## Inputs
diff --git a/built-in-nodes/StableCascade_SuperResolutionControlnet.mdx b/built-in-nodes/StableCascade_SuperResolutionControlnet.mdx
index e03576008..389eed548 100644
--- a/built-in-nodes/StableCascade_SuperResolutionControlnet.mdx
+++ b/built-in-nodes/StableCascade_SuperResolutionControlnet.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StableCascade_SuperResolutionControlnet"
icon: "circle"
mode: wide
---
+
The StableCascade_SuperResolutionControlnet node prepares inputs for Stable Cascade super-resolution processing. It takes an input image and encodes it using a VAE to create controlnet input, while also generating placeholder latent representations for stage C and stage B of the Stable Cascade pipeline.
## Inputs
diff --git a/built-in-nodes/StableZero123_Conditioning.mdx b/built-in-nodes/StableZero123_Conditioning.mdx
index 90e009398..17f9d5356 100644
--- a/built-in-nodes/StableZero123_Conditioning.mdx
+++ b/built-in-nodes/StableZero123_Conditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StableZero123_Conditioning"
icon: "circle"
mode: wide
---
+
The StableZero123_Conditioning node processes an input image and camera angles to generate conditioning data and latent representations for 3D model generation. It uses a CLIP vision model to encode the image features, combines them with camera embedding information based on elevation and azimuth angles, and produces positive and negative conditioning along with a latent representation for downstream 3D generation tasks.
## Inputs
diff --git a/built-in-nodes/StableZero123_Conditioning_Batched.mdx b/built-in-nodes/StableZero123_Conditioning_Batched.mdx
index c3759c509..062043185 100644
--- a/built-in-nodes/StableZero123_Conditioning_Batched.mdx
+++ b/built-in-nodes/StableZero123_Conditioning_Batched.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StableZero123_Conditioning_Batched"
icon: "circle"
mode: wide
---
+
The StableZero123_Conditioning_Batched node processes an input image and generates conditioning data for 3D model generation. It encodes the image using CLIP vision and VAE models, then creates camera embeddings based on elevation and azimuth angles to produce positive and negative conditioning along with latent representations for batch processing.
## Inputs
diff --git a/built-in-nodes/Stablezero123Conditioning.mdx b/built-in-nodes/Stablezero123Conditioning.mdx
index 0b559d17d..466fa2284 100644
--- a/built-in-nodes/Stablezero123Conditioning.mdx
+++ b/built-in-nodes/Stablezero123Conditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Stablezero123Conditioning"
icon: "circle"
mode: wide
---
+
This node is designed to process and condition data for use in StableZero123 models, focusing on preparing the input in a specific format that is compatible and optimized for these models.
## Inputs
diff --git a/built-in-nodes/Stablezero123ConditioningBatched.mdx b/built-in-nodes/Stablezero123ConditioningBatched.mdx
index b97fad24b..8fb55988b 100644
--- a/built-in-nodes/Stablezero123ConditioningBatched.mdx
+++ b/built-in-nodes/Stablezero123ConditioningBatched.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "Stablezero123ConditioningBatched"
icon: "circle"
mode: wide
---
+
This node is designed to process conditioning information in a batched manner specifically tailored for the StableZero123 model. It focuses on efficiently handling multiple sets of conditioning data simultaneously, optimizing the workflow for scenarios where batch processing is crucial.
## Inputs
diff --git a/built-in-nodes/StringCompare.mdx b/built-in-nodes/StringCompare.mdx
index 7e31a788c..8cfe2a90a 100644
--- a/built-in-nodes/StringCompare.mdx
+++ b/built-in-nodes/StringCompare.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StringCompare"
icon: "circle"
mode: wide
---
+
The StringCompare node compares two text strings using different comparison methods. It can check if one string starts with another, ends with another, or if both strings are exactly equal. The comparison can be performed with or without considering letter case differences.
## Inputs
diff --git a/built-in-nodes/StringConcatenate.mdx b/built-in-nodes/StringConcatenate.mdx
index b8afd11a8..9a9177294 100644
--- a/built-in-nodes/StringConcatenate.mdx
+++ b/built-in-nodes/StringConcatenate.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StringConcatenate"
icon: "circle"
mode: wide
---
+
The StringConcatenate node combines two text strings into one by joining them with a specified delimiter. It takes two input strings and a delimiter character or string, then outputs a single string where the two inputs are connected with the delimiter placed between them.
## Inputs
diff --git a/built-in-nodes/StringContains.mdx b/built-in-nodes/StringContains.mdx
index 6000aa9a6..0d3380008 100644
--- a/built-in-nodes/StringContains.mdx
+++ b/built-in-nodes/StringContains.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StringContains"
icon: "circle"
mode: wide
---
+
The StringContains node checks if a given string contains a specified substring. It can perform this check with either case-sensitive or case-insensitive matching, returning a boolean result indicating whether the substring was found within the main string.
## Inputs
diff --git a/built-in-nodes/StringFormat.mdx b/built-in-nodes/StringFormat.mdx
index 1207dd508..c3f13087e 100644
--- a/built-in-nodes/StringFormat.mdx
+++ b/built-in-nodes/StringFormat.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StringFormat"
icon: "circle"
mode: wide
---
+
## Overview
This node formats text using Python's string format method. It works like a template where you define a text pattern with placeholders, and then provide values to fill those placeholders. It supports all of Python's format options and features.
diff --git a/built-in-nodes/StringLength.mdx b/built-in-nodes/StringLength.mdx
index 189c4ad88..01665df7a 100644
--- a/built-in-nodes/StringLength.mdx
+++ b/built-in-nodes/StringLength.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StringLength"
icon: "circle"
mode: wide
---
+
The StringLength node calculates the number of characters in a text string. It takes any text input and returns the total count of characters, including spaces and punctuation. This is useful for measuring text length or validating string size requirements.
## Inputs
diff --git a/built-in-nodes/StringReplace.mdx b/built-in-nodes/StringReplace.mdx
index 4c5fd440f..f8d34b809 100644
--- a/built-in-nodes/StringReplace.mdx
+++ b/built-in-nodes/StringReplace.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StringReplace"
icon: "circle"
mode: wide
---
+
The StringReplace node performs text replacement operations on input strings. It searches for a specified substring within the input text and replaces all occurrences with a different substring. This node returns the modified string with all replacements applied.
## Inputs
diff --git a/built-in-nodes/StringSubstring.mdx b/built-in-nodes/StringSubstring.mdx
index 547480f1f..ec616b3a8 100644
--- a/built-in-nodes/StringSubstring.mdx
+++ b/built-in-nodes/StringSubstring.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StringSubstring"
icon: "circle"
mode: wide
---
+
The StringSubstring node extracts a portion of text from a larger string. It takes a starting position and ending position to define the section you want to extract, then returns the text between those two positions.
## Inputs
diff --git a/built-in-nodes/StringTrim.mdx b/built-in-nodes/StringTrim.mdx
index 0d8f86daa..8eaf5f698 100644
--- a/built-in-nodes/StringTrim.mdx
+++ b/built-in-nodes/StringTrim.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StringTrim"
icon: "circle"
mode: wide
---
+
The StringTrim node removes whitespace characters (such as spaces, tabs, and newlines) from the beginning, end, or both sides of a text string. You can choose to trim from the left side, right side, or both sides of the string. This is useful for cleaning up text inputs by removing unwanted whitespace.
## Inputs
diff --git a/built-in-nodes/StripWhitespace.mdx b/built-in-nodes/StripWhitespace.mdx
index 1268eef4a..b83faa910 100644
--- a/built-in-nodes/StripWhitespace.mdx
+++ b/built-in-nodes/StripWhitespace.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StripWhitespace"
icon: "circle"
mode: wide
---
+
This node removes any extra spaces, tabs, or newlines from the beginning and end of a text string. It takes a text input and returns a cleaned version with the leading and trailing whitespace trimmed off.
**Note: This node is deprecated and superseded by the Trim Text node.**
diff --git a/built-in-nodes/StyleModelApply.mdx b/built-in-nodes/StyleModelApply.mdx
index 0bbc8d8b1..7eece831f 100644
--- a/built-in-nodes/StyleModelApply.mdx
+++ b/built-in-nodes/StyleModelApply.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StyleModelApply"
icon: "circle"
mode: wide
---
+
This node applies a style model to a given conditioning, enhancing or altering its style based on the output of a CLIP vision model. It integrates the style model's conditioning into the existing conditioning, allowing for a seamless blend of styles in the generation process.
## Inputs
diff --git a/built-in-nodes/StyleModelLoader.mdx b/built-in-nodes/StyleModelLoader.mdx
index eff898bfb..9524c883f 100644
--- a/built-in-nodes/StyleModelLoader.mdx
+++ b/built-in-nodes/StyleModelLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "StyleModelLoader"
icon: "circle"
mode: wide
---
+
This node will detect models located in the `ComfyUI/models/style_models` folder, and it will also read models from additional paths configured in the extra_model_paths.yaml file. Sometimes, you may need to **refresh the ComfyUI interface** to allow it to read the model files from the corresponding folder.
The StyleModelLoader node is designed to load a style model from a specified path. It focuses on retrieving and initializing style models that can be used to apply specific artistic styles to images, thereby enabling the customization of visual outputs based on the loaded style model.
diff --git a/built-in-nodes/SvdImg2vidConditioning.mdx b/built-in-nodes/SvdImg2vidConditioning.mdx
index cd48e2e31..1c491fb72 100644
--- a/built-in-nodes/SvdImg2vidConditioning.mdx
+++ b/built-in-nodes/SvdImg2vidConditioning.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "SvdImg2vidConditioning"
icon: "circle"
mode: wide
---
+
This node is designed for generating conditioning data for video generation tasks, specifically tailored for use with SVD_img2vid models. It takes various inputs including initial images, video parameters, and a VAE model to produce conditioning data that can be used to guide the generation of video frames.
## Inputs
diff --git a/built-in-nodes/T5TokenizerOptions.mdx b/built-in-nodes/T5TokenizerOptions.mdx
index 9b83e2e72..67f5b3270 100644
--- a/built-in-nodes/T5TokenizerOptions.mdx
+++ b/built-in-nodes/T5TokenizerOptions.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "T5TokenizerOptions"
icon: "circle"
mode: wide
---
+
The T5TokenizerOptions node allows you to configure tokenizer settings for various T5 model types. It sets minimum padding and minimum length parameters for multiple T5 model variants including t5xxl, pile_t5xl, t5base, mt5xl, and umt5xxl. The node takes a CLIP input and returns a modified CLIP with the specified tokenizer options applied.
## Inputs
diff --git a/built-in-nodes/TCFG.mdx b/built-in-nodes/TCFG.mdx
index cc0390b15..e14a0bfd6 100644
--- a/built-in-nodes/TCFG.mdx
+++ b/built-in-nodes/TCFG.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TCFG"
icon: "circle"
mode: wide
---
+
TCFG (Tangential Damping CFG) refines the unconditional (negative) predictions to better align with the conditional (positive) predictions during the sampling process. This technique improves output quality by applying tangential damping to the unconditional guidance, based on the research paper 2503.18137. The node modifies the model's sampling behavior by adjusting how unconditional predictions are processed during classifier-free guidance.
## Inputs
diff --git a/built-in-nodes/TemporalScoreRescaling.mdx b/built-in-nodes/TemporalScoreRescaling.mdx
index cdb6f8506..ef7bfd62a 100644
--- a/built-in-nodes/TemporalScoreRescaling.mdx
+++ b/built-in-nodes/TemporalScoreRescaling.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TemporalScoreRescaling"
icon: "circle"
mode: wide
---
+
This node applies Temporal Score Rescaling (TSR) to a diffusion model. It modifies the model's sampling behavior by rescaling the predicted noise or score during the denoising process, which can steer the diversity of the generated output. This is implemented as a post-CFG (Classifier-Free Guidance) function.
## Inputs
diff --git a/built-in-nodes/Tencent3DPartNode.mdx b/built-in-nodes/Tencent3DPartNode.mdx
index 8b709e38f..9466316ee 100644
--- a/built-in-nodes/Tencent3DPartNode.mdx
+++ b/built-in-nodes/Tencent3DPartNode.mdx
@@ -5,24 +5,25 @@ sidebarTitle: "Tencent3DPartNode"
icon: "circle"
mode: wide
---
+
This node uses the Tencent Hunyuan3D API to automatically analyze a 3D model and generate or identify its components based on its structure. It processes the model and returns a new FBX file.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `model_3d` | The 3D model to process. The model should be in FBX format and have less than 30000 faces. | FILE3D | Yes | FBX, Any |
-| `seed` | A seed value to control whether the node should re-run. The results are non-deterministic regardless of the seed value. (default: 0) | INT | No | 0 to 2147483647 |
+|-----------|-------------|-----------|----------|-------|
+| `model_3d` | 3D model in FBX format. Model should have less than 30000 faces. | FILE3D | Yes | FBX, Any |
+| `seed` | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. (default: 0) | INT | No | 0 to 2147483647 |
**Note:** The `model_3d` input only supports files in the FBX format. If a different 3D file format is provided, the node will raise an error.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `FBX` | The processed 3D model, returned as an FBX file. | FILE3DFBX |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Tencent3DPartNode/en.md)
---
-**Source fingerprint (SHA-256):** `094ed587f2989312c0eea86105e8c2bdf48a2c626e424eaa07ba528c2e8b4f89`
+**Source fingerprint (SHA-256):** `33f8b3d6b34198d0d59e2de2ad9f33d357f88ddaf6f986756be4c3b5f855cec3`
diff --git a/built-in-nodes/Tencent3DTextureEditNode.mdx b/built-in-nodes/Tencent3DTextureEditNode.mdx
index 37c1d0f93..7828e1a5c 100644
--- a/built-in-nodes/Tencent3DTextureEditNode.mdx
+++ b/built-in-nodes/Tencent3DTextureEditNode.mdx
@@ -5,22 +5,23 @@ sidebarTitle: "Tencent3DTextureEditNode"
icon: "circle"
mode: wide
---
+
This node uses the Tencent Hunyuan3D API to edit the textures of a 3D model. You provide a 3D model and a text description of the desired changes, and the node returns a new version of the model with its textures redrawn according to your prompt.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model_3d` | 3D model in FBX format. Model should have less than 100000 faces. | FILE3D | Yes | FBX, Any |
| `prompt` | Describes texture editing. Supports up to 1024 UTF-8 characters. | STRING | Yes | |
| `seed` | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. (default: 0) | INT | No | 0 to 2147483647 |
-**Note:** The `model_3d` input must be a file in the FBX format. Other 3D file formats are not supported by this node.
+**Note:** The `model_3d` input must be a file in the FBX format. Other 3D file formats are not supported by this node. The `prompt` parameter is required and must be between 1 and 1024 characters in length.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `GLB` | The processed 3D model in GLB format. | FILE3D |
| `OBJ` | The processed 3D model in OBJ format. | FILE3D |
| `texture_image` | The newly generated texture image for the 3D model. | IMAGE |
@@ -28,4 +29,4 @@ This node uses the Tencent Hunyuan3D API to edit the textures of a 3D model. You
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/Tencent3DTextureEditNode/en.md)
---
-**Source fingerprint (SHA-256):** `e8d3f9fbd49b0e641ed4bb415d6ee6a34018623eb717ac54c0588383f9caed44`
+**Source fingerprint (SHA-256):** `eedddc8bd47a4af6e45a516f2817e7c1dded575d9e28ea9b66a1d7a39b93526c`
diff --git a/built-in-nodes/TencentImageToModelNode.mdx b/built-in-nodes/TencentImageToModelNode.mdx
index 5778030fd..7231506f3 100644
--- a/built-in-nodes/TencentImageToModelNode.mdx
+++ b/built-in-nodes/TencentImageToModelNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "TencentImageToModelNode"
icon: "circle"
mode: wide
---
+
This node uses Tencent's Hunyuan3D Pro API to generate a 3D model from one or more input images. It processes the images, sends them to the API, and returns the generated 3D model files in GLB and OBJ formats, along with optional texture maps.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The version of the Hunyuan3D model to use. The LowPoly option is unavailable for the `3.1` model. | COMBO | Yes | `"3.0"` `"3.1"` |
| `image` | The primary input image used to generate the 3D model. Must be at least 128x128 pixels. | IMAGE | Yes | - |
| `image_left` | An optional image of the object's left side for multi-view generation. Must be at least 128x128 pixels. | IMAGE | No | - |
@@ -27,7 +28,7 @@ This node uses Tencent's Hunyuan3D Pro API to generate a 3D model from one or mo
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model_file` | A legacy output for backward compatibility. | STRING |
| `GLB` | The generated 3D model in the GLB (Binary GL Transmission Format) file format. | FILE3DGLB |
| `OBJ` | The generated 3D model in the OBJ (Wavefront) file format. | FILE3DOBJ |
@@ -39,4 +40,4 @@ This node uses Tencent's Hunyuan3D Pro API to generate a 3D model from one or mo
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TencentImageToModelNode/en.md)
---
-**Source fingerprint (SHA-256):** `b4cb268fe3b2f5890e5460d5e69897ccc47e205b05546aea18a85ad15717f12a`
+**Source fingerprint (SHA-256):** `fe422cfa714dbff7cd5dabb286d93d59afe9a01daf711ca09ebcf47ef100a52e`
diff --git a/built-in-nodes/TencentModelTo3DUVNode.mdx b/built-in-nodes/TencentModelTo3DUVNode.mdx
index 7ea530462..bfbb68e22 100644
--- a/built-in-nodes/TencentModelTo3DUVNode.mdx
+++ b/built-in-nodes/TencentModelTo3DUVNode.mdx
@@ -5,19 +5,20 @@ sidebarTitle: "TencentModelTo3DUVNode"
icon: "circle"
mode: wide
---
+
This node uses the Tencent Hunyuan3D API to perform UV unfolding on a 3D model. It takes a 3D model file as input, sends it to the API for processing, and returns the processed model in OBJ and FBX formats along with a generated UV texture image. The input model must have fewer than 30,000 faces.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model_3d` | Input 3D model (GLB, OBJ, or FBX). The model must have less than 30000 faces. | FILE3D | Yes | GLB OBJ FBX |
-| `seed` | A seed value (default: 1). This controls whether the node should re-run, but results are non-deterministic regardless of the seed value. | INT | No | 0 to 2147483647 |
+| `seed` | Seed controls whether the node should re-run; results are non-deterministic regardless of seed. (default: 1) | INT | No | 0 to 2147483647 |
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `OBJ` | The processed 3D model file in OBJ format. | FILE3D |
| `FBX` | The processed 3D model file in FBX format. | FILE3D |
| `uv_image` | The generated UV texture image. | IMAGE |
@@ -25,4 +26,4 @@ This node uses the Tencent Hunyuan3D API to perform UV unfolding on a 3D model.
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TencentModelTo3DUVNode/en.md)
---
-**Source fingerprint (SHA-256):** `f09167ca1aacf299ff278817a50b6c311b6211fe447cfbe7c3a0ccc481058cf6`
+**Source fingerprint (SHA-256):** `b69519df055043555ab7f4d75cfb3b77b9011d5a8e93d0b3ba30c7a8674bd2cb`
diff --git a/built-in-nodes/TencentSmartTopologyNode.mdx b/built-in-nodes/TencentSmartTopologyNode.mdx
index 873450955..1c7cef027 100644
--- a/built-in-nodes/TencentSmartTopologyNode.mdx
+++ b/built-in-nodes/TencentSmartTopologyNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "TencentSmartTopologyNode"
icon: "circle"
mode: wide
---
+
This node performs smart retopology on a 3D model, automatically creating a new, cleaner mesh with optimized polygon count. It connects to a Tencent Hunyuan 3D API to process the model, supporting GLB and OBJ file formats up to 200MB. The node returns the processed model as an OBJ file.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model_3d` | Input 3D model (GLB or OBJ). The file must be in GLB or OBJ format and cannot exceed 200MB. | FILE3D | Yes | - |
| `polygon_type` | Surface composition type. | STRING | Yes | `"triangle"` `"quadrilateral"` |
| `face_level` | Polygon reduction level. | STRING | Yes | `"medium"` `"high"` `"low"` |
@@ -21,10 +22,10 @@ This node performs smart retopology on a 3D model, automatically creating a new,
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `OBJ` | The processed 3D model with optimized topology, returned in OBJ format. | FILE3D |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TencentSmartTopologyNode/en.md)
---
-**Source fingerprint (SHA-256):** `41f52d3553c2c0773d539d029f21fe405ffac739a5a43d89da1c55c5a4d75e5b`
+**Source fingerprint (SHA-256):** `effbccb4d239ffb6b575fc547dd54cbb61aa4508502345cb5bef1d66b320926b`
diff --git a/built-in-nodes/TencentTextToModelNode.mdx b/built-in-nodes/TencentTextToModelNode.mdx
index 75d98a69e..677fc84a1 100644
--- a/built-in-nodes/TencentTextToModelNode.mdx
+++ b/built-in-nodes/TencentTextToModelNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "TencentTextToModelNode"
icon: "circle"
mode: wide
---
+
This node uses Tencent's Hunyuan3D Pro API to generate a 3D model from a text description. It sends a request to create a generation task, polls for the result, and downloads the final model files in GLB and OBJ formats.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The version of the Hunyuan3D model to use. The LowPoly option is unavailable for the `3.1` model. | COMBO | Yes | `"3.0"` `"3.1"` |
| `prompt` | The text description of the 3D model to generate. Supports up to 1024 characters. | STRING | Yes | - |
| `face_count` | The target number of faces for the generated 3D model. Default: 500000. | INT | Yes | 3000 - 1500000 |
@@ -24,7 +25,7 @@ This node uses Tencent's Hunyuan3D Pro API to generate a 3D model from a text de
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model_file` | A legacy output for backward compatibility. | STRING |
| `GLB` | The generated 3D model in the GLB file format. | FILE3DGLB |
| `OBJ` | The generated 3D model in the OBJ file format. | FILE3DOBJ |
@@ -33,4 +34,4 @@ This node uses Tencent's Hunyuan3D Pro API to generate a 3D model from a text de
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TencentTextToModelNode/en.md)
---
-**Source fingerprint (SHA-256):** `2e8799d6863a0a7113d22f1637251735a217797679d7a97268910b88d9864e4a`
+**Source fingerprint (SHA-256):** `8110b6a70cdd26d5d0dcb791e654a6292895693e25076b982951c65f787422d6`
diff --git a/built-in-nodes/TerminalLog.mdx b/built-in-nodes/TerminalLog.mdx
index 5fc54d813..9e358ce81 100644
--- a/built-in-nodes/TerminalLog.mdx
+++ b/built-in-nodes/TerminalLog.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TerminalLog"
icon: "circle"
mode: wide
---
+
Terminal Log (Manager) node is primarily used to display the running information of ComfyUI in the terminal within the ComfyUI interface. To use it, you need to set the `mode` to **logging** mode. This will allow it to record corresponding log information during the image generation task. If the `mode` is set to **stop** mode, it will not record log information.
When you access and use ComfyUI via remote connections or local area network connections, Terminal Log (Manager) node becomes particularly useful. It allows you to directly view error messages from the CMD within the ComfyUI interface, making it easier to understand the current status of ComfyUI's operation.
diff --git a/built-in-nodes/TextEncodeAceStepAudio.mdx b/built-in-nodes/TextEncodeAceStepAudio.mdx
index 6a5135f56..25589f1cb 100644
--- a/built-in-nodes/TextEncodeAceStepAudio.mdx
+++ b/built-in-nodes/TextEncodeAceStepAudio.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TextEncodeAceStepAudio"
icon: "circle"
mode: wide
---
+
The TextEncodeAceStepAudio node processes text inputs for audio conditioning by combining tags and lyrics into tokens, then encoding them with adjustable lyrics strength. It takes a CLIP model along with text descriptions and lyrics, tokenizes them together, and generates conditioning data suitable for audio generation tasks. The node allows fine-tuning the influence of lyrics through a strength parameter that controls their impact on the final output.
## Inputs
diff --git a/built-in-nodes/TextEncodeAceStepAudio1.5.mdx b/built-in-nodes/TextEncodeAceStepAudio1.5.mdx
index f74e623b4..af397e3b2 100644
--- a/built-in-nodes/TextEncodeAceStepAudio1.5.mdx
+++ b/built-in-nodes/TextEncodeAceStepAudio1.5.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TextEncodeAceStepAudio1.5"
icon: "circle"
mode: wide
---
+
The TextEncodeAceStepAudio1.5 node prepares text and audio-related metadata for use with the AceStepAudio 1.5 model. It takes descriptive tags, lyrics, and musical parameters, then uses a CLIP model to convert them into a conditioning format suitable for audio generation.
## Inputs
diff --git a/built-in-nodes/TextEncodeBooguEdit.mdx b/built-in-nodes/TextEncodeBooguEdit.mdx
new file mode 100644
index 000000000..48a22a8a8
--- /dev/null
+++ b/built-in-nodes/TextEncodeBooguEdit.mdx
@@ -0,0 +1,31 @@
+---
+title: "TextEncodeBooguEdit - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the TextEncodeBooguEdit node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "TextEncodeBooguEdit"
+icon: "circle"
+mode: wide
+---
+
+This node prepares conditioning for image editing with Boogu. It processes reference images to create both positive and negative conditioning outputs. The reference image is used twice: vision tokens from the image are added only to the positive conditioning to amplify the edit instruction, while a VAE reference latent is added to both positive and negative conditioning so it cancels out under CFG, preserving the original image identity.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `clip` | The CLIP model used for text encoding | CLIP | Yes | |
+| `prompt` | The text prompt describing the desired edit | STRING | Yes | |
+| `negative_prompt` | The text prompt describing what to avoid in the edit | STRING | No | |
+| `vae` | The VAE model used to encode reference images into latent space | VAE | No | |
+| `images` | Reference image(s) to edit. Boogu focuses on one reference per sample; more are allowed. | IMAGE | No | Up to 16 images |
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `positive` | Conditioning containing both the text prompt with vision tokens and the reference latents | CONDITIONING |
+| `negative` | Conditioning containing the negative text prompt and the reference latents | CONDITIONING |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TextEncodeBooguEdit/en.md)
+
+---
+**Source fingerprint (SHA-256):** `170979acf5b2e9f25f96231a4b23a4376cfddcd4bda2fdd6e03528417e6931b0`
diff --git a/built-in-nodes/TextEncodeHunyuanVideo_ImageToVideo.mdx b/built-in-nodes/TextEncodeHunyuanVideo_ImageToVideo.mdx
index 46ffa5159..e574bb37a 100644
--- a/built-in-nodes/TextEncodeHunyuanVideo_ImageToVideo.mdx
+++ b/built-in-nodes/TextEncodeHunyuanVideo_ImageToVideo.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TextEncodeHunyuanVideo_ImageToVideo"
icon: "circle"
mode: wide
---
+
The TextEncodeHunyuanVideo_ImageToVideo node creates conditioning data for video generation by combining text prompts with image embeddings. It uses a CLIP model to process both the text input and visual information from a CLIP vision output, then generates tokens that blend these two sources according to the specified image interleave setting.
## Inputs
diff --git a/built-in-nodes/TextEncodeQwenImageEdit.mdx b/built-in-nodes/TextEncodeQwenImageEdit.mdx
index f2d53a931..199366531 100644
--- a/built-in-nodes/TextEncodeQwenImageEdit.mdx
+++ b/built-in-nodes/TextEncodeQwenImageEdit.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TextEncodeQwenImageEdit"
icon: "circle"
mode: wide
---
+
The TextEncodeQwenImageEdit node processes text prompts and optional images to generate conditioning data for image generation or editing. It uses a CLIP model to tokenize the input and can optionally encode reference images using a VAE to create reference latents. When an image is provided, it automatically resizes the image to maintain consistent processing dimensions.
## Inputs
diff --git a/built-in-nodes/TextEncodeQwenImageEditPlus.mdx b/built-in-nodes/TextEncodeQwenImageEditPlus.mdx
index b6ae884f7..11a1c97d3 100644
--- a/built-in-nodes/TextEncodeQwenImageEditPlus.mdx
+++ b/built-in-nodes/TextEncodeQwenImageEditPlus.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TextEncodeQwenImageEditPlus"
icon: "circle"
mode: wide
---
+
The TextEncodeQwenImageEditPlus node processes text prompts and optional images to generate conditioning data for image generation or editing tasks. It uses a specialized template to analyze input images and understand how text instructions should modify them, then encodes this information for use in subsequent generation steps. The node can handle up to three input images and optionally generate reference latents when a VAE is provided.
## Inputs
diff --git a/built-in-nodes/TextEncodeZImageOmni.mdx b/built-in-nodes/TextEncodeZImageOmni.mdx
index 3e1fa73f8..784822b47 100644
--- a/built-in-nodes/TextEncodeZImageOmni.mdx
+++ b/built-in-nodes/TextEncodeZImageOmni.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TextEncodeZImageOmni"
icon: "circle"
mode: wide
---
+
The TextEncodeZImageOmni node is an advanced conditioning node that encodes a text prompt along with optional reference images into a conditioning format suitable for image generation models. It can process up to three images, optionally encoding them with a vision encoder and/or a VAE to produce reference latents, and integrates these visual references with the text prompt using a specific template structure.
## Inputs
diff --git a/built-in-nodes/TextGenerate.mdx b/built-in-nodes/TextGenerate.mdx
index 85943f122..68d74c717 100644
--- a/built-in-nodes/TextGenerate.mdx
+++ b/built-in-nodes/TextGenerate.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TextGenerate"
icon: "circle"
mode: wide
---
+
The TextGenerate node uses a CLIP model to create text based on a user's prompt. It can optionally use images, video, or audio as additional context to guide the text generation. You can control the length of the output, enable a thinking mode for supported models, and choose whether to use random sampling with various settings or to generate text without sampling.
## Inputs
diff --git a/built-in-nodes/TextGenerateLTX2Prompt.mdx b/built-in-nodes/TextGenerateLTX2Prompt.mdx
index 4d4410867..0f4c5b022 100644
--- a/built-in-nodes/TextGenerateLTX2Prompt.mdx
+++ b/built-in-nodes/TextGenerateLTX2Prompt.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TextGenerateLTX2Prompt"
icon: "circle"
mode: wide
---
+
The TextGenerateLTX2Prompt node is a specialized version of a text generation node. It takes a user's text prompt and automatically formats it with specific system instructions before sending it to a language model for enhancement or completion. The node can operate in two modes: text-only or with an image reference, using different system prompts for each case.
## Inputs
diff --git a/built-in-nodes/TextToLowercase.mdx b/built-in-nodes/TextToLowercase.mdx
index 2229066d5..f99c6b650 100644
--- a/built-in-nodes/TextToLowercase.mdx
+++ b/built-in-nodes/TextToLowercase.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TextToLowercase"
icon: "circle"
mode: wide
---
+
The Text to Lowercase node takes a text string as input and converts all of its characters to lowercase. It is a simple utility for standardizing text case.
> **Note:** This node is deprecated and superseded by the Convert Text Case node.
diff --git a/built-in-nodes/TextToUppercase.mdx b/built-in-nodes/TextToUppercase.mdx
index 5e0a689e7..708ac9ae7 100644
--- a/built-in-nodes/TextToUppercase.mdx
+++ b/built-in-nodes/TextToUppercase.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TextToUppercase"
icon: "circle"
mode: wide
---
+
The Text to Uppercase node takes a text input and converts all of its characters to uppercase. It is a simple text processing utility that modifies the case of the provided string.
**Note:** This node is deprecated and superseded by the Convert Text Case node.
diff --git a/built-in-nodes/ThresholdMask.mdx b/built-in-nodes/ThresholdMask.mdx
index 7907b3764..2ff3c4145 100644
--- a/built-in-nodes/ThresholdMask.mdx
+++ b/built-in-nodes/ThresholdMask.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "ThresholdMask"
icon: "circle"
mode: wide
---
+
The ThresholdMask node converts a mask to a binary mask by applying a threshold value. It compares each pixel in the input mask against the specified threshold value and creates a new mask where pixels above the threshold become 1 (white) and pixels below or equal to the threshold become 0 (black).
## Inputs
diff --git a/built-in-nodes/TomePatchModel.mdx b/built-in-nodes/TomePatchModel.mdx
index 6ac115d9a..d157995e5 100644
--- a/built-in-nodes/TomePatchModel.mdx
+++ b/built-in-nodes/TomePatchModel.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TomePatchModel"
icon: "circle"
mode: wide
---
+
The TomePatchModel node applies Token Merging (ToMe) to a diffusion model to reduce computational requirements during inference. It works by selectively merging similar tokens in the attention mechanism, allowing the model to process fewer tokens while maintaining image quality. This technique helps speed up generation without significant quality loss.
## Inputs
diff --git a/built-in-nodes/TopazImageEnhance.mdx b/built-in-nodes/TopazImageEnhance.mdx
index 305342957..0f23eae70 100644
--- a/built-in-nodes/TopazImageEnhance.mdx
+++ b/built-in-nodes/TopazImageEnhance.mdx
@@ -5,35 +5,36 @@ sidebarTitle: "TopazImageEnhance"
icon: "circle"
mode: wide
---
+
The Topaz Image Enhance node provides industry-standard upscaling and image enhancement. It processes a single input image using a cloud-based AI model to improve quality, detail, and resolution. The node offers fine-grained control over the enhancement process, including options for creative guidance, subject focus, and facial preservation.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The AI model to use for image enhancement. | COMBO | Yes | `"Reimagine"` |
| `image` | The input image to be enhanced. Only one image is supported. | IMAGE | Yes | - |
-| `prompt` | An optional text prompt for creative upscaling guidance (default: empty). | STRING | No | - |
+| `prompt` | Optional text prompt for creative upscaling guidance (default: empty). | STRING | No | - |
| `subject_detection` | Controls which part of the image the enhancement focuses on (default: "All"). | COMBO | No | `"All"` `"Foreground"` `"Background"` |
-| `face_enhancement` | Enable to enhance faces if they are present in the image (default: True). | BOOLEAN | No | - |
-| `face_enhancement_creativity` | Sets the creativity level for face enhancement (default: 0.0). | FLOAT | No | 0.0 - 1.0 |
+| `face_enhancement` | Enhance faces (if present) during processing (default: True). | BOOLEAN | No | - |
+| `face_enhancement_creativity` | Set the creativity level for face enhancement (default: 0.0). | FLOAT | No | 0.0 - 1.0 |
| `face_enhancement_strength` | Controls how sharp enhanced faces are relative to the background (default: 1.0). | FLOAT | No | 0.0 - 1.0 |
-| `crop_to_fill` | By default, the image is letterboxed when the output aspect ratio differs. Enable to crop the image to fill the output dimensions instead (default: False). | BOOLEAN | No | - |
-| `output_width` | The desired width of the output image. A value of 0 means it will be calculated automatically, usually based on the original size or the `output_height` if specified (default: 0). | INT | No | 0 - 32000 |
-| `output_height` | The desired height of the output image. A value of 0 means it will be calculated automatically, usually based on the original size or the `output_width` if specified (default: 0). | INT | No | 0 - 32000 |
+| `crop_to_fill` | By default, the image is letterboxed when the output aspect ratio differs. Enable to crop the image to fill the output dimensions (default: False). | BOOLEAN | No | - |
+| `output_width` | Zero value means to calculate automatically (usually it will be original size or output_height if specified) (default: 0). | INT | No | 0 - 32000 |
+| `output_height` | Zero value means to output in the same height as original or output width (default: 0). | INT | No | 0 - 32000 |
| `creativity` | Controls the overall creativity level of the enhancement (default: 3). | INT | No | 1 - 9 |
-| `face_preservation` | Preserve the facial identity of subjects in the image (default: True). | BOOLEAN | No | - |
-| `color_preservation` | Preserve the original colors of the input image (default: True). | BOOLEAN | No | - |
+| `face_preservation` | Preserve subjects' facial identity (default: True). | BOOLEAN | No | - |
+| `color_preservation` | Preserve the original colors (default: True). | BOOLEAN | No | - |
**Note:** This node can only process a single input image. Providing a batch of multiple images will result in an error.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `image` | The enhanced output image. | IMAGE |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TopazImageEnhance/en.md)
---
-**Source fingerprint (SHA-256):** `c569f4873f5e008f62ccae9a93ef40fe79554c003e7e52c5ac91241b0d08978a`
+**Source fingerprint (SHA-256):** `586ebc6aafa40c8bebf1e24904ebf5653b8d3b46b202d9a6850f625ac8845bcf`
diff --git a/built-in-nodes/TopazVideoEnhance.mdx b/built-in-nodes/TopazVideoEnhance.mdx
index 580b685f8..afd2b4d6d 100644
--- a/built-in-nodes/TopazVideoEnhance.mdx
+++ b/built-in-nodes/TopazVideoEnhance.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "TopazVideoEnhance"
icon: "circle"
mode: wide
---
+
The Topaz Video Enhance node uses an external API to improve video quality. It can upscale video resolution, increase frame rate through interpolation, and apply compression. The node processes an input MP4 video and returns an enhanced version based on the selected settings.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `video` | The input video file to be enhanced. | VIDEO | Yes | - |
| `upscaler_enabled` | Enables or disables the video upscaling feature (default: True). | BOOLEAN | Yes | - |
| `upscaler_model` | The AI model used for upscaling the video. | COMBO | Yes | `"Starlight (Astra) Fast"` `"Starlight (Astra) Creative"` `"Starlight Precise 2.5"` |
@@ -24,15 +25,15 @@ The Topaz Video Enhance node uses an external API to improve video quality. It c
| `interpolation_duplicate_threshold` | Detection sensitivity for duplicate frames. (default: 0.01) | FLOAT | No | 0.001 to 0.1 |
| `dynamic_compression_level` | CQP level. (default: "Low") | COMBO | No | `"Low"` `"Mid"` `"High"` |
-**Note:** At least one enhancement feature must be enabled. The node will raise an error if both `upscaler_enabled` and `interpolation_enabled` are set to `False`. The input video must be in MP4 format.
+**Note:** At least one enhancement feature must be enabled. The node will raise an error if both `upscaler_enabled` and `interpolation_enabled` are set to False. The input video must be in MP4 format.
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `video` | The enhanced output video file. | VIDEO |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TopazVideoEnhance/en.md)
---
-**Source fingerprint (SHA-256):** `ef2d1e62c0000f4d9a99014317db2f1c4e0b8a77334024cf614ec0376058a2f7`
+**Source fingerprint (SHA-256):** `29db853812759574d775041e8984088774bc06f1349ca5390ee53ba668fd12fe`
diff --git a/built-in-nodes/TopazVideoEnhanceV2.mdx b/built-in-nodes/TopazVideoEnhanceV2.mdx
index 66797d45b..ff895de29 100644
--- a/built-in-nodes/TopazVideoEnhanceV2.mdx
+++ b/built-in-nodes/TopazVideoEnhanceV2.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "TopazVideoEnhanceV2"
icon: "circle"
mode: wide
---
-# Topaz Video Enhance V2
The **Topaz Video Enhance V2** node allows you to upscale and enhance video using Topaz Labs' AI models. It can increase resolution, adjust frame rate through interpolation, and apply creative or realistic enhancements to breathe new life into your video footage.
@@ -43,4 +42,4 @@ The **Topaz Video Enhance V2** node allows you to upscale and enhance video usin
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TopazVideoEnhanceV2/en.md)
---
-**Source fingerprint (SHA-256):** `3b3df144ecd7de6e0c141cffa30fc7b303e0edc991e714c2f0aaf0e4be903166`
+**Source fingerprint (SHA-256):** `d955e5bae683fa4d7e09e23f7cd06bc077ec5e4ab0b5c4f6d712b8358027998c`
diff --git a/built-in-nodes/TorchCompileModel.mdx b/built-in-nodes/TorchCompileModel.mdx
index 5d40117ef..200648721 100644
--- a/built-in-nodes/TorchCompileModel.mdx
+++ b/built-in-nodes/TorchCompileModel.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TorchCompileModel"
icon: "circle"
mode: wide
---
+
The TorchCompileModel node applies PyTorch compilation to a model to optimize its performance. It creates a copy of the input model and wraps it with PyTorch's compilation functionality using the specified backend. This can improve the model's execution speed during inference.
## Inputs
diff --git a/built-in-nodes/TrainLoraNode.mdx b/built-in-nodes/TrainLoraNode.mdx
index 8ebd86597..46e7c0c24 100644
--- a/built-in-nodes/TrainLoraNode.mdx
+++ b/built-in-nodes/TrainLoraNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "TrainLoraNode"
icon: "circle"
mode: wide
---
+
The TrainLoraNode creates and trains a LoRA (Low-Rank Adaptation) model on a diffusion model using provided latents and conditioning data. It allows you to fine-tune a model with custom training parameters, optimizers, and loss functions. The node outputs the trained LoRA weights, a loss history map, and the total training steps completed.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `model` | The model to train the LoRA on. | MODEL | Yes | - |
| `latents` | The Latents to use for training, serve as dataset/input of the model. | LATENT | Yes | - |
| `positive` | The positive conditioning to use for training. | CONDITIONING | Yes | - |
@@ -44,7 +45,7 @@ The TrainLoraNode creates and trains a LoRA (Low-Rank Adaptation) model on a dif
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `lora` | The trained LoRA weights that can be saved or applied to other models. | LORA_MODEL |
| `loss_map` | A dictionary containing the training loss values over time. | LOSS_MAP |
| `steps` | The total number of training steps completed (including any previous steps from existing LoRA). | INT |
@@ -52,4 +53,4 @@ The TrainLoraNode creates and trains a LoRA (Low-Rank Adaptation) model on a dif
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TrainLoraNode/en.md)
---
-**Source fingerprint (SHA-256):** `e145145306330099293c8b4bb344ec0a38de690040bd796b84225f54638900c3`
+**Source fingerprint (SHA-256):** `39e88045270d36855442024b62d6a225a58b34842f45ac04fbc6c1ade6768a76`
diff --git a/built-in-nodes/TransformSplat.mdx b/built-in-nodes/TransformSplat.mdx
index 8144213db..249881885 100644
--- a/built-in-nodes/TransformSplat.mdx
+++ b/built-in-nodes/TransformSplat.mdx
@@ -5,7 +5,6 @@ sidebarTitle: "TransformSplat"
icon: "circle"
mode: wide
---
-# Transform Splat
The Transform Splat node applies translation, rotation, and scaling transformations to a gaussian splat. It moves, rotates, and resizes the entire splat as a single object, and when non-uniform scaling is applied, it also reshapes each individual gaussian splat for accurate results.
diff --git a/built-in-nodes/TrimAudioDuration.mdx b/built-in-nodes/TrimAudioDuration.mdx
index be42edf8b..3f009c4b9 100644
--- a/built-in-nodes/TrimAudioDuration.mdx
+++ b/built-in-nodes/TrimAudioDuration.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TrimAudioDuration"
icon: "circle"
mode: wide
---
+
The TrimAudioDuration node allows you to cut a specific time segment from an audio file. You can specify when to start the trim and how long the resulting audio clip should be. The node works by converting time values to audio frame positions and extracting the corresponding portion of the audio waveform.
## Inputs
diff --git a/built-in-nodes/TrimVideoLatent.mdx b/built-in-nodes/TrimVideoLatent.mdx
index 01e8dadc0..29784d928 100644
--- a/built-in-nodes/TrimVideoLatent.mdx
+++ b/built-in-nodes/TrimVideoLatent.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TrimVideoLatent"
icon: "circle"
mode: wide
---
+
The TrimVideoLatent node removes frames from the beginning of a video latent representation. It takes a latent video sample and trims off a specified number of frames from the start, returning the remaining portion of the video. This allows you to shorten video sequences by removing the initial frames.
## Inputs
diff --git a/built-in-nodes/TripleCLIPLoader.mdx b/built-in-nodes/TripleCLIPLoader.mdx
index dc6f485bd..c411635f1 100644
--- a/built-in-nodes/TripleCLIPLoader.mdx
+++ b/built-in-nodes/TripleCLIPLoader.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TripleCLIPLoader"
icon: "circle"
mode: wide
---
+
The TripleCLIPLoader node loads three different text encoder models simultaneously and combines them into a single CLIP model. This is useful for advanced text encoding scenarios where multiple text encoders are needed, such as in SD3 workflows that require clip-l, clip-g, and t5 models working together.
## Inputs
diff --git a/built-in-nodes/TripoConversionNode.mdx b/built-in-nodes/TripoConversionNode.mdx
index 6dcf89215..c0e28fd08 100644
--- a/built-in-nodes/TripoConversionNode.mdx
+++ b/built-in-nodes/TripoConversionNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "TripoConversionNode"
icon: "circle"
mode: wide
---
+
The TripoConversionNode converts 3D models between different file formats using the Tripo API. It takes a task ID from a previous Tripo operation (model generation, rigging, or retargeting) and converts the resulting model to your desired format with various export options.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `original_model_task_id` | The task ID from a previous Tripo operation (model generation, rigging, or retargeting) | MODEL_TASK_ID,RIG_TASK_ID,RETARGET_TASK_ID | Yes | MODEL_TASK_ID RIG_TASK_ID RETARGET_TASK_ID |
| `format` | The target file format for the converted 3D model | COMBO | Yes | GLTF USDZ FBX OBJ STL 3MF |
| `quad` | Whether to convert triangles to quads (default: False) | BOOLEAN | No | True/False |
@@ -36,10 +37,10 @@ The TripoConversionNode converts 3D models between different file formats using
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| *No named outputs* | This node processes the conversion asynchronously and returns the result through the Tripo API system | - |
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TripoConversionNode/en.md)
---
-**Source fingerprint (SHA-256):** `7542fd7ee2307b06e5caa78ce427140fbcb56e8ea383ce327828040330ea1b01`
+**Source fingerprint (SHA-256):** `14aafa9c5fc430eb125bb946eb634dc0e65d63688413fc1cd079677e78b83cbd`
diff --git a/built-in-nodes/TripoImageToModelNode.mdx b/built-in-nodes/TripoImageToModelNode.mdx
index 3bb33e3b4..9ff3cb69b 100644
--- a/built-in-nodes/TripoImageToModelNode.mdx
+++ b/built-in-nodes/TripoImageToModelNode.mdx
@@ -5,12 +5,13 @@ sidebarTitle: "TripoImageToModelNode"
icon: "circle"
mode: wide
---
+
Generates 3D models synchronously based on a single image using Tripo's API. This node takes an input image and converts it into a 3D model with various customization options for texture, quality, and model properties.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | Input image used to generate the 3D model | IMAGE | Yes | - |
| `model_version` | The model version to use for generation | COMBO | No | `"v1.4"` `"v3.0"` `"v3.5"` `"v3.6"` |
| `style` | Style setting for the generated model (default: "None") | COMBO | No | `"None"` `"realistic"` `"cartoon"` `"sculpture"` `"low_poly"` |
@@ -30,7 +31,7 @@ Generates 3D models synchronously based on a single image using Tripo's API. Thi
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model_file` | The generated 3D model file (for backward compatibility only) | STRING |
| `model task_id` | The task ID for tracking the model generation process | MODEL_TASK_ID |
| `GLB` | The generated 3D model in GLB format | FILE3DGLB |
@@ -38,4 +39,4 @@ Generates 3D models synchronously based on a single image using Tripo's API. Thi
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TripoImageToModelNode/en.md)
---
-**Source fingerprint (SHA-256):** `f12bae7cc766b7ac208243a10970da7719a13d6283d6b6c39444b577cafc7f04`
+**Source fingerprint (SHA-256):** `020243931c5a05655804ce601f23821731725734dc7abd49bba2a554a0a272f6`
diff --git a/built-in-nodes/TripoImportModelNode.mdx b/built-in-nodes/TripoImportModelNode.mdx
new file mode 100644
index 000000000..fbe615904
--- /dev/null
+++ b/built-in-nodes/TripoImportModelNode.mdx
@@ -0,0 +1,28 @@
+---
+title: "TripoImportModelNode - ComfyUI Built-in Node Documentation"
+description: "Complete documentation for the TripoImportModelNode node in ComfyUI. Learn its inputs, outputs, parameters and usage."
+sidebarTitle: "TripoImportModelNode"
+icon: "circle"
+mode: wide
+---
+
+This node imports an external 3D model file into Tripo's system so you can use it with Tripo's post-processing nodes like Texture, Rig, and Convert. It uploads your model and returns a task ID that other Tripo nodes can use to reference the imported model.
+
+## Inputs
+
+| Parameter | Description | Data Type | Required | Range |
+|-----------|-------------|-----------|----------|-------|
+| `model_3d` | 3D model to import (GLB / FBX / OBJ / STL, up to 150 MB). OBJ and STL files carry no embedded textures. | FILE3D | Yes | GLB FBX OBJ STL Any 3D format |
+
+**Note:** GLB format is recommended because textures are preserved only when embedded directly in the file. OBJ and STL files do not support embedded textures. GLTF (.gltf) format is not supported because it references external files; use a single-file GLB instead. The file size must not exceed 150 MB.
+
+## Outputs
+
+| Output Name | Description | Data Type |
+|-------------|-------------|-----------|
+| `model task_id` | A task ID that identifies the imported model for use with Tripo post-processing nodes | MODEL_TASK_ID |
+
+> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TripoImportModelNode/en.md)
+
+---
+**Source fingerprint (SHA-256):** `4fa13a108804f2a52190a85b5b5d58ff18190e9d182b556abada444788012fab`
diff --git a/built-in-nodes/TripoMultiviewToModelNode.mdx b/built-in-nodes/TripoMultiviewToModelNode.mdx
index b69b744d6..662190c21 100644
--- a/built-in-nodes/TripoMultiviewToModelNode.mdx
+++ b/built-in-nodes/TripoMultiviewToModelNode.mdx
@@ -5,13 +5,14 @@ sidebarTitle: "TripoMultiviewToModelNode"
icon: "circle"
mode: wide
---
+
This node generates 3D models synchronously using Tripo's API by processing up to four images showing different views of an object. It requires a front image and at least one additional view (left, back, or right) to create a complete 3D model with texture and material options.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
-| `image` | Front view image of the object (required) | IMAGE | Yes | - |
+|-----------|-------------|-----------|----------|-------|
+| `image` | Front view image of the object | IMAGE | Yes | - |
| `image_left` | Left view image of the object | IMAGE | No | - |
| `image_back` | Back view image of the object | IMAGE | No | - |
| `image_right` | Right view image of the object | IMAGE | No | - |
@@ -32,7 +33,7 @@ This node generates 3D models synchronously using Tripo's API by processing up t
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model_file` | File path or identifier for the generated 3D model (for backward compatibility only) | STRING |
| `model task_id` | Task identifier for tracking the model generation process | MODEL_TASK_ID |
| `GLB` | The generated 3D model file in GLB format | FILE3DGLB |
@@ -40,4 +41,4 @@ This node generates 3D models synchronously using Tripo's API by processing up t
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TripoMultiviewToModelNode/en.md)
---
-**Source fingerprint (SHA-256):** `f44a39bd15dfd6111be191de81490136280491930ec0aa7159849f137479b089`
+**Source fingerprint (SHA-256):** `17e8b7a72b6d98585daf5c4839f6fdea08f236fb06287dedc4bf8723bdf5c885`
diff --git a/built-in-nodes/TripoP1ImageToModelNode.mdx b/built-in-nodes/TripoP1ImageToModelNode.mdx
index 931527e70..c7c985e00 100644
--- a/built-in-nodes/TripoP1ImageToModelNode.mdx
+++ b/built-in-nodes/TripoP1ImageToModelNode.mdx
@@ -5,6 +5,7 @@ sidebarTitle: "TripoP1ImageToModelNode"
icon: "circle"
mode: wide
---
+
## Overview
This node converts a single 2D image into a 3D model using the Tripo P1 API. It is optimized for generating low-polygon, game-ready meshes.
@@ -12,7 +13,7 @@ This node converts a single 2D image into a 3D model using the Tripo P1 API. It
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | The input image to convert to a 3D model. | IMAGE | Yes | - |
| `output_mode` | A dictionary specifying the output mode and quality settings. This parameter controls the type of model generated and its texture quality. The available options are defined by the `_build_p1_output_mode` helper function and include settings for `texture_quality` (e.g., "standard", "high", "ultra") and `image_alignment`. | DICT | Yes | See description |
| `enable_image_autofix` | Pre-process the input image for better generation quality. (default: False) | BOOLEAN | No | True False |
@@ -25,7 +26,7 @@ This node converts a single 2D image into a 3D model using the Tripo P1 API. It
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model_file` | The file path to the generated 3D model. This output is provided for backward compatibility only. | STRING |
| `model task_id` | The unique task ID for the model generation request. | MODEL_TASK_ID |
| `GLB` | The generated 3D model in GLB format. | FILE3DGLB |
@@ -33,4 +34,4 @@ This node converts a single 2D image into a 3D model using the Tripo P1 API. It
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TripoP1ImageToModelNode/en.md)
---
-**Source fingerprint (SHA-256):** `2ac611603dd6eb88700a8105c19f97a8c4eefe5f4efb23d8854ccc27af590626`
+**Source fingerprint (SHA-256):** `e45f8b77bf5240852c9ad7d065811a4b580ca4f38849d67c7bd62964fb2768b1`
diff --git a/built-in-nodes/TripoP1MultiviewToModelNode.mdx b/built-in-nodes/TripoP1MultiviewToModelNode.mdx
index 3fd5f63e1..3de1aaf81 100644
--- a/built-in-nodes/TripoP1MultiviewToModelNode.mdx
+++ b/built-in-nodes/TripoP1MultiviewToModelNode.mdx
@@ -5,14 +5,13 @@ sidebarTitle: "TripoP1MultiviewToModelNode"
icon: "circle"
mode: wide
---
-## Overview
This node generates a 3D model from 2 to 4 reference images of an object or character. You provide images from different angles (front, left, back, right), and the node creates a 3D mesh in GLB format. The front view is required, and you can optionally add any combination of the other three views for better results.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `image` | Front view (0°). Required. | IMAGE | Yes | - |
| `image_left` | Left view (90°), i.e. the subject's left side. | IMAGE | No | - |
| `image_back` | Back view (180°). | IMAGE | No | - |
@@ -29,7 +28,7 @@ This node generates a 3D model from 2 to 4 reference images of an object or char
## Outputs
| Output Name | Description | Data Type |
-| --- | --- | --- |
+|-------------|-------------|-----------|
| `model_file` | The filename of the generated GLB model (for backward compatibility only). | STRING |
| `model_task_id` | The unique task ID for this model generation request. | MODEL_TASK_ID |
| `GLB` | The generated 3D model in GLB format. | FILE3DGLB |
@@ -37,4 +36,4 @@ This node generates a 3D model from 2 to 4 reference images of an object or char
> This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! [Edit on GitHub](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TripoP1MultiviewToModelNode/en.md)
---
-**Source fingerprint (SHA-256):** `29bb87cdc5d3eef891a653c622e8876a37d6e6dc1a43e5c248b184060ead9029`
+**Source fingerprint (SHA-256):** `a9f1b334ca425631b5f841328ff993df82636cf3e3b7d1269c46f2b396155970`
diff --git a/built-in-nodes/TripoP1TextToModelNode.mdx b/built-in-nodes/TripoP1TextToModelNode.mdx
index dc42705aa..8b201af4f 100644
--- a/built-in-nodes/TripoP1TextToModelNode.mdx
+++ b/built-in-nodes/TripoP1TextToModelNode.mdx
@@ -5,14 +5,13 @@ sidebarTitle: "TripoP1TextToModelNode"
icon: "circle"
mode: wide
---
-## Overview
This node generates a 3D model from a text description using the Tripo P1 API. It is optimized for creating low-poly, game-ready meshes with stable topology, making it suitable for real-time applications.
## Inputs
| Parameter | Description | Data Type | Required | Range |
-| --- | --- | --- | --- | --- |
+|-----------|-------------|-----------|----------|-------|
| `prompt` | The text description of the 3D model you want to generate. | STRING | Yes | Up to 1024 characters |
| `negative_prompt` | A text description of what you do not want in the generated model. | STRING | No | Up to 255 characters |
| `output_mode` | Controls the output model's quality and texture settings. This parameter is a dictionary with the following keys:
`texture_quality`: STRING, Range: `"standard"` `pbr`: BOOLEAN, default: True `texture`: BOOLEAN, default: True `subdivision`: INT, default: 0, Range: 0 to 2 `texture_size`: INT, default: 2048, Range: 512 to 4096 (must be a power of 2) `texture_format`: STRING, Range: `"png"` `texture_clean`: BOOLEAN, default: False `texture_seamless`: BOOLEAN, default: False
-
-
-
-1. `LoadAudio` ノードに音声ファイルをアップロードします。
-2. テキストプロンプトを編集します。生成したい音楽を表すキーワードを用いて記述してください。
-3. (任意)`duration` パラメーターを編集します。デフォルト値は `190` です。
-4. (重要)`mask_start` および `mask_end` パラメーターを編集します。修復を開始および終了させる位置を設定する必要があります。
-5. `Run` ボタンをクリックするか、ショートカットキー `Ctrl(Cmd)+ Enter` を使用して音声生成を実行します。生成された音声は `ComfyUI/output/audio` ディレクトリに保存されます。
\ No newline at end of file
diff --git a/ja/tutorials/partner-nodes/stability-ai/stable-diffusion-3-5-image.mdx b/ja/tutorials/partner-nodes/stability-ai/stable-diffusion-3-5-image.mdx
deleted file mode 100644
index bc39ea05d..000000000
--- a/ja/tutorials/partner-nodes/stability-ai/stable-diffusion-3-5-image.mdx
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title: "Stability AI Stable Diffusion 3.5 パートナーノード ComfyUI 公式サンプル"
-description: "本記事では、ComfyUI で Stability AI Stable Diffusion 3.5 パートナーノードのテキストから画像生成および画像から画像生成の機能を活用する方法を紹介します。"
-sidebarTitle: "Stable Diffusion 3.5 Image"
-translationSourceHash: ac469600
-translationFrom: tutorials/partner-nodes/stability-ai/stable-diffusion-3-5-image.mdx
----
-
-import ReqHint from "/snippets/ja/tutorials/partner-nodes/req-hint.mdx";
-import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx";
-
-Stability AI Stable Diffusion 3.5 Image ノードを使用すると、Stability AI の Stable Diffusion 3.5 モデルを活用し、テキストプロンプトまたは参照画像から高品質でディテール豊かな画像コンテンツを作成できます。
-
-本ガイドでは、このノードを使用したテキストから画像生成と画像から画像生成の両方のワークフローの設定方法を紹介します。
-
-
-
-
-## Stability AI Stable Diffusion 3.5 テキストから画像生成ワークフロー
-
-### 1. ワークフローファイルのダウンロード
-
-以下の画像には `metadata` にワークフロー情報が含まれています。ダウンロードして ComfyUI にドラッグ&ドロップすることで、対応するワークフローを読み込むことができます。
-
-
-
-### 2. ステップごとにワークフローを完了させる
-
-
-
-画像中の番号順に従って、基本的なテキストから画像生成ワークフローを実行できます:
-1. (任意)`Stability AI Stable Diffusion 3.5 Image` ノード内の `prompt` パラメータを編集し、生成したい画像の説明文を入力します。より詳細なプロンプトを指定すると、通常はより高品質な画像が得られます。
-2. (任意)`model` パラメータから使用する SD 3.5 モデルのバージョンを選択します。
-3. (任意)`style_preset` パラメータから画像のビジュアルスタイルを制御します。異なるプリセットは「cinematic」や「anime」など、それぞれ異なるスタイル特性を持つ画像を生成します。「None」を選択すると、特定のスタイルは適用されません。
-4. (任意)`String(Multiline)` を編集してネガティブプロンプトを変更し、生成画像に含めたくない要素を指定します。
-5. `Run` ボタンをクリックするか、ショートカットキー `Ctrl(Windows)/Cmd(Mac) + Enter` を使用して画像生成を実行します。
-6. API からの結果が返された後、`Save Image` ノードで生成された画像を確認できます。また、画像は `ComfyUI/output/` ディレクトリにも保存されます。
-
-### 3. 補足情報
-
-- **プロンプト(Prompt)**: プロンプトは生成プロセスにおいて最も重要なパラメータの一つです。詳細かつ明確な記述ほど、より良い結果が得られます。シーン、被写体、色調、ライティング、スタイルなどの要素を含めることができます。
-- **CFG Scale**: プロンプトへの従い具合を制御します。値が大きいほど生成画像はプロンプトの記述に忠実になりますが、高すぎると過飽和や不自然な結果になる可能性があります。
-- **スタイルプリセット(Style Preset)**: 画像の全体的なスタイルを素早く定義できる複数のプリセットスタイルを提供します。
-- **ネガティブプロンプト(Negative Prompt)**: 生成画像に含めたくない要素を指定するために使用します。
-- **Seed パラメータ**: 生成結果の再現や微調整に利用でき、創作時の反復作業に役立ちます。
-- 現在、`Load Image` ノードは「Bypass(バイパス)」モードになっています。有効化するには、ステップガイドを参照し、該当ノードを右クリックして「Mode(モード)」を「Always(常に)」に設定してください。これにより入力が有効になり、画像から画像生成モードに切り替わります。
-- 入力画像がない場合、`image_denoise` パラメータは効果を発揮しません。
-
-## Stability AI Stable Diffusion 3.5 画像から画像生成ワークフロー
-
-### 1. ワークフローファイルのダウンロード
-
-以下の画像には `metadata` にワークフロー情報が含まれています。ダウンロードして ComfyUI にドラッグ&ドロップすることで、対応するワークフローを読み込むことができます。
-
-
-
-以下の画像を入力として使用するため、ダウンロードしてください
-
-
-### 2. ステップごとにワークフローを完了させる
-
-
-
-画像中の番号順に従って、画像から画像生成ワークフローを実行できます:
-1. `Load Image` ノードを通じて参照画像を読み込み、これを生成の基盤とします。
-2. (任意)`Stability AI Stable Diffusion 3.5 Image` ノード内の `prompt` パラメータを編集し、参照画像に対して変更または強化したい要素を記述します。
-3. (任意)`style_preset` パラメータから画像のビジュアルスタイルを制御します。異なるプリセットはそれぞれ異なるスタイル特性を持つ画像を生成します。
-4. (任意|重要)`image_denoise` パラメータ(範囲:0.0–1.0)を調整して、元の画像をどの程度変更するかを制御します:
- - 0.0 に近い値ほど、生成画像は入力参照画像に近くなります(0.0 の場合はほぼ元画像と同一になります)。
- - 1.0
\ No newline at end of file
diff --git a/ja/tutorials/partner-nodes/stability-ai/stable-image-ultra.mdx b/ja/tutorials/partner-nodes/stability-ai/stable-image-ultra.mdx
deleted file mode 100644
index 946d89bec..000000000
--- a/ja/tutorials/partner-nodes/stability-ai/stable-image-ultra.mdx
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: "Stability AI Stable Image Ultra パートナーノード ComfyUI公式サンプル"
-description: "本記事では、ComfyUIでStability AIのStable Image Ultraパートナーノードを用いたテキストから画像への生成(テキスト・トゥ・イメージ)および画像から画像への生成(イメージ・トゥ・イメージ)の機能について解説します。"
-sidebarTitle: "Stable Image Ultra"
-translationSourceHash: e3306a2b
-translationFrom: tutorials/partner-nodes/stability-ai/stable-image-ultra.mdx
----
-
-import ReqHint from "/snippets/ja/tutorials/partner-nodes/req-hint.mdx";
-import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx";
-
-[Stability Stable Image Ultra](/images/built-in-nodes/api_nodes/stability-ai/stability-ai-stable-image-ultra.jpg) ノードを使用すると、Stability AI社のStable Image Ultraモデルを活用し、テキストプロンプトまたは参照画像に基づいて高品質で詳細な画像コンテンツを生成できます。
-
-本ガイドでは、このノードを用いたテキストから画像への生成および画像から画像への生成のワークフロー設定方法を順にご案内します。
-
-
-
-
-## Stability AI Stable Image Ultra テキストから画像への生成(テキスト・トゥ・イメージ)ワークフロー
-
-### 1. ワークフローファイルのダウンロード
-
-以下の画像のメタデータにはワークフロー情報が含まれています。画像をダウンロードし、ComfyUIにドラッグ&ドロップすることで、対応するワークフローを読み込むことができます。
-
-
-
-### 2. ワークフロー実行手順(ステップ・バイ・ステップ)
-
-
-
-画像中の番号順に従って、基本的なテキストから画像への生成ワークフローを完了できます:
-1. (任意)`Stability AI Stable Image Ultra` ノード内の `prompt` パラメータを編集し、生成したい画像の説明文を入力します。より詳細なプロンプトを指定することで、通常はより高品質な画像が得られます。特定の単語の重みを制御するには `(単語:重み)` 形式が利用可能です。例:`空はさわやかで (青:0.3) と (緑:0.8)` は、空が青と緑であることを示し、そのうち緑の要素がより強く反映されることを意味します。
-2. (任意)`style_preset` パラメータを選択して、生成画像のビジュアルスタイルを制御します。異なるプリセットスタイル(例:「cinematic(映画的)」、「anime(アニメ風)」など)を選択すると、それぞれ特有の様式性を持つ画像が生成されます。「None(なし)」を選択した場合は、特別なスタイルは適用されません。
-3. `Run` ボタンをクリックするか、ショートカットキー `Ctrl(Macの場合はCmd) + Enter` を使用して、画像生成を実行します。
-4. APIから結果が返された後、`Save Image` ノードで生成された画像を確認できます。また、画像は自動的に `ComfyUI/output/` ディレクトリに保存されます。
-
-### 3. 補足情報
-
-- **プロンプト(Prompt)**:プロンプトは生成プロセスにおいて最も重要なパラメータの一つです。詳細かつ明確な記述を行うことで、より優れた結果が得られます。シーン、被写体、色調、ライティング、スタイルなどの要素を含めることができます。
-- **スタイルプリセット(Style Preset)**:映画的、アニメ風、デジタルアートなど、複数のプリセットスタイルを提供しており、画像全体のスタイルを素早く定義できます。
-- **ネガティブプロンプト(Negative Prompt)**:生成画像に含めたくない要素を指定するために使用します。余分な四肢や歪んだ顔などの一般的な問題を回避するのに役立ちます。
-- **シード(Seed)パラメータ**:生成結果の再現や微調整に使用でき、クリエイティブな制作プロセスにおける反復作業に非常に有用です。
-- 現在、`Load Image` ノードは「バイパス(Bypass)」モードになっています。これを有効化するには、ステップガイドを参照し、該当ノード上で右クリックして「Mode(モード)」を「Always(常に)」に設定してください。これにより入力が有効になり、画像から画像への生成モードに切り替わります。
-
-## Stability AI Stable Image Ultra 画像から画像への生成(イメージ・トゥ・イメージ)ワークフロー
-
-### 1. ワークフローファイルのダウンロード
-
-以下の画像のメタデータにはワークフロー情報が含まれています。画像をダウンロードし、ComfyUIにドラッグ&ドロップすることで、対応するワークフローを読み込むことができます。
-
-
-
-以下に、入力として使用する画像をダウンロードしてください。
-
-
-### 2. ワークフロー実行手順(ステップ・バイ・ステップ)
-
-
-
-画像中の番号順に従って、画像から画像への生成ワークフローを完了できます:
-1. `Load Image` ノードを通じて参照画像を読み込み、これを生成の基盤とします。
-2. (任意)`Stability Stable Image Ultra` ノード内の `prompt` パラメータを編集し、参照画像において変更または強調したい要素を記述します。
-3. (任意)`image_denoise` パラメータ(範囲:0.0~1.0)を調整して、元の画像に対する変更の度合いを制御します:
- - 0.0に近い値ほど、生成画像は入力参照画像に類似したものになります。
- - 1.0に近い値ほど、生成画像は純粋なテキストから画像への生成に近いものになります。
-4. (任意)`style_preset` やその他のパラメータも設定することで、生成効果をさらに細かく制御できます。
-5. `Run` ボタンをクリックするか、ショートカットキー `Ctrl(Macの場合はCmd) + Enter` を使用して、画像生成を実行します。
-6. APIから結果が返された後、`Save Image` ノードで生成された画像を確認できます。また、画像は自動的に `ComfyUI/output/` ディレクトリに保存されます。
-
-### 3. 補足情報
-
-**画像デノイズ(Image Denoise)**:このパラメータは、生成プロセスにおいて元の画像の特徴をどの程度保持するかを決定するものであり、画像から画像への生成モードにおいて最も重要な調整パラメータです。下図は、異なるデノイズ強度による生成結果の違いを示しています。
-
-
-
-- **参照画像の選択**:被写体が明確で構図が良い画像を選ぶと、通常はより優れた結果が得られます。
-- **プロンプトに関するヒント**:画像から画像への生成モードでは、既に画像内に存在するすべての要素を記述するのではなく、むしろ変更または強調したい部分に焦点を当てたプロンプトを作成することを推奨します。
\ No newline at end of file
diff --git a/ja/tutorials/partner-nodes/tripo/model-generation.mdx b/ja/tutorials/partner-nodes/tripo/model-generation.mdx
index 78ab9cf47..c9a3bb055 100644
--- a/ja/tutorials/partner-nodes/tripo/model-generation.mdx
+++ b/ja/tutorials/partner-nodes/tripo/model-generation.mdx
@@ -2,10 +2,17 @@
title: "Tripo API ノードによるモデル生成:ComfyUI 公式サンプル"
description: "本記事では、ComfyUI 内で Tripo ノードの API を使用して 3D モデルを生成する方法について説明します"
sidebarTitle: "モデル生成"
-translationSourceHash: 29fbd5dc
+translationSourceHash: 91cfb63d
translationFrom: tutorials/partner-nodes/tripo/model-generation.mdx
+translationBlockHashes:
+ "_intro": b329659d
+ "Text-to-Model Workflow": 1f82cb18
+ "Image-to-Model Workflow": 20fac619
+ "Multi-view Model Generation Workflow": b0e0a897
+ "Subsequent Task Processing for the Same Task": d24582e4
---
+
import ReqHint from "/snippets/ja/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx";
@@ -109,4 +116,4 @@ Tripo の対応ノードでは、同一タスクに対する後続処理も提
`Tripo: Refine Draft model` ノードは v1.4 モデルのみをサポートしており、他のモデルでは利用できません
-
\ No newline at end of file
+
diff --git a/ja/tutorials/partner-nodes/tripo/tripo-3-1.mdx b/ja/tutorials/partner-nodes/tripo/tripo-3-1.mdx
index eb66578f3..e103f05ac 100644
--- a/ja/tutorials/partner-nodes/tripo/tripo-3-1.mdx
+++ b/ja/tutorials/partner-nodes/tripo/tripo-3-1.mdx
@@ -2,10 +2,16 @@
title: "Tripo 3.1 — 高精細 3D アセット生成 ComfyUI 公式ガイド"
description: "ComfyUI のパートナーノードを使用して Tripo 3.1 で高精細な 3D アセットを生成する方法を紹介します。高密度ジオメトリと PBR 対応マテリアルによりプロダクション品質を実現します。"
sidebarTitle: "Tripo 3.1"
-translationSourceHash: a3e6e703
+translationSourceHash: c520daa5
translationFrom: tutorials/partner-nodes/tripo/tripo-3-1.mdx
+translationBlockHashes:
+ "_intro": ff0ef375
+ "Capabilities": 6187e278
+ "Use Cases": 10ad3fe3
+ "Available Workflows": c68e812a
---
+
import ReqHint from "/snippets/ja/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx";
diff --git a/ja/tutorials/partner-nodes/wan/wan2-7.mdx b/ja/tutorials/partner-nodes/wan/wan2-7.mdx
index 3ab2e0104..ee7c7c7a6 100644
--- a/ja/tutorials/partner-nodes/wan/wan2-7.mdx
+++ b/ja/tutorials/partner-nodes/wan/wan2-7.mdx
@@ -2,10 +2,19 @@
title: "ComfyUI での Wan2.7 動画生成"
description: "ComfyUI でパートナーノードを使用して Wan2.7 による画像から動画、テキストから動画、参照から動画、動画の続き、動画編集を行う方法を学びましょう"
sidebarTitle: "Wan2.7"
-translationSourceHash: ceab1647
+translationSourceHash: 3bb39265
translationFrom: tutorials/partner-nodes/wan/wan2-7.mdx
+translationBlockHashes:
+ "_intro": 611e27ab
+ "Key features": 6ca0965f
+ "Highlights": cec936d1
+ "Wan2.7 image-to-video": 29a49b02
+ "Wan2.7 text-to-video": 25cfcacf
+ "Wan2.7 reference-to-video": cf70840e
+ "Wan2.7 video edit": ad198739
---
+
import ReqHint from "/snippets/ja/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx";
diff --git a/ja/tutorials/utility/depth-anything-3.mdx b/ja/tutorials/utility/depth-anything-3.mdx
index fd43a0f54..d49627577 100644
--- a/ja/tutorials/utility/depth-anything-3.mdx
+++ b/ja/tutorials/utility/depth-anything-3.mdx
@@ -2,10 +2,19 @@
title: "ComfyUI Depth Anything 3 公式サンプル"
description: "ComfyUI で Depth Anything 3 を使用した画像と動画の単眼・多視点深度推定を学びましょう。"
sidebarTitle: "Depth Anything 3"
-translationSourceHash: d646a0e3
+translationSourceHash: 39c33c52
translationFrom: tutorials/utility/depth-anything-3.mdx
+translationBlockHashes:
+ "_intro": 78aa4267
+ "Model Installation": 63d2533a
+ "Example Workflows": cf2f84c1
+ "1. Image Depth Estimation": 21d2ff11
+ "2. Video Depth Estimation": 4f57ecb8
+ "Model Variants": c09e7471
+ "Community Resources": 8c5d05ab
---
+
import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx'
# ComfyUI Depth Anything 3 概要
diff --git a/ja/tutorials/utility/face-detection/mediapipe.mdx b/ja/tutorials/utility/face-detection/mediapipe.mdx
index 6f44d8656..0044222f6 100644
--- a/ja/tutorials/utility/face-detection/mediapipe.mdx
+++ b/ja/tutorials/utility/face-detection/mediapipe.mdx
@@ -2,10 +2,15 @@
title: "MediaPipe:ComfyUI 顔検出"
sidebarTitle: "MediaPipe Face Detection"
description: "ComfyUI で MediaPipe Face Detection を使用して顔を検出し、顔のランドマーク、境界ボックス、領域マスクを抽出する方法を学びます"
-translationSourceHash: b8885872
+translationSourceHash: bb40eede
translationFrom: tutorials/utility/face-detection/mediapipe.mdx
+translationBlockHashes:
+ "_intro": 49c290e0
+ "MediaPipe Face Detection Workflow": f1c9a49d
+ "Community Resources": ec7aa0f5
---
+
import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx'
diff --git a/ja/tutorials/utility/image-upscale.mdx b/ja/tutorials/utility/image-upscale.mdx
index 75e342195..e924b4c65 100644
--- a/ja/tutorials/utility/image-upscale.mdx
+++ b/ja/tutorials/utility/image-upscale.mdx
@@ -2,10 +2,19 @@
title: "ComfyUI での画像アップスケーリング"
description: "ローカルモデルおよびパートナー・ノードを活用した、さまざまなユースケースに対応した ComfyUI における画像アップスケーリング方法を学びましょう"
sidebarTitle: "画像アップスケーリング"
-translationSourceHash: 3c670cb0
+translationSourceHash: 6bdeb9a7
translationFrom: tutorials/utility/image-upscale.mdx
+translationBlockHashes:
+ "_intro": eb13afc3
+ "Why upscaling matters": 30a386f2
+ "Key concepts": 210d2fde
+ "Use cases": c3fef819
+ "Available models": a75cd337
+ "Benchmark: 1K to 4K upscale time": 07a20d0f
+ "Tips": a966ce44
---
+
本ガイドでは、ComfyUI における画像アップスケーリングのワークフローについて解説します。ローカルモデルおよび各種ユースケースに応じたパートナー・ノードの選択肢も紹介します。
@@ -188,4 +197,4 @@ ESRGAN モデルを用いた基本的なローカルアップスケーリング
- SeedVR2 を使用する際は、アップスケーリング前に `ImageScaleToTotalPixels` ノードで画像を0.35メガピクセルまでダウンスケールすると、より良い結果が得られます。
- 超高倍率のアップスケーリングには、複数のアップスケールノードを連鎖させる(例:2× → 4×)方法が有効です。
- 「生成+エンハンスメント」パイプラインを実現するには、生成後にアップスケールノードを接続します。
-- ご自身の特定の画像タイプに対して、複数のモデルを実際に試して、最も適したものを選定してください。
\ No newline at end of file
+- ご自身の特定の画像タイプに対して、複数のモデルを実際に試して、最も適したものを選定してください。
diff --git a/ja/tutorials/utility/moge.mdx b/ja/tutorials/utility/moge.mdx
index b347f183b..e3e7397fa 100644
--- a/ja/tutorials/utility/moge.mdx
+++ b/ja/tutorials/utility/moge.mdx
@@ -2,10 +2,19 @@
title: "ComfyUI MoGe 使用例"
description: "このガイドでは、ComfyUI で MoGe を使用して単眼幾何推定を行う方法を説明します:メートルスケールのポイントマップ、深度マップ、法線マップ、メッシュ生成。"
sidebarTitle: "MoGe"
-translationSourceHash: dcec1d5b
+translationSourceHash: 7ae1c247
translationFrom: tutorials/utility/moge.mdx
+translationBlockHashes:
+ "_intro": f3974fd4
+ "Model Installation": fb228472
+ "Example Workflows": cf2f84c1
+ "1. Depth Estimation": 0c7bafb8
+ "2. Perspective to Mesh": 03608c5b
+ "3. Panorama to Mesh": bdbb850d
+ "Community Resources": d9fcd8cd
---
+
import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx'
# ComfyUI MoGe の紹介
diff --git a/ja/tutorials/utility/pose-detection-sdpose.mdx b/ja/tutorials/utility/pose-detection-sdpose.mdx
index d7830910c..a63be80a2 100644
--- a/ja/tutorials/utility/pose-detection-sdpose.mdx
+++ b/ja/tutorials/utility/pose-detection-sdpose.mdx
@@ -2,10 +2,15 @@
title: "SDPose: ComfyUIでのポーズ検出"
sidebarTitle: "SDPose ポーズ検出"
description: "ComfyUIにネイティブサポートされているSDPoseを使って、画像や動画からポーズのキーポイントとマップを抽出する方法を学びます"
-translationSourceHash: e02657d6
+translationSourceHash: dbf15c22
translationFrom: tutorials/utility/pose-detection-sdpose.mdx
+translationBlockHashes:
+ "_intro": 909f07bb
+ "SDPose Workflows": 3c03402d
+ "Additional Notes": 409c3058
---
+
import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"
@@ -140,4 +145,4 @@ SDPoseモデルを使用して、バウンディングボックス表示なし
- **モデルディレクトリ**: SDPoseチェックポイントは `models/checkpoints/` に、RT-DETRv4検出器は `models/diffusion_models/` に配置します
- **入力画像の例**: テスト用に、ワークフローテンプレートの `input/` ディレクトリに `group_photo.png` ファイルが用意されています
- **キーポイント出力**: POSE_KEYPOINTタイプは、条件付き生成のためにポーズデータを受け付ける下流ノードに接続できます
-- **アップデート必須**: SDPose + RT-DETRv4のサポートは最新版のComfyUIで利用可能です。ComfyUIが最新であることを確認してください
\ No newline at end of file
+- **アップデート必須**: SDPose + RT-DETRv4のサポートは最新版のComfyUIで利用可能です。ComfyUIが最新であることを確認してください
diff --git a/ja/tutorials/utility/preprocessors.mdx b/ja/tutorials/utility/preprocessors.mdx
index c3c83792f..542b935df 100644
--- a/ja/tutorials/utility/preprocessors.mdx
+++ b/ja/tutorials/utility/preprocessors.mdx
@@ -2,10 +2,17 @@
title: "ComfyUI プリプロセッサーワークフロー"
description: "ComfyUI で深度推定、ラインアート変換、ポーズ検出、法線抽出の各プリプロセッサーを活用する方法を学びましょう"
sidebarTitle: "プリプロセッサー"
-translationSourceHash: f6c2bee0
+translationSourceHash: 1ed6697e
translationFrom: tutorials/utility/preprocessors.mdx
+translationBlockHashes:
+ "What are preprocessors?": 4c973513
+ "Depth estimation": a1123330
+ "Lineart conversion": cd986204
+ "Pose detection": bd2f3086
+ "Normals extraction": 65c791bb
---
+
## プリプロセッサーとは?
@@ -98,4 +105,4 @@ translationFrom: tutorials/utility/preprocessors.mdx
JSON をダウンロード
-
\ No newline at end of file
+
diff --git a/ja/tutorials/utility/remove-background-birefnet.mdx b/ja/tutorials/utility/remove-background-birefnet.mdx
index d7e8bccd8..c0f4cc3ff 100644
--- a/ja/tutorials/utility/remove-background-birefnet.mdx
+++ b/ja/tutorials/utility/remove-background-birefnet.mdx
@@ -2,10 +2,15 @@
title: "BiRefNet:ComfyUI 画像背景除去ワークフロー"
sidebarTitle: "BiRefNet 背景除去"
description: "BiRefNet モデルを使って、ComfyUI で画像の背景を除去する方法を学びます"
-translationSourceHash: 0f977d6d
+translationSourceHash: b316e131
translationFrom: tutorials/utility/remove-background-birefnet.mdx
+translationBlockHashes:
+ "_intro": 403ff66d
+ "BiRefNet Background Removal Workflow": 9af08df3
+ "Additional Notes": d07d5c84
---
+
import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx'
diff --git a/ja/tutorials/utility/video-segment-sam3.mdx b/ja/tutorials/utility/video-segment-sam3.mdx
index 923ec6dc3..6ac27d505 100644
--- a/ja/tutorials/utility/video-segment-sam3.mdx
+++ b/ja/tutorials/utility/video-segment-sam3.mdx
@@ -2,10 +2,15 @@
title: "SAM 3.1:ComfyUI 汎用セグメンテーションワークフロー"
sidebarTitle: "SAM 3.1 汎用セグメンテーション"
description: "Meta の SAM 3.1 モデルを使って、ComfyUI でテキストプロンプトによる画像・動画のセグメンテーションを行う方法を学びます"
-translationSourceHash: 666093f9
+translationSourceHash: 8e2d21b4
translationFrom: tutorials/utility/video-segment-sam3.mdx
+translationBlockHashes:
+ "_intro": ad3d3d0c
+ "SAM 3.1 Segment Workflows": f452ac40
+ "Additional Notes": c38c57a0
---
+
import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx'
diff --git a/ja/tutorials/utility/video-upscale.mdx b/ja/tutorials/utility/video-upscale.mdx
index 19c16b286..ea1a96206 100644
--- a/ja/tutorials/utility/video-upscale.mdx
+++ b/ja/tutorials/utility/video-upscale.mdx
@@ -2,10 +2,20 @@
title: "ComfyUI での動画アップスケーリング"
description: "ComfyUI でローカルモデルおよびパートナーノードを活用して、さまざまなユースケースに対応した動画アップスケーリングを行う方法を学びます"
sidebarTitle: "動画アップスケーリング"
-translationSourceHash: c709b52c
+translationSourceHash: f96f95c1
translationFrom: tutorials/utility/video-upscale.mdx
+translationBlockHashes:
+ "_intro": 158ce7e8
+ "TL;DR": f4934ea9
+ "Key concepts": 0ce5360e
+ "Use cases": 8f357897
+ "Upscale speed comparison (10s 720p clips)": 6c7b1403
+ "Available models": d1c12f83
+ "Getting started with Topaz Video Enhance": 9fa2d0e1
+ "Tips": a5dcf8f3
---
+
本ガイドでは、ComfyUI における動画アップスケーリングのワークフローについて解説します。ローカルモデルおよびパートナーノードの選択肢を、さまざまなユースケースに応じて紹介します。
@@ -181,4 +191,4 @@ translationFrom: tutorials/utility/video-upscale.mdx
- アップスケーリングと[フレーム補間](/ja/tutorials/utility/frame-interpolation)を組み合わせることで、より滑らかで高解像度の出力を得られます。
- AI 生成動画の場合、クリエイティブアップスケーリングに修復を依存するのではなく、アップスケーリング前にアーティファクトを修正することを検討してください。
- 実際のフル動画を処理する前に、サンプルクリップで複数のモデルをテストしてください。
-- 元のコンテンツへの忠実度が厳密に求められる場合は、コンサバティブアップスケーリングをご利用ください。
\ No newline at end of file
+- 元のコンテンツへの忠実度が厳密に求められる場合は、コンサバティブアップスケーリングをご利用ください。
diff --git a/ja/tutorials/utility/void-video-inpainting.mdx b/ja/tutorials/utility/void-video-inpainting.mdx
index 88affc730..57a3967e5 100644
--- a/ja/tutorials/utility/void-video-inpainting.mdx
+++ b/ja/tutorials/utility/void-video-inpainting.mdx
@@ -2,10 +2,15 @@
title: "VOID:ComfyUI ビデオ修復ワークフロー"
sidebarTitle: "VOID ビデオ修復"
description: "Netflix の VOID ビデオ修復モデルを使って、動画からオブジェクトを削除する方法を学びます"
-translationSourceHash: e8e6c573
+translationSourceHash: aaa47b1e
translationFrom: tutorials/utility/void-video-inpainting.mdx
+translationBlockHashes:
+ "_intro": 47509aec
+ "VOID Video Inpainting Workflow": 31dee04b
+ "Additional Notes": a3d04a46
---
+
import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx'
diff --git a/ja/tutorials/video/bytedance/bernini-r.mdx b/ja/tutorials/video/bytedance/bernini-r.mdx
index 059f6a9af..9530c7144 100644
--- a/ja/tutorials/video/bytedance/bernini-r.mdx
+++ b/ja/tutorials/video/bytedance/bernini-r.mdx
@@ -2,10 +2,18 @@
title: "ComfyUI Bernini-R 公式サンプル"
description: "ComfyUI で Bernini-R を使用した画像・動画編集(再照明、スタイル転送、被写体挿入など)を学びましょう。"
sidebarTitle: "Bernini-R"
-translationSourceHash: 6d8b19fc
-translationFrom: tutorials/video/bernini-r.mdx
+translationSourceHash: 84ecde34
+translationFrom: tutorials/video/bytedance/bernini-r.mdx
+translationBlockHashes:
+ "_intro": efe73774
+ "Model Installation": 84eedf7b
+ "Example Workflows": cf2f84c1
+ "1. Image Editing": cd75c4ca
+ "2. Video Editing": 9e90382c
+ "Community Resources": 57f652a5
---
+
import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx'
# ComfyUI Bernini-R 概要
diff --git a/ja/tutorials/video/hunyuan/hunyuan-video.mdx b/ja/tutorials/video/hunyuan/hunyuan-video.mdx
index cddba02bb..61bee272e 100644
--- a/ja/tutorials/video/hunyuan/hunyuan-video.mdx
+++ b/ja/tutorials/video/hunyuan/hunyuan-video.mdx
@@ -2,10 +2,17 @@
title: "ComfyUI Hunyuan Video 使用例"
description: "このガイドでは、ComfyUI において Hunyuan のテキストから動画 (T2V) および画像から動画 (I2V) のワークフローを使用する方法を説明します"
sidebarTitle: "Hunyuan Video"
-translationSourceHash: 07e5279b
+translationSourceHash: 045f4b68
translationFrom: tutorials/video/hunyuan/hunyuan-video.mdx
+translationBlockHashes:
+ "_intro": 1af8ce94
+ "Common Models for All Workflows": 3e4807f2
+ "Hunyuan Text-to-Video Workflow": 8c3a1c81
+ "Hunyuan Image-to-Video Workflow": ef169a18
+ "Try it yourself": d4ee74b3
---
+
import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx";
-전체 API 참조(엔드포인트, 페이로드 형식, 오류 처리)는 [서버 라우트](/ko/development/comfyui-server/comms_routes) 및 [서버 메시지](/ko/development/comfyui-server/comms_messages) 페이지를 참고하세요.
\ No newline at end of file
+전체 API 참조(엔드포인트, 페이로드 형식, 오류 처리)는 [서버 라우트](/ko/development/comfyui-server/comms_routes) 및 [서버 메시지](/ko/development/comfyui-server/comms_messages) 페이지를 참고하세요.
diff --git a/ko/development/comfyui-server/api-key-integration.mdx b/ko/development/comfyui-server/api-key-integration.mdx
index 309fa093c..8fa4ff789 100644
--- a/ko/development/comfyui-server/api-key-integration.mdx
+++ b/ko/development/comfyui-server/api-key-integration.mdx
@@ -3,10 +3,16 @@ title: 'ComfyUI 계정 API 키 통합'
description: "이 기사에서는 ComfyUI 계정 API 키를 사용해 헤드리스 모드에서 유료 파트너 노드를 호출하는 방법을 설명합니다."
sidebarTitle: '파트너 노드 API 통합'
icon: 'puzzle-piece'
-translationSourceHash: 1276143d
+translationSourceHash: 2b021cc8
translationFrom: development/comfyui-server/api-key-integration.mdx
+translationBlockHashes:
+ "_intro": af70c76b
+ "Prerequisites": a15cafa5
+ "Python Example": 56268ba8
+ "Related Documentation": 3596104a
---
+
[PR #8041](https://github.com/Comfy-Org/ComfyUI/pull/8041)부터 ComfyUI는 특정 프론트엔드 인터페이스가 필요 없이 ComfyUI 계정 API 키를 통해 내장된 유료 파트너 노드를 직접 사용할 수 있도록 지원합니다(프론트엔드 없이 실행할 수도 있습니다).
이는 다음과 같은 요소를 결합한 워크플로우를 생성할 수 있음을 의미합니다:
@@ -122,4 +128,4 @@ request.urlopen(req)
- [파트너 노드 개요](https://docs.comfy.org/tutorials/partner-nodes/overview)
- [계정 관리](https://docs.comfy.org/interface/user)
-- [크레딧](https://docs.comfy.org/interface/credits)
\ No newline at end of file
+- [크레딧](https://docs.comfy.org/interface/credits)
diff --git a/ko/development/comfyui-server/comms_messages.mdx b/ko/development/comfyui-server/comms_messages.mdx
index 0c6bd4572..3d5e0b9aa 100644
--- a/ko/development/comfyui-server/comms_messages.mdx
+++ b/ko/development/comfyui-server/comms_messages.mdx
@@ -1,5 +1,6 @@
---
title: "메시지"
+icon: "comment"
translationSourceHash: 2f03a928
translationFrom: development/comfyui-server/comms_messages.mdx
---
@@ -85,4 +86,5 @@ from server import PromptServer
def my_main_function(self, required_inputs, node_id):
# 몇 가지 작업 수행
- PromptServer.instance.send_sync("my.custom.message", {"node": node_id, "other_things": etc})
\ No newline at end of file
+ PromptServer.instance.send_sync("my.custom.message", {"node": node_id, "other_things": etc})
+```
\ No newline at end of file
diff --git a/ko/development/comfyui-server/comms_overview.mdx b/ko/development/comfyui-server/comms_overview.mdx
index 19572926b..68663d125 100644
--- a/ko/development/comfyui-server/comms_overview.mdx
+++ b/ko/development/comfyui-server/comms_overview.mdx
@@ -1,11 +1,18 @@
---
title: "서버 개요"
description: "ComfyUI를 서버로 실행하고 REST 및 WebSocket API를 통해 프로그래매틱하게 상호 작용합니다."
-translationSourceHash: ec9e756d
+translationSourceHash: d7564690
translationFrom: development/comfyui-server/comms_overview.mdx
+translationBlockHashes:
+ "_intro": e5c2be27
+ "Starting the Server": ab6be87f
+ "Key Pages in This Section": 59d430ca
+ "Using Partner Nodes": 4c793515
+ "How the Server Works": b14ad162
---
-ComfyUI는 기본적으로 사용자의 컴퓨터에서 HTTP 서버로 실행됩니다. 브라우저를 열지 않고도 워크플로우 제출, 파일 업로드, 결과 다운로드, 진행 상황 모니터링을 프로그래매틱하게 수행할 수 있습니다.
+
+ComfyUI는 기본적으로 사용자의 컴퓨터에서 HTTP 서버로 실행됩니다. 브라우저를 열지 않고도 워크플로우 제출, 파일 업로드, 출력 다운로드, 진행 상황 모니터링을 프로그래매틱하게 수행할 수 있습니다.
## 서버 시작하기
@@ -62,10 +69,14 @@ python main.py --listen 0.0.0.0
## 서버 작동 방식
-Comfy 서버는 [aiohttp 프레임워크](https://docs.aiohttp.org/) 위에서 실행되며, 이 프레임워크는 다시 [asyncio](https://pypi.org/project/asyncio/)를 사용합니다.
+Comfy 서버는 [aiohttp 프레임워크](https://docs.aiohttp.org/) 위에서 실행되며, 이 프레임워크는 [asyncio](https://pypi.org/project/asyncio/)를 사용합니다.
-서버에서 클라이언트로 보내는 메시지는 서버의 `send_sync` 메서드를 통해 소켓 메시지로 전송되며, 이 메서드는 `server.py`에 정의된 `PromptServer` 인스턴스입니다. 이러한 메시지는 `api.js`에 등록된 소켓 이벤트 리스너에 의해 처리됩니다. 자세한 내용은 [메시지](/ko/development/comfyui-server/comms_messages)를 참조하세요.
+서버에서 클라이언트로 보내는 메시지는 서버의 `send_sync` 메서드를 통해 소켓 메시지로 전송되며, 해당 서버는 `server.py`에 정의된 `PromptServer`의 인스턴스입니다. 이러한 메시지는 `api.js`에 등록된 소켓 이벤트 리스너에 의해 처리됩니다. 자세한 내용은 [메시지](/ko/development/comfyui-server/comms_messages)를 참조하세요.
클라이언트에서 서버로 보내는 메시지는 `api.js`에 정의된 `api.fetchApi()` 메서드를 통해 전송되며, 서버가 정의한 HTTP 라우트에 의해 처리됩니다. 자세한 내용은 [라우트](/ko/development/comfyui-server/comms_routes)를 참조하세요.
-클라이언트는 요청을 대기열에 넣을 때 전체 워크플로우(위젯 값 및 모든 내용)를 제출합니다. 서버는 요청을 대기열에 보낸 후에 여러분이 수정한 내용은 전혀 수신하지 않습니다. 만약 실행 중에 서버 동작을 변경하고 싶다면 라우트를 사용해야 합니다.
\ No newline at end of file
+
+ 클라이언트는 요청을 대기열에 넣을 때 전체 워크플로우(위젯 값 및 모든 내용)를 제출합니다.
+ 서버는 요청을 대기열에 보낸 후에 여러분이 수정한 내용은 전혀 수신하지 않습니다.
+ 실행 중에 서버 동작을 변경하려면 라우트를 사용해야 합니다.
+
diff --git a/ko/development/comfyui-server/execution_model_inversion_guide.mdx b/ko/development/comfyui-server/execution_model_inversion_guide.mdx
index 11579bc56..050ec1062 100644
--- a/ko/development/comfyui-server/execution_model_inversion_guide.mdx
+++ b/ko/development/comfyui-server/execution_model_inversion_guide.mdx
@@ -1,10 +1,15 @@
---
title: "실행 모델 반전 가이드"
icon: "code-branch"
-translationSourceHash: 9b968a87
+translationSourceHash: 77402f41
translationFrom: development/comfyui-server/execution_model_inversion_guide.mdx
+translationBlockHashes:
+ "_intro": 03f1bf08
+ "Breaking Changes": 8664cb7f
+ "New Functionality": 696353a4
---
+
[PR #2666](https://github.com/Comfy-Org/ComfyUI/pull/2666)는 실행 모델을 뒤에서부터 앞쪽으로 진행하는 재귀적 모델에서 앞에서부터 뒤로 진행하는 위상 정렬 방식으로 반전시킵니다. 대부분의 커스텀 노드는 기존처럼 "그냥 작동"할 것으로 예상되지만, 이 페이지는 커스텀 노드 제작자들이 *고장날 수 있는* 부분들을 안내하기 위한 것입니다.
## 중단되는 변경사항
@@ -109,4 +114,4 @@ translationFrom: development/comfyui-server/execution_model_inversion_guide.mdx
### 노드 확장
-런타임에 노드는 하위 그래프로 확장될 수 있습니다. 이는 꼬리 재귀를 통해 루프를 구현할 수 있게 해줍니다. 자세한 정보는 [노드 확장](/ko/custom-nodes/backend/expansion)을 참고하세요.
\ No newline at end of file
+런타임에 노드는 하위 그래프로 확장될 수 있습니다. 이는 꼬리 재귀를 통해 루프를 구현할 수 있게 해줍니다. 자세한 정보는 [노드 확장](/ko/custom-nodes/backend/expansion)을 참고하세요.
diff --git a/ko/development/comfyui-server/startup-flags.mdx b/ko/development/comfyui-server/startup-flags.mdx
index 8ebd0e2e9..d4004ebbb 100644
--- a/ko/development/comfyui-server/startup-flags.mdx
+++ b/ko/development/comfyui-server/startup-flags.mdx
@@ -3,17 +3,32 @@ title: "시작 플래그"
sidebarTitle: "시작 플래그"
description: "ComfyUI main.py 명령줄 인수에 대한 완전한 참조"
icon: "terminal"
-translationSourceHash: db1e4840
+translationSourceHash: 9ff91388
translationFrom: development/comfyui-server/startup-flags.mdx
+translationBlockHashes:
+ "_intro": 10812161
+ "Network & Server": 6e570fe4
+ "Directories": a888efb3
+ "Launch & Browser": c34b0f9e
+ "Devices & CUDA": 64727146
+ "Precision & Inference": b288036f
+ "Preview": 92d0c26e
+ "Cache": 2e1855f7
+ "Attention": 35477f4d
+ "VRAM & Memory": cae9020b
+ "Performance & Debugging": 5c337217
+ "ComfyUI Manager": 551a43d3
+ "Custom Nodes & API Nodes": 9b333c54
+ "Frontend & API": 29822d6a
+ "Logging & Misc": c42cbeb6
---
-
ComfyUI는 `python main.py`로 시작할 때 명령줄 인수를 허용합니다. 이 페이지는 [`comfy/cli_args.py`](https://github.com/Comfy-Org/ComfyUI/blob/master/comfy/cli_args.py)에 정의된 모든 플래그를 설명합니다.
**Windows Portable** 사용자는 `.bat` 실행 파일(예: `run_nvidia_gpu.bat`)에 플래그를 추가할 수 있습니다. 자세한 내용은 [Windows Portable 가이드](/ko/installation/comfyui_portable_windows)를 참조하세요.
-ComfyUI 디렉토리에서 `python main.py --help`를 실행하면 내장 도움말 텍스트를 볼 수 있습니다. 필요에 따라 여러 플래그를 조합합니다:
+ComfyUI 디렉토리에서 `python main.py --help`를 실행하면 기본 제공 도움말 텍스트를 볼 수 있습니다. 필요에 따라 여러 플래그를 결합합니다:
```bash
python main.py --listen 0.0.0.0 --port 8288 --disable-auto-launch --lowvram
@@ -22,14 +37,14 @@ python main.py --listen 0.0.0.0 --port 8288 --disable-auto-launch --lowvram
## 네트워크 및 서버
| 플래그 | 기본값 | 설명 |
-|--------|--------|------|
-| `--listen` `[IP]` | `127.0.0.1` | 수신할 IP 주소. 쉼표로 구분된 목록 지원 (예: `127.2.2.2,127.3.3.3`). 값을 지정하지 않으면 기본값 `0.0.0.0,::` (모든 IPv4 및 IPv6 인터페이스)이 사용됩니다. |
+|------|---------|-------------|
+| `--listen` `[IP]` | `127.0.0.1` | 수신할 IP 주소. 쉼표로 구분된 목록 지원 (예: `127.2.2.2,127.3.3.3`). 값을 제공하지 않으면 기본값은 `0.0.0.0,::` (모든 IPv4 및 IPv6 인터페이스)입니다. |
| `--port` | `8188` | 수신할 포트. |
| `--tls-keyfile` `PATH` | — | TLS (SSL) 키 파일 경로. HTTPS를 활성화합니다. `--tls-certfile`이 필요합니다. |
| `--tls-certfile` `PATH` | — | TLS (SSL) 인증서 파일 경로. HTTPS를 활성화합니다. `--tls-keyfile`이 필요합니다. |
-| `--enable-cors-header` `[ORIGIN]` | 비활성화 | CORS 활성화. 선택적으로 원본을 지정하거나, 값을 주지 않으면 `*` (모든 원본)로 설정됩니다. |
+| `--enable-cors-header` `[ORIGIN]` | disabled | CORS를 활성화합니다. 선택적 오리진을 지정하거나, 값을 제공하지 않으면 모든 오리진에 대해 `*`이 사용됩니다. |
| `--max-upload-size` | `100` | 최대 업로드 크기 (MB). |
-| `--enable-compress-response-body` | 비활성화 | HTTP 응답 본문 압축 활성화. |
+| `--enable-compress-response-body` | disabled | HTTP 응답 본문 압축을 활성화합니다. |
```bash
@@ -47,24 +62,24 @@ python main.py --port 8443 --tls-keyfile key.pem --tls-certfile cert.pem
## 디렉토리
| 플래그 | 기본값 | 설명 |
-|--------|--------|------|
-| `--base-directory` `PATH` | ComfyUI 루트 | 모델, custom_nodes, input, output, temp, user 디렉토리의 기본 경로. |
+|------|---------|-------------|
+| `--base-directory` `PATH` | ComfyUI root | 모델, custom_nodes, 입력, 출력, temp, 사용자 디렉토리의 기본 디렉토리. |
| `--extra-model-paths-config` `PATH` | — | 하나 이상의 `extra_model_paths.yaml` 파일을 로드합니다. 여러 번 지정할 수 있습니다. |
-| `--output-directory` `PATH` | — | 출력 디렉토리. `--base-directory`를 덮어씁니다. |
-| `--temp-directory` `PATH` | — | 임시 디렉토리. `--base-directory`를 덮어씁니다. |
-| `--input-directory` `PATH` | — | 입력 디렉토리. `--base-directory`를 덮어씁니다. |
-| `--user-directory` `PATH` | — | 사용자 디렉토리 (절대 경로). `--base-directory`를 덮어씁니다. 경로가 존재하고 읽을 수 있어야 합니다. |
+| `--output-directory` `PATH` | — | 출력 디렉토리. `--base-directory`를 재정의합니다. |
+| `--temp-directory` `PATH` | — | 임시 디렉토리. `--base-directory`를 재정의합니다. |
+| `--input-directory` `PATH` | — | 입력 디렉토리. `--base-directory`를 재정의합니다. |
+| `--user-directory` `PATH` | — | 사용자 디렉토리 (절대 경로). `--base-directory`를 재정의합니다. 경로가 존재하고 읽을 수 있어야 합니다. |
## 실행 및 브라우저
| 플래그 | 기본값 | 설명 |
-|--------|--------|------|
+|------|---------|-------------|
| `--auto-launch` | 비활성화 | 시작 시 기본 브라우저에서 ComfyUI를 자동으로 엽니다. |
| `--disable-auto-launch` | 비활성화 | 브라우저 자동 실행을 비활성화합니다. |
-| `--windows-standalone-build` | 비활성화 | Windows 휴대용 빌드 편의 모드. 시작 시 자동 실행을 활성화합니다 (`--auto-launch`와 동일). |
+| `--windows-standalone-build` | 비활성화 | Windows 휴대용 빌드 편의 모드. 시작 시 자동 실행을 활성화합니다(`--auto-launch`와 동일). |
- `--windows-standalone-build`는 `auto_launch`를 `true`로 설정합니다. `--disable-auto-launch`가 이를 덮어씁니다. 브라우저를 열지 않고 서버로 실행하려면 `--disable-auto-launch`를 사용하세요.
+ `--windows-standalone-build`는 `auto_launch`를 참으로 설정합니다. `--disable-auto-launch`가 이를 재정의합니다. 브라우저를 열지 않고 서버로 실행하려면 `--disable-auto-launch`를 사용하세요.
```bash
@@ -75,73 +90,73 @@ python main.py --disable-auto-launch
## 장치 및 CUDA
| 플래그 | 기본값 | 설명 |
-|--------|--------|------|
-| `--cuda-device` `DEVICE_ID` | — | 사용할 CUDA 장치 ID, 쉼표로 구분 (예: `0` 또는 `0,1`). 다른 장치는 숨깁니다. |
-| `--default-device` `ID` | — | 기본 장치 ID. 다른 모든 장치는 계속 보입니다. |
-| `--cuda-malloc` | auto (torch 2.0+) | cudaMallocAsync 활성화. `--disable-cuda-malloc`과 상호 배타적입니다. |
-| `--disable-cuda-malloc` | — | cudaMallocAsync 비활성화. `--cuda-malloc`과 상호 배타적입니다. |
-| `--directml` `[DEVICE]` | — | torch-directml 사용. 선택적 장치 인덱스; 값을 주지 않으면 `-1`이 기본값입니다. |
-| `--oneapi-device-selector` `STRING` | — | Intel 장치용 oneAPI 장치 선택기 문자열. |
+|------|---------|-------------|
+| `--cuda-device` `DEVICE_ID` | 없음 | 사용할 CUDA 장치 ID, 쉼표로 구분 (예: `0` 또는 `0,1`). 다른 장치는 숨겨집니다. |
+| `--default-device` `ID` | 없음 | 기본 장치 ID. 다른 모든 장치는 계속 표시됩니다. |
+| `--cuda-malloc` | auto (torch 2.0+) | cudaMallocAsync를 활성화합니다. `--disable-cuda-malloc`와 상호 배타적입니다. |
+| `--disable-cuda-malloc` | 없음 | cudaMallocAsync를 비활성화합니다. `--cuda-malloc`와 상호 배타적입니다. |
+| `--directml` `[DEVICE]` | 없음 | torch-directml을 사용합니다. 선택적 장치 인덱스; 값이 제공되지 않으면 기본값 `-1`입니다. |
+| `--oneapi-device-selector` `STRING` | 없음 | Intel 장치용 oneAPI 장치 선택기 문자열. |
-## 정밀도 및 추론
+## 정밀도 & 추론
- 아래의 **전역**, **UNET**, **VAE**, **텍스트 인코더** 그룹의 플래그는 각 그룹 내에서 상호 배타적입니다. 한 번에 그룹당 하나의 플래그만 사용할 수 있습니다.
+ 아래 **Global**, **UNET**, **VAE**, **Text Encoder** 그룹의 플래그는 각 그룹 내에서 상호 배타적입니다. 한 그룹당 한 번에 하나의 플래그만 사용할 수 있습니다.
-### 전역 부동소수점
+### 전역 플로팅 포인트
| 플래그 | 설명 |
-|--------|------|
-| `--force-fp32` | 전역적으로 fp32 강제 적용. GPU 성능이 향상되면 보고해 주세요. |
-| `--force-fp16` | 전역적으로 fp16 강제 적용. `--fp16-unet`도 설정합니다. |
+|------|-------------|
+| `--force-fp32` | 전역적으로 fp32를 강제합니다. GPU 성능이 향상되면 신고해 주세요. |
+| `--force-fp16` | 전역적으로 fp16을 강제합니다. `--fp16-unet`도 함께 설정합니다. |
### UNET 정밀도
| 플래그 | 설명 |
-|--------|------|
-| `--fp32-unet` | 확산 모델을 fp32로 실행. |
-| `--fp64-unet` | 확산 모델을 fp64로 실행. |
-| `--bf16-unet` | 확산 모델을 bf16으로 실행. |
-| `--fp16-unet` | 확산 모델을 fp16으로 실행. |
-| `--fp8_e4m3fn-unet` | UNet 가중치를 fp8 (e4m3fn)로 저장. |
-| `--fp8_e5m2-unet` | UNet 가중치를 fp8 (e5m2)로 저장. |
-| `--fp8_e8m0fnu-unet` | UNet 가중치를 fp8 (e8m0fnu)로 저장. |
+|------|-------------|
+| `--fp32-unet` | 디퓨전 모델을 fp32로 실행합니다. |
+| `--fp64-unet` | 디퓨전 모델을 fp64로 실행합니다. |
+| `--bf16-unet` | 디퓨전 모델을 bf16으로 실행합니다. |
+| `--fp16-unet` | 디퓨전 모델을 fp16으로 실행합니다. |
+| `--fp8_e4m3fn-unet` | UNet 가중치를 fp8(e4m3fn)로 저장합니다. |
+| `--fp8_e5m2-unet` | UNet 가중치를 fp8(e5m2)로 저장합니다. |
+| `--fp8_e8m0fnu-unet` | UNet 가중치를 fp8(e8m0fnu)로 저장합니다. |
### VAE 정밀도
| 플래그 | 설명 |
-|--------|------|
-| `--fp16-vae` | VAE를 fp16으로 실행. 검은 이미지가 생성될 수 있습니다. |
-| `--fp32-vae` | VAE를 전체 정밀도 fp32로 실행. |
-| `--bf16-vae` | VAE를 bf16으로 실행. |
-| `--cpu-vae` | VAE를 CPU에서 실행 (VAE 정밀도 플래그와 상호 배타적이지 않음). |
+|------|-------------|
+| `--fp16-vae` | VAE를 fp16으로 실행합니다. 검정색 이미지가 발생할 수 있습니다. |
+| `--fp32-vae` | VAE를 전체 정밀도 fp32로 실행합니다. |
+| `--bf16-vae` | VAE를 bf16으로 실행합니다. |
+| `--cpu-vae` | VAE를 CPU에서 실행합니다(VAE 정밀도 플래그와 상호 배타적이지 않습니다). |
### 텍스트 인코더 정밀도
| 플래그 | 설명 |
-|--------|------|
-| `--fp8_e4m3fn-text-enc` | 텍스트 인코더 가중치를 fp8 (e4m3fn)로 저장. |
-| `--fp8_e5m2-text-enc` | 텍스트 인코더 가중치를 fp8 (e5m2)로 저장. |
-| `--fp16-text-enc` | 텍스트 인코더 가중치를 fp16으로 저장. |
-| `--fp32-text-enc` | 텍스트 인코더 가중치를 fp32로 저장. |
-| `--bf16-text-enc` | 텍스트 인코더 가중치를 bf16으로 저장. |
+|------|-------------|
+| `--fp8_e4m3fn-text-enc` | 텍스트 인코더 가중치를 fp8(e4m3fn)로 저장합니다. |
+| `--fp8_e5m2-text-enc` | 텍스트 인코더 가중치를 fp8(e5m2)로 저장합니다. |
+| `--fp16-text-enc` | 텍스트 인코더 가중치를 fp16으로 저장합니다. |
+| `--fp32-text-enc` | 텍스트 인코더 가중치를 fp32로 저장합니다. |
+| `--bf16-text-enc` | 텍스트 인코더 가중치를 bf16으로 저장합니다. |
### 기타 추론 옵션
| 플래그 | 기본값 | 설명 |
-|--------|--------|------|
-| `--fp16-intermediates` | 비활성화 | 실험적: 노드 간 중간 텐서에 fp32 대신 fp16 사용. |
-| `--force-channels-last` | 비활성화 | 추론 중 채널-마지막 메모리 형식 강제. |
-| `--supports-fp8-compute` | 비활성화 | 장치가 fp8 계산을 지원하는 것처럼 동작. |
-| `--enable-triton-backend` | 비활성화 | comfy-kitchen에서 Triton 백엔드 활성화. 시작 시 기본적으로 비활성화됨. |
+|------|---------|-------------|
+| `--fp16-intermediates` | 비활성 | 실험적: 노드 간 중간 텐서에 fp16을 fp32 대신 사용합니다. |
+| `--force-channels-last` | 비활성 | 추론 중 channels-last 메모리 형식 강제 적용. |
+| `--supports-fp8-compute` | 비활성 | 기기가 fp8 연산을 지원하는 것처럼 동작합니다. |
+| `--enable-triton-backend` | 비활성 | comfy-kitchen에서 Triton 백엔드를 활성화합니다. 시작 시 기본적으로 비활성화됩니다. |
## 미리보기
| 플래그 | 기본값 | 설명 |
-|--------|--------|------|
-| `--preview-method` | `none` | 샘플러 노드의 미리보기 방식. 선택: `none`, `auto`, `latent2rgb`, `taesd`. |
-| `--preview-size` | `512` | 최대 미리보기 이미지 크기 (픽셀). |
+|------|---------|-------------|
+| `--preview-method` | `none` | 샘플러 노드의 미리보기 방법. 선택 가능한 값: `none`, `auto`, `latent2rgb`, `taesd`. |
+| `--preview-size` | `512` | 미리보기 이미지의 최대 크기(픽셀 단위). |
## 캐시
@@ -150,108 +165,108 @@ python main.py --disable-auto-launch
| 플래그 | 기본값 | 설명 |
-|--------|--------|------|
-| `--cache-ram` `[GB] [GB]` | 활성화 (기본 모드) | RAM 압박 캐싱. 첫 번째 값: 활성 캐시 임계값 (GB). 선택적 두 번째 값: 비활성 캐시/고정 임계값 (GB). 값을 제공하지 않으면: 활성 = 시스템 RAM의 10% (최소 2 GB, 최대 10 GB); 비활성 = 시스템 RAM의 100% (최대 96 GB). 최대 두 개의 값을 허용. |
-| `--cache-classic` | — | 이전의 공격적인 캐싱 스타일을 사용합니다. |
-| `--cache-lru` `N` | `0` (비활성화) | 최대 N개의 노드 결과를 캐시하는 LRU 캐싱. RAM/VRAM을 더 많이 사용할 수 있습니다. |
-| `--cache-none` | — | RAM/VRAM 사용량 감소; 매 실행마다 모든 노드를 다시 실행합니다. |
+|------|---------|-------------|
+| `--cache-ram` `[GB] [GB]` | 활성화됨 (기본 모드) | RAM 압력 캐싱입니다. 첫 번째 값: 활성 캐시 임계값(GB). 선택적 두 번째 값: 비활성 캐시/고정 임계값(GB). 값이 주어지지 않으면: 활성 = 시스템 RAM의 10% (최소 2 GB, 최대 10 GB); 비활성 = 시스템 RAM의 100% (최대 96 GB). 최대 두 개의 값만 허용합니다. |
+| `--cache-classic` | - | 이전의 적극적인 캐싱 방식을 사용합니다. |
+| `--cache-lru` `N` | `0` (비활성화) | LRU 캐싱으로, 최대 N개의 노드 결과가 캐시됩니다. 더 많은 RAM/VRAM을 사용할 수 있습니다. |
+| `--cache-none` | - | RAM/VRAM 사용량을 줄입니다. 매 실행마다 모든 노드를 다시 실행합니다. |
-## Attention
+## 어텐션
- 교차 어텐션 방법 플래그는 상호 배타적입니다. xformers를 사용할 때 분할 및 사분 교차 어텐션은 무시됩니다.
+ 크로스 어텐션 방법 플래그는 상호 배타적입니다. xformers를 사용할 때 분할 어텐션과 쿼드 어텐션은 무시됩니다.
| 플래그 | 설명 |
-|--------|------|
-| `--use-split-cross-attention` | 분할 교차 어텐션 최적화 사용. |
-| `--use-quad-cross-attention` | 서브-2차 교차 어텐션 최적화 사용. |
-| `--use-pytorch-cross-attention` | PyTorch 2.0 교차 어텐션 사용. |
-| `--use-sage-attention` | Sage 어텐션 사용. |
-| `--use-flash-attention` | FlashAttention 사용. |
-| `--disable-xformers` | xformers 비활성화. |
-| `--force-upcast-attention` | 어텐션 업캐스팅 강제 적용. 검은 이미지가 수정되는지 보고해 주세요. `--dont-upcast-attention`과 상호 배타적입니다. |
-| `--dont-upcast-attention` | 모든 어텐션 업캐스팅 비활성화. 디버깅 전용. |
-
-## VRAM 및 메모리
+|------|-------------|
+| `--use-split-cross-attention` | 분할 크로스 어텐션 최적화를 사용합니다. |
+| `--use-quad-cross-attention` | 서브 쿼드래틱 크로스 어텐션 최적화를 사용합니다. |
+| `--use-pytorch-cross-attention` | PyTorch 2.0 크로스 어텐션을 사용합니다. |
+| `--use-sage-attention` | Sage 어텐션을 사용합니다. |
+| `--use-flash-attention` | FlashAttention을 사용합니다. |
+| `--disable-xformers` | xformers를 비활성화합니다. |
+| `--force-upcast-attention` | 어텐션 업캐스팅을 강제합니다. 검정색 이미지가 수정되는 경우 신고하세요. `--dont-upcast-attention`과 상호 배타적입니다. |
+| `--dont-upcast-attention` | 모든 어텐션 업캐스팅을 비활성화합니다. 디버깅 전용입니다. |
+
+## VRAM & 메모리
- VRAM 모드 플래그 (`--gpu-only`, `--highvram`, `--lowvram`, `--novram`, `--cpu`)는 상호 배타적입니다.
+ VRAM 모드 플래그(`--gpu-only`, `--highvram`, `--lowvram`, `--novram`, `--cpu`)는 상호 배타적입니다.
| 플래그 | 기본값 | 설명 |
-|--------|--------|------|
-| `--gpu-only` | — | 모든 것을 GPU에 저장하고 실행 (텍스트 인코더, CLIP 등). |
-| `--highvram` | — | 모델을 사용 후 CPU로 언로딩하지 않고 GPU 메모리에 유지. |
-| `--lowvram` | — | 동적 VRAM이 활성화된 경우 효과 없음. 그렇지 않으면 텍스트 인코더를 CPU에서 실행. |
-| `--novram` | — | `--lowvram`이 충분하지 않을 때 최소 VRAM 사용. |
-| `--cpu` | — | 모든 것을 CPU에서 실행 (느림). |
-| `--reserve-vram` `GB` | OS 종속 | OS 및 기타 소프트웨어를 위해 예약할 VRAM (GB). |
-| `--async-offload` `[NUM_STREAMS]` | Nvidia에서 활성화 | 비동기 가중치 오프로딩. 선택적 스트림 수 (기본값: 2). |
-| `--disable-async-offload` | — | 비동기 가중치 오프로딩 비활성화. |
-| `--disable-dynamic-vram` | — | 동적 VRAM 비활성화; 예측 기반 모델 로딩 사용. |
-| `--enable-dynamic-vram` | Nvidia에서 자동 | 기본적으로 활성화되지 않은 시스템에서 동적 VRAM 활성화. |
-| `--fast-disk` | 비활성화 | 고정되지 않은 RAM 대신 디스크 기반 동적 로딩 선호. 빠른 NVMe에서 유용. |
-| `--force-non-blocking` | 비활성화 | 논블로킹 텐서 연산 강제 적용. 비 Nvidia 시스템에서 도움이 될 수 있음; 일부 워크플로우를 깨뜨릴 수 있음. |
-| `--disable-smart-memory` | 비활성화 | 모델을 VRAM에 유지하는 대신 RAM으로 공격적으로 오프로드. |
-| `--disable-pinned-memory` | 비활성화 | 고정 메모리 사용 비활성화. |
-| `--mmap-torch-files` | 비활성화 | ckpt/pt 파일 로딩 시 mmap 사용. |
-| `--disable-mmap` | 비활성화 | safetensors 로딩 시 mmap 사용 안 함. |
+|------|---------|-------------|
+| `--gpu-only` | — | 모든 것을 GPU에 저장하고 실행합니다(텍스트 인코더, CLIP 등). |
+| `--highvram` | — | 사용 후 모델을 CPU로 언로딩하지 않고 GPU 메모리에 유지합니다. |
+| `--lowvram` | — | 동적 VRAM이 활성화된 경우 효과가 없습니다. 그렇지 않으면 텍스트 인코더를 CPU에서 실행합니다. |
+| `--novram` | — | `--lowvram`이 충분하지 않을 때 최소 VRAM 사용량을 제공합니다. |
+| `--cpu` | — | 모든 것을 CPU에서 실행합니다(느림). |
+| `--reserve-vram` `GB` | OS 의존적 | OS 및 기타 소프트웨어용으로 예약할 VRAM(GB)입니다. |
+| `--async-offload` `[NUM_STREAMS]` | Nvidia에서 활성화 | 비동기 가중치 오프로딩입니다. 선택적 스트림 수(기본값: 2). |
+| `--disable-async-offload` | — | 비동기 가중치 오프로딩을 비활성화합니다. |
+| `--disable-dynamic-vram` | — | 동적 VRAM을 비활성화하고 예측 기반 모델 로딩을 사용합니다. |
+| `--enable-dynamic-vram` | Nvidia에서 자동 활성화 | 기본적으로 활성화되지 않은 시스템에서 동적 VRAM을 활성화합니다. |
+| `--fast-disk` | 비활성화 | 비고정 RAM보다 디스크 기반 동적 로딩을 선호합니다. 고속 NVMe에 유용합니다. |
+| `--force-non-blocking` | 비활성화 | 비차단 텐서 연산을 강제합니다. 비Nvidia 시스템에서 도움이 될 수 있지만 일부 워크플로를 손상시킬 수 있습니다. |
+| `--disable-smart-memory` | 비활성화 | 모델을 VRAM에 유지하는 대신 RAM으로 적극적으로 오프로드합니다. |
+| `--disable-pinned-memory` | 비활성화 | 고정 메모리 사용을 비활성화합니다. |
+| `--mmap-torch-files` | 비활성화 | ckpt/pt 파일을 로딩할 때 mmap을 사용합니다. |
+| `--disable-mmap` | 비활성화 | safetensors를 로딩할 때 mmap을 사용하지 않습니다. |
## 성능 및 디버깅
| 플래그 | 기본값 | 설명 |
-|--------|--------|------|
-| `--fast` `[OPT...]` | 비활성화 | 품질이나 안정성에 영향을 줄 수 있는 실험적 최적화를 활성화합니다. `--fast` 단독 사용 시 모든 항목이 활성화됩니다. 특정 옵션: `fp16_accumulation`, `fp8_matrix_mult`, `cublas_ops`, `autotune`. |
-| `--deterministic` | 비활성화 | 가능한 경우 더 느린 결정적 PyTorch 알고리즘 사용. 모든 경우에 동일한 이미지를 보장하지 않습니다. |
-| `--default-hashing-function` | `sha256` | 중복 파일명/콘텐츠 비교를 위한 해시 함수. 선택: `md5`, `sha1`, `sha256`, `sha512`. |
+|------|---------|-------------|
+| `--fast` `[OPT...]` | 비활성화 | 실험적 최적화를 활성화합니다. 품질이나 안정성에 영향을 줄 수 있습니다. `--fast`만 사용하면 모든 옵션을 활성화합니다. 특정 옵션: `fp16_accumulation`, `fp8_matrix_mult`, `cublas_ops`, `autotune`. |
+| `--deterministic` | 비활성화 | 가능한 경우 더 느린 결정론적 PyTorch 알고리즘을 사용합니다. 모든 경우에 동일한 이미지를 보장하지는 않습니다. |
+| `--default-hashing-function` | `sha256` | 중복 파일 이름/콘텐츠 비교를 위한 해시 함수. 선택 사항: `md5`, `sha1`, `sha256`, `sha512`. |
```bash
-# Enable all fast optimizations (experimental)
+# 모든 fast 최적화 활성화 (실험적)
python main.py --fast
-# Enable specific optimizations only
+# 특정 최적화만 활성화
python main.py --fast fp16_accumulation cublas_ops
```
-## ComfyUI Manager
+## ComfyUI 매니저
-설치 안내는 [ComfyUI-Manager 설치](/ko/manager/install)를 참조하세요.
+설치 방법은 [ComfyUI-Manager 설치](/ko/manager/install)를 참고하세요.
| 플래그 | 설명 |
-|--------|------|
-| `--enable-manager` | ComfyUI-Manager 활성화. |
-| `--disable-manager-ui` | Manager UI 및 엔드포인트만 비활성화. 백그라운드 작업(예약 설치 등)은 계속 진행. `--enable-manager` 필요. |
-| `--enable-manager-legacy-ui` | 레거시 Manager UI 사용. `--enable-manager` 필요. |
+|------|-------------|
+| `--enable-manager` | ComfyUI-Manager를 활성화합니다. |
+| `--disable-manager-ui` | 매니저 UI와 엔드포인트만 비활성화합니다. 백그라운드 작업(예약된 설치 등)은 계속 실행됩니다. `--enable-manager`가 필요합니다. |
+| `--enable-manager-legacy-ui` | 레거시 매니저 UI를 사용합니다. `--enable-manager`가 필요합니다. |
-## 사용자 정의 노드 및 API 노드
+## 커스텀 노드 & API 노드
| 플래그 | 기본값 | 설명 |
-|--------|--------|------|
-| `--disable-all-custom-nodes` | 비활성화 | 모든 사용자 정의 노드 로딩 비활성화. |
-| `--whitelist-custom-nodes` `FOLDER...` | — | `--disable-all-custom-nodes`가 설정된 경우에도 로드할 사용자 정의 노드 폴더. |
-| `--disable-api-nodes` | 비활성화 | API 노드를 비활성화하고 프론트엔드의 인터넷 통신을 차단합니다. |
-| `--disable-metadata` | 비활성화 | 출력 파일에 프롬프트 메타데이터 저장 비활성화. |
+|------|---------|-------------|
+| `--disable-all-custom-nodes` | disabled | 모든 커스텀 노드의 로딩을 비활성화합니다. |
+| `--whitelist-custom-nodes` `FOLDER...` | — | `--disable-all-custom-nodes`가 설정된 경우에도 로드할 커스텀 노드 폴더입니다. |
+| `--disable-api-nodes` | disabled | API 노드를 비활성화하고 프런트엔드가 인터넷과 통신하는 것을 방지합니다. |
+| `--disable-metadata` | disabled | 출력 파일에 프롬프트 메타데이터를 저장하는 것을 비활성화합니다. |
```bash
-# Troubleshoot custom node issues
+# 커스텀 노드 문제 해결
python main.py --disable-all-custom-nodes
-# Allow only specific custom nodes
+# 특정 커스텀 노드만 허용
python main.py --disable-all-custom-nodes --whitelist-custom-nodes ComfyUI-Manager
```
-## 프론트엔드 및 API
+## 프론트엔드 & API
| 플래그 | 기본값 | 설명 |
-|--------|--------|------|
-| `--front-end-version` | `comfyanonymous/ComfyUI@latest` | `[owner]/[repo]@[version]` 형식의 프론트엔드 버전. GitHub 릴리즈에서 다운로드하려면 인터넷이 필요합니다. 버전은 `latest` 또는 시맨틱 버전(예: `1.0.0`)일 수 있습니다. |
-| `--front-end-root` `PATH` | — | 프론트엔드 디렉토리의 로컬 파일 시스템 경로. `--front-end-version`을 덮어씁니다. |
-| `--comfy-api-base` | `https://api.comfy.org` | ComfyUI API의 기본 URL. |
-| `--database-url` | `sqlite:////user/comfyui.db` | 데이터베이스 URL. 인메모리로 사용하려면 `sqlite:///:memory:`를 지정하세요. |
-| `--enable-assets` | 비활성화 | 에셋 시스템 활성화 (API 라우트, 데이터베이스 동기화, 백그라운드 스캐닝). |
-| `--feature-flag` `KEY[=VALUE]` | — | 서버 기능 플래그 설정. `KEY`만 지정하면 true로 설정됩니다. 반복 사용 가능. 불리언과 숫자는 자동 변환됩니다. |
-| `--list-feature-flags` | — | CLI에서 설정 가능한 알려진 기능 플래그를 JSON으로 출력하고 종료합니다. |
+|------|---------|-------------|
+| `--front-end-version` | `comfyanonymous/ComfyUI@latest` | `[소유자]/[레포]@[버전]` 형식의 프론트엔드 버전입니다. GitHub 릴리즈에서 다운로드하려면 인터넷이 필요합니다. 버전은 `latest` 또는 semver(예: `1.0.0`)일 수 있습니다. |
+| `--front-end-root` `PATH` | — | 프론트엔드 디렉터리의 로컬 파일 시스템 경로입니다. `--front-end-version`을 대체합니다. |
+| `--comfy-api-base` | `https://api.comfy.org` | ComfyUI API의 기본 URL입니다. |
+| `--database-url` | `sqlite:////user/comfyui.db` | 데이터베이스 URL입니다. 인메모리로 사용하려면 `sqlite:///:memory:`를 사용하세요. |
+| `--enable-assets` | 비활성화 | 에셋 시스템(API 라우트, 데이터베이스 동기화, 백그라운드 스캔)을 활성화합니다. |
+| `--feature-flag` `KEY[=VALUE]` | — | 서버 기능 플래그를 설정합니다. `KEY`만 지정하면 참으로 설정됩니다. 반복하여 사용할 수 있습니다. 불리언과 숫자는 자동 변환됩니다. |
+| `--list-feature-flags` | — | CLI에서 설정 가능한 기능 플래그를 JSON으로 출력하고 종료합니다. |
```bash
# List available feature flags
@@ -261,18 +276,18 @@ python main.py --list-feature-flags
python main.py --feature-flag show_signin_button=true
```
-## 로깅 및 기타
+## 로깅 & 기타
| 플래그 | 기본값 | 설명 |
-|--------|--------|------|
-| `--verbose` `[LEVEL]` | `INFO` | 로깅 레벨. 선택: `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`. `--verbose`만 단독으로 사용하면 `DEBUG`로 설정됩니다. |
-| `--log-stdout` | 비활성화 | 일반 프로세스 출력을 stderr 대신 stdout으로 전송합니다. |
-| `--dont-print-server` | 비활성화 | 서버 출력을 콘솔에 출력하지 않습니다. |
-| `--multi-user` | 비활성화 | 사용자별 저장소 활성화. |
-| `--quick-test-for-ci` | 비활성화 | CI용 빠른 시작 테스트. 초기화 후 즉시 종료됩니다. |
+|------|---------|-------------|
+| `--verbose` `[LEVEL]` | `INFO` | 로깅 수준. 선택: `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`. `--verbose`만 사용하면 `DEBUG`로 설정됩니다. |
+| `--log-stdout` | 비활성화 | 노멀 프로세스 출력을 stderr 대신 stdout으로 보냅니다. |
+| `--dont-print-server` | 비활성화 | 서버 출력을 콘솔에 표시하지 않습니다. |
+| `--multi-user` | 비활성화 | 사용자별 저장소를 활성화합니다. |
+| `--quick-test-for-ci` | 비활성화 | CI용 빠른 시작 테스트. 초기화 이후 즉시 종료됩니다. |
---
- 이 참조는 ComfyUI [`comfy/cli_args.py`](https://github.com/Comfy-Org/ComfyUI/blob/master/comfy/cli_args.py)를 기반으로 합니다. ComfyUI를 업그레이드할 때 `python main.py --help`를 실행하거나 로컬 [`cli_args.py`](https://github.com/Comfy-Org/ComfyUI/blob/master/comfy/cli_args.py)를 이 페이지와 비교하여 새로 추가되거나 변경된 플래그를 확인하세요.
-
\ No newline at end of file
+ 이 참조는 ComfyUI [`comfy/cli_args.py`](https://github.com/Comfy-Org/ComfyUI/blob/master/comfy/cli_args.py)를 기반으로 합니다. ComfyUI를 업그레이드할 때 `python main.py --help`를 실행하거나 로컬 [`cli_args.py`](https://github.com/Comfy-Org/ComfyUI/blob/master/comfy/cli_args.py)를 이 페이지와 비교하여 새로운 플래그나 변경된 플래그를 확인하세요.
+
diff --git a/ko/development/core-concepts/custom-nodes.mdx b/ko/development/core-concepts/custom-nodes.mdx
index 3a4ff8c00..f95954184 100644
--- a/ko/development/core-concepts/custom-nodes.mdx
+++ b/ko/development/core-concepts/custom-nodes.mdx
@@ -1,11 +1,15 @@
---
title: "커스텀 노드"
-description: "ComfyUI에서 커스텀 노드 설치, 종속성 활성화, 업데이트, 비활성화, 제거에 대해 알아보세요"
+description: "ComfyUI에서 커스텀 노드 설치, 의존성 활성화, 업데이트, 비활성화, 제거에 대해 알아보세요"
icon: "window-maximize"
-translationSourceHash: 1e63acbc
+translationSourceHash: 550976cd
translationFrom: development/core-concepts/custom-nodes.mdx
+translationBlockHashes:
+ "About Custom Nodes": bfe7409e
+ "Custom Node Management": 851be6cc
+ "ComfyUI Manager": b3de97a9
+ "Developing a Custom Node": b4016ecf
---
-
## 커스텀 노드 소개
ComfyUI를 설치하면 내장 노드가 많이 포함되어 있는 것을 알게 됩니다. 이러한 기본 노드는 **Comfy Core** 노드라고 하며, ComfyUI에서 공식적으로 유지 관리합니다.
@@ -35,25 +39,25 @@ ComfyUI를 설치하면 내장 노드가 많이 포함되어 있는 것을 알
현재 ComfyUI는 다음과 같은 여러 방법을 통해 커스텀 노드 설치를 지원합니다.
-- [ComfyUI Manager를 통한 설치(권장)](#install-via-comfyui-manager)
+- [ComfyUI 매니저를 통한 설치(권장)](#install-via-comfyui-manager)
- Git을 통한 설치
- 수동 설치
-**ComfyUI Manager**를 통해 커스텀 노드를 설치하는 것을 권장합니다. 이는 ComfyUI 커스텀 노드 생태계에서 매우 중요한 도구입니다. 검색, 설치, 업데이트, 비활성화, 제거 등 커스텀 노드 관리를 간단하게 만들어 줍니다. ComfyUI Manager에서 설치하려는 노드를 검색하고 설치를 클릭하기만 하면 됩니다.
+**ComfyUI 매니저**를 통해 커스텀 노드를 설치하는 것을 권장합니다. 이는 ComfyUI 커스텀 노드 생태계에서 매우 중요한 도구입니다. 검색, 설치, 업데이트, 비활성화, 제거 등 커스텀 노드 관리를 간단하게 만들어 줍니다. ComfyUI 매니저에서 설치하려는 노드를 검색하고 설치를 클릭하기만 하면 됩니다.
그러나 현재 모든 커스텀 노드는 GitHub에 저장되어 있으므로, GitHub에 정상적으로 접근할 수 없는 지역을 위해 이 가이드에서 다양한 커스텀 노드 설치 방법에 대한 자세한 안내를 제공합니다.
-또한 플러그인 관리에 **ComfyUI Manager** 사용을 권장하므로 이 도구를 플러그인 관리에 사용하는 것이 좋습니다. 소스 코드는 [여기](https://github.com/Comfy-Org/ComfyUI-Manager)에서 확인할 수 있습니다.
-따라서 이 문서에서는 ComfyUI Manager 설치를 커스텀 노드 설치 예제로 사용하고, 관련 소개 섹션에서 노드 관리에 어떻게 사용하는지 보충 설명합니다.
+또한 플러그인 관리에 **ComfyUI 매니저** 사용을 권장하므로 이 도구를 플러그인 관리에 사용하는 것이 좋습니다. 소스 코드는 [여기](https://github.com/Comfy-Org/ComfyUI-Manager)에서 확인할 수 있습니다.
+따라서 이 문서에서는 ComfyUI 매니저 설치를 커스텀 노드 설치 예제로 사용하고, 관련 소개 섹션에서 노드 관리에 어떻게 사용하는지 보충 설명합니다.
-
+
-ComfyUI Manager는 매우 풍부한 기능을 갖추고 있으므로, 별도의 문서로 ComfyUI Manager 설치 장을 소개합니다. 아래 링크를 방문하여 ComfyUI Manager로 커스텀 노드를 설치하는 방법을 알아보세요.
+ComfyUI 매니저는 매우 풍부한 기능을 갖추고 있으므로, 별도의 문서로 ComfyUI 매니저 설치 장을 소개합니다. 아래 링크를 방문하여 ComfyUI 매니저로 커스텀 노드를 설치하는 방법을 알아보세요.
-
- ComfyUI Manager를 사용하여 커스텀 노드 설치 방법 알아보기
+
+ ComfyUI 매니저를 사용하여 커스텀 노드 설치 방법 알아보기
@@ -156,9 +160,9 @@ git clone https://github.com/Comfy-Org/ComfyUI-Manager
앞선 단계에서는 커스텀 노드 코드만 로컬에 복제했을 뿐 해당 종속성을 설치하지 않았으므로, 이제 해당 종속성을 설치해야 합니다.
-실제로 ComfyUI-Manager를 사용하여 플러그인을 설치하면 ComfyUI Manager가 자동으로 종속성 설치를 완료해 줍니다. 플러그인 설치 후 ComfyUI를 다시 시작하기만 하면 됩니다. 이것이 바로 ComfyUI Manager를 사용하여 커스텀 노드를 설치하는 것을 강력히 권장하는 이유입니다.
+실제로 ComfyUI-Manager를 사용하여 플러그인을 설치하면 ComfyUI 매니저가 자동으로 종속성 설치를 완료해 줍니다. 플러그인 설치 후 ComfyUI를 다시 시작하기만 하면 됩니다. 이것이 바로 ComfyUI 매니저를 사용하여 커스텀 노드를 설치하는 것을 강력히 권장하는 이유입니다.
-하지만 일부 상황에서 ComfyUI Manager를 사용하여 커스텀 노드를 원활하게 설치하지 못할 수도 있으므로, 이보다 더 자세한 종속성 설치 안내를 제공합니다.
+하지만 일부 상황에서 ComfyUI 매니저를 사용하여 커스텀 노드를 원활하게 설치하지 못할 수도 있으므로, 이보다 더 자세한 종속성 설치 안내를 제공합니다.
[종속성](/ko/development/core-concepts/dependencies) 장에서 ComfyUI의 종속성 관련 내용을 소개했습니다. ComfyUI는 **Python** 기반 프로젝트이며, ComfyUI 실행을 위해 독립적인 **Python** 런타임 환경을 구축했습니다. 모든 관련 종속성은 이 독립적인 **Python** 런타임 환경에 설치해야 합니다.
@@ -192,8 +196,8 @@ python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-Manager
-Comfy Desktop 버전은 이미 설치 과정에서 ComfyUI-Manager와 그 종속성이 설치되어 있으며, 이 가이드에서도 ComfyUI Manager를 커스텀 노드 설치 예제로 사용하므로, Desktop 버전에서는 실제로 ComfyUI Manager 종속성 설치를 수행할 필요가 없습니다.
-예상치 못한 문제가 없다면, ComfyUI Manager를 사용하여 커스텀 노드를 설치하는 것을 권장하므로 수동으로 종속성을 설치할 필요가 없습니다.
+Comfy Desktop 버전은 이미 설치 과정에서 ComfyUI-Manager와 그 종속성이 설치되어 있으며, 이 가이드에서도 ComfyUI 매니저를 커스텀 노드 설치 예제로 사용하므로, Desktop 버전에서는 실제로 ComfyUI 매니저 종속성 설치를 수행할 필요가 없습니다.
+예상치 못한 문제가 없다면, ComfyUI 매니저를 사용하여 커스텀 노드를 설치하는 것을 권장하므로 수동으로 종속성을 설치할 필요가 없습니다.

@@ -217,19 +221,19 @@ pip install -r .\custom_nodes\<해당_맞춤형_노드_이름>\requirements.txt
### 커스텀 노드 버전 관리
-커스텀 노드 버전 관리는 실제로 Git 버전 관리에 기반합니다. Git을 통해 노드 버전을 관리할 수 있지만, ComfyUI Manager는 이미 이 버전 관리 기능을 매우 잘 통합했습니다. 이렇게 편리한 도구를 제공해 주신 [@Dr.Lt.Data](https://github.com/ltdrdata)님께 깊이 감사드립니다.
+커스텀 노드 버전 관리는 실제로 Git 버전 관리에 기반합니다. Git을 통해 노드 버전을 관리할 수 있지만, ComfyUI 매니저는 이미 이 버전 관리 기능을 매우 잘 통합했습니다. 이렇게 편리한 도구를 제공해 주신 [@Dr.Lt.Data](https://github.com/ltdrdata)님께 깊이 감사드립니다.
이 섹션에서는 이 두 가지 다른 플러그인 버전 관리 방법을 설명드리지만, ZIP 패키지를 사용하여 수동 설치한 경우에는 해당 git 버전 기록 정보가 사라지므로 버전 관리를 수행할 수 없습니다.
-
+
-ComfyUI Manager는 지속적으로 개선 중이므로 실제 최신 인터페이스와 단계는 크게 다를 수 있습니다.
+ComfyUI 매니저는 지속적으로 개선 중이므로 실제 최신 인터페이스와 단계는 크게 다를 수 있습니다.
-아래와 같이 해당 작업을 수행하여 ComfyUI Manager 인터페이스로 들어갑니다.
+아래와 같이 해당 작업을 수행하여 ComfyUI 매니저 인터페이스로 들어갑니다.
필터를 사용하여 설치된 노드 패키지를 필터링한 후 해당 노드 관리를 수행할 수 있습니다.
@@ -300,16 +304,16 @@ git checkout <커밋_해시>
업데이트 예정
-## ComfyUI Manager
+## ComfyUI 매니저
-
+
이 도구는 현재 [Desktop 버전](/ko/installation/desktop/windows)에 기본적으로 포함되어 있으며, [Portable 버전](/ko/installation/comfyui_portable_windows)에서는 이 문서의 [Manager 설치](#installing-custom-nodes) 섹션의 설치 지침을 참조해야 합니다.
-ComfyUI가 계속 발전함에 따라 ComfyUI Manager가 ComfyUI에서 점점 더 중요한 역할을 하고 있습니다. 현재 ComfyUI-Manager는 공식적으로 Comfy Org 조직에 합류하여 ComfyUI의 핵심 종속성의 일부가 되었으며, 원저자인 [Dr.Lt.Data](https://github.com/ltdrdata)가 계속해서 유지 관리하고 있습니다. 자세한 내용은 [이 블로그 게시물](https://blog.comfy.org/p/comfyui-manager-joins-comfy-org)을 참조하세요.
-향후 업데이트에서 ComfyUI Manager의 사용 편의성을 크게 개선할 예정이므로, 이 문서에 표시된 인터페이스가 최신 버전의 ComfyUI Manager와 다를 수 있습니다.
+ComfyUI가 계속 발전함에 따라 ComfyUI 매니저가 ComfyUI에서 점점 더 중요한 역할을 하고 있습니다. 현재 ComfyUI-Manager는 공식적으로 Comfy Org 조직에 합류하여 ComfyUI의 핵심 종속성의 일부가 되었으며, 원저자인 [Dr.Lt.Data](https://github.com/ltdrdata)가 계속해서 유지 관리하고 있습니다. 자세한 내용은 [이 블로그 게시물](https://blog.comfy.org/p/comfyui-manager-joins-comfy-org)을 참조하세요.
+향후 업데이트에서 ComfyUI 매니저의 사용 편의성을 크게 개선할 예정이므로, 이 문서에 표시된 인터페이스가 최신 버전의 ComfyUI 매니저와 다를 수 있습니다.
### Manager 설치
@@ -330,11 +334,12 @@ git clone https://github.com/Comfy-Org/ComfyUI-Manager.git
manager를 설치한 후 manager에서 누락된 노드를 감지할 수 있습니다.
-
+
+
## 커스텀 노드 개발
개발 능력이 있다면 아래 문서부터 시작하여 커스텀 노드 개발을 시작하는 방법을 알아보세요.
커스텀 노드 개발을 시작하는 방법 알아보기
-
\ No newline at end of file
+
diff --git a/ko/development/core-concepts/dependencies.mdx b/ko/development/core-concepts/dependencies.mdx
index fa9d2508e..5dc8336f9 100644
--- a/ko/development/core-concepts/dependencies.mdx
+++ b/ko/development/core-concepts/dependencies.mdx
@@ -2,10 +2,19 @@
title: "종속성"
description: "ComfyUI의 종속성 이해하기"
icon: "file"
-translationSourceHash: c24a35c5
+translationSourceHash: 8be18fbd
translationFrom: development/core-concepts/dependencies.mdx
+translationBlockHashes:
+ "_intro": 48f2798a
+ "A workflow file depends on other files": 5be77e5f
+ "Assets": c56e783e
+ "Custom Nodes": 00c2e56e
+ "Python Dependencies": 2c343fa2
+ "Models": 4d49cbf3
+ "Software": 89e5620e
---
+
{/*
description: "ComfyUI에서 자산 및 소프트웨어 종속성 이해하기"
*/}
@@ -88,7 +97,7 @@ pip install -r requirements.txt
ComfyUI 커뮤니티의 많은 저자들의 노력 덕분에 우리는 서로 다른 커스텀 노드를 사용해 ComfyUI의 기능을 확장하고 놀라운 창의력을 발휘할 수 있습니다.
-일반적으로 각 커스텀 노드는 고유한 종속성과 별도의 `requirements.txt` 파일을 가지고 있습니다. [ComfyUI Manager](https://github.com/Comfy-Org/ComfyUI-Manager)를 사용해 커스텀 노드를 설치하면 ComfyUI Manager가 일반적으로 해당 종속성을 자동으로 설치해줍니다.
+일반적으로 각 커스텀 노드는 고유한 종속성과 별도의 `requirements.txt` 파일을 가지고 있습니다. [ComfyUI 매니저](https://github.com/Comfy-Org/ComfyUI-Manager)를 사용해 커스텀 노드를 설치하면 ComfyUI 매니저가 일반적으로 해당 종속성을 자동으로 설치해줍니다.
하지만 수동으로 종속성을 설치해야 하는 경우도 있습니다. 현재 모든 커스텀 노드는 `ComfyUI/custom_nodes` 디렉토리에 설치됩니다.
@@ -134,6 +143,6 @@ ComfyUI를 사용하다 보면 종속성 충돌 문제가 자주 발생합니다
## 소프트웨어
-ComfyUI와 같은 고급 애플리케이션은 **_소프트웨어 종속성_**도 가지고 있습니다. 이는 애플리케이션이 실행되기 위해 필요한 프로그래밍 코드와 데이터 라이브러리입니다. 커스텀 노드는 소프트웨어 종속성의 예입니다. 더욱 근본적인 차원에서는 파이썬 프로그래밍 환경이 ComfyUI의 궁극적인 종속성입니다. 특정 버전의 ComfyUI를 실행하려면 올바른 버전의 파이썬이 필요합니다. 파이썬, ComfyUI, 커스텀 노드의 업데이트는 모두 **ComfyUI Manager** 창에서 처리할 수 있습니다.
+ComfyUI와 같은 고급 애플리케이션은 **_소프트웨어 종속성_**도 가지고 있습니다. 이는 애플리케이션이 실행되기 위해 필요한 프로그래밍 코드와 데이터 라이브러리입니다. 커스텀 노드는 소프트웨어 종속성의 예입니다. 더욱 근본적인 차원에서는 파이썬 프로그래밍 환경이 ComfyUI의 궁극적인 종속성입니다. 특정 버전의 ComfyUI를 실행하려면 올바른 버전의 파이썬이 필요합니다. 파이썬, ComfyUI, 커스텀 노드의 업데이트는 모두 **ComfyUI 매니저** 창에서 처리할 수 있습니다.
-
\ No newline at end of file
+
diff --git a/ko/development/core-concepts/models.mdx b/ko/development/core-concepts/models.mdx
index 670fb572a..f36357aba 100644
--- a/ko/development/core-concepts/models.mdx
+++ b/ko/development/core-concepts/models.mdx
@@ -2,10 +2,19 @@
title: "모델"
description: "모델 파일이 ComfyUI 워크플로우에 어떻게 맞춰지는지: 어디에 저장되고, 어떻게 로드하며, 일반적인 해결 방법은 무엇인지."
icon: "cube"
-translationSourceHash: ce630403
+translationSourceHash: ca05719e
translationFrom: development/core-concepts/models.mdx
+translationBlockHashes:
+ "_intro": 4250b37b
+ "Models in plain terms": 5a3bbf74
+ "Use models in ComfyUI": a6ac68d8
+ "Beyond the main checkpoint": e9701222
+ "Uninstalling models": 00257b00
+ "Common issues": 0de5ce34
+ "Want a bit more background?": 8b74d53a
---
+
import ExternalModels from "/snippets/ko/install/add-external-models.mdx"
## 모델의 기본 개념
@@ -74,4 +83,4 @@ ComfyUI에서 **모델**이란 실제로 워크플로우를 실행하는 가중
연구실과 오픈소스 프로젝트에서 제공하는 큰 **기본 모델**은 범용적으로 사용됩니다. 커뮤니티에서는 이를 **튜닝**하거나 새로운 체크포인트와 LoRA로 합쳐 특정 스타일에 더 잘 맞거나, 조금 더 가볍게 작동하거나, 새로운 동작을 추가하기도 합니다. 마치 Civitai나 Hugging Face에서 좋아하는 체크포인트를 고르는 것과 같은 원리입니다.
-
\ No newline at end of file
+
diff --git a/ko/development/core-concepts/nodes.mdx b/ko/development/core-concepts/nodes.mdx
index 95d8436d0..cd7908d55 100644
--- a/ko/development/core-concepts/nodes.mdx
+++ b/ko/development/core-concepts/nodes.mdx
@@ -2,10 +2,19 @@
title: "노드"
description: "ComfyUI에서 노드의 개념을 이해하세요."
icon: "circle"
-translationSourceHash: df626bed
+translationSourceHash: 574a12c2
translationFrom: development/core-concepts/nodes.mdx
+translationBlockHashes:
+ "_intro": 07a53a8b
+ "Nodes perform operations": f2d330a5
+ "Different Node States": a763dcdd
+ "Connections Between Nodes": 7a839f4d
+ "Node Appearance": 29b7f24e
+ "Node Context Menus": 10f42a3f
+ "Node Selection Toolbox": c3d17c52
+ "Subgraphs": 96276388
+ "Custom Nodes": bf166fc9
---
-
ComfyUI에서 노드는 작업을 수행하는 기본적인 구성 요소입니다. 각 노드는 독립적으로 구축된 모듈로, **Comfy Core** 노드든 **커스텀 노드**든 고유한 기능을 갖추고 있습니다. 노드들은 링크를 통해 서로 연결되어 마치 레고 블록을 조립하듯 복잡한 기능을 구축할 수 있게 해줍니다.
다양한 노드들의 조합은 ComfyUI의 무한한 가능성을 만들어냅니다.
@@ -22,7 +31,7 @@ ComfyUI는 현재 활발히 개발 중이므로 여기서 설명된 일부 내
컴퓨터 과학에서 **_노드_**란 정보를 담는 컨테이너로, 보통 어떤 작업을 수행하기 위한 프로그램된 명령어를 포함합니다. 노드는 거의 단독으로 존재하지 않으며, 대부분 네트워크 그래프 내 다른 노드들과 연결됩니다. ComfyUI에서 노드는 서로 연결된 상자 형태로 시각화됩니다.
-ComfyUI 노드는 보통 **_함수 연산자_**입니다. 즉, 특정 데이터를 처리해 어떤 함수를 수행한다는 의미입니다. 함수란 입력 데이터를 받아 어떤 작업을 수행하고 출력 데이터를 생성하는 과정입니다. 다시 말해, 노드는 이미지 생성과 같은 작업을 완성하는 데 기여하며, 거의 항상 최소 한 개 이상의 입력 또는 출력을 가집니다.
+ComfyUI 노드는 보통 **_함수 연산자_**입니다. 즉, 특정 데이터를 처리해 어떤 함수를 수행한다는 의미입니다. 함수란 입력 데이터를 받아 어떤 작업을 수행하고 출력 데이터를 생성하는 과정입니다. 다시 말해, 노드는 이미지 생성과 같은 작업을 완성하는 데 기여하는 일을 합니다. 따라서 ComfyUI 노드는 거의 항상 최소 한 개의 입력 또는 출력을 가지며, 보통 여러 개의 입력과 출력을 가집니다.
## 다양한 노드 상태
@@ -31,11 +40,11 @@ ComfyUI 노드는 보통 **_함수 연산자_**입니다. 즉, 특정 데이터
ComfyUI에서는 노드가 여러 가지 상태를 가집니다. 다음은 일반적인 노드 상태들입니다:
1. **정상 상태**: 기본 상태
-2. **실행 중 상태**: 실행 중 상태로, 워크플로우를 시작한 후 노드가 실행될 때 표시됩니다.
-3. **오류 상태**: 노드 오류 상태로, 워크플로우를 실행한 후 노드의 입력에 문제가 있으면 나타나며, 오류가 발생한 입력 노드는 빨간색으로 표시됩니다. 문제 있는 입력을 수정해야만 워크플로우가 정상적으로 실행됩니다.
-4. **누락 상태**: 보통 워크플로우를 가져온 후 나타나며, 두 가지 경우가 있습니다:
- - Comfy Core 기본 노드 누락: ComfyUI가 업데이트되었지만 사용자가 구버전을 사용하는 경우입니다. 이 문제를 해결하려면 ComfyUI를 업데이트해야 합니다.
- - 커스텀 노드 누락: 워크플로우가 제3자 개발자의 커스텀 노드를 사용하는데, 현지 ComfyUI 버전에 해당 커스텀 노드가 설치되지 않은 경우입니다. [ComfyUI 관리자](/ko/manager/overview)를 이용해 찾아 설치하거나, [커스텀 노드 설치 방법](/ko/installation/install_custom_node)을 참고해 다른 방법을 사용할 수 있습니다.
+2. **실행 중 상태**: 실행 중 상태로, 워크플로를 시작한 후 노드가 실행될 때 표시됩니다.
+3. **오류 상태**: 노드 오류로, 워크플로를 실행한 후 노드의 입력에 문제가 있으면 나타나며, 오류가 발생한 입력 노드는 빨간색으로 표시됩니다. 문제 있는 입력을 수정해야만 워크플로가 정상적으로 실행됩니다.
+4. **누락 상태**: 보통 워크플로를 가져온 후 나타나며, 두 가지 경우가 있습니다:
+ - Comfy Core 기본 노드 누락: ComfyUI가 업데이트되었지만 사용자가 이전 버전을 사용하는 경우입니다. 이 문제를 해결하려면 ComfyUI를 업데이트해야 합니다.
+ - 커스텀 노드 누락: 워크플로가 제3자 개발자의 커스텀 노드를 사용하는데, 로컬 ComfyUI 버전에 해당 커스텀 노드가 설치되지 않은 경우입니다. [ComfyUI 매니저](/ko/manager/overview)를 이용해 찾아 설치하거나, [커스텀 노드 설치 방법](/ko/installation/install_custom_node)을 참고해 다른 방법을 사용할 수 있습니다.
## 노드 간 연결
@@ -43,7 +52,7 @@ ComfyUI에서 노드는 [링크](/ko/development/core-concepts/links)를 통해

-각 노드는 일부 입력을 받고, 자체 모듈을 통해 처리한 후 해당 출력으로 변환합니다. 서로 다른 노드 간의 연결은 반드시 데이터 유형 요구사항을 충족해야 합니다. ComfyUI에서는 노드 데이터 유형을 구분하기 위해 서로 다른 색상을 사용합니다. 아래는 몇 가지 기본 데이터 유형입니다:
+각 노드는 일부 입력을 받고, 자체 모듈을 통해 처리한 후 해당 출력으로 변환합니다. 서로 다른 노드 간의 연결은 데이터 유형 요구사항을 충족해야 합니다. ComfyUI에서는 노드 데이터 유형을 구분하기 위해 서로 다른 색상을 사용합니다. 아래는 몇 가지 기본 데이터 유형입니다:

@@ -51,7 +60,7 @@ ComfyUI에서 노드는 [링크](/ko/development/core-concepts/links)를 통해
|------------------------------------|--------------------------------------------------------------------------------------------------------------------|
| 확산 모델 | 라벤더 |
| CLIP 모델 | 노랑 |
-| VAE 모델 | 장미 |
+| VAE 모델 | 로즈 |
| 컨디셔닝 | 주황 |
| 잠재 이미지 | 분홍 |
| 픽셀 이미지 | 파랑 |
@@ -59,7 +68,7 @@ ComfyUI에서 노드는 [링크](/ko/development/core-concepts/links)를 통해
| 숫자 (정수 또는 실수) | 연두 |
| 메쉬 | 밝은 초록 |
-ComfyUI가 발전하면서 더 많은 데이터 유형을 추가해 다양한 시나리오의 요구를 충족할 수 있도록 할 예정입니다.
+ComfyUI가 발전하면서 더 많은 데이터 유형으로 확장할 수도 있습니다.
### 노드 연결 및 연결 해제
@@ -119,9 +128,9 @@ ComfyUI가 발전하면서 더 많은 데이터 유형을 추가해 다양한
- **모드**: 노드의 모드 설정: 항상, 절대, 바이패스
#### 모드
-모드에 대해 알아보면 현재 제공되는 것은: 항상, 절대, 이벤트 발생 시, 트리거 발생 시 등 네 가지 모드가 있지만 실제로 효과적인 것은 **늘 항상**과 **절대**뿐입니다. **이벤트 발생 시**와 **트리거 발생 시**는 아직 이 기능을 완벽히 구현하지 않았기 때문에 효과적이지 않습니다. 또한 **바이패스**는 하나의 모드로 이해할 수 있습니다. 가능한 모드에 대한 설명은 다음과 같습니다:
+모드에 대해 알아보면 현재 제공되는 것은: 항상, 절대, 이벤트 발생 시, 트리거 발생 시 - 네 가지 모드가 있지만 실제로 효과적인 것은 **항상**과 **절대**뿐입니다. **이벤트 발생 시**와 **트리거 발생 시**는 아직 이 기능을 완벽히 구현하지 않았기 때문에 효과적이지 않습니다. 또한 **바이패스**는 하나의 모드로 이해할 수 있습니다. 가능한 모드에 대한 설명은 다음과 같습니다:
-- **늘 항상**: 기본 노드 모드. 노드가 처음 실행되거나 마지막 실행 이후 입력이 변경되면 언제든 실행됩니다.
+- **항상**: 기본 노드 모드. 노드가 처음 실행되거나 마지막 실행 이후 입력이 변경되면 언제든 실행됩니다.
- **절대**: 어떠한 경우에도 노드가 실행되지 않으며, 마치 삭제된 것과 같습니다. 이후 노드는 이 노드로부터 어떤 데이터도 읽거나 받을 수 없습니다.
- **바이패스**: 어떠한 경우에도 노드가 실행되지 않지만, 이후 노드는 이 노드가 처리하지 않은 데이터를 얻으려고 시도할 수 있습니다.
@@ -139,7 +148,8 @@ ComfyUI가 발전하면서 더 많은 데이터 유형을 추가해 다양한

-노드의 입력/출력을 드래그할 때 연결이 생겼지만 다른 노드의 입력이나 출력에 연결하지 않았다면, 마우스를 놓으면 입력/출력의 컨텍스트 메뉴가 나타나며, 관련 유형의 노드를 빠르게 추가할 수 있습니다. 설정에서 노드 제안 수를 조정할 수 있습니다:
+노드의 입력/출력을 드래그할 때 연결이 생겼지만 다른 노드의 입력이나 출력에 연결하지 않았다면, 마우스를 놓으면 입력/출력의 컨텍스트 메뉴가 나타나며, 관련 유형의 노드를 빠르게 추가할 수 있습니다.
+설정에서 노드 제안 수를 조정할 수 있습니다:

@@ -163,7 +173,7 @@ ComfyUI가 발전하면서 더 많은 데이터 유형을 추가해 다양한
## 서브그래프
-선택한 노드들을 하나의 재사용 가능한 서브그래프 노드로 묶어 복잡한 그래프를 정리하고, 동일한 구조를 여러 워크플로우에서 재사용할 수 있습니다.
+선택한 노드들을 하나의 재사용 가능한 서브그래프 노드로 묶어 복잡한 그래프를 정리하고, 동일한 구조를 여러 워크플로에서 재사용할 수 있습니다.
서브그래프 블루프린트를 만들고, 편집하고, 중첩하고, 노드 라이브러리에 게시하는 방법을 알아보세요.
@@ -173,12 +183,12 @@ ComfyUI가 발전하면서 더 많은 데이터 유형을 추가해 다양한
ComfyUI는 기본 설치에 많은 **Comfy Core** 노드를 포함하고 있습니다. 커뮤니티는 전문적인 워크플로우를 위한 [**커스텀 노드**](https://registry.comfy.org) 카탈로그도 유지하고 있습니다.
-커스텀 노드 설치 방법—**ComfyUI 관리자**, Git 복제, ZIP 다운로드, 종속성, 안전 팁—에 대한 전체 요약은 [커스텀 노드 설치 방법](/ko/installation/install_custom_node)을 참조하세요.
+커스텀 노드 설치 방법—**ComfyUI 매니저**, Git 복제, ZIP 다운로드, 의존성, 안전 팁—에 대한 전체 요약은 [커스텀 노드 설치 방법](/ko/installation/install_custom_node)을 참조하세요.
-### ComfyUI 관리자
+### ComfyUI 매니저
-매일의 커스텀 노드 작업에 **ComfyUI 관리자**를 사용하세요: 레지스트리에서 검색하고 설치, 패키지 업데이트 또는 비활성화, 가져온 워크플로우에서 누락된 노드 탐지, 확장과 함께 모델 및 스냅샷 관리까지 가능합니다. 데스크탑 빌드에는 기본적으로 활성화되어 있으며, 휴대용 및 수동 설치는 먼저 활성화해야 할 수 있습니다.
+매일의 커스텀 노드 작업에 **ComfyUI 매니저**를 사용하세요: 레지스트리에서 검색하고 설치, 패키지 업데이트 또는 비활성화, 가져온 워크플로우에서 누락된 노드 탐지, 확장과 함께 모델 및 스냅샷 관리까지 가능합니다. 데스크탑 빌드에는 기본적으로 활성화되어 있으며, 휴대용 및 수동 설치는 먼저 활성화해야 할 수 있습니다.
-
- 개요, 관리자 활성화 및 노드 설치 워크플로우
-
\ No newline at end of file
+
+ 개요, Manager 활성화 및 노드 설치 워크플로우
+
diff --git a/ko/development/core-concepts/properties.mdx b/ko/development/core-concepts/properties.mdx
index 1eab6970e..c75e5dae0 100644
--- a/ko/development/core-concepts/properties.mdx
+++ b/ko/development/core-concepts/properties.mdx
@@ -11,9 +11,9 @@ translationFrom: development/core-concepts/properties.mdx
## 노드는 속성의 컨테이너입니다
-노드에는 보통 **_속성_**이 있습니다. **_매개변수_** 또는 **_속성_**이라고도 하는 노드 속성은 변경할 수 있는 변수입니다. 일부 속성은 사용자가 **_위젯_**이라는 데이터 입력 필드를 이용해 직접 조정할 수 있습니다. 다른 속성들은 해당 속성의 **_입력 슬롯_**이나 포트에 연결된 다른 노드들에 의해 자동으로 제어될 수 있습니다. 일반적으로 속성은 위젯에서 입력으로 변환하거나 그 반대로 변환할 수 있어, 사용자가 속성 값을 수동 또는 자동으로 제어할 수 있습니다.
+노드에는 보통 **_속성_**이 있습니다. **_매개변수_** 또는 **_특성_**이라고도 하는 노드 속성은 변경할 수 있는 변수입니다. 일부 속성은 사용자가 **_위젯_**이라는 데이터 입력 필드를 이용해 직접 조정할 수 있습니다. 다른 속성들은 해당 속성의 **_입력 슬롯_**이나 포트에 연결된 다른 노드들에 의해 자동으로 제어될 수 있습니다. 일반적으로 속성은 위젯에서 입력으로 변환하거나 그 반대로 변환할 수 있어, 사용자가 속성 값을 수동 또는 자동으로 제어할 수 있습니다.
-속성은 다양한 형태를 취할 수 있으며 여러 가지 종류의 정보를 담을 수 있습니다. 예를 들어, **Load Checkpoint** 노드에는 하나의 속성이 있습니다: 생성 모델 체크포인트 파일의 파일 경로입니다. **KSampler** 노드에는 샘플링 **단계** 수, **CFG** 스케일, **sampler_name** 등 여러 속성이 있습니다.
+속성은 다양한 형태를 취할 수 있으며 여러 가지 종류의 정보를 담을 수 있습니다. 예를 들어, **체크포인트 로드** 노드에는 하나의 속성이 있습니다: 생성 모델 체크포인트 파일의 파일 경로입니다. **KSampler** 노드에는 샘플링 **단계** 수, **CFG** 스케일, **sampler_name** 등 여러 속성이 있습니다.

@@ -21,4 +21,4 @@ translationFrom: development/core-concepts/properties.mdx
정보는 **_데이터 유형_**이라 불리는 다양한 형태를 가질 수 있습니다. 예를 들어, 영숫자 텍스트는 **_문자열_**로 알려져 있고, 정수는 **_정수_**이며, 소수점이 포함된 숫자는 **_부동소수점_** 또는 **_float_**라고 합니다. 새로운 데이터 유형은 항상 ComfyUI에 추가되고 있습니다.
-ComfyUI는 파이썬 스크립팅 언어로 작성되었으며, 파이썬은 데이터 유형에 대해 매우 관대합니다. 반면 ComfyUI 환경은 매우 **_강력한 타입 체크_**를 수행합니다. 이는 서로 다른 데이터 유형을 혼동할 수 없다는 것을 의미합니다. 예를 들어 이미지 출력을 정수 입력에 연결할 수 없습니다. 이는 사용자에게 큰 장점으로 작용하며, 올바른 워크플로우 구성을 안내하고 프로그램 오류를 방지합니다.
\ No newline at end of file
+ComfyUI는 파이썬 스크립팅 언어로 작성되었으며, 파이썬은 데이터 유형에 대해 매우 관대합니다. 반면 ComfyUI 환경은 매우 **_강한 타입_**입니다. 이는 서로 다른 데이터 유형을 혼동할 수 없다는 것을 의미합니다. 예를 들어 이미지 출력을 정수 입력에 연결할 수 없습니다. 이는 사용자에게 큰 장점으로 작용하며, 올바른 워크플로우 구성을 안내하고 프로그램 오류를 방지합니다.
\ No newline at end of file
diff --git a/ko/development/core-concepts/workflow.mdx b/ko/development/core-concepts/workflow.mdx
index 4bd634388..1c20f08d6 100644
--- a/ko/development/core-concepts/workflow.mdx
+++ b/ko/development/core-concepts/workflow.mdx
@@ -1,10 +1,18 @@
---
title: "워크플로우"
icon: "diagram-project"
-translationSourceHash: 8ee60c04
+translationSourceHash: c1306641
translationFrom: development/core-concepts/workflow.mdx
+translationBlockHashes:
+ "_intro": 9b15da4f
+ "A graph of nodes": a89fde11
+ "Sample workflows": 1a110279
+ "Visual programming": 90edcf41
+ "Procedural framework": ce6e9e9a
+ "Saving workflows": 5ecce982
---
+
{/*
설명: ComfyUI에서 워크플로우의 개념을 이해하세요.
*/}
@@ -46,4 +54,4 @@ ComfyUI의 맥락에서 **_워크플로우_**라는 용어는 노드 네트워
## 워크플로우 저장하기
-ComfyUI 워크플로우는 생성된 이미지의 메타데이터에 자동으로 저장되므로, 사용자는 이미지를 생성한 그래프를 열어 사용할 수 있습니다. 또한 워크플로우는 JSON 데이터 형식을 따르는 사람이 읽기 쉬운 텍스트 파일로 저장될 수도 있습니다. 이는 메타데이터를 지원하지 않는 미디어 형식에 필요합니다. JSON 파일로 저장된 ComfyUI 워크플로우는 매우 작아, 생성된 미디어와 무관하게 그래프의 버전 관리, 아카이빙, 공유가 편리합니다.
\ No newline at end of file
+ComfyUI 워크플로우는 생성된 이미지의 메타데이터에 자동으로 저장되므로, 사용자는 이미지를 생성한 그래프를 열어 사용할 수 있습니다. 또한 워크플로우는 JSON 데이터 형식을 따르는 사람이 읽기 쉬운 텍스트 파일로 저장될 수도 있습니다. 이는 메타데이터를 지원하지 않는 미디어 형식에 필요합니다. JSON 파일로 저장된 ComfyUI 워크플로우는 매우 작아, 생성된 미디어와 무관하게 그래프의 버전 관리, 아카이빙, 공유가 편리합니다.
diff --git a/ko/development/overview.mdx b/ko/development/overview.mdx
index c35cf7f37..798464c5e 100644
--- a/ko/development/overview.mdx
+++ b/ko/development/overview.mdx
@@ -1,10 +1,19 @@
---
title: "개요"
description: "개발자로서 ComfyUI 사용하기"
-translationSourceHash: c329e073
+translationSourceHash: beb085d2
translationFrom: development/overview.mdx
+translationBlockHashes:
+ "_intro": 21d39346
+ "Deploy ComfyUI as a Server": 07693c4c
+ "Cloud API": 80dab2ed
+ "Agent Tools / MCP": a7050777
+ "Comfy CLI": 11578ce8
+ "Develop Custom Nodes": 51cd210e
+ "Registry": cc46f1e1
---
+
ComfyUI는 서버로 실행되고 API를 통해 접근 가능하며, 커스텀 노드로 확장할 수 있고 명령줄에서 관리 가능한 모듈식 GenAI 추론 엔진입니다. 아래에서 원하는 방식을 선택하세요.
## ComfyUI를 서버로 배포하기
@@ -82,4 +91,4 @@ Comfy 레지스트리를 통해 커스텀 노드를 게시하고 관리하세요
게시자로 등록하고 첫 번째 노드를 게시하며, 기존 노드를 인수하고 자동 릴리스를 위한 CI/CD를 설정하세요.
-참고: [게시 튜토리얼](/ko/registry/publishing) · [표준](/ko/registry/standards) · [CI/CD](/ko/registry/cicd) · [사양](/ko/registry/specifications)
\ No newline at end of file
+참고: [게시 튜토리얼](/ko/registry/publishing) · [표준](/ko/registry/standards) · [CI/CD](/ko/registry/cicd) · [사양](/ko/registry/specifications)
diff --git a/ko/get_started/cloud.mdx b/ko/get_started/cloud.mdx
index 6613ae524..38dbbbe4a 100644
--- a/ko/get_started/cloud.mdx
+++ b/ko/get_started/cloud.mdx
@@ -3,10 +3,20 @@ title: "Comfy Cloud - RTX 6000 Pro로 구동되는 공식 ComfyUI 클라우드
description: "NVIDIA RTX 6000 Pro GPU를 탑재한 공식 클라우드 플랫폼인 Comfy Cloud를 통해 온라인에서 ComfyUI 워크플로우를 실행해 보세요. 로컬 설치가 필요 없습니다."
sidebarTitle: "Comfy Cloud"
icon: "cloud"
-translationSourceHash: a5356a8e
+translationSourceHash: 2cb9f1db
translationFrom: get_started/cloud.mdx
+translationBlockHashes:
+ "_intro": a9cb9eab
+ "What is Comfy Cloud?": 5e91a26c
+ "Cloud vs local": 00553c33
+ "Pricing and subscription": 038cc795
+ "How to use ComfyUI Cloud": d7ca6aeb
+ "Feedback": 401fadbb
+ "Frequently Asked Questions": 8155dd5e
+ "Next steps": 1052e398
---
+
여기를 클릭하여 ComfyUI Cloud에 바로 접속하세요
@@ -150,4 +160,4 @@ ComfyUI Cloud를 사용하는 방법은 기본적으로 로컬 ComfyUI를 사용
도움을 받으려면 저희 Discord 커뮤니티에 참여하세요
-
\ No newline at end of file
+
diff --git a/ko/get_started/first_generation.mdx b/ko/get_started/first_generation.mdx
index b22f97199..8d406f08f 100644
--- a/ko/get_started/first_generation.mdx
+++ b/ko/get_started/first_generation.mdx
@@ -3,10 +3,16 @@ title: "AI 이미지 생성 시작하기"
description: "이 튜토리얼에서는 ComfyUI를 사용해 첫 번째 이미지 생성을 안내하며, 워크플로드 로딩, 모델 설치, 이미지 생성과 같은 기본 인터페이스 작업을 다룹니다."
sidebarTitle: "첫 번째 생성"
icon: "shoe-prints"
-translationSourceHash: d4f51386
+translationSourceHash: 24383abc
translationFrom: get_started/first_generation.mdx
+translationBlockHashes:
+ "_intro": 82e96115
+ "About Text-to-Image": fb392b22
+ "ComfyUI Text-to-Image Workflow Tutorial": fe07fb47
+ "Troubleshooting": fa44c541
---
+
import InstallLink from "/snippets/ko/install/install-link.mdx"
@@ -190,4 +196,4 @@ ComfyUI는 보통 실행 시 기본 텍스트-to-이미지 워크플로드를
### 모델 로딩 문제
-**Load Checkpoint** 노드에 모델이 표시되지 않거나 "null"이라고 나오는 경우, 모델 설치 위치를 확인하고 ComfyUI를 새로 고치거나 재시작해보세요.
\ No newline at end of file
+**Load Checkpoint** 노드에 모델이 표시되지 않거나 "null"이라고 나오는 경우, 모델 설치 위치를 확인하고 ComfyUI를 새로 고치거나 재시작해보세요.
diff --git a/ko/index.mdx b/ko/index.mdx
index c6ac84f3e..1f677d6c9 100644
--- a/ko/index.mdx
+++ b/ko/index.mdx
@@ -4,7 +4,7 @@ description: "ComfyUI 공식 문서"
icon: "book-open"
sidebarTitle: "소개"
mode: "frame"
-translationSourceHash: 408d7a02
+translationSourceHash: 627171ce
translationFrom: index.mdx
---
diff --git a/ko/installation/comfyui_portable_windows.mdx b/ko/installation/comfyui_portable_windows.mdx
index 27e8facf1..568a549d1 100644
--- a/ko/installation/comfyui_portable_windows.mdx
+++ b/ko/installation/comfyui_portable_windows.mdx
@@ -3,10 +3,15 @@ title: "ComfyUI(포터블) Windows — 로컬 자체 호스팅"
description: "이 튜토리얼에서는 ComfyUI 포터블을 다운로드하고 사용하는 방법 및 해당 프로그램을 실행하는 방법을 안내합니다."
icon: "box"
sidebarTitle: "포터블 (로컬)"
-translationSourceHash: 76ee93db
+translationSourceHash: 825e3c64
translationFrom: installation/comfyui_portable_windows.mdx
+translationBlockHashes:
+ "_intro": 9b2047f9
+ "Download ComfyUI Portable": df3a115b
+ "Additional ComfyUI Portable Instructions": 707b125d
---
+
import FirstGeneration from "/snippets/ko/install/first-generation.mdx"
import AddExternalModels from "/snippets/ko/install/add-external-models.mdx"
@@ -141,4 +146,4 @@ GUI 보기: http://0.0.0.0:8188
GUI 보기: http://[::]:8188
```
-`WIN + R`을 누르고 `cmd`를 입력해 명령 프롬프트를 열고 `ipconfig`를 입력해 로컬 IP 주소를 확인할 수 있습니다. 이후 다른 기기에서는 브라우저에 `http://your-local-IP:8188`를 입력해 ComfyUI에 접속할 수 있습니다.
\ No newline at end of file
+`WIN + R`을 누르고 `cmd`를 입력해 명령 프롬프트를 열고 `ipconfig`를 입력해 로컬 IP 주소를 확인할 수 있습니다. 이후 다른 기기에서는 브라우저에 `http://your-local-IP:8188`를 입력해 ComfyUI에 접속할 수 있습니다.
diff --git a/ko/installation/desktop/faq.mdx b/ko/installation/desktop/faq.mdx
index 67c1ebba8..762daa913 100644
--- a/ko/installation/desktop/faq.mdx
+++ b/ko/installation/desktop/faq.mdx
@@ -2,16 +2,22 @@
title: "Comfy Desktop 자주 묻는 질문"
description: "Comfy Desktop에 대한 일반적인 질문과 문제 해결 팁"
sidebarTitle: "자주 묻는 질문"
-translationSourceHash: e1c48eb4
+translationSourceHash: fefef80c
translationFrom: installation/desktop/faq.mdx
+translationBlockHashes:
+ "General Questions": 5a99f83e
+ "Installation & Setup": b5a69aaa
+ "Usage": 5e8f2976
+ "Troubleshooting": e0d5f62d
---
+
## 일반 질문
-
-Comfy Desktop은 **멀티 설치 관리자** 역할을 하는 완전히 새로 작성된 버전입니다. 단일 설치 애플리케이션이었던 Desktop (Legacy)와 달리, Comfy Desktop을 사용하면 여러 ComfyUI 버전을 나란히 설치, 관리 및 실행할 수 있습니다. 또한 스냅샷 및 모델 다운로드 관리 기능도 추가되었습니다.
+
+Comfy Desktop은 **멀티 설치 관리자** 역할을 하는 완전히 새로 작성된 버전입니다. 단일 설치 애플리케이션이었던 레거시 데스크톱과 달리, Comfy Desktop을 사용하면 여러 ComfyUI 버전을 나란히 설치, 관리 및 실행할 수 있습니다. 또한 스냅샷 및 모델 다운로드 관리 기능도 추가되었습니다.
-Desktop (Legacy) 사용자라면 [마이그레이션 가이드](/ko/installation/desktop/usage/migrate)를 확인하여 기존 설정을 이전하세요.
+레거시 데스크톱 사용자라면 [마이그레이션 가이드](/ko/installation/desktop/usage/migrate)를 확인하여 기존 설정을 이전하세요.
네! 소스 코드는 [GitHub](https://github.com/Comfy-Org/Comfy-Desktop)에서 확인할 수 있습니다.
@@ -36,8 +42,8 @@ Comfy Desktop은 여러 설치 옵션 중 하나입니다. 필요에 따라 **Po
공식 [ComfyUI 다운로드 페이지](https://comfy.org/download)에서 최신 버전을 다운로드하세요.
-
-네, 공존할 수 있습니다. 하지만 설치 항목들을 새로운 Comfy Desktop으로 마이그레이션하고 결국 Desktop (Legacy)를 제거하는 것이 좋습니다. [마이그레이션 가이드](/ko/installation/desktop/usage/migrate)를 참조하세요.
+
+네, 공존할 수 있습니다. 하지만 설치 항목들을 새로운 Comfy Desktop으로 마이그레이션하고 결국 레거시 데스크톱을 제거하는 것이 좋습니다. [마이그레이션 가이드](/ko/installation/desktop/usage/migrate)를 참조하세요.
## 사용법
@@ -88,4 +94,4 @@ Comfy Desktop은 모든 업데이트 전에 자동으로 스냅샷을 생성합
Comfy Desktop과 설치는 디스크에서 분리되어 있습니다. 완전히 제거하려면:
1. 앱 내에서 **설치 삭제** (오른쪽 클릭 → 제거)하거나 설치 폴더를 수동으로 삭제하세요.
2. 시스템의 표준 방법을 사용해 **앱 제거** (Windows의 프로그램 추가/제거, macOS의 휴지통으로 드래그, Linux의 패키지 관리자).
-
\ No newline at end of file
+
diff --git a/ko/installation/desktop/linux.mdx b/ko/installation/desktop/linux.mdx
index 8e1614cef..233de09ea 100644
--- a/ko/installation/desktop/linux.mdx
+++ b/ko/installation/desktop/linux.mdx
@@ -7,7 +7,6 @@ translationSourceHash: 95a8fc21
translationFrom: installation/desktop/linux.mdx
---
-
Linux는 Comfy Desktop에서 **공식적으로 지원되지 않습니다**. 직접 빌드하려면 저장소의 소스 코드와 빌드 지침을 확인하세요:
→ [Comfy Desktop 저장소](https://github.com/Comfy-Org/Comfy-Desktop)
\ No newline at end of file
diff --git a/ko/installation/desktop/overview.mdx b/ko/installation/desktop/overview.mdx
index 2c6e5221f..375086259 100644
--- a/ko/installation/desktop/overview.mdx
+++ b/ko/installation/desktop/overview.mdx
@@ -9,7 +9,7 @@ translationFrom: installation/desktop/overview.mdx
**Comfy Desktop**은 하나의 런처에서 여러 ComfyUI 인스턴스를 설치, 관리 및 실행할 수 있는 데스크톱 애플리케이션입니다.
-간단히 말해서, **Comfy Desktop**은 생성형 AI를 위한 노드 기반 엔진인 **ComfyUI**를 관리하고 실행하는 앱입니다. ComfyUI를 별도로 설치할 필요 없이, Comfy Desktop이 설치, Python 환경 및 종속성을 알아서 처리합니다. 각 ComfyUI 인스턴스는 자체 버전, 사용자 정의 노드, 설정을 가지고 독립적으로 실행됩니다.
+간단히 말해서, **Comfy Desktop**은 생성형 AI를 위한 노드 기반 엔진인 **ComfyUI**를 관리하고 실행하는 앱입니다. ComfyUI를 별도로 설치할 필요 없이, Comfy Desktop이 설치, Python 환경 및 의존성을 알아서 처리합니다. 각 ComfyUI 인스턴스는 자체 버전, 사용자 정의 노드, 설정을 가지고 독립적으로 실행됩니다.

diff --git a/ko/installation/desktop/usage/instance-management.mdx b/ko/installation/desktop/usage/instance-management.mdx
index 5c3811dd2..5b0926362 100644
--- a/ko/installation/desktop/usage/instance-management.mdx
+++ b/ko/installation/desktop/usage/instance-management.mdx
@@ -3,10 +3,19 @@ title: "인스턴스 관리"
description: "Comfy Desktop에서 ComfyUI 인스턴스를 생성, 편집, 이름 변경, 삭제합니다"
icon: "plus"
sidebarTitle: "인스턴스"
-translationSourceHash: 419f4a13
+translationSourceHash: b3ac727d
translationFrom: installation/desktop/usage/instance-management.mdx
+translationBlockHashes:
+ "_intro": e1f49bdf
+ "Creating a New Instance": 9f842c04
+ "Tracking an Existing Installation": b60621e4
+ "Uninstalling an Instance": 9196aa8c
+ "Copying an Installation": 6131deee
+ "Editing an Instance": cc4950f9
+ "Error State": 4ba92cb5
---
+
Comfy Desktop에서는 선택기 화면에서 여러 ComfyUI 인스턴스를 관리할 수 있습니다.
@@ -163,4 +172,4 @@ Comfy Desktop이 나머지 작업을 처리합니다: Python 다운로드, 환
## 오류 상태
-설치에 문제가 발생하면 카드에 경고 표시기가 나타납니다. 카드를 마우스 오른쪽 버튼으로 클릭하고 **오류 해제**를 선택하여 오류 상태를 지웁니다. 문제가 지속되면 [데이터 위치](/ko/installation/desktop/usage/settings#data-locations)에서 로그를 확인하세요.
\ No newline at end of file
+설치에 문제가 발생하면 카드에 경고 표시기가 나타납니다. 카드를 마우스 오른쪽 버튼으로 클릭하고 **오류 해제**를 선택하여 오류 상태를 지웁니다. 문제가 지속되면 [데이터 위치](/ko/installation/desktop/usage/settings#data-locations)에서 로그를 확인하세요.
diff --git a/ko/installation/desktop/usage/manage.mdx b/ko/installation/desktop/usage/manage.mdx
index 0b71345c7..82056bc2e 100644
--- a/ko/installation/desktop/usage/manage.mdx
+++ b/ko/installation/desktop/usage/manage.mdx
@@ -3,10 +3,14 @@ title: "설치 관리"
description: "ComfyUI 설치 실행, 업데이트, 스냅샷 및 관리"
icon: "sliders"
sidebarTitle: "관리"
-translationSourceHash: 726c45fa
+translationSourceHash: 72528118
translationFrom: installation/desktop/usage/manage.mdx
+translationBlockHashes:
+ "The Manage Panel": 6fec7659
+ "Installation Actions": 3bf198ca
---
+
## 관리 패널
관리 패널의 내용은 인스턴스 유형에 따라 다릅니다. 이 페이지의 스크린샷은 **로컬 독립형 설치**를 보여줍니다. 클라우드 및 원격 인스턴스는 탭과 설정이 더 적습니다.
@@ -111,4 +115,4 @@ ComfyUI 백엔드 프로세스 출력을 보여주는 실시간 터미널입니
## 설치 작업
-설치 카드를 마우스 오른쪽 버튼으로 클릭(또는 ⋮ 아이콘 클릭)하여 작업에 액세스합니다. 전체 작업 목록은 [인스턴스 관리](/ko/installation/desktop/usage/instance-management) 페이지를 참조하세요.
\ No newline at end of file
+설치 카드를 마우스 오른쪽 버튼으로 클릭(또는 ⋮ 아이콘 클릭)하여 작업에 액세스합니다. 전체 작업 목록은 [인스턴스 관리](/ko/installation/desktop/usage/instance-management) 페이지를 참조하세요.
diff --git a/ko/installation/desktop/usage/migrate.mdx b/ko/installation/desktop/usage/migrate.mdx
index a9de5968b..68907ba1c 100644
--- a/ko/installation/desktop/usage/migrate.mdx
+++ b/ko/installation/desktop/usage/migrate.mdx
@@ -3,10 +3,18 @@ title: "Legacy Desktop에서 마이그레이션"
description: "Legacy Desktop 설치를 Comfy Desktop으로 마이그레이션하는 방법을 알아봅니다."
icon: "arrow-right"
sidebarTitle: "마이그레이션"
-translationSourceHash: 6850ff59
+translationSourceHash: 5d53d60d
translationFrom: installation/desktop/usage/migrate.mdx
+translationBlockHashes:
+ "_intro": 14240c76
+ "What Gets Migrated": 756473d1
+ "What Changes After Migration": 1f09d2db
+ "Does My Old Link Still Work?": 528b3e43
+ "Step-by-Step Migration": 61e3ac66
+ "Troubleshooting": 16572294
---
+
이 페이지는 **Legacy Desktop**(이전 단일 설치 데스크톱 앱)에서 마이그레이션하는 방법을 다룹니다. 처음 사용자라면 건너뛰셔도 됩니다.
@@ -23,7 +31,7 @@ Legacy Desktop이 이미 설치되어 있다면 Comfy Desktop이 이를 감지
Legacy Desktop은 단일 설치 앱이었습니다. Comfy Desktop은 다중 설치 관리자입니다. 마이그레이션하면:
-- **워크플로우와 설정** — 새로운 Standalone 설치로 복사됩니다.
+- **워크플로와 설정** — 새로운 Standalone 설치로 복사됩니다.
- **커스텀 노드** — 검사되어 새로운 환경에 재설치됩니다.
- **모델** — 기존 모델 폴더가 공유 디렉터리로 추가됩니다(파일은 그대로 유지).
- **입력 파일 및 출력** — 새로운 설치의 공유 디렉터리로 복사됩니다.
@@ -63,9 +71,9 @@ Comfy Desktop을 처음 열면 시스템의 Legacy Desktop 설치를 자동으
**지금 마이그레이션**을 클릭하여 진행합니다. Comfy Desktop이 다음을 수행합니다:
-1. 기존 설치 검사(커스텀 노드, 모델, 워크플로우)
+1. 기존 설치 검사(커스텀 노드, 모델, 워크플로)
2. 새 Python 환경과 최신 ComfyUI로 새로운 Standalone 설치 생성
-3. 사용자 데이터(워크플로우, 설정 등) 복사
+3. 사용자 데이터(워크플로, 설정 등) 복사
4. 입력 파일 및 출력 복사
5. 모델 폴더를 공유 디렉터리로 추가
6. 새 환경에 커스텀 노드 설치
@@ -75,7 +83,7 @@ Comfy Desktop을 처음 열면 시스템의 Legacy Desktop 설치를 자동으
새 설치를 시작하고 다음을 확인합니다:
-- 워크플로우가 사용 가능한지
+- 워크플로가 사용 가능한지
- 커스텀 노드가 설치되었는지
- 모델에 접근할 수 있는지
- 서버가 이어받은 URL에서 실행 중인지(기본값 `http://localhost:8000`)
@@ -84,7 +92,7 @@ Comfy Desktop을 처음 열면 시스템의 Legacy Desktop 설치를 자동으
## 문제 해결
-### Legacy Desktop가 자동으로 감지되지 않는 경우
+### Legacy Desktop이 자동으로 감지되지 않는 경우
마이그레이션 프롬프트가 나타나지 않으면 수동으로 마이그레이션할 수 있습니다:
@@ -106,4 +114,4 @@ Chooser에서 기존 설치가 전혀 감지되지 않은 경우 Manage 패널
1. 마이그레이션된 설치의 **Manage** 패널을 엽니다.
2. **Settings → Model directories**로 이동합니다.
-3. 이전 모델 폴더가 나열되어 있는지 확인합니다. 없으면 수동으로 추가합니다.
\ No newline at end of file
+3. 이전 모델 폴더가 나열되어 있는지 확인합니다. 없으면 수동으로 추가합니다.
diff --git a/ko/installation/desktop/usage/overview.mdx b/ko/installation/desktop/usage/overview.mdx
index bc350a585..1232a313e 100644
--- a/ko/installation/desktop/usage/overview.mdx
+++ b/ko/installation/desktop/usage/overview.mdx
@@ -1,24 +1,29 @@
---
title: "Comfy Desktop 사용하기"
-description: "Comfy Desktop 개요 — 새로운 설치 생성, 인스턴스 관리 등"
+description: "Comfy Desktop 개요: 새로운 설치 생성, 인스턴스 관리 등"
icon: "book-open"
sidebarTitle: "개요"
-translationSourceHash: 144d74c7
+translationSourceHash: 9184f4c4
translationFrom: installation/desktop/usage/overview.mdx
+translationBlockHashes:
+ "_intro": dac7af89
+ "Dashboard Overview": 1b962349
+ "Feedback and Issues": 20066a70
---
+
Comfy Desktop은 **ComfyUI**의 공식 데스크톱 애플리케이션입니다. ComfyUI 설치, 업데이트 확인, 여러 독립적인 설정을 나란히 실행할 수 있도록 모든 것을 관리해 줍니다.
둘의 관계를 이해하자면: **Comfy Desktop**은 **ComfyUI** 인스턴스를 관리하고 실행하는 앱입니다. ComfyUI를 따로 설치할 필요 없이 Comfy Desktop이 각 인스턴스의 설치, Python 환경, 종속성을 자동으로 처리합니다.
### 주요 기능
-- **[멀티 인스턴스 관리](/ko/installation/desktop/usage/instance-management)** — 여러 개의 ComfyUI 인스턴스를 나란히 실행하며 각 인스턴스마다 서로 다른 버전, 커스텀 노드, 설정을 적용할 수 있습니다
-- **[스냅샷](/ko/installation/desktop/usage/manage#snapshots-tab)** — 인스턴스의 전체 상태(ComfyUI 버전, 커스텀 노드, Python 패키지)를 저장하고 복원하여 쉽게 롤백하거나 환경을 재현할 수 있습니다
-- **[공유 저장소](/ko/installation/desktop/usage/settings#storage)** — 모델은 기본적으로 모든 인스턴스가 공유하므로 디스크 공간을 절약합니다. 외부 모델 폴더도 추가할 수 있습니다
-- **[자동 업데이트](/ko/installation/desktop/usage/manage#update-tab)** — 관리 패널을 통해 Comfy Desktop 자체와 개별 ComfyUI 인스턴스를 독립적으로 업데이트합니다
-- **클라우드 통합** — Chooser 보기에서 직접 Comfy Cloud 인스턴스를 실행하거나 연결할 수 있습니다
-- **[기존 설치 추적](/ko/installation/desktop/usage/instance-management#tracking-an-existing-installation)** — 기존에 포터블 방식이나 git 클론으로 설치한 ComfyUI를 Comfy Desktop에 추가하여 통합 관리할 수 있습니다
+- **[멀티 인스턴스 관리](/ko/installation/desktop/usage/instance-management):** 여러 개의 ComfyUI 인스턴스를 나란히 실행하며 각 인스턴스마다 서로 다른 버전, 커스텀 노드, 설정을 적용할 수 있습니다
+- **[스냅샷](/ko/installation/desktop/usage/manage#snapshots-tab):** 인스턴스의 전체 상태(ComfyUI 버전, 커스텀 노드, Python 패키지)를 저장하고 복원하여 쉽게 롤백하거나 환경을 재현할 수 있습니다
+- **[공유 저장소](/ko/installation/desktop/usage/settings#storage):** 모델은 기본적으로 모든 인스턴스가 공유하므로 디스크 공간을 절약합니다. 외부 모델 폴더도 추가할 수 있습니다
+- **[자동 업데이트](/ko/installation/desktop/usage/manage#update-tab):** 관리 패널을 통해 Comfy Desktop 자체와 개별 ComfyUI 인스턴스를 독립적으로 업데이트합니다
+- **클라우드 통합:** Chooser 보기에서 직접 Comfy Cloud 인스턴스를 실행하거나 연결할 수 있습니다
+- **[기존 설치 추적](/ko/installation/desktop/usage/instance-management#tracking-an-existing-installation):** 기존에 포터블 방식이나 git 클론으로 설치한 ComfyUI를 Comfy Desktop에 추가하여 통합 관리할 수 있습니다
이 가이드에서는 이러한 기능들을 사용하는 방법을 다룹니다.
@@ -80,7 +85,7 @@ Comfy Desktop 창은 몇 가지 주요 영역으로 나뉩니다. 아래 이미
버그를 발견했거나 제안이 있으신가요? Comfy Desktop은 오픈 소스입니다. 이슈를 보고하거나 계획된 기능을 확인할 수 있는 곳은 다음과 같습니다:
-- **Comfy Desktop 이슈** — [github.com/Comfy-Org/Comfy-Desktop/issues](https://github.com/Comfy-Org/Comfy-Desktop/issues)
-- **문서 이슈** — [github.com/Comfy-Org/docs/issues](https://github.com/Comfy-Org/docs/issues)
+- **Comfy Desktop 이슈**:[github.com/Comfy-Org/Comfy-Desktop/issues](https://github.com/Comfy-Org/Comfy-Desktop/issues)
+- **문서 이슈**:[github.com/Comfy-Org/docs/issues](https://github.com/Comfy-Org/docs/issues)
-ComfyUI에 관한 일반적인 질문은 [ComfyUI GitHub Discussions](https://github.com/Comfy-Org/ComfyUI/discussions)를 방문하거나 [ComfyUI Discord](https://www.comfy.org/discord)에 참여해 주세요.
\ No newline at end of file
+ComfyUI에 관한 일반적인 질문은 [ComfyUI GitHub Discussions](https://github.com/Comfy-Org/ComfyUI/discussions)를 방문하거나 [ComfyUI Discord](https://www.comfy.org/discord)에 참여해 주세요.
diff --git a/ko/installation/desktop/usage/settings.mdx b/ko/installation/desktop/usage/settings.mdx
index 750074c44..b04a5f4f0 100644
--- a/ko/installation/desktop/usage/settings.mdx
+++ b/ko/installation/desktop/usage/settings.mdx
@@ -3,10 +3,20 @@ title: "설정"
description: "전역 설정, 테마, 프록시/미러 구성 및 데이터 위치"
icon: "cog"
sidebarTitle: "설정"
-translationSourceHash: 7fdcb897
+translationSourceHash: fe6336f7
translationFrom: installation/desktop/usage/settings.mdx
+translationBlockHashes:
+ "_intro": ef300510
+ "Preferences": 87c5b9a1
+ "Updates": 23ee9a3e
+ "Storage": 5f655772
+ "Advanced": c42599b9
+ "Data Locations": 92ccd7cc
+ "Keyboard Shortcuts": d36c977e
+ "Feedback and Issues": 20066a70
---
+
왼쪽 상단의 ☰ 메뉴(1)를 클릭하고 **Desktop Settings**(2)를 선택하여 전역 설정 패널을 엽니다.

@@ -102,4 +112,4 @@ State: ~/.local/state/Comfy Desktop
- **Comfy Desktop 이슈** — [github.com/Comfy-Org/Comfy-Desktop/issues](https://github.com/Comfy-Org/Comfy-Desktop/issues)
- **문서 이슈** — [github.com/Comfy-Org/docs/issues](https://github.com/Comfy-Org/docs/issues)
-ComfyUI에 관한 일반적인 질문이 있다면 [ComfyUI GitHub Discussions](https://github.com/Comfy-Org/ComfyUI/discussions)를 방문하거나 [ComfyUI Discord](https://www.comfy.org/discord)에 참여하세요.
\ No newline at end of file
+ComfyUI에 관한 일반적인 질문이 있다면 [ComfyUI GitHub Discussions](https://github.com/Comfy-Org/ComfyUI/discussions)를 방문하거나 [ComfyUI Discord](https://www.comfy.org/discord)에 참여하세요.
diff --git a/ko/installation/desktop/usage/snapshots.mdx b/ko/installation/desktop/usage/snapshots.mdx
index 37fdc53d0..bb3924766 100644
--- a/ko/installation/desktop/usage/snapshots.mdx
+++ b/ko/installation/desktop/usage/snapshots.mdx
@@ -3,15 +3,21 @@ title: "스냅샷"
description: "Comfy Desktop에서 ComfyUI 인스턴스 구성을 백업, 복원 및 공유하세요"
icon: "camera"
sidebarTitle: "스냅샷"
-translationSourceHash: 9e8ad305
+translationSourceHash: 74c96b15
translationFrom: installation/desktop/usage/snapshots.mdx
+translationBlockHashes:
+ "_intro": 6767194f
+ "Accessing Snapshots": df2b0b29
+ "Snapshots Tab Overview": 942f3f6d
+ "Create an Instance from a Snapshot File": 086ab013
---
-스냅샷은 인스턴스의 현재 상태를 기록하며, 다음 정보를 포함합니다:
-- **ComfyUI 버전**: 설치된 ComfyUI 빌드 정보
-- **커스텀 노드**: 모든 커스텀 노드와 버전 또는 커밋 해시
-- **pip 패키지**: 환경에 설치된 모든 파이썬 패키지
+스냅샷은 인스턴스의 현재 상태를 기록하며, 다음 정보를 포함합니다:
+
+- **ComfyUI 버전**:설치된 ComfyUI 빌드 정보
+- **커스텀 노드**:모든 커스텀 노드와 버전 또는 커밋 해시
+- **pip 패키지**:환경에 설치된 모든 파이썬 패키지
스냅샷은 복원 지점 역할을 합니다: 업데이트 실패 후 되돌리기, 설치 환경 복제, 작업 구성 팀 공유 등에 사용할 수 있습니다.
@@ -54,14 +60,14 @@ Comfy Desktop은 매 부팅, 재시작, 업데이트 전/후, 복원 후 등 주
스냅샷 카드를 클릭하면 세부 정보가 확장됩니다. 인스펙터에는 다음이 표시됩니다:
-- **ComfyUI**: 커밋 해시, 기본 태그, 릴리스 태그보다 앞선 커밋 수
-- **커스텀 노드**: 기록된 모든 노드의 유형(git / CNR), URL, 버전/커밋, 활성화 상태
-- **Pip 패키지**: 기록된 모든 pip 패키지와 고정된 버전의 전체 목록
+- **ComfyUI**:커밋 해시, 기본 태그, 릴리스 태그보다 앞선 커밋 수
+- **커스텀 노드**:기록된 모든 노드의 유형(git / CNR), URL, 버전/커밋, 활성화 상태
+- **Pip 패키지**:기록된 모든 pip 패키지와 고정된 버전의 전체 목록
변경 사항을 확인하려면 비교 버튼을 사용하세요:
-- **이전과 비교**: 바로 이전 스냅샷과 비교합니다
-- **현재와 비교**: 인스턴스 현재 상태와 비교합니다
+- **이전과 비교**:바로 이전 스냅샷과 비교합니다
+- **현재와 비교**:인스턴스 현재 상태와 비교합니다
### 스냅샷으로 복원
@@ -100,4 +106,4 @@ Comfy Desktop은 매 부팅, 재시작, 업데이트 전/후, 복원 후 등 주

-이렇게 하면 완전히 새로운 독립 인스턴스가 생성되며, 원본 인스턴스는 변경되지 않습니다. 선택기 뷰에서 다른 인스턴스와 함께 새 인스턴스를 확인할 수 있습니다.
\ No newline at end of file
+이렇게 하면 완전히 새로운 독립 인스턴스가 생성되며, 원본 인스턴스는 변경되지 않습니다. 선택기 뷰에서 다른 인스턴스와 함께 새 인스턴스를 확인할 수 있습니다.
diff --git a/ko/installation/install_custom_node.mdx b/ko/installation/install_custom_node.mdx
index 1c21910d0..b1544fb49 100644
--- a/ko/installation/install_custom_node.mdx
+++ b/ko/installation/install_custom_node.mdx
@@ -3,10 +3,17 @@ title: "ComfyUI에서 커스텀 노드 설치 방법"
description: "이 가이드에서는 ComfyUI에 커스텀 노드를 설치하는 다양한 방법을 소개합니다."
sidebarTitle: "커스텀 노드"
icon: "puzzle-piece"
-translationSourceHash: d10c8ea4
+translationSourceHash: d0088606
translationFrom: installation/install_custom_node.mdx
+translationBlockHashes:
+ "What are Custom Nodes ?": 6a5df82d
+ "Method 1: ComfyUI Manager (Recommended)": 747946d9
+ "Method 2: Manual Installation Using Git": 9bb5622a
+ "Method 3: ZIP Download Installation": 56b7db7a
+ "Custom Node Resources": 4763c5a4
---
+
## 커스텀 노드란 무엇인가요?
커스텀 노드는 ComfyUI의 확장 기능으로, 고급 이미지 처리, 머신러닝 미세조정, 색상 조정 등 새로운 기능을 추가합니다. 커뮤니티에서 개발한 이러한 노드들은 ComfyUI의 핵심 기능을 크게 확장할 수 있습니다.
@@ -15,7 +22,7 @@ translationFrom: installation/install_custom_node.mdx
커스텀 노드를 설치하기 전에 주의 깊게 검토하는 것이 중요합니다. ComfyUI는 오픈소스 프로젝트이므로 악성 플러그인이 커스텀 노드를 악용할 가능성이 있습니다:
1. 신뢰할 수 있는 저자와 커뮤니티에서 일반적으로 사용되는 커스텀 노드만 설치하세요.
2. 플러그인의 기능을 이해한 후 설치하고, 알 수 없는 출처는 피하여 시스템 보안을 유지하세요.
-3. 낯선 또는 의심스러운 플러그인은 설치하지 마세요—검증되지 않은 플러그인은 시스템 침해로 이어질 수 있는 보안 위험을 초래할 수 있습니다.
+3. 낯선 또는 의심스러운 플러그인은 설치하지 마세요. 검증되지 않은 플러그인은 시스템 침해로 이어질 수 있는 보안 위험을 초래할 수 있습니다.
모든 커스텀 노드 설치에는 다음 두 단계를 완료해야 합니다:
@@ -23,7 +30,7 @@ translationFrom: installation/install_custom_node.mdx
1. 노드 코드를 `ComfyUI/custom_nodes` 디렉터리에 복제하기
2. 필요한 파이썬 종속성을 설치하기
-이 가이드에서는 세 가지 설치 방식을 비교합니다. **ComfyUI 매니저**는 대부분의 설정에서 현재 ComfyUI 릴리스에 내장되어 있습니다—무엇을 하는지와 활성화 방법은 [ComfyUI 매니저 개요](/ko/manager/overview)를 참조하세요. 노드가 레지스트리에 없거나 특정 버전이 필요할 때는 **Git 복제** 또는 **ZIP**를 사용하세요.
+이 가이드에서는 세 가지 설치 방식을 비교합니다. **ComfyUI 매니저**는 대부분의 설정에서 현재 ComfyUI 릴리스에 내장되어 있습니다. 무엇을 하는지와 활성화 방법은 [ComfyUI 매니저 개요](/ko/manager/overview)를 참조하세요. 노드가 레지스트리에 없거나 특정 버전이 필요할 때는 **Git 복제** 또는 **ZIP**를 사용하세요.
| 방법 | 장점 | 단점 |
| ---------------------------- | ------------------------------------------------------------- | ----------------------------------------------------------- |
@@ -69,7 +76,7 @@ ComfyUI 매니저는 커스텀 노드를 관리하는 두 가지 UI 버전을
```
- 종속성은 ComfyUI 환경에 설치해야 합니다—시스템 환경과 혼동되지 않도록 주의하세요
+ 종속성은 ComfyUI 환경에 설치해야 합니다. 시스템 환경과 혼동되지 않도록 주의하세요
Windows 포터블 버전의 경우 내장된 Python 환경에 종속성을 설치하세요
@@ -124,4 +131,4 @@ ComfyUI에서는 기본 노드 확장 기능 외에도 커스텀 노드는 다
- [커스텀 노드 워크플로우 템플릿](/ko/custom-nodes/workflow_templates): 노드 작성자가 제공하는 예시 워크플로우 템플릿으로, ComfyUI 템플릿에서 탐색하고 불러올 수 있습니다.
- [다국어 지원](/ko/custom-nodes/i18n)
-커스텀 노드 개발자라면 이러한 리소스를 추가해 사용자 친화성을 높일 수 있습니다.
\ No newline at end of file
+커스텀 노드 개발자라면 이러한 리소스를 추가해 사용자 친화성을 높일 수 있습니다.
diff --git a/ko/installation/manual_install.mdx b/ko/installation/manual_install.mdx
index 8abb7815b..c883563d3 100644
--- a/ko/installation/manual_install.mdx
+++ b/ko/installation/manual_install.mdx
@@ -3,7 +3,7 @@ title: "수동 설치 — 로컬 자체 호스팅"
description: "이 섹션에서는 Windows, MacOS 및 Linux에서의 수동 설치 과정을 안내합니다."
icon: "wrench"
sidebarTitle: "수동(로컬)"
-translationSourceHash: 1bcf6d3f
+translationSourceHash: fb64f526
translationFrom: installation/manual_install.mdx
---
@@ -12,6 +12,8 @@ import PipInstall from "/snippets/ko/pip-install.mdx";
import InstallGpuDependencies from "/snippets/ko/install-gpu-dependencies.mdx";
import RunComfy from "/snippets/ko/run-comfy.mdx";
import AddExternalModels from "/snippets/ko/install/add-external-models.mdx"
+import DockerNotice from "/snippets/ko/install/docker-notice.mdx"
+
ComfyUI를 설치하려면 주로 다음 몇 가지 단계로 나뉩니다:
1. 가상 환경 생성하기(시스템 레벨 파이썬 환경 오염 피하기)
@@ -21,6 +23,7 @@ ComfyUI를 설치하려면 주로 다음 몇 가지 단계로 나뉩니다:
[ComfyUI CLI](/ko/comfy-cli/getting-started)를 참고해 ComfyUI를 설치할 수도 있습니다. 이는 명령줄 도구로, ComfyUI를 쉽게 설치하고 의존성을 관리할 수 있습니다.
+
## 가상 환경 생성하기
@@ -85,4 +88,8 @@ git clone https://github.com/Comfy-Org/ComfyUI.git
-
\ No newline at end of file
+
+
+## 자주 묻는 질문
+
+
diff --git a/ko/installation/system_requirements.mdx b/ko/installation/system_requirements.mdx
index 548fbb69d..042265b18 100644
--- a/ko/installation/system_requirements.mdx
+++ b/ko/installation/system_requirements.mdx
@@ -3,11 +3,13 @@ title: "시스템 요구사항"
description: "ComfyUI 설치 및 실행을 위한 하드웨어 및 소프트웨어 요구 사항."
sidebarTitle: "시스템 요구사항"
icon: "computer"
-translationSourceHash: cc08dd2f
+translationSourceHash: db65e98b
translationFrom: installation/system_requirements.mdx
---
import InstallLink from "/snippets/ko/install/install-link.mdx"
+import DockerNotice from "/snippets/ko/install/docker-notice.mdx"
+
이 가이드에서는 ComfyUI를 설치하기 위한 시스템 요구사항을 소개합니다. ComfyUI는 수시로 업데이트되기 때문에 이 문서가 최신 상태로 유지되지 않을 수 있습니다. 관련 지침은 [ComfyUI](https://github.com/Comfy-Org/ComfyUI)를 참조해 주세요.
@@ -62,4 +64,8 @@ PyTorch 2.4 이상도 지원되지만, 일부 기능과 최적화는 최신 버
자세한 설치 단계는 수동 설치 섹션을 참조해 주세요.
-
\ No newline at end of file
+
+
+## 자주 묻는 질문
+
+
diff --git a/ko/installation/update_comfyui.mdx b/ko/installation/update_comfyui.mdx
index b9265838b..800ad24d6 100644
--- a/ko/installation/update_comfyui.mdx
+++ b/ko/installation/update_comfyui.mdx
@@ -3,10 +3,17 @@ title: "ComfyUI 업데이트 방법"
description: "이 섹션에서는 ComfyUI를 업데이트하는 포괄적인 가이드를 제공합니다."
icon: "circle-up"
sidebarTitle: "ComfyUI 업데이트"
-translationSourceHash: 37fe7f31
+translationSourceHash: df0fcd65
translationFrom: installation/update_comfyui.mdx
+translationBlockHashes:
+ "_intro": ea3fba01
+ "How to Update ComfyUI?": c98ba141
+ "ComfyUI Version Types": 0f19bbda
+ "What Needs to Be Updated When Updating ComfyUI?": 9d192c1b
+ "Common Update Issues": 7e4b639d
---
+
import InstallLink from "/snippets/ko/install/install-link.mdx"
import UpdateRequirement from "/snippets/ko/install/update-requirement.mdx"
@@ -306,4 +313,4 @@ comfy-aimdo # ComfyUI 핵심 유틸리티
- **GitHub 릴리스**: [ComfyUI 릴리스](https://github.com/Comfy-Org/ComfyUI/releases)에서 안정 버전 업데이트 확인
- **GitHub 커밋**: [최신 커밋](https://github.com/Comfy-Org/ComfyUI/commits/master)을 확인해 개발 진행 상황 파악
-- **커뮤니티 토론**: [블로그](https://blog.comfy.org)와 [Twitter](https://x.com/comfyui)를 팔로우해 최신 정보 확인
\ No newline at end of file
+- **커뮤니티 토론**: [블로그](https://blog.comfy.org)와 [Twitter](https://x.com/comfyui)를 팔로우해 최신 정보 확인
diff --git a/ko/interface/app-mode.mdx b/ko/interface/app-mode.mdx
index 3b51c87c3..a3801afa7 100644
--- a/ko/interface/app-mode.mdx
+++ b/ko/interface/app-mode.mdx
@@ -3,10 +3,17 @@ title: "ComfyUI 앱 모드 가이드"
description: "ComfyUI에서 앱 모드를 구축하고 사용하는 방법을 알아보세요. 맞춤형 입력/출력 인터페이스를 정의하여 워크플로우 상호작용을 간소화할 수 있습니다."
sidebarTitle: "앱 모드"
icon: "mobile-screen-button"
-translationSourceHash: c16182bd
+translationSourceHash: e24dc018
translationFrom: interface/app-mode.mdx
+translationBlockHashes:
+ "_intro": 95e47d1e
+ "Enter APP mode": 17a1f89c
+ "Build an APP mode workflow": 77b966ea
+ "Use APP mode": 48593e65
+ "Save and share the workflow": cf326952
---
+
앱 모드는 맞춤형 입력/출력 인터페이스를 정의함으로써 워크플로우 상호작용을 간소화하며, 노드를 편집하지 않고도 워크플로우를 더 쉽게 공유하고 사용할 수 있게 해줍니다.
\ No newline at end of file
+>
diff --git a/ko/tutorials/partner-nodes/kling/kling-motion-control.mdx b/ko/tutorials/partner-nodes/kling/kling-motion-control.mdx
index 5c7644974..af7f71b93 100644
--- a/ko/tutorials/partner-nodes/kling/kling-motion-control.mdx
+++ b/ko/tutorials/partner-nodes/kling/kling-motion-control.mdx
@@ -2,10 +2,19 @@
title: "Kling 2.6 모션 컨트롤 파트너 노드 ComfyUI 공식 예제"
description: "ComfyUI에서 Kling 2.6 모션 컨트롤 파트너 노드를 사용해 참조 동영상에서 캐릭터 이미지로 정밀한 모션 전송하는 방법을 알아보세요"
sidebarTitle: "Kling 2.6 모션 컨트롤"
-translationSourceHash: f28d036f
+translationSourceHash: 89919ffc
translationFrom: tutorials/partner-nodes/kling/kling-motion-control.mdx
+translationBlockHashes:
+ "_intro": fac1cb1e
+ "Product highlights": a82b89a7
+ "Character orientation modes": aa2f7dec
+ "Model tiers": 565d97ae
+ "Kling 2.6 Motion Control workflow": c75b1c17
+ "Input requirements": 0ecbf467
+ "Tips for better results": b6fdceb5
---
+
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -61,4 +70,4 @@ Kling 2.6 모션 컨트롤은 Kuaishou가 개발한 특수 다중모달 모델
- **명확한 캐릭터 각도**: 참조 동영상이 회전을 보인다면 3D 스타일 캐릭터나 회전을 더 잘 처리하는 사실적인 사진을 사용하세요. 평면 2D 만화는 뒷모습을 처리하기 어려울 수 있습니다.
- **팔다리가 보이도록**: 캐릭터의 팔다리가 원본 이미지에서 보이도록 해주세요. 만약 캐릭터가 주머니에 손을 넣었지만 동작에서는 손을 흔들어야 한다면 AI가 손을 착각해 종종 아티팩트가 생길 수 있습니다.
- **여유 공간 남기기**: 피사체 주변에 여백을 남겨주세요. 캐릭터가 춤을 추거나 팔을 크게 움직인다면 프레임 내부에 공간이 있어야 클리핑을 피할 수 있습니다.
-- **프레이밍 정렬**: 이미지와 참조 동영상의 프레이밍을 맞춰주세요. 얼굴 애니메이션에는 클로즈업 참조를, 걷기·춤 시퀀스에는 전신 참조를 사용하세요.
\ No newline at end of file
+- **프레이밍 정렬**: 이미지와 참조 동영상의 프레이밍을 맞춰주세요. 얼굴 애니메이션에는 클로즈업 참조를, 걷기·춤 시퀀스에는 전신 참조를 사용하세요.
diff --git a/ko/tutorials/partner-nodes/krea2/krea2-t2i.mdx b/ko/tutorials/partner-nodes/krea2/krea2-t2i.mdx
new file mode 100644
index 000000000..0709ea2bc
--- /dev/null
+++ b/ko/tutorials/partner-nodes/krea2/krea2-t2i.mdx
@@ -0,0 +1,77 @@
+---
+title: "ComfyUI Krea 2 Partner Node 공식 예제"
+description: "이 가이드는 ComfyUI에서 Krea 2 Text to Image Partner Node를 사용하는 방법을 설명합니다"
+sidebarTitle: "Krea 2 Text to Image"
+translationSourceHash: ec19ef94
+translationFrom: tutorials/partner-nodes/krea2/krea2-t2i.mdx
+translationBlockHashes:
+ "_intro": b37fc058
+ "Krea 2 Image Node Documentation": e4a08761
+ "Krea 2 Text to Image Workflow": 2d32ba5a
+ "Krea 2 Style Reference Workflow": 0f6812fa
+ "Additional Notes": 7099b5ae
+---
+
+
+import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
+import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
+
+[Krea 2 Image Node](/ko/built-in-nodes/Krea2ImageNode)를 사용하면 Krea AI의 차세대 모델을 통해 텍스트 프롬프트에서 고품질 이미지를 생성할 수 있습니다. **Krea 2 Medium**(표현력 있는 일러스트레이션용)과 **Krea 2 Large**(표현력 있는 포토리얼리즘용)의 두 가지 모델 변형을 지원하며, 선택적으로 무드보드 및 스타일 참조 입력이 가능합니다.
+
+이 가이드에서는 Krea 2를 사용한 텍스트-투-이미지 생성 워크플로우 설정 방법을 보여드립니다.
+
+
+
+
+## Krea 2 Image Node 문서
+
+자세한 매개변수 설정은 다음 문서를 참조하세요:
+
+- [Krea 2 Image Node](/ko/built-in-nodes/Krea2ImageNode)
+- [Krea 2 Style Reference Node](/ko/built-in-nodes/Krea2StyleReferenceNode)
+
+## Krea 2 텍스트 투 이미지 워크플로우
+
+
+
+
+
+ Comfy Cloud 열기
+
+
+ JSON 다운로드 또는 템플릿 라이브러리에서 "Krea2" 검색
+
+
+
+1. **프롬프트 입력** — **Krea2ImageNode** 노드에 텍스트 설명 입력
+2. **모델 변형 선택** — **Krea 2 Medium**(일러스트레이션) 또는 **Krea 2 Large**(포토리얼리즘) 중 선택
+3. **매개변수 조정** — 화면 비율, 해상도, 창의성 수준 및 시드 설정
+4. **큐 실행** — `Ctrl+Enter` 또는 Queue 버튼을 눌러 생성
+5. **결과 확인** — 생성된 이미지가 **SaveImage** 노드에 표시되며 `ComfyUI/output/`에 저장됩니다
+
+## Krea 2 스타일 참조 워크플로우
+
+
+
+스타일 참조 워크플로우는 추가 단계를 제공합니다: 미적 스타일, 분위기 및 시각적 방향을 정의하는 하나 이상의 참조 이미지를 업로드합니다. 생성된 이미지는 프롬프트와 일치하면서 참조 이미지의 스타일이 적용됩니다.
+
+
+
+ Comfy Cloud 열기
+
+
+ JSON 다운로드 또는 템플릿 라이브러리에서 "Krea 2: Style Reference" 검색
+
+
+
+1. **참조 이미지 업로드** — **LoadImage** 노드를 사용하여 스타일 참조 이미지 로드 (최대 10개 지원)
+2. **프롬프트 입력** — **Krea2ImageNode**에서 원하는 장면 설명
+3. **모델 변형 선택** — Medium과 Large 중 선택
+4. **스타일 강도 조정** — **Krea2StyleReferenceNode** 노드에서 스타일 참조 강도 수정
+5. **큐 실행** — `Ctrl+Enter`를 눌러 생성
+6. **결과 확인** — 생성된 이미지가 **SaveImage** 노드에 표시됩니다
+
+## 추가 참고 사항
+
+- Krea 2 Image 노드는 최대 **10개의 스타일 참조 이미지**를 동시에 지원합니다
+- `moodboard_id` 매개변수는 [Krea 웹사이트](https://www.krea.ai)에서 생성한 유효한 무드보드 UUID가 필요합니다
diff --git a/ko/tutorials/partner-nodes/luma/luma-image-to-image.mdx b/ko/tutorials/partner-nodes/luma/luma-image-to-image.mdx
index 0b0e525a7..b9abcd324 100644
--- a/ko/tutorials/partner-nodes/luma/luma-image-to-image.mdx
+++ b/ko/tutorials/partner-nodes/luma/luma-image-to-image.mdx
@@ -1,7 +1,7 @@
---
-title: "Luma 이미지 to 이미지 파트너 노드 ComfyUI 공식 예제"
-description: "이 가이드에서는 ComfyUI에서 Luma 이미지 to 이미지 파트너 노드를 사용하는 방법을 다룹니다."
-sidebarTitle: "Luma 이미지 to 이미지"
+title: "Luma 이미지 → 이미지 파트너 노드 ComfyUI 공식 예제"
+description: "이 가이드에서는 ComfyUI에서 Luma 이미지 → 이미지 파트너 노드를 사용하는 방법을 다룹니다."
+sidebarTitle: "Luma 이미지 → 이미지"
translationSourceHash: 7b3e8dc6
translationFrom: tutorials/partner-nodes/luma/luma-image-to-image.mdx
---
@@ -9,14 +9,14 @@ translationFrom: tutorials/partner-nodes/luma/luma-image-to-image.mdx
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
-Luma 이미지 to 이미지 노드를 사용하면 Luma AI 기술을 활용해 텍스트 프롬프트에 따라 기존 이미지를 수정하면서도 원본 이미지의 특정 특징과 구조는 유지할 수 있습니다.
+Luma 이미지 → 이미지 노드를 사용하면 Luma AI 기술을 활용해 텍스트 프롬프트에 따라 기존 이미지를 수정하면서도 원본 이미지의 특정 특징과 구조는 유지할 수 있습니다.
-이 가이드에서는 이 노드를 사용해 이미지 to 이미지 워크플로우를 설정하는 방법을 보여드립니다.
+이 가이드에서는 이 노드를 사용해 이미지 기반 이미지 생성 워크플로우를 설정하는 방법을 보여드립니다.
-## Luma 이미지 to 이미지 파트너 노드 워크플로우
+## Luma 이미지 → 이미지 파트너 노드 워크플로우
이 기능은 객체와 도형을 변경하는 데 효과적입니다. 하지만 색상 변경에는 적합하지 않을 수 있습니다. 0.0~0.1 정도의 낮은 가중치 값을 사용하는 것을 권장합니다.
@@ -24,17 +24,17 @@ Luma 이미지 to 이미지 노드를 사용하면 Luma AI 기술을 활용해
### 1. 워크플로우 파일 다운로드
-다음 이미지를 ComfyUI로 드래그하여 워크플로우를 로드하세요(워크플로우 정보는 이미지 메타데이터에 포함되어 있습니다):
+다음 이미지를 다운로드하여 ComfyUI로 드래그하여 워크플로우를 로드하세요(워크플로우 정보는 이미지 메타데이터에 포함되어 있습니다):
-
+
입력으로 사용할 다음 이미지를 다운로드하세요:
-
+
### 2. 워크플로우 단계 완료하기
-
+
다음 번호 순서대로 진행하세요:
1. `Load Image` 노드에서 **Upload**를 클릭해 입력 이미지를 업로드하세요
diff --git a/ko/tutorials/partner-nodes/luma/luma-text-to-image.mdx b/ko/tutorials/partner-nodes/luma/luma-text-to-image.mdx
index 0d4bd132f..a98e504bc 100644
--- a/ko/tutorials/partner-nodes/luma/luma-text-to-image.mdx
+++ b/ko/tutorials/partner-nodes/luma/luma-text-to-image.mdx
@@ -1,7 +1,7 @@
---
-title: "Luma 텍스트-to-이미지 파트너 노드 ComfyUI 공식 예제"
-description: "이 가이드에서는 ComfyUI에서 Luma 텍스트-to-이미지 파트너 노드를 사용하는 방법을 설명합니다."
-sidebarTitle: "Luma 텍스트-to-이미지"
+title: "Luma 텍스트 → 이미지 파트너 노드 ComfyUI 공식 예제"
+description: "이 가이드에서는 ComfyUI에서 Luma 텍스트 → 이미지 파트너 노드를 사용하는 방법을 설명합니다."
+sidebarTitle: "Luma 텍스트 → 이미지"
translationSourceHash: 189b15fc
translationFrom: tutorials/partner-nodes/luma/luma-text-to-image.mdx
---
@@ -9,36 +9,36 @@ translationFrom: tutorials/partner-nodes/luma/luma-text-to-image.mdx
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
-Luma 텍스트-to-이미지 노드를 사용하면 Luma AI의 고급 기술을 통해 텍스트 프롬프트로부터 고품질 이미지를 생성할 수 있으며, 사진과 같은 사실적인 콘텐츠와 예술적 스타일의 이미지를 만들 수 있습니다.
+Luma Text to Image 노드는 Luma AI의 고급 기술을 사용하여 텍스트 프롬프트로부터 고품질 이미지를 생성할 수 있게 해주며, 사진과 같은 사실적인 콘텐츠와 예술적 스타일의 이미지를 만들 수 있습니다.
-이 가이드에서는 이 노드를 사용해 텍스트-to-이미지 생성 워크플로우를 설정하는 방법을 보여드립니다.
+이 가이드에서는 이 노드를 사용하여 텍스트 기반 이미지 생성 워크플로를 설정하는 방법을 보여드립니다.
-## Luma 텍스트-to-이미지 파트너 노드 워크플로우
+## Luma Text to Image 파트너 노드 워크플로
-`Luma 텍스트-to-이미지` 노드를 이미지 입력 없이 사용하면 텍스트-to-이미지 워크플로우로 작동합니다. 이 가이드에서는 `style_image`와 `image_luma_ref`를 사용해 Luma AI의 뛰어난 이미지 처리 기능을 보여주는 예시를 만들어보았습니다.
+`Luma Text to Image` 노드를 이미지 입력 없이 사용하면 텍스트 기반 이미지 생성 워크플로로 작동합니다. 이 가이드에서는 `style_image`와 `image_luma_ref`를 사용하여 Luma AI의 뛰어난 이미지 처리 기능을 보여주는 예시를 만들었습니다.
-### 1. 워크플로우 파일 다운로드
+### 1. 워크플로 파일 다운로드
-워크플로우 정보는 아래 이미지의 메타데이터에 포함되어 있습니다. 이를 다운로드하여 ComfyUI로 드래그하면 워크플로우가 로드됩니다.
+워크플로 정보는 아래 이미지의 메타데이터에 포함되어 있습니다. 이미지를 다운로드하여 ComfyUI로 드래그하면 워크플로가 로드됩니다.
-
+
-입력용으로 다음 이미지를 다운로드해주세요:
+입력용으로 다음 이미지를 다운로드하세요:


-### 2. 워크플로우 실행 단계 따라하기
+### 2. 워크플로 실행 단계 따라하기
-
+
-이미지에 표시된 번호 순서대로 기본 워크플로우를 완료해주세요:
+이미지에 표시된 번호 순서대로 기본 워크플로를 완료하세요:
1. `Load image` 노드에서 레퍼런스 이미지를 업로드하세요
2. `Load image (renamed to styleref)` 노드에서 스타일 레퍼런스 이미지를 업로드하세요
-3. (선택사항) `Luma 텍스트-to-이미지` 노드에서 프롬프트를 수정하세요
+3. (선택사항) `Luma Text to Image` 노드에서 프롬프트를 수정하세요
4. (선택사항) `style_image_weight`를 조정해 스타일 레퍼런스 이미지의 영향력을 조절하세요
5. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 이미지를 생성하세요
6. API 결과가 반환된 후, `Save Image` 노드에서 생성된 이미지를 확인하세요. 이미지는 `ComfyUI/output/` 디렉토리에 저장됩니다
diff --git a/ko/tutorials/partner-nodes/luma/luma-uni-1.mdx b/ko/tutorials/partner-nodes/luma/luma-uni-1.mdx
index fc127a059..8c3ed0c1f 100644
--- a/ko/tutorials/partner-nodes/luma/luma-uni-1.mdx
+++ b/ko/tutorials/partner-nodes/luma/luma-uni-1.mdx
@@ -2,10 +2,27 @@
title: "Luma Uni-1 가이드"
description: "ComfyUI에서 Luma Uni-1 파트너 노드를 사용해 Create 및 Modify 이미지 워크플로를 진행하는 방법을 안내합니다."
sidebarTitle: "Luma Uni-1"
-translationSourceHash: 5fa52dad
+translationSourceHash: 16838ef3
translationFrom: tutorials/partner-nodes/luma/luma-uni-1.mdx
+translationBlockHashes:
+ "_intro": 544c5d43
+ "What makes Uni-1 different": c0181542
+ "Strengths": 4dd065dd
+ "The core distinction: Create vs Modify": c3ea208f
+ "Available workflows": a6cf5659
+ "Core parameters": b43ac975
+ "Working with reference images": d20d34ae
+ "Prompting guidelines": ba9ac50d
+ "Aspect ratios": d56acf10
+ "Seeds: control and reproducibility": 0a278508
+ "Advanced techniques": ff88c145
+ "Troubleshooting": 3660bd7c
+ "Quick reference": 0910432d
+ "The golden rules": b1bc370a
+ "Key takeaway": 77d51b1d
---
+
**ComfyUI**에서 **Luma Uni-1** 은 통합 이미지 작업을 위한 **파트너 노드**로 제공됩니다: **Create** 그래프는 프롬프트(선택적 레퍼런스 포함)로 새 이미지를 생성하고, **Modify** 그래프는 기존 이미지를 입력으로 받아 편집합니다. 두 모드 모두 평소 워크플로처럼 **Load Image** / **Save Image** 노드를 연결하고, Luma 노드에서 프롬프트, 시드, 종횡비, 레퍼런스 슬롯을 설정한 후 로컬에서 그래프를 실행하거나 **Comfy Cloud**에서 템플릿을 열면 됩니다.
Luma는 Uni-1을 비확산, 디코더 전용 자기회귀 모델로 설명하며, 그리기 전에 프롬프트를 추론합니다. 캔버스에서 가장 중요한 것은 **Create vs Modify** 모드를 선택하고, 레퍼런스를 명확히 라벨링하고, 시드로 반복 작업하는 것입니다.
@@ -253,4 +270,4 @@ Create로 컴포지션을 탐색하고 Modify로 세부 사항을 다듬으세
## 핵심 요약
-Uni-1을 마스터하는 것은 세 가지로 요약됩니다: **올바른 모드 선택 → 레퍼런스 통제 → 의도적 반복**. 이것만 갖추면 더 이상 추측하지 않고 감독할 수 있습니다.
\ No newline at end of file
+Uni-1을 마스터하는 것은 세 가지로 요약됩니다: **올바른 모드 선택 → 레퍼런스 통제 → 의도적 반복**. 이것만 갖추면 더 이상 추측하지 않고 감독할 수 있습니다.
diff --git a/ko/tutorials/partner-nodes/meshy/meshy-6.mdx b/ko/tutorials/partner-nodes/meshy/meshy-6.mdx
index 24dc551b5..ee77cd605 100644
--- a/ko/tutorials/partner-nodes/meshy/meshy-6.mdx
+++ b/ko/tutorials/partner-nodes/meshy/meshy-6.mdx
@@ -19,37 +19,37 @@ Meshy 6는 Meshy의 최신 3D 모델 생성 기술로, 지오메트리 품질,
- **더 스마트한 지오메트리**: 깔끔한 가장자리와 보다 일관된 구조를 갖춘 개선된 메시 토폴로지
- **더 높은 텍스처 정밀도**: 더 나은 디테일 보존과 색상 정확성을 갖춘 텍스처 생성 강화
- **더 빠른 워크플로우**: 빠른 처리 시간을 위한 최적화된 생성 파이프라인
-- **다양한 입력 모드**: 텍스트-to-3D, 이미지-to-3D, 다중 뷰-to-3D 생성 지원
+- **다양한 입력 모드**: 텍스트 기반 3D 생성, 이미지 기반 3D 생성, 다중 뷰 기반 3D 생성 지원
- **PBR 지원**: 금속성, 거칠기, 법선 맵을 포함한 물리 기반 렌더링 맵 생성
-## 텍스트-to-모델 워크플로우
+## 텍스트 기반 모델 워크플로우
Meshy 6를 사용해 텍스트 설명으로부터 바로 3D 모델을 생성하세요.
- Comfy Cloud에서 즉시 텍스트-to-모델 워크플로우를 실행하세요.
+ Comfy Cloud에서 즉시 텍스트 기반 모델 워크플로우를 실행하세요.
로컬에서 사용할 수 있도록 워크플로우 JSON 파일을 다운로드하세요.
-## 이미지-to-모델 워크플로우
+## 이미지 기반 모델 워크플로우
-Meshy 6의 이미지-to-3D 기능을 활용해 2D 이미지를 세부적인 3D 모델로 변환하세요.
+Meshy 6의 이미지 기반 3D 생성 기능을 활용해 2D 이미지를 세부적인 3D 모델로 변환하세요.
- Comfy Cloud에서 즉시 이미지-to-모델 워크플로우를 실행하세요.
+ Comfy Cloud에서 즉시 이미지 기반 모델 워크플로우를 실행하세요.
로컬에서 사용할 수 있도록 워크플로우 JSON 파일을 다운로드하세요.
-## 다중 뷰-to-모델 워크플로우
+## 다중 뷰 기반 모델 워크플로우
여러 뷰 이미지로부터 3D 모델을 생성해 더욱 정확한 지오메트리와 텍스처 재구성을 실현하세요.
diff --git a/ko/tutorials/partner-nodes/moonvalley/moonvalley-video-generation.mdx b/ko/tutorials/partner-nodes/moonvalley/moonvalley-video-generation.mdx
index c6a71d90b..36c342eb2 100644
--- a/ko/tutorials/partner-nodes/moonvalley/moonvalley-video-generation.mdx
+++ b/ko/tutorials/partner-nodes/moonvalley/moonvalley-video-generation.mdx
@@ -1,13 +1,20 @@
---
title: "Moonvalley 파트너 노드 공식 ComfyUI 예제"
-description: "이 기사는 ComfyUI에서 텍스트-to-비디오, 이미지-to-비디오, 비디오-to-비디오 기능을 위해 Moonvalley 파트너 노드를 사용하는 방법을 소개합니다."
+description: "이 기사는 ComfyUI에서 텍스트 기반 비디오 생성, 이미지 기반 비디오 생성, 비디오 기반 비디오 생성 기능을 위해 Moonvalley 파트너 노드를 사용하는 방법을 소개합니다."
sidebarTitle: "Moonvalley"
-translationSourceHash: 48fb4612
+translationSourceHash: fe33e8bb
translationFrom: tutorials/partner-nodes/moonvalley/moonvalley-video-generation.mdx
+translationBlockHashes:
+ "_intro": 3c47d859
+ "Product Highlights": f2c0222d
+ "Moonvalley Text-to-Video Workflow": b04b6f44
+ "Moonvalley Image-to-Video Workflow": 6e47191f
+ "Moonvalley Video-to-Video Workflow": 5de07f68
---
+
-**서비스 제공 불가**: Moonvalley API 서비스가 더 이상 제공되지 않습니다. 이러한 노드는 폐기되었으며, 예상대로 작동하지 않을 수 있습니다.
+ **서비스 제공 불가**: Moonvalley API 서비스가 더 이상 제공되지 않습니다. 이러한 노드는 지원 중단되었으며, 예상대로 작동하지 않을 수 있습니다.
@@ -32,12 +39,12 @@ Moonvalley Marey 리얼리즘 v1.5는 시네마틱 수준의 창작을 목표로
- 복합 장면 레이어링 및 고급 조명 효과: 복잡한 장면에서 전경, 중경, 배경 레이어링을 지원하며 공간 관계를 지능적으로 이해합니다.
- 모션 및 포즈 전송 등 제작 수준의 제어 기능: 합성 장면에 대한 현실적인 조명을 자동으로 생성합니다.
-현재 Moonvalley 관련 파트너 노드는 ComfyUI에서 기본적으로 지원됩니다. 해당 텍스트-to-비디오, 이미지-to-비디오, 비디오-to-비디오 기능을 바로 ComfyUI에서 사용할 수 있습니다.
+현재 Moonvalley 관련 파트너 노드는 ComfyUI에서 기본적으로 지원됩니다. 텍스트 기반 비디오 생성, 이미지 기반 비디오 생성, 비디오 기반 비디오 생성 기능을 바로 ComfyUI에서 사용할 수 있습니다.
-## Moonvalley 텍스트-to-비디오 워크플로우
+## Moonvalley 텍스트 기반 비디오 생성 워크플로우
### 1. 워크플로우 파일 다운로드하기
@@ -54,7 +61,7 @@ Moonvalley Marey 리얼리즘 v1.5는 시네마틱 수준의 창작을 목표로
### 2. 워크플로우 실행 단계 따라하기
-
+
1. 긍정적 프롬프트 입력(비디오에 나타나기를 원하는 내용)
2. 부정적 프롬프트 입력(비디오에 나타나지 않기를 원하는 내용)
@@ -63,7 +70,7 @@ Moonvalley Marey 리얼리즘 v1.5는 시네마틱 수준의 창작을 목표로
5. API가 결과를 반환한 후, `Save Video` 노드에서 생성된 비디오를 확인할 수 있습니다. 비디오는 또한 `ComfyUI/output/` 디렉토리에 저장됩니다
-## Moonvalley 이미지-to-비디오 워크플로우
+## Moonvalley 이미지 기반 비디오 생성 워크플로우
### 1. 워크플로우 파일 다운로드하기
@@ -83,7 +90,7 @@ Moonvalley Marey 리얼리즘 v1.5는 시네마틱 수준의 창작을 목표로
### 2. 워크플로우 실행 단계 따라하기
-
+
1. `Load Image` 노드에서 입력 이미지 로드
2. 긍정적 프롬프트 입력(비디오에 나타나기를 원하는 내용)
@@ -93,9 +100,9 @@ Moonvalley Marey 리얼리즘 v1.5는 시네마틱 수준의 창작을 목표로
6. API가 결과를 반환한 후, `Save Video` 노드에서 생성된 비디오를 확인할 수 있습니다. 비디오는 또한 `ComfyUI/output/` 디렉토리에 저장됩니다
-## Moonvalley 비디오-to-비디오 워크플로우
+## Moonvalley 비디오 기반 비디오 생성 워크플로우
-`Moonvalley Marey 비디오 to 비디오` 노드를 통해 참조 비디오를 입력해 비디오를 다시 그리는 작업을 할 수 있습니다. 참조 비디오의 모션이나 캐릭터 포즈를 활용해 비디오를 생성할 수 있습니다.
+`Moonvalley Marey Video to Video` 노드를 통해 참조 비디오를 입력해 비디오를 다시 그리는 작업을 할 수 있습니다. 참조 비디오의 모션이나 캐릭터 포즈를 활용해 비디오를 생성할 수 있습니다.
### 1. 워크플로우 파일 다운로드하기
@@ -120,7 +127,7 @@ Moonvalley Marey 리얼리즘 v1.5는 시네마틱 수준의 창작을 목표로
### 2. 워크플로우 실행 단계 따라하기
-
+
1. `Load Video` 노드에서 참조 비디오(또는 사용자 자체 소재) 로드
- 최종 비디오 길이가 5초라면, 입력 비디오는 반드시 5초보다 길어야 합니다.
@@ -131,4 +138,4 @@ Moonvalley Marey 리얼리즘 v1.5는 시네마틱 수준의 창작을 목표로
- `Motion Transfer`: 참조 비디오의 모션을 기반으로 생성
- `Pose Transfer`: 참조 비디오의 캐릭터 포즈를 기반으로 생성
5. `Run` 버튼을 클릭하거나, 단축키 `Ctrl(cmd) + Enter`를 사용해 비디오 생성 시작
-6. API가 결과를 반환한 후, `Save Video` 노드에서 생성된 비디오를 확인할 수 있습니다. 비디오는 또한 `ComfyUI/output/` 디렉토리에 저장됩니다
\ No newline at end of file
+6. API가 결과를 반환한 후, `Save Video` 노드에서 생성된 비디오를 확인할 수 있습니다. 비디오는 또한 `ComfyUI/output/` 디렉토리에 저장됩니다
diff --git a/ko/tutorials/partner-nodes/openai/chat.mdx b/ko/tutorials/partner-nodes/openai/chat.mdx
index 6b987daac..e431f97a4 100644
--- a/ko/tutorials/partner-nodes/openai/chat.mdx
+++ b/ko/tutorials/partner-nodes/openai/chat.mdx
@@ -1,6 +1,6 @@
---
title: "OpenAI 채팅 파트너 노드 ComfyUI 공식 예제"
-description: "이 기사에서는 ComfyUI에서 OpenAI 채팅 파트너 노드를 사용하여 대화 기능을 완성하는 방법을 소개합니다."
+description: "이 글에서는 ComfyUI에서 OpenAI 채팅 파트너 노드를 사용하여 대화 기능을 완성하는 방법을 소개합니다."
sidebarTitle: "OpenAI 채팅"
translationSourceHash: e4c0b73e
translationFrom: tutorials/partner-nodes/openai/chat.mdx
@@ -38,14 +38,14 @@ style={{ display: 'inline-block', backgroundColor: '#0078D6', color: '#ffffff',
해당 템플릿에서는 프롬프트 생성을 분석하기 위한 역할 설정을 마련했습니다.
-이미지의 번호를 참고해 기본 텍스트-to-이미지 워크플로우를 완성하실 수 있습니다:
-1. `이미지 로드` 노드에서 AI가 해석하도록 할 이미지를 불러오세요.
-2. (선택사항) 필요하다면 `OpenAI 채팅 고급 옵션`에서 설정을 수정해 특정 작업을 수행하도록 AI에게 지시할 수 있습니다.
-3. `OpenAI 채팅` 노드에서 `프롬프트`를 수정해 대화 프롬프트를 설정하거나, `모델`을 변경해 다른 모델을 선택할 수 있습니다.
-4. `실행` 버튼을 클릭하거나, 단축키 `Ctrl(cmd) + Enter`를 사용해 대화를 실행하세요.
-5. API가 결과를 반환할 때까지 기다린 후, `미리보기 아무나` 노드에서 AI가 반환한 내용을 확인할 수 있습니다.
+이미지의 번호를 참고해 기본 텍스트 기반 이미지 생성 워크플로우 실행을 완성하실 수 있습니다:
+1. `Load Image` 노드에서 AI가 해석하도록 할 이미지를 불러오세요.
+2. (선택사항) 필요하다면 `OpenAI Chat Advanced Options`에서 설정을 수정해 AI가 특정 작업을 수행하도록 할 수 있습니다.
+3. `OpenAI Chat` 노드에서 `Prompt`를 수정해 대화 프롬프트를 설정하거나, `model`을 변경해 다른 모델을 선택할 수 있습니다.
+4. `Run` 버튼을 클릭하거나, 단축키 `Ctrl(cmd) + Enter`를 사용해 대화를 실행하세요.
+5. API가 결과를 반환할 때까지 기다린 후, `Preview Any` 노드에서 AI가 반환한 내용을 확인할 수 있습니다.
### 3. 추가 참고사항
-- 현재 파일 입력 노드인 `OpenAI 채팅 입력 파일`은 먼저 파일을 `ComfyUI/input/` 디렉토리에 업로드해야 합니다. 이 노드는 개선 중이며, 업데이트 이후 템플릿을 수정할 예정입니다.
-- 워크플로우에는 `배치 이미지`를 사용한 예시가 제공됩니다. AI가 해석해야 하는 이미지가 여러 장이라면, 단계 도표를 참고해 마우스 오른쪽 클릭으로 해당 노드 모드를 `항상`으로 설정해 활성화할 수 있습니다.
\ No newline at end of file
+- 현재 파일 입력 노드인 `OpenAI Chat Input Files`는 먼저 파일을 `ComfyUI/input/` 디렉토리에 업로드해야 합니다. 이 노드는 개선 중이며, 업데이트 이후 템플릿을 수정할 예정입니다.
+- 워크플로우에는 `Batch Images`를 사용한 입력 예시가 제공됩니다. AI가 해석해야 하는 이미지가 여러 장이라면, 단계 도표를 참고해 마우스 오른쪽 클릭으로 해당 노드 모드를 `Always`로 설정해 활성화할 수 있습니다.
\ No newline at end of file
diff --git a/ko/tutorials/partner-nodes/openai/dall-e-2.mdx b/ko/tutorials/partner-nodes/openai/dall-e-2.mdx
index c06fcd71b..394c2fdfb 100644
--- a/ko/tutorials/partner-nodes/openai/dall-e-2.mdx
+++ b/ko/tutorials/partner-nodes/openai/dall-e-2.mdx
@@ -3,10 +3,18 @@ title: "OpenAI DALL·E 2 노드"
description: "ComfyUI에서 OpenAI DALL·E 2 파트너 노드를 사용해 이미지를 생성하는 방법을 알아보세요"
sidebarTitle: "DALL·E 2"
icon: "image"
-translationSourceHash: 4a59370b
+translationSourceHash: c25a1cef
translationFrom: tutorials/partner-nodes/openai/dall-e-2.mdx
+translationBlockHashes:
+ "_intro": d944de82
+ "Node Overview": 20167b68
+ "Parameter Description": 20ac288b
+ "Usage Method": 66efdccf
+ "Workflow Examples": 9c7f54e4
+ "FAQs": 2b8e1938
---
+
import Faq from "/snippets/ko/tutorials/partner-nodes/faq.mdx";
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -16,7 +24,7 @@ import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
OpenAI DALL·E 2는 ComfyUI 파트너 노드 시리즈의 일부로, 사용자가 OpenAI의 **DALL·E 2** 모델을 통해 이미지를 생성할 수 있도록 합니다.
이 노드는 다음을 지원합니다:
-- 텍스트-to-image 생성
+- 텍스트 기반 이미지 생성
- 이미지 편집 기능 (마스크를 통한 인페인팅)
## 노드 개요
@@ -55,16 +63,16 @@ OpenAI DALL·E 2는 ComfyUI 파트너 노드 시리즈의 일부로, 사용자
이 파트너 노드는 현재 두 가지 워크플로우를 지원합니다:
-- 텍스트 to 이미지
+- 텍스트 기반 이미지 생성
- 인페인팅
-이미지 to 이미지 워크플로우는 지원되지 않습니다
+이미지 기반 이미지 생성 워크플로우는 지원되지 않습니다
-### 텍스트 to 이미지 예시
+### 텍스트 기반 이미지 생성 예시
-아래 이미지는 간단한 텍스트 to 이미지 워크플로우를 포함하고 있습니다. 해당 이미지를 다운로드하여 ComfyUI에 드래그해 워크플로우를 로드해 보세요.
+아래 이미지는 간단한 텍스트 기반 이미지 생성 워크플로우를 포함하고 있습니다. 해당 이미지를 다운로드하여 ComfyUI에 드래그해 워크플로우를 로드해 보세요.

해당 예시는 매우 간단합니다.
@@ -92,7 +100,7 @@ DALL·E 2는 이미지 편집 기능을 지원하며, 마스크를 사용해 교
이 워크플로우는 비교적 간단하므로, 직접 해당 워크플로우를 수동으로 구현하고 싶다면 아래 단계를 따라 해보세요:
1. `Load Image` 노드를 사용해 이미지를 로드하세요
-2. 로드된 이미지 노드를 오른쪽 클릭한 뒤 `MaskEditor`를 선택하세요
+2. `Load Image` 노드를 오른쪽 클릭한 뒤 `MaskEditor`를 선택하세요
3. 마스크 에디터에서 붓을 사용해 다시 그려야 할 영역을 그려주세요
4. 로드된 이미지를 **OpenAI DALL·E 2** 노드의 `image` 입력에 연결하세요
5. 마스크를 **OpenAI DALL·E 2** 노드의 `mask` 입력에 연결하세요
@@ -109,4 +117,4 @@ DALL·E 2는 이미지 편집 기능을 지원하며, 마스크를 사용해 교
## FAQ
-
\ No newline at end of file
+
diff --git a/ko/tutorials/partner-nodes/openai/dall-e-3.mdx b/ko/tutorials/partner-nodes/openai/dall-e-3.mdx
index 11189c2f1..46c6a83dd 100644
--- a/ko/tutorials/partner-nodes/openai/dall-e-3.mdx
+++ b/ko/tutorials/partner-nodes/openai/dall-e-3.mdx
@@ -3,10 +3,17 @@ title: "OpenAI DALL·E 3 노드"
description: "ComfyUI에서 OpenAI DALL·E 3 파트너 노드를 사용해 이미지를 생성하는 방법을 알아보세요"
sidebarTitle: "DALL·E 3"
icon: "image"
-translationSourceHash: dcefc22c
+translationSourceHash: 90ece2c3
translationFrom: tutorials/partner-nodes/openai/dall-e-3.mdx
+translationBlockHashes:
+ "_intro": 1c583719
+ "Node Overview": ac2f609a
+ "Parameter Details": 66c93a93
+ "Usage Examples": d1a95950
+ "FAQs": 2b8e1938
---
+
import Faq from "/snippets/ko/tutorials/partner-nodes/faq.mdx";
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -58,4 +65,4 @@ DALL·E 3는 OpenAI의 최신 이미지 생성 모델로, 텍스트 프롬프트
## FAQ
-
\ No newline at end of file
+
diff --git a/ko/tutorials/partner-nodes/openai/gpt-image-1.mdx b/ko/tutorials/partner-nodes/openai/gpt-image-1.mdx
index 39375aae3..8644349c1 100644
--- a/ko/tutorials/partner-nodes/openai/gpt-image-1.mdx
+++ b/ko/tutorials/partner-nodes/openai/gpt-image-1.mdx
@@ -3,10 +3,17 @@ title: "OpenAI GPT-Image-1 노드"
description: "ComfyUI에서 이미지를 생성하는 데 OpenAI GPT-Image-1 파트너 노드를 사용하는 방법을 알아보세요."
sidebarTitle: "GPT-Image-1"
icon: "image"
-translationSourceHash: 8fe84880
+translationSourceHash: b11b9f71
translationFrom: tutorials/partner-nodes/openai/gpt-image-1.mdx
+translationBlockHashes:
+ "_intro": 6fee4311
+ "Node Overview": 7ea47c92
+ "Parameter Description": b97d97e4
+ "Usage Examples": 8152ff11
+ "FAQs": 2b8e1938
---
+
import Faq from "/snippets/ko/tutorials/partner-nodes/faq.mdx";
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -108,4 +115,4 @@ GPT-Image-1은 이미지 편집 기능도 지원하며, 마스크를 사용해
## FAQ
-
\ No newline at end of file
+
diff --git a/ko/tutorials/partner-nodes/openai/gpt-image-2.mdx b/ko/tutorials/partner-nodes/openai/gpt-image-2.mdx
index 7e87b5327..01ead003b 100644
--- a/ko/tutorials/partner-nodes/openai/gpt-image-2.mdx
+++ b/ko/tutorials/partner-nodes/openai/gpt-image-2.mdx
@@ -3,17 +3,25 @@ title: "OpenAI GPT-Image-2 노드"
description: "ComfyUI에서 이미지를 생성하는 데 OpenAI GPT-Image-2 파트너 노드를 사용하는 방법을 알아보세요"
sidebarTitle: "GPT-Image-2"
icon: "image"
-translationSourceHash: 8aac9bf2
+translationSourceHash: b99cdc88
translationFrom: tutorials/partner-nodes/openai/gpt-image-2.mdx
+translationBlockHashes:
+ "_intro": 9f80a1fc
+ "Node Overview": 84ac2d88
+ "Getting Started": ab5a2231
+ "Available workflows": 08afb96c
+ "Key Capabilities": df71dcca
+ "Hybrid Pipelines": 9c6479f0
---
+
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
OpenAI GPT-Image-2(`gpt-image-2`)는 ComfyUI에서 파트너 노드를 통해 이용 가능한 OpenAI의 최신 이미지 모델입니다. 이 모델은 생성에 앞서 '추론'을 수행하는 최초의 OpenAI 이미지 모델로, 일회성 샘플링 대신 구성 계획을 세우고 작업을 점검하며 반복적으로 수정합니다.
이 노드는 다음을 지원합니다:
-- 밀도 높은 텍스트, UI 요소, 아이콘, 인포그래픽, 지도, 슬라이드, 만화 컷 등을 강력하게 처리하는 텍스트-to-이미지 생성
+- 밀도 높은 텍스트, UI 요소, 아이콘, 인포그래픽, 지도, 슬라이드, 만화 컷 등을 강력하게 처리하는 텍스트 → 이미지 생성
- 최대 2K 해상도에서 높은 구조적 정확도를 유지하는 이미지 편집
- 하나의 프롬프트로부터 최대 8개의 일관된 이미지 생성, 캐릭터와 객체의 연속성을 보존
@@ -30,35 +38,35 @@ GPT-Image-2는 노드 라이브러리의 **OpenAI GPT Image 1.5** 노드에서 `
2. 노드 라이브러리에서 **OpenAI GPT Image 1.5**를 검색하여 노드를 추가하세요.
3. `model` 필드를 `gpt-image-2`로 설정하세요.
-## 사용 가능한 워크플로우
+## 사용 가능한 워크플로
-### 텍스트-to-이미지(T2I)
+### 텍스트 → 이미지 (T2I)
GPT-Image-2의 추론 기반 구성으로 텍스트 프롬프트를 통해 이미지를 생성하세요.
-
- Comfy Cloud에서 바로 텍스트-to-이미지 워크플로우를 시험해 보세요.
-
+
+ Comfy Cloud에서 텍스트 → 이미지 워크플로를 즉시 시험해 보세요.
+
-
- 워크플로우 JSON을 다운로드하세요.
-
+
+ 워크플로 JSON을 다운로드하세요.
+
-
+
### 이미지 편집
최대 2K 해상도에서 높은 구조적 정확도로 입력 이미지를 편집하세요.
- Comfy Cloud에서 바로 이미지 편집 워크플로우를 시험해 보세요.
-
+ Comfy Cloud에서 이미지 편집 워크플로를 즉시 시험해 보세요.
+
-
- 워크플로우 JSON을 다운로드하세요.
-
+
+ 워크플로 JSON을 다운로드하세요.
+
-
+

@@ -68,7 +76,7 @@ GPT-Image-2의 추론 기반 구성으로 텍스트 프롬프트를 통해 이
### 추론 기반 생성
-GPT-Image-2는 렌더링 전에 구성 계획을 세웁니다. 이는 역사적으로 이미지 모델이 잘 작동하지 않았던 프롬프트들—예를 들어, 11pt 헬베티카체로 작성된 일곱 항목의 글머리표가 중앙에 배치된 포스터—에 적합하며, 밀도 높은 텍스트, 작은 UI 요소, 아이콘, 인포그래픽, 지도, 슬라이드 등에도 깔끔한 결과를 제공합니다.
+GPT-Image-2는 렌더링 전에 구성 계획을 세웁니다. 이는 역사적으로 이미지 모델이 잘 작동하지 않았던 프롬프트들(예를 들어, 11pt 헬베티카체로 작성된 일곱 항목의 글머리표가 중앙에 배치된 포스터)에 적합하며, 밀도 높은 텍스트, 작은 UI 요소, 아이콘, 인포그래픽, 지도, 슬라이드 등에도 깔끔한 결과를 제공합니다.
### 중요한 부분을 보존하는 이미지 편집
@@ -76,10 +84,10 @@ GPT-Image-2는 구조적 정확도를 유지하면서 표적 편집을 처리하
### 하나의 프롬프트당 최대 8개의 일관된 이미지
-모델은 하나의 프롬프트로부터 최대 **8개의 서로 다른 이미지를 반환**하며, 시리즈 전체에서 캐릭터와 객체의 연속성을 유지합니다. 이는 스토리보드, 참고 자료, 캐릭터 변형, 제품 변형 작업에 유용하며, 시드 잠금이나 프롬프트 조작 없이 바로 `Save Image` 노드에 연결하거나 이후 비디오 워크플로우로 연결할 수 있습니다.
+모델은 하나의 프롬프트로부터 최대 **8개의 서로 다른 이미지를 반환**하며, 시리즈 전체에서 캐릭터와 객체의 연속성을 유지합니다. 이는 스토리보드, 참고 자료, 캐릭터 변형, 제품 변형 작업에 유용하며, 시드 잠금이나 프롬프트 조작 없이 바로 `Save Image` 노드에 연결하거나 이후 비디오 워크플로로 연결할 수 있습니다.

## 하이브리드 파이프라인
-GPT-Image-2는 자연스럽게 하이브리드 파이프라인에 통합됩니다: 텍스트가 많은 헤로 프레임에는 GPT-Image-2를 사용한 후, 현지 모델로 넘겨 스케일업, 스타일화, 비디오 생성을 진행하세요—각 단계에 가장 적합한 모델을 한 그래프 내에서 사용할 수 있습니다.
\ No newline at end of file
+GPT-Image-2는 자연스럽게 하이브리드 파이프라인에 통합됩니다: 텍스트가 많은 헤로 프레임에는 GPT-Image-2를 사용한 후, 현지 모델로 넘겨 업스케일링, 스타일화, 비디오 생성을 진행하세요. 각 단계에 가장 적합한 모델을 한 그래프 내에서 사용할 수 있습니다.
diff --git a/ko/tutorials/partner-nodes/openrouter/llm.mdx b/ko/tutorials/partner-nodes/openrouter/llm.mdx
index bed596af8..7fbc1f3c1 100644
--- a/ko/tutorials/partner-nodes/openrouter/llm.mdx
+++ b/ko/tutorials/partner-nodes/openrouter/llm.mdx
@@ -2,10 +2,17 @@
title: "OpenRouter LLM 파트너 노드 ComfyUI 공식 예시"
description: "ComfyUI에서 OpenRouter LLM 파트너 노드를 사용해 여러 프론티어 모델을 통해 채팅, 추론, 비전 및 웹 기반 답변을 제공하세요."
sidebarTitle: "OpenRouter LLM"
-translationSourceHash: 20c3c440
+translationSourceHash: f486f311
translationFrom: tutorials/partner-nodes/openrouter/llm.mdx
+translationBlockHashes:
+ "_intro": 7ac67bac
+ "What you can do": 73357775
+ "Supported models": dcb9f489
+ "Model-specific inputs": 81c6c59f
+ "Example workflow (`api_openrouter_llm`)": f1dbfe6a
---
+
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -74,7 +81,7 @@ import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
-이 샘플에서는 워크플로우가 참조 이미지를 분석하고 하위 이미지 노드를 위한 텍스트-to-image 프롬프트를 반환합니다. **이미지 로드**를 생략하거나, 프롬프트를 변경하거나, 그래프를 완전히 다시 구성해 자신만의 사용 사례에 맞게 조정할 수 있습니다.
+이 샘플에서는 워크플로우가 참조 이미지를 분석하고 하위 이미지 노드를 위한 텍스트 기반 이미지 생성 프롬프트를 반환합니다. **이미지 로드**를 생략하거나, 프롬프트를 변경하거나, 그래프를 완전히 다시 구성해 자신만의 사용 사례에 맞게 조정할 수 있습니다.
템플릿을 참고로 사용한다면 일반적인 실행 과정은 다음과 같습니다:
@@ -91,4 +98,4 @@ import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
- **시드** — `0`으로 설정해 생략 가능; 대부분의 모델은 이를 단순히 힌트로 취급합니다
- 참조 이미지와 비디오는 워크플로우 실행 시 자동으로 업로드됩니다; ComfyUI 이미지/비디오 출력을 노드에만 연결하시면 됩니다
-- 모델별 가격은 [가격 페이지의 OpenRouter](/ko/tutorials/partner-nodes/pricing#openrouter)를 참조하세요
\ No newline at end of file
+- 모델별 가격은 [가격 페이지의 OpenRouter](/ko/tutorials/partner-nodes/pricing#openrouter)를 참조하세요
diff --git a/ko/tutorials/partner-nodes/overview.mdx b/ko/tutorials/partner-nodes/overview.mdx
index 81789e80a..bf55ec225 100644
--- a/ko/tutorials/partner-nodes/overview.mdx
+++ b/ko/tutorials/partner-nodes/overview.mdx
@@ -2,10 +2,22 @@
title: "파트너 노드"
description: "이 기사에서는 ComfyUI의 파트너 노드와 관련 정보를 소개하겠습니다."
sidebarTitle: "개요"
-translationSourceHash: dff896f5
+translationSourceHash: 1fa2edb3
translationFrom: tutorials/partner-nodes/overview.mdx
+translationBlockHashes:
+ "_intro": 9eeacfb4
+ "What are Partner Nodes?": b2605427
+ "Log in with ComfyUI Account API Key on non-whitelisted websites": b7dd6ea1
+ "Use ComfyUI Account API Key Integration to call paid model Partner nodes": a7c05080
+ "Advantages of Partner Nodes": 94993336
+ "Pricing": 4e0967da
+ "About Open Source and Opt-in": 77eda030
+ "How to disable partner nodes completely": 6495c3e3
+ "Use Cases": dcc9082c
+ "FAQs": 2b8e1938
---
+
import 요구사항 from "/snippets/ko/tutorials/partner-nodes/requirements.mdx";
import FAQ from "/snippets/ko/tutorials/partner-nodes/faq.mdx";
@@ -93,4 +105,4 @@ pause
## FAQ
-
\ No newline at end of file
+
diff --git a/ko/tutorials/partner-nodes/pricing.mdx b/ko/tutorials/partner-nodes/pricing.mdx
index 6fe10a35f..fe2dc2351 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: 15b285e0
+translationSourceHash: 5df0676f
translationFrom: tutorials/partner-nodes/pricing.mdx
translationBlockHashes:
"_intro": 845592d4
@@ -11,14 +11,12 @@ translationBlockHashes:
"Beeble": d1b19f61
"BFL": 3ff6bff0
"Bria": 232ed8f6
- "ByteDance": 19edbf0b
+ "ByteDance": 5d6f5635
"ElevenLabs": 166ecbf9
"Magnific": 4000e7e1
- "Google": e23c0b65
+ "Google": 21dc3165
"HappyHorse": bceb584a
- "Hitpaw": 320c0537
- "Ideogram": d9748301
- "Krea": fb20c257
+ "Hitpaw": e83827b3
"Kling": cdf2c899
"Lightricks": 4870964f
"Luma": 655207a5
@@ -33,7 +31,6 @@ translationBlockHashes:
"Rodin 3D": 2eb41834
"Runway": 94ec479a
"Sonilo": 48b9c581
- "Stability AI": ddca722f
"Tencent": f1efbad9
"Topaz": 3eabf417
"Tripo": 0d9ddbf9
@@ -49,6 +46,11 @@ translationBlockHashes:
+
+
+
+
+
다음 표에는 현재 파트너 노드의 가격 정책이 나와 있습니다. 모든 가격은 크레딧 단위로 표시됩니다.
211 크레딧 = 1 USD
@@ -133,15 +135,18 @@ Anthropic 파트너 노드는 공개 Anthropic API와 동일한 기본 USD 사
선택적 이미지와 비디오는 입력 가격으로 입력 토큰이 추가됩니다.
-### 이미지: ByteDance Seedream 4.5 & 5.0
+### 이미지: ByteDance Seedream
성공적으로 생성된 이미지당 가격입니다.
-| 모델 | 크레딧 / 이미지 |
-| :---------------------------------------- | :-------------: |
-| seedream 5.0 lite (`seedream-5-0-260128`) | 7.39 |
-| seedream-4-5-251128 | 8.44 |
-| seedream-4-0-250828 | 6.33 |
+| 모델 | 크레딧 / 이미지 |
+| :-------------------------------------------------- | :------------------- |
+| seedream 5.0 pro (`seedream-5-0-pro-260628`) | 9.50 (1K) / 18.99 (2K) |
+| seedream 5.0 lite (`seedream-5-0-260128`) | 7.39 |
+| seedream-4-5-251128 | 8.44 |
+| seedream-4-0-250828 | 6.33 |
+
+Seedream 5.0 Pro는 해상도 기반 요금제를 사용합니다: **1K** (≤2.36 MP, **9.50 크레딧**) 및 **2K** (>2.36 MP, **18.99 크레딧**). 각 요청의 첫 번째 이미지는 **무료**입니다. 첫 번째 이미지 이후의 추가 이미지(출력 이미지와 입력/참조 이미지 모두 포함)마다 **0.63 크레딧**이 추가됩니다.
### 이미지: ByteDance 이미지 (지원 중단됨)
@@ -218,6 +223,14 @@ Anthropic 파트너 노드는 공개 Anthropic API와 동일한 기본 USD 사
| seedance-1-0-lite-i2v-250428 | 480p | 35.87 – 37.98 |
| seedance-1-0-lite-i2v-250428 | 720p | 78.07 – 86.51 |
+### 오디오: ByteDance Seed Audio 1.0
+
+생성된 오디오 1분당. 총 크레딧 = **크레딧 / 분 × 시간(분)**.
+
+| 노드 | 크레딧 |
+| :--- | :------ |
+| ByteDanceSeedAudio | ~45.26 / 분 |
+
## ElevenLabs
| 노드 | 크레딧 |
@@ -419,27 +432,21 @@ Anthropic 파트너 노드는 공개 Anthropic API와 동일한 기본 USD 사
| <8MP | 10.55 |
| 8–12MP | 12.66 |
| 12–24MP | 16.88 |
-| 24–34MP | 31.65 |
-
-## Ideogram
-
-| 노드 | 터보 | 캐릭터 참조 | 렌더링 속도 | 이미지당 크레딧 |
-| :--- | :--- | :---------- | :---------- | :-------------- |
-| Ideogram V1 | 거짓 | — | — | 18.1 |
-| Ideogram V1 | 참 | — | — | 6.03 |
-| Ideogram V2 | 거짓 | — | — | 24.14 |
-| Ideogram V2 | 참 | — | — | 15.09 |
-| Ideogram V3 | — | 아니요 | TURBO | 9.05 |
-| Ideogram V3 | — | 아니요 | DEFAULT | 18.1 |
-| Ideogram V3 | — | 아니요 | QUALITY | 27.16 |
-| Ideogram V3 | — | 예 | TURBO | 30.17 |
-| Ideogram V3 | — | 예 | DEFAULT | 45.26 |
-| Ideogram V3 | — | 예 | QUALITY | 60.35 |
-| Ideogram V4 | — | — | TURBO | 9.05 |
-| Ideogram V4 | — | — | DEFAULT | 18.1 |
-| Ideogram V4 | — | — | QUALITY | 30.17 |
-
-## Krea
+| 24–34MP | 31.65 |
+|
+|## Ideogram
+|
+|| 노드 | 터보 | 캐릭터 참조 | 렌더링 속도 | 이미지당 크레딧 |
+|| :--- | :--- | :---------- | :---------- | :-------------- |
+|| Ideogram V1 | 거짓 | — | — | 18.1 |
+|| Ideogram V1 | 참 | — | — | 6.03 |
+|| Ideogram V2 | 거짓 | — | — | 24.14 |
+|| Ideogram V2 | 참 | — | — | 15.09 |
+|| Ideogram V4 | — | — | TURBO | 9.05 |
+|| Ideogram V4 | — | — | DEFAULT | 18.1 |
+|| Ideogram V4 | — | — | QUALITY | 30.17 |
+|
+|## Krea
| 모델 | 스타일 참조 | 무드보드 | 크레딧/회 |
| :----------------- | :----------- | :------- | :-------- |
@@ -849,25 +856,6 @@ Sonilo 텍스트로 음악 생성: 총 크레딧 = (크레딧/초) × `duration`
| Sonilo 비디오로 음악 생성 | 1.9 /초 |
| Sonilo 텍스트로 음악 생성 | 0.5275 /초 |
-## Stability AI
-
-### 이미지
-
-| 노드 | 모델 | 크레딧 |
-| :---------------------------------------- | :----------- | :----------- |
-| Stability AI Stable Image Ultra | | 16.88 / 실행 |
-| Stability AI Stable Diffusion 3.5 Image | sd3.5-large | 13.715 / 실행 |
-| | sd3.5-medium | 7.385 / 실행 |
-| Stability AI 업스케일 보수적 | | 84.4 / 실행 |
-| Stability AI 업스케일 크리에이티브 | | 126.6 / 실행 |
-| Stability AI 초고속 업스케일 | | 4.22 / 실행 |
-
-### 오디오
-
-| 모델 | 크레딧 |
-| :---------------- | :--------- |
-| stable-audio-2.5 | 42.2 / 실행 |
-
## Tencent
**`3.1`**은(는) **`3.0`**과(와) 동일한 요금을 사용하지만 LowPoly를 지원하지 않습니다.
diff --git a/ko/tutorials/partner-nodes/recraft/recraft-v4.mdx b/ko/tutorials/partner-nodes/recraft/recraft-v4.mdx
index c7df8bf3d..4eb844625 100644
--- a/ko/tutorials/partner-nodes/recraft/recraft-v4.mdx
+++ b/ko/tutorials/partner-nodes/recraft/recraft-v4.mdx
@@ -1,11 +1,18 @@
---
title: "ComfyUI에서 Recraft V4 이미지 및 벡터 생성"
-description: "ComfyUI에서 Recraft V4를 사용해 전문적인 이미지와 제작 준비가 완료된 벡터를 생성하세요."
+description: "ComfyUI에서 Recraft V4로 전문적인 이미지와 제작 준비가 완료된 벡터 생성하기"
sidebarTitle: "Recraft V4"
-translationSourceHash: 39d1f8cb
+translationSourceHash: fe0eaf6f
translationFrom: tutorials/partner-nodes/recraft/recraft-v4.mdx
+translationBlockHashes:
+ "_intro": 8e346040
+ "What's new in V4": 6bdb9842
+ "Recraft V4 text to image workflow": 7273fda3
+ "Recraft V4 text to vector workflow": d322ba5f
+ "Additional notes": d5f3f109
---
+
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -24,14 +31,14 @@ Recraft V4는 전문 디자인 작업을 위해 개발된 새로운 이미지
- **프롬프트 정확성** — 공간 관계, 재질, 반사 등 세부적인 창작 방향을 정확히 따릅니다
- **V4 Pro** — 동일한 모델이지만 더 높은 해상도. 인쇄 및 대형 작업용으로 2048×2048 해상도로 출력됩니다
-## Recraft V4 텍스트-to-이미지 워크플로우
+## Recraft V4 텍스트 기반 이미지 생성 워크플로우
Comfy Cloud에서 열기
- JSON 다운로드 또는 템플릿 라이브러리에서 "Recraft V4 텍스트-to-이미지" 검색
+ JSON 다운로드 또는 템플릿 라이브러리에서 "Recraft V4 텍스트 기반 이미지 생성" 검색
### 워크플로우 실행 단계
@@ -53,7 +60,7 @@ Recraft V4는 전문 디자인 작업을 위해 개발된 새로운 이미지

*어안 렌즈로 빈 콘크리트 수영장 안에서 촬영—쉐어링 보머와 투명 PVC 쉘을 입은 남자가 카메라 바로 위 수영장 가장자리에서 킥플립 중이며, 보드가 발에서 떨어져나가고, 레이어드된 옷이 공중에 떠서 퍼지며 그 아래의 하키 저지가 드러납니다.*
-## Recraft V4 텍스트-to-벡터 워크플로우
+## Recraft V4 텍스트 기반 벡터 생성 워크플로우
Recraft V4는 직접 제작 준비가 완료된 SVG 벡터 출력을 생성할 수 있습니다. 이는 로고, 아이콘, 브랜드 자산 등 확장성이 필요한 경우 유용합니다. SVG 출력은 일러스트레이터, 피그마, 스케치와 호환됩니다.
@@ -62,7 +69,7 @@ Recraft V4는 직접 제작 준비가 완료된 SVG 벡터 출력을 생성할
- JSON 다운로드 또는 템플릿 라이브러리에서 "Recraft V4 텍스트-to-벡터" 검색
+ JSON 다운로드 또는 템플릿 라이브러리에서 "Recraft V4 텍스트 기반 벡터 생성" 검색
### 벡터 쇼케이스
@@ -79,4 +86,4 @@ Recraft V4는 직접 제작 준비가 완료된 SVG 벡터 출력을 생성할
## 추가 참고사항
- **Recraft Style**: 사실적인 사진, 디지털 아트, 로고 디자인 등 다양한 사전 설정 스타일 제공
-- **시드 파라미터**: 노드가 다시 실행될지 여부를 결정하는 데만 사용되며, 실제 생성 결과에는 시드 값이 영향을 미치지 않습니다
\ No newline at end of file
+- **시드 파라미터**: 노드가 다시 실행될지 여부를 결정하는 데만 사용되며, 실제 생성 결과에는 시드 값이 영향을 미치지 않습니다
diff --git a/ko/tutorials/partner-nodes/reve/reve-image.mdx b/ko/tutorials/partner-nodes/reve/reve-image.mdx
index 9f65c7bf1..ca9343d40 100644
--- a/ko/tutorials/partner-nodes/reve/reve-image.mdx
+++ b/ko/tutorials/partner-nodes/reve/reve-image.mdx
@@ -2,10 +2,19 @@
title: "ComfyUI에서 Reve 이미지 생성, 편집 및 리믹스하기"
description: "ComfyUI에서 Reve Partner 노드를 사용해 최대 4K 해상도로 고품질 이미지 생성, 편집 및 리믹스하는 방법을 알아보세요."
sidebarTitle: "Reve 이미지"
-translationSourceHash: 1b89bd5b
+translationSourceHash: 66fc1d91
translationFrom: tutorials/partner-nodes/reve/reve-image.mdx
+translationBlockHashes:
+ "_intro": adb16c19
+ "About Reve": 2f59b02b
+ "Reve Create": d7af8790
+ "Reve Edit": 930b3cb7
+ "Reve Remix": 899ca103
+ "Get started": fdc81c9f
+ "Available nodes": 5927bf70
---
+
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -144,4 +153,4 @@ Transfer the color grading and aesthetic from image 2 onto image 1.
|------|------|-------------|
| **Reve Image Create** | 텍스트-to-이미지 | 텍스트 프롬프트로부터 최대 4K 해상도의 이미지를 생성합니다 |
| **Reve Image Edit** | 이미지 편집 | 기존 이미지의 조명, 색감 조정 및 모션을 수정합니다 |
-| **Reve Image Remix** | 이미지 리믹스 | 참조 이미지의 시각적 속성을 목표 이미지에 전송합니다 |
\ No newline at end of file
+| **Reve Image Remix** | 이미지 리믹스 | 참조 이미지의 시각적 속성을 목표 이미지에 전송합니다 |
diff --git a/ko/tutorials/partner-nodes/rodin/model-generation.mdx b/ko/tutorials/partner-nodes/rodin/model-generation.mdx
index d38738b8c..ad386d281 100644
--- a/ko/tutorials/partner-nodes/rodin/model-generation.mdx
+++ b/ko/tutorials/partner-nodes/rodin/model-generation.mdx
@@ -2,10 +2,16 @@
title: "Rodin 파트너 노드 모델 생성 ComfyUI 공식 예제"
description: "이 글에서는 ComfyUI에서 Rodin 노드의 API를 사용해 모델을 생성하는 방법을 소개합니다."
sidebarTitle: "모델 생성"
-translationSourceHash: 87f76228
+translationSourceHash: 8d58740b
translationFrom: tutorials/partner-nodes/rodin/model-generation.mdx
+translationBlockHashes:
+ "_intro": a35f46e8
+ "Single-view Model Generation Workflow": d982caac
+ "Multi-view Model Generation Workflow": 8a727575
+ "Other Related Nodes": c885ce31
---
+
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -42,7 +48,7 @@ style={{ display: 'inline-block', backgroundColor: '#0078D6', color: '#ffffff',

-이미지의 번호를 참고해 기본적인 텍스트-to-image 워크플로우를 완료할 수 있습니다:
+이미지의 번호를 참고해 기본적인 텍스트 기반 이미지 생성 워크플로우를 완료할 수 있습니다:
1. `Load Image` 노드에서 제공된 입력 이미지를 로드하세요.
2. (선택사항) `Rodin 3D Generate - Regular Generate`에서 해당 매개변수를 조정하세요.
- polygon_count: 다양한 폴리곤 개수를 설정할 수 있으며, 값이 높을수록 모델이 더 부드럽고 세밀해집니다.
@@ -78,7 +84,7 @@ style={{ display: 'inline-block', backgroundColor: '#0078D6', color: '#ffffff',

-이미지의 번호를 참고해 기본적인 텍스트-to-image 워크플로우를 완료할 수 있습니다:
+이미지의 번호를 참고해 기본적인 텍스트 기반 이미지 생성 워크플로우를 완료할 수 있습니다:
1. `Load Image` 노드에서 제공된 입력 이미지를 로드하세요.
2. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 모델 생성을 실행하세요. 워크플로우가 완료된 후, 해당 모델은 자동으로 `ComfyUI/output/Rodin` 디렉토리에 저장됩니다.
3. `Preview 3D` 노드에서 메뉴를 확장하세요.
@@ -88,4 +94,4 @@ style={{ display: 'inline-block', backgroundColor: '#0078D6', color: '#ffffff',
현재 Rodin은 ComfyUI에 다양한 유형의 모델 생성 노드를 제공하며, 해당 입력 조건은 이번 글에서 소개한 워크플로우와 동일하므로 필요에 따라 활성화할 수 있습니다. 또한, 우리는 해당 템플릿에 맞는 노드를 제공했으니, 필요에 따라 해당 노드 모드를 수정해 활성화할 수도 있습니다.
-
\ No newline at end of file
+
diff --git a/ko/tutorials/partner-nodes/runway/image-generation.mdx b/ko/tutorials/partner-nodes/runway/image-generation.mdx
index c64d24521..3fe2720d7 100644
--- a/ko/tutorials/partner-nodes/runway/image-generation.mdx
+++ b/ko/tutorials/partner-nodes/runway/image-generation.mdx
@@ -1,60 +1,65 @@
---
title: "Runway 파트너 노드 이미지 생성 ComfyUI 공식 예제"
-description: "이 기사에서는 ComfyUI에서 Runway 노드를 사용해 텍스트-to-image 및 참조-to-image 생성을 하는 방법을 소개합니다."
+description: "이 기사에서는 ComfyUI에서 Runway 노드를 사용해 텍스트 기반 이미지 생성 및 레퍼런스 기반 이미지 생성을 하는 방법을 소개합니다."
sidebarTitle: "Runway 이미지 생성"
-translationSourceHash: f4a05542
+translationSourceHash: 1e65472c
translationFrom: tutorials/partner-nodes/runway/image-generation.mdx
+translationBlockHashes:
+ "_intro": 494c5eac
+ "Runway Image Text-to-Image Workflow": 3fc44262
+ "Runway Image Reference-to-Image Workflow": cc84e030
---
+
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
Runway는 생성형 AI에 중점을 둔 회사로, 강력한 이미지 생성 기능을 제공합니다. 이 회사의 모델들은 스타일 전환, 이미지 확장, 디테일 제어와 같은 기능을 지원합니다. 현재 ComfyUI는 Runway API를 통합하여, ComfyUI에서 관련 노드를 직접 사용해 이미지를 생성할 수 있게 되었습니다.
-이 가이드에서는 다음 워크플로우를 안내해 드립니다:
-- 텍스트-to-image
-- 참조-to-image
+이 가이드에서는 다음 워크플로를 안내해 드립니다:
+- 텍스트 기반 이미지 생성
+- 레퍼런스 기반 이미지 생성
-## Runway 이미지 텍스트-to-image 워크플로우
+## Runway 텍스트 기반 이미지 생성 워크플로
-### 1. 워크플로우 파일 다운로드
+### 1. 워크플로 파일 다운로드
-아래 이미지는 `메타데이터`에 워크플로우 정보가 포함되어 있습니다. 해당 워크플로우를 다운로드한 후 ComfyUI로 드래그해 대응하는 워크플로우를 불러오세요.
+아래 이미지는 `메타데이터`에 워크플로 정보가 포함되어 있습니다. 해당 워크플로를 다운로드한 후 ComfyUI로 드래그해 대응하는 워크플로를 불러오세요.
-
+
-### 2. 워크플로우를 단계별로 완료하세요
+### 2. 워크플로를 단계별로 완료하세요
-
+
-이미지에 표시된 번호를 참고해 기본적인 텍스트-to-image 워크플로우를 완료할 수 있습니다:
-1. `Runway 텍스트-to-image` 노드에서 `prompt` 필드에 프롬프트를 입력하세요.
-2. (선택사항) `ratio` 설정을 조정해 다양한 출력 비율을 설정하세요.
+이미지에 표시된 번호를 참고해 기본적인 텍스트 기반 이미지 생성 워크플로를 완료할 수 있습니다:
+1. `Runway Text to Image` 노드에서 `prompt` 필드에 프롬프트를 입력하세요.
+2. (선택사항) `ratio` 설정을 조정하여 다양한 출력 비율을 설정하세요.
3. `Run` 버튼을 클릭하거나, 단축키 `Ctrl(cmd) + Enter`를 사용해 이미지 생성을 실행하세요.
-4. API가 결과를 반환할 때까지 기다린 후, `Save Image` 노드에서 생성된 이미지를 확인할 수 있습니다(마우스 오른쪽 클릭으로 저장). 해당 이미지는 또한 `ComfyUI/output/` 디렉토리에 저장됩니다.
+4. API가 결과를 반환할 때까지 기다린 후, `Save Image` 노드에서 생성된 이미지를 확인할 수 있습니다(마우스 오른쪽 클릭으로 저장). 해당 이미지는 `ComfyUI/output/` 디렉토리에 저장됩니다.
-## Runway 이미지 참조-to-image 워크플로우
+## Runway 레퍼런스 기반 이미지 생성 워크플로
-### 1. 워크플로우 및 입력 이미지 다운로드
+### 1. 워크플로 및 입력 이미지 다운로드
-아래 이미지는 `메타데이터`에 워크플로우 정보가 포함되어 있습니다. 해당 워크플로우를 다운로드한 후 ComfyUI로 드래그해 대응하는 워크플로우를 불러오세요.
+아래 이미지는 `메타데이터`에 워크플로 정보가 포함되어 있습니다. 해당 워크플로를 다운로드한 후 ComfyUI로 드래그해 대응하는 워크플로를 불러오세요.
-
+
입력용 이미지를 아래에서 다운로드하세요.
-
+
-### 2. 워크플로우를 단계별로 완료하세요
+### 2. 워크플로를 단계별로 완료하세요
-
+
-이미지에 표시된 번호를 참고해 기본적인 참조-to-image 워크플로우를 완료할 수 있습니다:
+이미지에 표시된 번호를 참고해 기본적인 레퍼런스 기반 이미지 생성 워크플로를 완료할 수 있습니다:
-1. `Load Image` 노드에서 제공된 입력 이미지를 로드하세요.
-2. `Runway 텍스트-to-image` 노드에서 `prompt` 필드에 프롬프트를 입력하고 크기를 조정하세요.
+1. `Load Image` 노드에서 제공된 입력 이미지를 불러오세요.
+2. `Runway Text to Image` 노드에서 `prompt` 필드에 프롬프트를 입력하고 크기를 조정하세요.
3. `Run` 버튼을 클릭하거나, 단축키 `Ctrl(cmd) + Enter`를 사용해 이미지 생성을 실행하세요.
-4. API가 결과를 반환할 때까지 기다린 후, `Save Image` 노드에서 생성된 이미지를 확인할 수 있습니다(마우스 오른쪽 클릭으로 저장). 해당 이미지는 또한 `ComfyUI/output/` 디렉토리에 저장됩니다.
\ No newline at end of file
+4. API가 결과를 반환할 때까지 기다린 후, `Save Image` 노드에서 생성된 이미지를 확인할 수 있습니다(마우스 오른쪽 클릭으로 저장). 해당 이미지는 `ComfyUI/output/` 디렉토리에 저장됩니다.
diff --git a/ko/tutorials/partner-nodes/runway/video-generation.mdx b/ko/tutorials/partner-nodes/runway/video-generation.mdx
index 07c2cdef3..aab91e761 100644
--- a/ko/tutorials/partner-nodes/runway/video-generation.mdx
+++ b/ko/tutorials/partner-nodes/runway/video-generation.mdx
@@ -2,10 +2,16 @@
title: "Runway 파트너 노드 동영상 생성 ComfyUI 공식 예제"
description: "이 글에서는 ComfyUI에서 Runway 노드를 사용해 동영상 생성 워크플로우를 어떻게 활용하는지 소개합니다."
sidebarTitle: "Runway 동영상 생성"
-translationSourceHash: c2d34696
+translationSourceHash: 4fe3a8fe
translationFrom: tutorials/partner-nodes/runway/video-generation.mdx
+translationBlockHashes:
+ "_intro": 726f6d02
+ "Gen3a turbo Image-to-Video Workflow": 4d85b252
+ "Gen4 turbo Image-to-Video Workflow": aed55b59
+ "First-Last Frame Video Generation Workflow": b7f1102b
---
+
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -112,4 +118,4 @@ Runway는 생성형 AI에 중점을 둔 기업으로, 강력한 동영상 생성
2. `Load Image` 노드에서 끝 프레임을 로드하세요.
3. `Runway 첫 번째 및 마지막 프레임을 동영상으로` 노드에서 `prompt`을 설정해 동영상 내용을 설명하고, `duration` 매개변수를 수정해 동영상 길이를 설정하며, `ratio` 매개변수를 수정해 동영상 종횡비를 설정하세요.
4. `Run` 버튼을 클릭하거나, 단축키 `Ctrl(cmd) + Enter`를 사용해 동영상 생성을 실행하세요.
-5. API가 결과를 반환할 때까지 기다린 후, `Save Video` 노드에서 생성된 동영상을 확인할 수 있습니다 (마우스 오른쪽 클릭해 저장). 해당 동영상은 `ComfyUI/output/` 디렉토리에도 저장됩니다.
\ No newline at end of file
+5. API가 결과를 반환할 때까지 기다린 후, `Save Video` 노드에서 생성된 동영상을 확인할 수 있습니다 (마우스 오른쪽 클릭해 저장). 해당 동영상은 `ComfyUI/output/` 디렉토리에도 저장됩니다.
diff --git a/ko/tutorials/partner-nodes/sonilo/video-to-music.mdx b/ko/tutorials/partner-nodes/sonilo/video-to-music.mdx
index 2848abbff..a7758159d 100644
--- a/ko/tutorials/partner-nodes/sonilo/video-to-music.mdx
+++ b/ko/tutorials/partner-nodes/sonilo/video-to-music.mdx
@@ -2,10 +2,18 @@
title: "Sonilo 파트너 노드 공식 ComfyUI 예제"
description: "이 기사에서는 ComfyUI에서 비디오를 음악으로, 텍스트를 오디오로 변환하는 데 Sonilo 파트너 노드를 사용하는 방법을 소개합니다."
sidebarTitle: "Sonilo"
-translationSourceHash: 828bd9ac
+translationSourceHash: ba6393d6
translationFrom: tutorials/partner-nodes/sonilo/video-to-music.mdx
+translationBlockHashes:
+ "_intro": 77b8dcf2
+ "Highlights": 5b7a698b
+ "Get started": 5396d092
+ "Video-to-music workflow": 46202bfc
+ "Text-to-audio workflow": 494bdcfc
+ "Use cases": 90983ea2
---
+
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -73,4 +81,4 @@ Sonilo의 비디오를 음악으로 변환하는 워크플로우는 비디오의
- **영상 제작 및 포스트 하우스** - 대규모 영상물의 사운드트랙 생성을 자동화하세요.
- **VFX 및 모션그래픽 아티스트** - 영상과 함께 프레임별로 진화하는 음악을 생성하세요.
- **콘텐츠 크리에이터 및 에이전시** - 여러 형식의 플랫폼 준비 영상을 동기화된 음악과 함께 제작하세요.
-- **개발자 및 파이프라인 엔지니어** - ComfyUI를 통해 음악 생성을 자동화된 워크플로우에 직접 통합하세요.
\ No newline at end of file
+- **개발자 및 파이프라인 엔지니어** - ComfyUI를 통해 음악 생성을 자동화된 워크플로우에 직접 통합하세요.
diff --git a/ko/tutorials/partner-nodes/stability-ai/stable-audio.mdx b/ko/tutorials/partner-nodes/stability-ai/stable-audio.mdx
deleted file mode 100644
index 2298e28ba..000000000
--- a/ko/tutorials/partner-nodes/stability-ai/stable-audio.mdx
+++ /dev/null
@@ -1,74 +0,0 @@
----
-title: "Stability AI Stable Audio 2.5 파트너 노드 ComfyUI 공식 워크플로우 예시"
-description: "이 기사에서는 ComfyUI에서 Stability AI Stable Audio 2.5 파트너 노드의 텍스트-to-오디오, 오디오-to-오디오 및 오디오 인페인팅 기능을 사용하는 방법을 소개합니다."
-sidebarTitle: "Stable Audio 2.5"
-translationSourceHash: eda368b6
-translationFrom: tutorials/partner-nodes/stability-ai/stable-audio.mdx
----
-
-import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
-import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
-
-Stability AI Stable Audio 2.5 파트너 노드를 사용하면 Stability AI의 최신 음성 생성 모델을 활용해 텍스트 프롬프트, 오디오 변환 및 오디오 인페인팅 기능을 통해 고품질 음악을 만들 수 있습니다.
-
-Stable Audio 2.5는 기업용으로 설계되었으며, 개선된 음악 구조와 더 나은 프롬프트 적합성, 그리고 몇 초 만에 몇 분 길이의 작곡을 생성할 수 있는 기능을 갖추고 있습니다. 이 모델은 세 가지 주요 워크플로우를 제공합니다: 설명을 통해 음악을 생성하는 **텍스트-to-오디오**, 기존 오디오를 새로운 곡으로 변환하는 **오디오-to-오디오**, 그리고 기존 트랙을 완성하거나 연장하는 **오디오 인페인팅**입니다.
-
-Stable Audio 2.5는 라이선스된 오디오로만 훈련되어 상업적으로 안전하며, 전문적인 품질의 음성 생성과 기업급 신뢰성을 필요로 하는 광고주, 게임 스튜디오 및 콘텐츠 제작자에게 완벽한 선택입니다.
-
-
-
-
-## 텍스트-to-오디오 워크플로우
-
-텍스트-to-오디오를 위해서는 텍스트 프롬프트를 통해 오디오를 생성할 수 있습니다. 생성하고자 하는 음악을 설명해야 합니다.
-
-
-
-
-
-
-1. 텍스트 프롬프트를 수정하세요. 생성하고자 하는 음악을 설명하기 위해 키워드를 사용해야 합니다.
-2. (선택사항) `duration` 매개변수를 수정하세요. 기본값은 `190`입니다.
-3. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 오디오 생성을 실행하세요. 오디오는 `ComfyUI/output/audio` 디렉터리에 저장됩니다.
-
-## 오디오-to-오디오 워크플로우
-
-오디오-to-오디오 작업은 기본적으로 음악 재샘플링입니다. 주어진 음악에서 새로운 음악을 생성하거나, 멜로디를 흥얼거리기만 해도 모델이 입력된 오디오를 기반으로 새로운 음악을 생성할 수 있습니다.
-
-
-
-
-
-
-
-1. 이 워크플로우에서는 편집하고자 하는 오디오(최소 6초 이상)를 입력할 수 있도록 두 개의 노드를 제공했습니다:
- - 1.1 `Record Audio` 노드: 흥얼거리는 멜로디 등 어떤 음악 아이디어든 녹음할 수 있습니다. 최소 6초 이상이어야 합니다.
- - 1.2 `LoadAudio` 노드: 이 워크플로우에 사용하고자 하는 오디오를 업로드할 수 있습니다.
-2. 텍스트 프롬프트를 수정하세요. 생성하고자 하는 음악을 설명하기 위해 키워드를 사용해야 합니다.
-3. `strength` 매개변수는 원본 오디오와의 차이를 조절하는 데 사용됩니다. 값이 낮을수록 생성된 오디오는 원본 오디오와 더 유사해집니다.
-4. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 오디오 생성을 실행하세요. 오디오는 `ComfyUI/output/audio` 디렉터리에 저장됩니다.
-
-## 오디오 인페인팅 워크플로우
-
-오디오 인페인팅은 기존 트랙을 완성하거나 연장하는 데 사용됩니다. 음악의 빠진 부분을 완성하거나 음악을 더 길게 확장할 수 있습니다.
-
-인페인팅을 시작하고 끝내고자 하는 위치를 설정해야 합니다.
-
-
-
-
-
-
-1. `LoadAudio` 노드에 오디오를 업로드하세요.
-2. 텍스트 프롬프트를 수정하세요. 생성하고자 하는 음악을 설명하기 위해 키워드를 사용해야 합니다.
-3. (선택사항) `duration` 매개변수를 수정하세요. 기본값은 `190`입니다.
-4. (중요) `mask_start` 및 `mask_end` 매개변수를 수정하세요. 인페인팅을 시작하고 끝내고자 하는 위치를 설정해야 합니다.
-5. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 오디오 생성을 실행하세요. 오디오는 `ComfyUI/output/audio` 디렉터리에 저장됩니다.
\ No newline at end of file
diff --git a/ko/tutorials/partner-nodes/stability-ai/stable-diffusion-3-5-image.mdx b/ko/tutorials/partner-nodes/stability-ai/stable-diffusion-3-5-image.mdx
deleted file mode 100644
index 7336a1417..000000000
--- a/ko/tutorials/partner-nodes/stability-ai/stable-diffusion-3-5-image.mdx
+++ /dev/null
@@ -1,88 +0,0 @@
----
-title: "Stability AI Stable Diffusion 3.5 파트너 노드 ComfyUI 공식 예제"
-description: "이 글에서는 Stability AI Stable Diffusion 3.5 파트너 노드의 텍스트-이미지 및 이미지-이미지 기능을 ComfyUI에서 사용하는 방법을 소개합니다."
-sidebarTitle: "Stable Diffusion 3.5 이미지"
-translationSourceHash: ac469600
-translationFrom: tutorials/partner-nodes/stability-ai/stable-diffusion-3-5-image.mdx
----
-
-import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
-import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
-
-Stability AI Stable Diffusion 3.5 이미지 노드를 사용하면 Stability AI의 Stable Diffusion 3.5 모델을 통해 텍스트 프롬프트나 참조 이미지를 통해 고품질의 세밀한 이미지 콘텐츠를 생성할 수 있습니다.
-
-이 가이드에서는 이 노드를 사용해 텍스트-투-이미지와 이미지-투-이미지 생성 워크플로를 설정하는 방법을 보여드립니다.
-
-
-
-
-## Stability AI Stable Diffusion 3.5 텍스트-투-이미지 워크플로
-
-### 1. 워크플로 파일 다운로드
-
-아래 이미지는 `메타데이터`에 워크플로 정보가 포함되어 있습니다. 해당 워크플로를 다운로드하여 ComfyUI로 드래그해 불러오세요.
-
-
-
-### 2. 워크플로 단계별 완료하기
-
-
-
-이미지의 번호순서대로 따라가며 기본적인 텍스트-투-이미지 워크플로를 완성할 수 있습니다:
-1. (선택 사항) `Stability AI Stable Diffusion 3.5 이미지` 노드의 `prompt` 매개변수를 수정해 원하는 이미지 설명을 입력하세요. 더 상세한 프롬프트는 더 나은 이미지 품질을 가져옵니다.
-2. (선택 사항) `model` 매개변수를 선택해 사용할 SD 3.5 모델 버전을 정하세요.
-3. (선택 사항) `style_preset` 매개변수를 선택해 이미지의 시각적 스타일을 조정하세요. 서로 다른 프리셋은 "시네마틱"이나 "애니메이션" 등 각기 다른 스타일 특성을 가진 이미지를 생성합니다. 특정 스타일을 적용하지 않으려면 "None"을 선택하세요.
-4. (선택 사항) `String(Multiline)`을 편집해 네거티브 프롬프트를 수정하고, 생성된 이미지에 나타나지 않기를 원하는 요소를 지정하세요.
-5. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 이미지 생성을 실행하세요.
-6. API가 결과를 반환한 후, `Save Image` 노드에서 생성된 이미지를 확인할 수 있습니다. 이미지는 또한 `ComfyUI/output/` 디렉토리에 저장됩니다.
-
-### 3. 추가 참고사항
-
-- **프롬프트**: 프롬프트는 생성 과정에서 가장 중요한 매개변수 중 하나입니다. 상세하고 명확한 설명은 더 나은 결과를 가져옵니다. 장면, 주제, 색상, 조명, 스타일 등의 요소를 포함할 수 있습니다.
-- **CFG Scale**: 생성기가 프롬프트를 얼마나 정확히 따르는지 조절합니다. 값이 높을수록 이미지가 프롬프트 설명과 더욱 일치하지만, 너무 높으면 과포화되거나 부자연스러운 결과를 초래할 수 있습니다.
-- **스타일 프리셋**: 이미지의 전반적인 스타일을 빠르게 정의할 수 있는 다양한 프리셋 스타일을 제공합니다.
-- **네거티브 프롬프트**: 생성된 이미지에 나타나지 않기를 원하는 요소를 지정하는 데 사용됩니다.
-- **시드 매개변수**: 생성 결과를 재현하거나 미세 조정하는 데 사용할 수 있으며, 제작 과정에서 반복 작업에 유용합니다.
-- 현재 `Load Image` 노드는 "Bypass" 모드입니다. 이를 활성화하려면 단계 안내를 참고하고 노드를 우클릭해 "Mode"를 "Always"로 설정해 입력을 활성화하고 이미지-투-이미지 모드로 전환하세요.
-- `image_denoise`는 입력 이미지가 없을 때는 아무런 효과를 주지 않습니다.
-
-## Stability AI Stable Diffusion 3.5 이미지-투-이미지 워크플로
-
-### 1. 워크플로 파일 다운로드
-
-아래 이미지는 `메타데이터`에 워크플로 정보가 포함되어 있습니다. 해당 워크플로를 다운로드하여 ComfyUI로 드래그해 불러오세요.
-
-
-
-아래 이미지를 다운로드하여 입력으로 사용하세요.
-
-
-
-### 2. 워크플로 단계별 완료하기
-
-
-
-이미지의 번호순서대로 따라가며 이미지-투-이미지 워크플로를 완성할 수 있습니다:
-1. `Load Image` 노드를 통해 참조 이미지를 로드하고, 이 이미지를 생성의 기초로 삼습니다.
-2. (선택 사항) `Stability AI Stable Diffusion 3.5 이미지` 노드의 `prompt` 매개변수를 수정해 참조 이미지에서 변경하거나 강화하고 싶은 요소를 설명하세요.
-3. (선택 사항) `style_preset` 매개변수를 선택해 이미지의 시각적 스타일을 조정하세요. 서로 다른 프리셋은 각기 다른 스타일 특성을 가진 이미지를 생성합니다.
-4. (선택 사항|중요) `image_denoise` 매개변수(범위 0.0-1.0)를 조정해 원본 이미지를 얼마나 수정할지 조절하세요:
- - 0.0에 가까울수록 생성된 이미지가 입력 참조 이미지와 더욱 유사해집니다(0.0일 경우 기본적으로 원본과 동일함).
- - 1.0에 가까울수록 생성된 이미지가 순수한 텍스트-투-이미지 생성과 유사해집니다(1.0일 경우 참조 이미지를 전혀 제공하지 않은 것과 같음).
-5. (선택 사항) `String(Multiline)`을 편집해 네거티브 프롬프트를 수정하고, 생성된 이미지에 나타나지 않기를 원하는 요소를 지정하세요.
-6. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 이미지 생성을 실행하세요.
-8. API가 결과를 반환한 후, `Save Image` 노드에서 생성된 이미지를 확인할 수 있습니다. 이미지는 또한 `ComfyUI/output/` 디렉토리에 저장됩니다.
-
-### 3. 추가 참고사항
-
-아래 이미지는 동일한 매개변수 설정을 사용해 입력 이미지가 있거나 없는 경우의 결과를 비교한 것입니다:
-
-
-
-**이미지 노이즈 제거**: 이 매개변수는 생성 과정에서 원본 이미지의 특징을 얼마나 유지할지 결정합니다. 이미지-투-이미지 모드에서 가장 중요한 조정 매개변수입니다. 아래 이미지는 서로 다른 노이즈 강도의 효과를 보여줍니다:
-
-
-
-- **참조 이미지 선택**: 명확한 주제와 좋은 구성을 가진 이미지를 선택하면 일반적으로 더 나은 결과를 얻을 수 있습니다.
-- **프롬프트 팁**: 이미지-투-이미지 모드에서는 프롬프트가 이미지에 이미 존재하는 모든 것을 설명하기보다는 변경하거나 강화하고 싶은 요소에 집중해야 합니다.
-- **모드 전환**: 입력 이미지를 제공하면 노드가 자동으로 텍스트-투-이미지 모드에서 이미지-투-이미지 모드로 전환되고, 종횡비 매개변수는 무시됩니다.
\ No newline at end of file
diff --git a/ko/tutorials/partner-nodes/stability-ai/stable-image-ultra.mdx b/ko/tutorials/partner-nodes/stability-ai/stable-image-ultra.mdx
deleted file mode 100644
index 9ae097f6e..000000000
--- a/ko/tutorials/partner-nodes/stability-ai/stable-image-ultra.mdx
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: "Stability AI Stable Image Ultra 파트너 노드 ComfyUI 공식 예제"
-description: "이 기사에서는 Stability AI Stable Image Ultra 파트너 노드의 텍스트-to-이미지 및 이미지-to-이미지 기능을 ComfyUI에서 사용하는 방법을 소개합니다."
-sidebarTitle: "Stable Image Ultra"
-translationSourceHash: e3306a2b
-translationFrom: tutorials/partner-nodes/stability-ai/stable-image-ultra.mdx
----
-
-import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
-import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
-
-[Stability Stable Image Ultra](/images/built-in-nodes/api_nodes/stability-ai/stability-ai-stable-image-ultra.jpg) 노드를 사용하면 Stability AI의 Stable Image Ultra 모델을 활용해 텍스트 프롬프트나 참조 이미지를 통해 고품질의 세밀한 이미지 콘텐츠를 생성할 수 있습니다.
-
-이 가이드에서는 이 노드를 사용해 텍스트-to-이미지와 이미지-to-이미지 생성 워크플로우를 설정하는 방법을 보여드립니다.
-
-
-
-
-## Stability AI Stable Image Ultra 텍스트-to-이미지 워크플로우
-
-### 1. 워크플로우 파일 다운로드
-
-워크플로우 정보는 아래 이미지의 메타데이터에 포함되어 있습니다. 해당 워크플로우를 다운로드하여 ComfyUI로 드래그해 로드해 주세요.
-
-
-
-### 2. 워크플로우를 단계별로 완료하세요
-
-
-
-이미지의 번호가 매겨진 단계를 따라 기본적인 텍스트-to-이미지 워크플로우를 완료할 수 있습니다:
-1. (선택사항) `Stability AI Stable Image Ultra` 노드의 `prompt` 매개변수를 수정해 원하는 이미지 설명을 입력하세요. 더 상세한 프롬프트는 더 나은 이미지 품질을 가져올 가능성이 높습니다. `(단어:가중치)` 형식을 사용해 특정 단어의 가중치를 조정할 수 있으며, 예를 들어 `The sky was crisp (blue:0.3) and (green:0.8)`는 하늘이 파란색과 녹색이지만, 녹색이 더 두드러짐을 나타냅니다.
-2. (선택사항) `style_preset` 매개변수를 선택해 이미지의 시각적 스타일을 제어하세요. 서로 다른 사전 설정된 스타일은 각기 다른 스타일 특성을 가진 이미지를 생성하며, 예를 들어 "시네마틱", "애니메이션" 등이 있습니다. "None"을 선택하면 특정 스타일이 적용되지 않습니다.
-3. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 이미지 생성을 실행하세요.
-4. API가 결과를 반환한 후, `Save Image` 노드에서 생성된 이미지를 확인할 수 있으며, 이미지는 `ComfyUI/output/` 디렉토리에도 저장됩니다.
-
-### 3. 추가 참고사항
-
-- **프롬프트**: 프롬프트는 생성 과정에서 가장 중요한 매개변수 중 하나입니다. 상세하고 명확한 설명은 더 나은 결과를 가져옵니다. 장면, 피사체, 색상, 조명, 스타일 등의 요소를 포함할 수 있습니다.
-- **스타일 사전 설정**: 시네마틱, 애니메이션, 디지털 아트 등 여러 사전 설정된 스타일을 제공하며, 이를 통해 이미지의 전반적인 스타일을 빠르게 정의할 수 있습니다.
-- **네거티브 프롬프트**: 생성된 이미지에 나타나기를 원하지 않는 요소를 지정하는 데 사용되며, 과도한 팔다리나 왜곡된 얼굴과 같은 일반적인 문제를 피하는 데 도움이 됩니다.
-- **시드 매개변수**: 생성 결과를 재현하거나 미세 조정하는 데 사용될 수 있으며, 창작 과정에서 반복 작업을 수행하는 데 유용합니다.
-- 현재 `Load Image` 노드는 "Bypass" 모드입니다. 이를 활성화하려면 단계 안내를 참고해 해당 노드를 마우스 오른쪽 버튼으로 클릭한 후 "Mode"를 "Always"로 설정해 입력을 활성화하면 이미지-to-이미지 모드로 전환됩니다.
-
-## Stability AI Stable Image Ultra 이미지-to-이미지 워크플로우
-
-### 1. 워크플로우 파일 다운로드
-
-워크플로우 정보는 아래 이미지의 메타데이터에 포함되어 있습니다. 해당 워크플로우를 다운로드하여 ComfyUI로 드래그해 로드해 주세요.
-
-
-
-아래 이미지를 다운로드해 입력으로 사용하세요
-
-
-### 2. 워크플로우를 단계별로 완료하세요
-
-
-
-이미지의 번호가 매겨진 단계를 따라 이미지-to-이미지 워크플로우를 완료할 수 있습니다:
-1. `Load Image` 노드를 통해 참조 이미지를 불러오세요. 이 이미지는 생성의 기초가 됩니다.
-2. (선택사항) `Stability Stable Image Ultra` 노드의 `prompt` 매개변수를 수정해 참조 이미지에서 변경하거나 강조하고 싶은 요소를 설명하세요.
-3. (선택사항) `image_denoise` 매개변수(범위 0.0-1.0)를 조정해 원본 이미지의 수정 정도를 제어하세요:
- - 0.0에 가까울수록 생성된 이미지는 입력 참조 이미지와 더 비슷해집니다.
- - 1.0에 가까울수록 생성된 이미지는 순수한 텍스트-to-이미지 생성과 더 비슷해집니다.
-4. (선택사항) `style_preset` 및 기타 매개변수를 설정해 생성 효과를 더욱 세밀하게 조정할 수도 있습니다.
-5. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 이미지 생성을 실행하세요.
-6. API가 결과를 반환한 후, `Save Image` 노드에서 생성된 이미지를 확인할 수 있으며, 이미지는 `ComfyUI/output/` 디렉토리에도 저장됩니다.
-
-### 3. 추가 참고사항
-
-**이미지 노이즈 제거**: 이 매개변수는 생성 과정에서 원본 이미지의 특징을 얼마나 유지할지 결정하며, 이미지-to-이미지 모드에서 가장 중요한 조정 매개변수입니다. 아래 이미지는 서로 다른 노이즈 제거 강도의 효과를 보여줍니다.
-
-
-
-- **참조 이미지 선택**: 명확한 피사체와 좋은 구성을 가진 이미지를 선택하면 보통 더 나은 결과를 얻을 수 있습니다.
-- **프롬프트 팁**: 이미지-to-이미지 모드에서는 프롬프트가 이미지에 이미 존재하는 모든 요소를 설명하기보다는 변경하거나 강조하고자 하는 부분에 집중해야 합니다.
\ No newline at end of file
diff --git a/ko/tutorials/partner-nodes/tripo/model-generation.mdx b/ko/tutorials/partner-nodes/tripo/model-generation.mdx
index 646aca9f8..3aad1144b 100644
--- a/ko/tutorials/partner-nodes/tripo/model-generation.mdx
+++ b/ko/tutorials/partner-nodes/tripo/model-generation.mdx
@@ -2,10 +2,17 @@
title: "Tripo 파트너 노드 모델 생성 ComfyUI 공식 예제"
description: "이 글에서는 ComfyUI에서 Tripo 노드의 API를 사용해 모델을 생성하는 방법을 소개합니다."
sidebarTitle: "모델 생성"
-translationSourceHash: 29fbd5dc
+translationSourceHash: 91cfb63d
translationFrom: tutorials/partner-nodes/tripo/model-generation.mdx
+translationBlockHashes:
+ "_intro": b329659d
+ "Text-to-Model Workflow": 1f82cb18
+ "Image-to-Model Workflow": 20fac619
+ "Multi-view Model Generation Workflow": b0e0a897
+ "Subsequent Task Processing for the Same Task": d24582e4
---
+
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -111,4 +118,4 @@ Tripo의 해당 노드들은 동일 작업에 대한 후속 처리를 제공하
`Tripo: Refine Draft model` 노드는 v1.4 모델만 지원하며, 다른 모델은 지원하지 않습니다.
-
\ No newline at end of file
+
diff --git a/ko/tutorials/partner-nodes/tripo/tripo-3-1.mdx b/ko/tutorials/partner-nodes/tripo/tripo-3-1.mdx
index 487ecd97a..a49262239 100644
--- a/ko/tutorials/partner-nodes/tripo/tripo-3-1.mdx
+++ b/ko/tutorials/partner-nodes/tripo/tripo-3-1.mdx
@@ -1,11 +1,17 @@
---
-title: "Tripo 3.1 — 고해상도 3D 에셋 생성 ComfyUI 공식 가이드"
+title: "Tripo 3.1: 고해상도 3D 에셋 생성 ComfyUI 공식 가이드"
description: "파트너 노드를 통해 ComfyUI에서 Tripo 3.1을 사용해 고해상도 3D 에셋을 생성하는 방법을 알아보세요. 높은 밀도의 지오메트리와 제작용 PBR 준비 완료 재료를 제공합니다."
sidebarTitle: "Tripo 3.1"
-translationSourceHash: a3e6e703
+translationSourceHash: c520daa5
translationFrom: tutorials/partner-nodes/tripo/tripo-3-1.mdx
+translationBlockHashes:
+ "_intro": ff0ef375
+ "Capabilities": 6187e278
+ "Use Cases": 10ad3fe3
+ "Available Workflows": c68e812a
---
+
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -18,47 +24,47 @@ Tripo 3.1은 ComfyUI의 Tripo 파트너 노드를 통해 이용 가능한 최신
이전 Tripo 모델 버전과 비교했을 때, 3.1은 다음과 같은 개선점을 제공합니다:
-- **고밀도 지오메트리** — 더욱 날카로운 가장자리, 깔끔한 실루엣, 보다 정밀한 형태로 제작 수준의 3D 에셋을 제공합니다.
-- **PBR 준비 완료 재료** — 다양한 렌더링 환경에서 보다 신뢰성 있는 조명 반응을 제공합니다.
-- **히어로 에셋 품질** — 근접 촬영에서도 안정적인 디테일 유지가 가능합니다.
-- **크로스 시나리오 재사용** — 단일 모델로 게임, 마케팅, 렌더링 파이프라인 전반에서 재생성 없이 활용할 수 있습니다.
+- **고밀도 지오메트리**: 더욱 날카로운 가장자리, 깔끔한 실루엣, 보다 정밀한 형태로 제작 수준의 3D 에셋을 제공합니다.
+- **PBR 준비 완료 재료**: 다양한 렌더링 환경에서 보다 신뢰성 있는 조명 반응을 제공합니다.
+- **히어로 에셋 품질**: 근접 촬영에서도 안정적인 디테일 유지가 가능합니다.
+- **크로스 시나리오 재사용**: 단일 모델로 게임, 마케팅, 렌더링 파이프라인 전반에서 재생성 없이 활용할 수 있습니다.
## 활용 사례
-- **게임 히어로 에셋** — 근접 카메라 촬영 및 프로모션 키 아트용으로 적합합니다.
-- **마케팅 비주얼** — 지오메트리의 충실성과 재료 품질이 중요한 경우에 사용됩니다.
-- **제품 시각화** — 스튜디오 스타일 렌더링에서 더욱 깔끔한 형상 표현이 필요합니다.
-- **3D 프린팅 준비** — 보다 명확한 구조적 표현이 가능합니다.
+- **게임 히어로 에셋**: 근접 카메라 촬영 및 프로모션 키 아트용으로 적합합니다.
+- **마케팅 비주얼**: 지오메트리의 충실성과 재료 품질이 중요한 경우에 사용됩니다.
+- **제품 시각화**: 스튜디오 스타일 렌더링에서 더욱 깔끔한 형상 표현이 필요합니다.
+- **3D 프린팅 준비**: 보다 명확한 구조적 표현이 가능합니다.
-## 이용 가능한 워크플로우
+## 이용 가능한 워크플로
-### 텍스트-to-모델
+### 텍스트 기반 모델
-
- Comfy Cloud에서 텍스트-to-모델 워크플로우를 즉시 시험해 보세요.
+
+ Comfy Cloud에서 텍스트 기반 모델 워크플로를 즉시 시험해 보세요.
-
+
JSON 파일을 다운로드하거나 템플릿 라이브러리에서 "Tripo 3.1 Text-to-Model"을 검색하세요.
-### 이미지-to-모델
+### 이미지 기반 모델
-
- Comfy Cloud에서 이미지-to-모델 워크플로우를 즉시 시험해 보세요.
+
+ Comfy Cloud에서 이미지 기반 모델 워크플로를 즉시 시험해 보세요.
-
+
JSON 파일을 다운로드하거나 템플릿 라이브러리에서 "Tripo 3.1 Image-to-Model"을 검색하세요.
-### 멀티뷰-to-모델
+### 멀티뷰 기반 모델
-
- Comfy Cloud에서 멀티뷰-to-모델 워크플로우를 즉시 시험해 보세요.
+
+ Comfy Cloud에서 멀티뷰 기반 모델 워크플로를 즉시 시험해 보세요.
-
+
JSON 파일을 다운로드하거나 템플릿 라이브러리에서 "Tripo 3.1 Multiview-to-Model"을 검색하세요.
@@ -69,4 +75,4 @@ Tripo 3.1은 ComfyUI의 Tripo 파트너 노드를 통해 이용 가능한 최신
| 지오메트리 밀도 | 고밀도, 제작용 준비 완료 | 표준 밀도 |
| 표면 품질 | 더욱 깔끔한 가장자리와 실루엣 | 우수하지만 근접 촬영에는 다듬음 필요 |
| 재료 출력 | PBR 준비 완료 | 표준 재료 맵 |
-| 리파인 지원 | 지원됨 | 지원됨 (v1.4는 리파인 드래프트만 지원) |
\ No newline at end of file
+| 리파인 지원 | 지원됨 | 지원됨 (v1.4는 리파인 드래프트만 지원) |
diff --git a/ko/tutorials/partner-nodes/wan/wan2-7.mdx b/ko/tutorials/partner-nodes/wan/wan2-7.mdx
index 1ea713e67..65ad80d80 100644
--- a/ko/tutorials/partner-nodes/wan/wan2-7.mdx
+++ b/ko/tutorials/partner-nodes/wan/wan2-7.mdx
@@ -2,10 +2,19 @@
title: "ComfyUI에서 Wan2.7 동영상 생성"
description: "ComfyUI의 파트너 노드를 통해 Wan2.7을 사용하여 이미지-동영상, 텍스트-동영상, 참조-동영상, 동영상 연속성 및 동영상 편집을 하는 방법을 알아보세요."
sidebarTitle: "Wan2.7"
-translationSourceHash: ceab1647
+translationSourceHash: 3bb39265
translationFrom: tutorials/partner-nodes/wan/wan2-7.mdx
+translationBlockHashes:
+ "_intro": 611e27ab
+ "Key features": 6ca0965f
+ "Highlights": cec936d1
+ "Wan2.7 image-to-video": 29a49b02
+ "Wan2.7 text-to-video": 25cfcacf
+ "Wan2.7 reference-to-video": cf70840e
+ "Wan2.7 video edit": ad198739
---
+
import ReqHint from "/snippets/ko/tutorials/partner-nodes/req-hint.mdx";
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -77,4 +86,4 @@ Wan2.7은 알리바바의 최신 동영상 생성 모델로, 현재 ComfyUI의
Comfy Cloud에서 즉시 동영상 편집 워크플로우를 사용해 보세요.
-
\ No newline at end of file
+
diff --git a/ko/tutorials/utility/depth-anything-3.mdx b/ko/tutorials/utility/depth-anything-3.mdx
index 4a3d0b498..6dddf7005 100644
--- a/ko/tutorials/utility/depth-anything-3.mdx
+++ b/ko/tutorials/utility/depth-anything-3.mdx
@@ -2,10 +2,19 @@
title: "ComfyUI Depth Anything 3 공식 예제"
description: "ComfyUI에서 Depth Anything 3를 사용하여 이미지 및 비디오의 단일/다중 뷰 깊이 추정 방법을 알아보세요."
sidebarTitle: "Depth Anything 3"
-translationSourceHash: d646a0e3
+translationSourceHash: 39c33c52
translationFrom: tutorials/utility/depth-anything-3.mdx
+translationBlockHashes:
+ "_intro": 78aa4267
+ "Model Installation": 63d2533a
+ "Example Workflows": cf2f84c1
+ "1. Image Depth Estimation": 21d2ff11
+ "2. Video Depth Estimation": 4f57ecb8
+ "Model Variants": c09e7471
+ "Community Resources": 8c5d05ab
---
+
import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'
# ComfyUI Depth Anything 3 소개
diff --git a/ko/tutorials/utility/face-detection/mediapipe.mdx b/ko/tutorials/utility/face-detection/mediapipe.mdx
index 4fbdb36e1..539561b3c 100644
--- a/ko/tutorials/utility/face-detection/mediapipe.mdx
+++ b/ko/tutorials/utility/face-detection/mediapipe.mdx
@@ -2,10 +2,15 @@
title: "MediaPipe: ComfyUI에서의 얼굴 감지"
sidebarTitle: "MediaPipe 얼굴 감지"
description: "ComfyUI에서 MediaPipe 얼굴 감지를 사용하여 이미지에서 얼굴을 감지하고 얼굴 랜드마크, 경계 상자 및 영역 마스크를 추출하는 방법을 알아보세요"
-translationSourceHash: b8885872
+translationSourceHash: bb40eede
translationFrom: tutorials/utility/face-detection/mediapipe.mdx
+translationBlockHashes:
+ "_intro": 49c290e0
+ "MediaPipe Face Detection Workflow": f1c9a49d
+ "Community Resources": ec7aa0f5
---
+
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx"
@@ -111,4 +116,4 @@ MediaPipe 얼굴 감지 모델은 [Comfy-Org MediaPipe 모델 저장소](https:/
- [MediaPipe GitHub](https://github.com/google-ai-edge/mediapipe) — 상위 MediaPipe 프레임워크
- [Comfy-Org/mediapipe](https://huggingface.co/Comfy-Org/mediapipe) — 공식 ComfyUI 모델 가중치
-- [ComfyUI 서브그래프 가이드](https://docs.comfy.org/interface/features/subgraph) — 서브그래프 작동 방식 알아보기
\ No newline at end of file
+- [ComfyUI 서브그래프 가이드](https://docs.comfy.org/interface/features/subgraph) — 서브그래프 작동 방식 알아보기
diff --git a/ko/tutorials/utility/image-upscale.mdx b/ko/tutorials/utility/image-upscale.mdx
index 0d9d7092d..b29f61203 100644
--- a/ko/tutorials/utility/image-upscale.mdx
+++ b/ko/tutorials/utility/image-upscale.mdx
@@ -2,10 +2,19 @@
title: "ComfyUI에서 이미지 업스케일링"
description: "다양한 사용 사례를 위해 로컬 모델과 파트너 노드를 활용해 ComfyUI에서 이미지를 업스케일링하는 방법을 알아보세요"
sidebarTitle: "이미지 업스케일링"
-translationSourceHash: 3c670cb0
+translationSourceHash: 6bdeb9a7
translationFrom: tutorials/utility/image-upscale.mdx
+translationBlockHashes:
+ "_intro": eb13afc3
+ "Why upscaling matters": 30a386f2
+ "Key concepts": 210d2fde
+ "Use cases": c3fef819
+ "Available models": a75cd337
+ "Benchmark: 1K to 4K upscale time": 07a20d0f
+ "Tips": a966ce44
---
+
이 가이드는 ComfyUI에서의 이미지 업스케일링 워크플로우를 다룹니다. 여기에는 다양한 사용 사례에 맞는 로컬 모델과 파트너 노드 옵션이 포함됩니다.
@@ -188,4 +197,4 @@ ESRGAN 모델을 사용한 기본적인 로컬 업스케일링은 [기본 업스
- SeedVR2의 경우, 업스케일링 전에 `ImageScaleToTotalPixels` 노드를 사용해 이미지를 0.35메가픽셀로 축소하면 더 나은 결과를 얻을 수 있습니다.
- 여러 업스케일링 노드를 연결해(예: 2배 → 4배) 초고배율을 구현하세요.
- 생성 후 업스케일링 노드를 연결해 '생성 + 향상' 파이프라인을 구성하세요.
-- 특정 이미지 유형에 대해 여러 모델을 테스트해 최적의 모델을 찾아보세요.
\ No newline at end of file
+- 특정 이미지 유형에 대해 여러 모델을 테스트해 최적의 모델을 찾아보세요.
diff --git a/ko/tutorials/utility/moge.mdx b/ko/tutorials/utility/moge.mdx
index 7ceb9d94d..af99d09df 100644
--- a/ko/tutorials/utility/moge.mdx
+++ b/ko/tutorials/utility/moge.mdx
@@ -2,10 +2,19 @@
title: "ComfyUI MoGe 예제"
description: "이 가이드에서는 ComfyUI에서 MoGe를 사용해 단안 기하학 추정, 즉 계량 점 지도, 깊이 지도, 법선 지도 및 메시 생성 방법을 보여줍니다."
sidebarTitle: "MoGe"
-translationSourceHash: dcec1d5b
+translationSourceHash: 7ae1c247
translationFrom: tutorials/utility/moge.mdx
+translationBlockHashes:
+ "_intro": f3974fd4
+ "Model Installation": fb228472
+ "Example Workflows": cf2f84c1
+ "1. Depth Estimation": 0c7bafb8
+ "2. Perspective to Mesh": 03608c5b
+ "3. Panorama to Mesh": bdbb850d
+ "Community Resources": d9fcd8cd
---
+
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx"
# ComfyUI MoGe 소개
@@ -132,4 +141,4 @@ MoGe는 이미지로부터 카메라의 시야각(FOV)도 추정하며, 이를
## 커뮤니티 자료
- [MoGe GitHub (microsoft/MoGe)](https://github.com/microsoft/MoGe) — 연구 논문 및 코드
-- [Comfy-Org/MoGe](https://huggingface.co/Comfy-Org/MoGe) — 공식 ComfyUI 모델 가중치
\ No newline at end of file
+- [Comfy-Org/MoGe](https://huggingface.co/Comfy-Org/MoGe) — 공식 ComfyUI 모델 가중치
diff --git a/ko/tutorials/utility/pose-detection-sdpose.mdx b/ko/tutorials/utility/pose-detection-sdpose.mdx
index c037e8188..e4f0b2dbb 100644
--- a/ko/tutorials/utility/pose-detection-sdpose.mdx
+++ b/ko/tutorials/utility/pose-detection-sdpose.mdx
@@ -2,10 +2,15 @@
title: "SDPose: ComfyUI에서의 포즈 감지"
sidebarTitle: "SDPose 포즈 감지"
description: "ComfyUI에서 기본 지원되는 SDPose를 사용하여 이미지와 비디오에서 포즈 키포인트와 맵을 추출하는 방법을 알아보세요"
-translationSourceHash: e02657d6
+translationSourceHash: dbf15c22
translationFrom: tutorials/utility/pose-detection-sdpose.mdx
+translationBlockHashes:
+ "_intro": 909f07bb
+ "SDPose Workflows": 3c03402d
+ "Additional Notes": 409c3058
---
+
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx"
@@ -140,4 +145,4 @@ SDPose 모델을 사용하여 바운딩 박스 시각화 없이 이미지에서
- **모델 디렉토리** — SDPose 체크포인트는 `models/checkpoints/`에, RT-DETRv4 감지기는 `models/diffusion_models/`에 넣습니다.
- **입력 이미지 예시** — `group_photo.png` 파일은 워크플로 템플릿의 `input/` 디렉토리에서 테스트용으로 제공됩니다.
- **키포인트 출력** — POSE_KEYPOINT 유형은 조건부 생성을 위해 포즈 데이터를 허용하는 다운스트림 노드에 연결할 수 있습니다.
-- **업데이트 필수** — SDPose + RT-DETRv4 지원은 최근 ComfyUI 버전에서 사용 가능합니다. ComfyUI가 최신 상태인지 확인하세요.
\ No newline at end of file
+- **업데이트 필수** — SDPose + RT-DETRv4 지원은 최근 ComfyUI 버전에서 사용 가능합니다. ComfyUI가 최신 상태인지 확인하세요.
diff --git a/ko/tutorials/utility/preprocessors.mdx b/ko/tutorials/utility/preprocessors.mdx
index c5f37563e..810194baa 100644
--- a/ko/tutorials/utility/preprocessors.mdx
+++ b/ko/tutorials/utility/preprocessors.mdx
@@ -2,10 +2,17 @@
title: "ComfyUI 전처리 워크플로우"
description: "ComfyUI에서 깊이 추정, 라인아트 변환, 자세 감지 및 노멀 추출 전처리기를 사용하는 방법을 알아보세요"
sidebarTitle: "전처리기"
-translationSourceHash: f6c2bee0
+translationSourceHash: 1ed6697e
translationFrom: tutorials/utility/preprocessors.mdx
+translationBlockHashes:
+ "What are preprocessors?": 4c973513
+ "Depth estimation": a1123330
+ "Lineart conversion": cd986204
+ "Pose detection": bd2f3086
+ "Normals extraction": 65c791bb
---
+
## 전처리기란 무엇인가요?
@@ -98,4 +105,4 @@ translationFrom: tutorials/utility/preprocessors.mdx
JSON 다운로드
-
\ No newline at end of file
+
diff --git a/ko/tutorials/utility/remove-background-birefnet.mdx b/ko/tutorials/utility/remove-background-birefnet.mdx
index fe77101be..b23e07d8b 100644
--- a/ko/tutorials/utility/remove-background-birefnet.mdx
+++ b/ko/tutorials/utility/remove-background-birefnet.mdx
@@ -2,10 +2,15 @@
title: "BiRefNet: ComfyUI에서 이미지 배경 제거하기"
sidebarTitle: "BiRefNet 배경 제거"
description: "ComfyUI에서 기본적으로 지원하는 BiRefNet 모델을 사용해 이미지 배경을 제거하는 방법을 알아보세요."
-translationSourceHash: 0f977d6d
+translationSourceHash: b316e131
translationFrom: tutorials/utility/remove-background-birefnet.mdx
+translationBlockHashes:
+ "_intro": 403ff66d
+ "BiRefNet Background Removal Workflow": 9af08df3
+ "Additional Notes": d07d5c84
---
+
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx"
@@ -71,4 +76,4 @@ BiRefNet 모델은 [Comfy-Org BiRefNet 모델 저장소](https://huggingface.co/
- **모델 디렉토리** — 모델은 `checkpoints` 폴더가 아닌 `ComfyUI/models/background_removal/`에 배치해야 합니다.
- **업데이트 필요** — BiRefNet 지원은 최근 ComfyUI 버전에서 가능합니다. ComfyUI가 최신 상태인지 확인하세요.
-- **RGBA 출력** — 투명한 배경 결과는 새로운 배경에 바로 합성하거나 하위 워크플로우에서 사용할 수 있습니다.
\ No newline at end of file
+- **RGBA 출력** — 투명한 배경 결과는 새로운 배경에 바로 합성하거나 하위 워크플로우에서 사용할 수 있습니다.
diff --git a/ko/tutorials/utility/video-segment-sam3.mdx b/ko/tutorials/utility/video-segment-sam3.mdx
index e948b9191..8dfa7da68 100644
--- a/ko/tutorials/utility/video-segment-sam3.mdx
+++ b/ko/tutorials/utility/video-segment-sam3.mdx
@@ -2,10 +2,15 @@
title: "SAM 3.1: ComfyUI에서 무엇이든 분할하기"
sidebarTitle: "SAM 3.1 분할"
description: "ComfyUI에서 Meta의 SAM 3.1 모델을 사용해 텍스트 프롬프트를 이용해 이미지와 동영상 속 객체를 분할하는 방법을 알아보세요"
-translationSourceHash: 666093f9
+translationSourceHash: 8e2d21b4
translationFrom: tutorials/utility/video-segment-sam3.mdx
+translationBlockHashes:
+ "_intro": ad3d3d0c
+ "SAM 3.1 Segment Workflows": f452ac40
+ "Additional Notes": c38c57a0
---
+
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx"
@@ -106,4 +111,4 @@ SAM 3.1 모델은 [Comfy-Org SAM 3.1 모델 저장소](https://huggingface.co/Co
- **프롬프트는 짧고 구체적으로 유지하세요** — 모델의 프롬프트 한 개당 토큰 제한은 32개입니다.
- **다중 객체 탐지** — 쉼표로 서로 다른 객체 유형을 구분하고, `:N`을 사용해 각 유형별 탐지 수를 제한하세요.
- **분할 마스크** — 출력 마스크는 다른 워크플로우(예: 인페인팅, 배경 제거)의 입력으로 사용할 수 있습니다.
-- **업데이트 필요** — SAM 3.1 지원을 받으려면 ComfyUI를 최신 버전으로 업데이트하세요.
\ No newline at end of file
+- **업데이트 필요** — SAM 3.1 지원을 받으려면 ComfyUI를 최신 버전으로 업데이트하세요.
diff --git a/ko/tutorials/utility/video-upscale.mdx b/ko/tutorials/utility/video-upscale.mdx
index 720295b48..a88aa8147 100644
--- a/ko/tutorials/utility/video-upscale.mdx
+++ b/ko/tutorials/utility/video-upscale.mdx
@@ -2,10 +2,20 @@
title: "ComfyUI에서 비디오 업스케일링"
description: "ComfyUI에서 로컬 모델과 파트너 노드를 활용해 다양한 사용 사례에 맞는 비디오 업스케일링 방법을 알아보세요"
sidebarTitle: "비디오 업스케일"
-translationSourceHash: c709b52c
+translationSourceHash: f96f95c1
translationFrom: tutorials/utility/video-upscale.mdx
+translationBlockHashes:
+ "_intro": 158ce7e8
+ "TL;DR": f4934ea9
+ "Key concepts": 0ce5360e
+ "Use cases": 8f357897
+ "Upscale speed comparison (10s 720p clips)": 6c7b1403
+ "Available models": d1c12f83
+ "Getting started with Topaz Video Enhance": 9fa2d0e1
+ "Tips": a5dcf8f3
---
+
이 가이드에서는 ComfyUI에서의 비디오 업스케일링 워크플로우를 다룹니다. 여기에는 다양한 사용 사례에 맞는 로컬 모델과 파트너 노드 옵션이 포함됩니다.
@@ -181,4 +191,4 @@ translationFrom: tutorials/utility/video-upscale.mdx
- 업스케일링과 [프레임 보간](/ko/tutorials/utility/frame-interpolation)을 결합해 더 부드럽고 높은 해상도의 출력을 얻으세요.
- AI 생성 비디오의 경우, 창의적 업스케일링에 의존하기보다는 업스케일링 전에 아티팩트를 수정하는 것이 좋습니다.
- 전체 영상을 처리하기 전에 샘플 클립에서 다양한 모델을 테스트하세요.
-- 원본에 대한 충실도가 중요한 콘텐츠는 보수적 업스케일링을 사용하세요.
\ No newline at end of file
+- 원본에 대한 충실도가 중요한 콘텐츠는 보수적 업스케일링을 사용하세요.
diff --git a/ko/tutorials/utility/void-video-inpainting.mdx b/ko/tutorials/utility/void-video-inpainting.mdx
index 366b16697..e8b63bf01 100644
--- a/ko/tutorials/utility/void-video-inpainting.mdx
+++ b/ko/tutorials/utility/void-video-inpainting.mdx
@@ -2,10 +2,15 @@
title: "VOID: ComfyUI에서의 비디오 인페인팅"
sidebarTitle: "VOID 비디오 인페인팅"
description: "Netflix가 개발한 VOID 비디오 인페인팅 모델을 사용해 비디오에서 객체를 제거하는 방법을 알아보세요. ComfyUI에서 기본적으로 지원됩니다."
-translationSourceHash: e8e6c573
+translationSourceHash: aaa47b1e
translationFrom: tutorials/utility/void-video-inpainting.mdx
+translationBlockHashes:
+ "_intro": 47509aec
+ "VOID Video Inpainting Workflow": 31dee04b
+ "Additional Notes": a3d04a46
---
+
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx"
@@ -125,4 +130,4 @@ ComfyUI를 최신 버전으로 업데이트한 후, `워크플로우` -> `템플
- **마스크 품질이 중요합니다** — 대상 객체 주변에 깔끔하고 딱 맞는 마스크를 사용하면 최상의 결과를 얻을 수 있습니다.
- **프롬프트 작성 팁** — 제거된 이후의 장면이 자연스럽게 보이는 모습을 묘사하세요. 제거 자체가 아니라요.
- **음성 프롬프트 사용**은 반복적인 결함(워터마크, 흐릿함, 과다한 팔다리)이 보일 때만 사용하세요.
-- **2회 통과 워크플로우** — 템플릿은 1회 통과 후 자동으로 2회 통과를 실행합니다; 테스트 중 더 빠른 반복을 위해 1회 통과만 실행할 수도 있습니다.
\ No newline at end of file
+- **2회 통과 워크플로우** — 템플릿은 1회 통과 후 자동으로 2회 통과를 실행합니다; 테스트 중 더 빠른 반복을 위해 1회 통과만 실행할 수도 있습니다.
diff --git a/ko/tutorials/video/bytedance/bernini-r.mdx b/ko/tutorials/video/bytedance/bernini-r.mdx
index daafbc9bf..fc0a54229 100644
--- a/ko/tutorials/video/bytedance/bernini-r.mdx
+++ b/ko/tutorials/video/bytedance/bernini-r.mdx
@@ -2,10 +2,18 @@
title: "ComfyUI Bernini-R 공식 예제"
description: "ComfyUI에서 Bernini-R을 사용한 이미지 및 비디오 편집(재조명, 스타일 변환, 피사체 삽입 등)을 알아보세요."
sidebarTitle: "Bernini-R"
-translationSourceHash: 6d8b19fc
-translationFrom: tutorials/video/bernini-r.mdx
+translationSourceHash: 84ecde34
+translationFrom: tutorials/video/bytedance/bernini-r.mdx
+translationBlockHashes:
+ "_intro": efe73774
+ "Model Installation": 84eedf7b
+ "Example Workflows": cf2f84c1
+ "1. Image Editing": cd75c4ca
+ "2. Video Editing": 9e90382c
+ "Community Resources": 57f652a5
---
+
import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'
# ComfyUI Bernini-R 소개
diff --git a/ko/tutorials/video/cosmos/cosmos-predict2-video2world.mdx b/ko/tutorials/video/cosmos/cosmos-predict2-video2world.mdx
index 6044e4d04..ce6479416 100644
--- a/ko/tutorials/video/cosmos/cosmos-predict2-video2world.mdx
+++ b/ko/tutorials/video/cosmos/cosmos-predict2-video2world.mdx
@@ -8,32 +8,33 @@ translationFrom: tutorials/video/cosmos/cosmos-predict2-video2world.mdx
import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'
-Cosmos-Predict2는 NVIDIA의 차세대 물리 세계 기반 모델로, 물리적 AI 시나리오에서 고품질 시각 생성 및 예측 작업을 위해 특별히 설계되었습니다.
+Cosmos-Predict2는 NVIDIA의 차세대 물리 세계 기반 모델로, 물리적 AI 시나리오에서 고품질 시각 생성 및 예측 작업을 위해 특별히 설계되었습니다.
이 모델은 뛰어난 물리적 정확성, 환경 상호작용성, 세부 묘사 능력을 갖추고 있어 복잡한 물리 현상과 동적 장면을 사실적으로 시뮬레이션할 수 있습니다.
-Cosmos-Predict2는 텍스트-to-이미지(Text2Image)와 비디오-to-월드(Video2World)를 포함한 다양한 생성 방식을 지원하며, 산업 시뮬레이션, 자율주행, 도시 계획, 과학 연구 등 다양한 분야에서 널리 사용되고 있습니다.
-이는 지능형 비전과 물리 세계의 심도 있는 통합을 촉진하는 핵심 기초 도구입니다.
+Cosmos-Predict2는 텍스트 기반 이미지 생성(Text2Image)과 비디오-월드(Video2World)를 포함한 다양한 생성 방식을 지원하며,
+산업 시뮬레이션, 자율주행, 도시 계획, 과학 연구 등 여러 분야에서 널리 사용되고 있습니다.
+이는 지능형 비전과 물리 세계의 깊은 통합을 촉진하는 핵심 기반 도구입니다.
GitHub: [Cosmos-predict2](https://github.com/nvidia-cosmos/cosmos-predict2)
huggingface: [Cosmos-Predict2](https://huggingface.co/collections/nvidia/cosmos-predict2-68028efc052239369a0f2959)
-이 가이드에서는 ComfyUI에서 **Video2World** 생성을 완료하는 과정을 안내합니다.
+이 가이드는 ComfyUI에서 **Video2World** 생성을 완료하는 과정을 안내합니다.
-텍스트-to-이미지 섹션에 대해서는 다음 부분을 참고해 주세요:
+텍스트 기반 이미지 생성 섹션은 다음을 참고하세요:
-
- Cosmos-Predict2를 이용한 텍스트-to-이미지 생성
+
+ Cosmos-Predict2를 이용한 텍스트 기반 이미지 생성
{/*
## Cosmos Predict2 Video2World 워크플로우
-2B 버전을 테스트할 때는 약 16GB VRAM이 필요합니다.
+2B 버전을 테스트할 때 약 16GB VRAM이 필요합니다.
### 1. 워크플로우 파일
-아래 비디오를 다운로드하여 ComfyUI로 드래그해 워크플로우를 로드해 주세요. 워크플로우에는 이미 모델 다운로드 링크가 내장되어 있습니다.
+아래 비디오를 다운로드하여 ComfyUI에 드래그하면 워크플로우가 로드됩니다. 워크플로우에는 모델 다운로드 링크가 이미 포함되어 있습니다.
Json 형식 워크플로우 파일 다운로드
-다음 이미지를 입력으로 다운로드해 주세요:
+다음 이미지를 입력으로 다운로드하세요:

### 2. 수동 모델 설치
-모델 다운로드가 성공하지 못했다면, 이 섹션에서 직접 수동으로 다운로드해 보세요.
+모델 다운로드가 실패한 경우 이 섹션에서 직접 수동으로 다운로드할 수 있습니다.
-**디퓨전 모델**
+**확산 모델**
- [cosmos_predict2_2B_video2world_480p_16fps.safetensors](https://huggingface.co/Comfy-Org/Cosmos_Predict2_repackaged/resolve/main/cosmos_predict2_2B_video2world_480p_16fps.safetensors)
-기타 가중치는 [Cosmos_Predict2_repackaged](https://huggingface.co/Comfy-Org/Cosmos_Predict2_repackaged)에서 다운로드해 주세요.
+기타 가중치는 [Cosmos_Predict2_repackaged](https://huggingface.co/Comfy-Org/Cosmos_Predict2_repackaged)에서 다운로드하세요.
**텍스트 인코더**
@@ -83,13 +84,13 @@ huggingface: [Cosmos-Predict2](https://huggingface.co/collections/nvidia/cosmos-

-이미지의 단계를 따라 워크플로우를 실행해 주세요:
-1. `Load Diffusion Model` 노드가 `cosmos_predict2_2B_video2world_480p_16fps.safetensors`를 로드했는지 확인하세요.
-2. `Load CLIP` 노드가 `oldt5_xxl_fp8_e4m3fn_scaled.safetensors`를 로드했는지 확인하세요.
-3. `Load VAE` 노드가 `wan_2.1_vae.safetensors`를 로드했는지 확인하세요.
-4. 제공된 입력 이미지를 `Load Image` 노드에 업로드하세요.
-5. (선택사항) 첫 번째 및 마지막 프레임 제어가 필요하다면, 단축키 `Ctrl(cmd) + B`를 사용해 마지막 프레임 입력을 활성화하세요.
+이미지의 단계에 따라 워크플로우를 실행하세요:
+1. `Load Diffusion Model` 노드가 `cosmos_predict2_2B_video2world_480p_16fps.safetensors`를 로드했는지 확인합니다.
+2. `Load CLIP` 노드가 `oldt5_xxl_fp8_e4m3fn_scaled.safetensors`를 로드했는지 확인합니다.
+3. `Load VAE` 노드가 `wan_2.1_vae.safetensors`를 로드했는지 확인합니다.
+4. 제공된 입력 이미지를 `Load Image` 노드에 업로드합니다.
+5. (선택사항) 첫 번째 및 마지막 프레임 제어가 필요하다면 `Ctrl(cmd) + B` 단축키로 마지막 프레임 입력을 활성화합니다.
6. (선택사항) `ClipTextEncode` 노드에서 프롬프트를 수정할 수 있습니다.
-7. (선택사항) `CosmosPredict2ImageToVideoLatent` 노드에서 크기와 프레임 수를 조정하세요.
-8. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 워크플로우를 실행하세요.
-9. 생성이 완료되면 비디오는 자동으로 `ComfyUI/output/` 디렉토리에 저장되며, `save video` 노드에서 미리보기도 가능합니다. */}
\ No newline at end of file
+7. (선택사항) `CosmosPredict2ImageToVideoLatent` 노드에서 크기와 프레임 수를 조정합니다.
+8. `Run` 버튼을 클릭하거나 `Ctrl(cmd) + Enter` 단축키를 눌러 워크플로우를 실행합니다.
+9. 생성이 완료되면 비디오가 자동으로 `ComfyUI/output/` 디렉토리에 저장되며, `save video` 노드에서 미리볼 수 있습니다. */}
\ No newline at end of file
diff --git a/ko/tutorials/video/hunyuan/hunyuan-video.mdx b/ko/tutorials/video/hunyuan/hunyuan-video.mdx
index 0c784273c..16902e496 100644
--- a/ko/tutorials/video/hunyuan/hunyuan-video.mdx
+++ b/ko/tutorials/video/hunyuan/hunyuan-video.mdx
@@ -2,10 +2,17 @@
title: "ComfyUI 훈위안 비디오 예시"
description: "이 가이드는 ComfyUI에서 훈위안 텍스트-투-비디오 및 이미지-투-비디오 워크플로우를 사용하는 방법을 보여줍니다."
sidebarTitle: "훈위안 비디오"
-translationSourceHash: 07e5279b
+translationSourceHash: 045f4b68
translationFrom: tutorials/video/hunyuan/hunyuan-video.mdx
+translationBlockHashes:
+ "_intro": 1af8ce94
+ "Common Models for All Workflows": 3e4807f2
+ "Hunyuan Text-to-Video Workflow": 8c3a1c81
+ "Hunyuan Image-to-Video Workflow": ef169a18
+ "Try it yourself": d4ee74b3
---
+
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -128,4 +137,4 @@ LTX-2용 프롬프트를 작성할 때는 행동과 장면에 대한 상세하
- [GitHub 저장소](https://github.com/Lightricks/LTX-2)
- [Hugging Face 모델](https://huggingface.co/Lightricks/LTX-2)
- [LTX-2 프롬프팅 가이드](https://ltx.video/blog/how-to-prompt-for-ltx-2)
-- [ComfyUI-LTXVideo](https://github.com/Lightricks/ComfyUI-LTXVideo/)
\ No newline at end of file
+- [ComfyUI-LTXVideo](https://github.com/Lightricks/ComfyUI-LTXVideo/)
diff --git a/ko/tutorials/video/wan/fun-camera.mdx b/ko/tutorials/video/wan/fun-camera.mdx
index f1fd8b039..d4be5c366 100644
--- a/ko/tutorials/video/wan/fun-camera.mdx
+++ b/ko/tutorials/video/wan/fun-camera.mdx
@@ -2,10 +2,18 @@
title: "ComfyUI Wan2.1 Fun Camera 공식 예시"
description: "이 가이드는 ComfyUI에서 Wan2.1 Fun Camera를 사용해 동영상 생성하는 방법을 보여줍니다."
sidebarTitle: "Wan2.1 Fun Camera"
-translationSourceHash: 79f5efc3
+translationSourceHash: 42e8eefb
translationFrom: tutorials/video/wan/fun-camera.mdx
+translationBlockHashes:
+ "_intro": 3e9c5a21
+ "About Wan2.1 Fun Camera": 98c0ae00
+ "Model Installation": 8b2c147b
+ "ComfyUI Wan2.1 Fun Camera 1.3B Native Workflow Example": bca42959
+ "ComfyUI Wan2.1 Fun Camera 14B Workflow and Input Image": e4e06460
+ "Performance Reference": 32425486
---
+
import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'
## Wan2.1 Fun Camera 소개
@@ -124,4 +132,4 @@ import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'
- RTX 4090에서 512×512 해상도로 81프레임 생성하는 데 약 72초 소요
**14B 버전**:
-- RTX4090 24GB VRAM에서는 512×512 해상도 생성 시 메모리 부족 현상이 발생할 수 있으며, 더 큰 크기를 사용할 경우 A100에서도 메모리 문제가 발생했습니다.
\ No newline at end of file
+- RTX4090 24GB VRAM에서는 512×512 해상도 생성 시 메모리 부족 현상이 발생할 수 있으며, 더 큰 크기를 사용할 경우 A100에서도 메모리 문제가 발생했습니다.
diff --git a/ko/tutorials/video/wan/fun-control.mdx b/ko/tutorials/video/wan/fun-control.mdx
index dcc1668b0..49c8e7596 100644
--- a/ko/tutorials/video/wan/fun-control.mdx
+++ b/ko/tutorials/video/wan/fun-control.mdx
@@ -2,10 +2,18 @@
title: "ComfyUI Wan2.1 Fun Control 동영상 예시"
description: "이 가이드에서는 ComfyUI에서 Wan2.1 Fun Control을 사용해 제어 동영상을 생성하는 방법을 보여줍니다."
sidebarTitle: "Wan2.1 Fun Control"
-translationSourceHash: 04505266
+translationSourceHash: 88043153
translationFrom: tutorials/video/wan/fun-control.mdx
+translationBlockHashes:
+ "_intro": 9efc0241
+ "About Wan2.1-Fun-Control": 19f05e50
+ "Model Installation": aee3a183
+ "ComfyUI Native Workflow": 13eb7888
+ "Workflow Using Custom Nodes": cf408ff0
+ "Usage Tips": ae173b3b
---
+
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
## Wan2.1-Fun-Control 소개
@@ -180,4 +188,4 @@ ComfyUI 커뮤니티의 저자들이 제공하는 커스텀 노드 패키지 덕
- `WanFunControlToVideo` 노드에서 `control_video`는 필수는 아니므로, 때때로 제어 영상을 생략하고 처음에 320x320처럼 아주 작은 영상을 생성한 후 이를 제어 영상 입력으로 사용해 일관된 결과를 얻을 수 있습니다.
- [ComfyUI-WanVideoWrapper](https://github.com/kijai/ComfyUI-WanVideoWrapper)
-- [ComfyUI-KJNodes](https://github.com/kijai/ComfyUI-KJNodes)
\ No newline at end of file
+- [ComfyUI-KJNodes](https://github.com/kijai/ComfyUI-KJNodes)
diff --git a/ko/tutorials/video/wan/fun-inp.mdx b/ko/tutorials/video/wan/fun-inp.mdx
index 87303dbe4..dc9d11849 100644
--- a/ko/tutorials/video/wan/fun-inp.mdx
+++ b/ko/tutorials/video/wan/fun-inp.mdx
@@ -2,10 +2,16 @@
title: "ComfyUI Wan2.1 Fun InP 동영상 예시"
description: "이 가이드에서는 ComfyUI에서 Wan2.1 Fun InP를 사용해 첫 프레임과 마지막 프레임 제어 기능을 갖춘 동영상을 생성하는 방법을 보여줍니다."
sidebarTitle: "Wan2.1 Fun InP"
-translationSourceHash: c6685a1c
+translationSourceHash: db96fa7d
translationFrom: tutorials/video/wan/fun-inp.mdx
+translationBlockHashes:
+ "_intro": 9efc0241
+ "About Wan2.1-Fun-InP": ab94df56
+ "Wan2.1 Fun InP Workflow": 33ad43c2
+ "Other Wan2.1 Fun InP or video-related custom node packages": 4c96c810
---
+
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
## Wan2.1-Fun-InP 소개
@@ -100,4 +106,4 @@ import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
- [ComfyUI-VideoHelperSuite](https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite)
- [ComfyUI-WanVideoWrapper](https://github.com/kijai/ComfyUI-WanVideoWrapper)
-- [ComfyUI-KJNodes](https://github.com/kijai/ComfyUI-KJNodes)
\ No newline at end of file
+- [ComfyUI-KJNodes](https://github.com/kijai/ComfyUI-KJNodes)
diff --git a/ko/tutorials/video/wan/vace.mdx b/ko/tutorials/video/wan/vace.mdx
index 1f4b455c0..7069223b3 100644
--- a/ko/tutorials/video/wan/vace.mdx
+++ b/ko/tutorials/video/wan/vace.mdx
@@ -1,11 +1,19 @@
---
-title: "ComfyUI Wan2.1 VACE 동영상 예제"
-description: "이 기사에서는 ComfyUI에서 Wan VACE 동영상 생성 예제를 완료하는 방법을 소개합니다."
+title: "ComfyUI Wan2.1 VACE 비디오 예제"
+description: "이 기사에서는 ComfyUI에서 Wan VACE 비디오 생성 예제를 완료하는 방법을 소개합니다."
sidebarTitle: "Wan2.1 VACE"
-translationSourceHash: 379bd35f
+translationSourceHash: 9b04cff5
translationFrom: tutorials/video/wan/vace.mdx
+translationBlockHashes:
+ "_intro": f6c2c850
+ "About VACE": 4fa63090
+ "Model Download and Loading in Workflows": 61bc1fa6
+ "VACE Text-to-Video Workflow": 0275c575
+ "VACE Image-to-Video Workflow": 6dbc84f2
+ "VACE Video-to-Video Workflow": 0b58d1d2
+ "VACE Video Outpainting Workflow": 22da2682
+ "VACE First-Last Frame Video Generation": 0f2de66b
---
-
import CancelBypass from '/snippets/ko/interface/cancel-bypass.mdx'
import UpdateReminder from "/snippets/ko/tutorials/update-reminder.mdx";
@@ -88,10 +96,10 @@ VACE 14B는 알리바바 통이 완샹팀이 출시한 오픈소스 통합 비
-## VACE 텍스트-to-비디오 워크플로
+## VACE 텍스트 기반 비디오 생성 워크플로
-mp4 파일로 워크플로를 로드할 수 없는 경우, ComfyUI 프론트엔드 버전이 [requirements.txt](https://github.com/Comfy-Org/ComfyUI/blob/master/requirements.txt)에 명시된 최신 버전인지 확인해 주세요. mp4 파일로 워크플로를 로드할 수 있는지 확인해 주세요.
+mp4 파일로 워크플로를 로드할 수 없는 경우, ComfyUI 프론트엔드 버전이 [requirements.txt](https://github.com/Comfy-Org/ComfyUI/blob/master/requirements.txt)에 명시된 최신 버전인지 확인하여 mp4 파일에서 워크플로를 로드할 수 있도록 해주세요.
현재 requirements.txt 파일에 명시된 ComfyUI 프론트엔드 최신 버전은 1.19.9입니다.
@@ -112,7 +120,7 @@ mp4 파일로 워크플로를 로드할 수 없는 경우, ComfyUI 프론트엔
이미지의 번호순대로 진행해 원활한 워크플로 실행을 보장해 주세요.
1. `CLIP Text Encode (Positive Prompt)` 노드에 긍정적 프롬프트를 입력하세요.
-2. `CLIP Text Encode (Negative Prompt)` 노드에 부정적 프롬프트를 입력하세요.
+2. `CLIP Text Encode (Negative Prompt)` 노드에 네거티브 프롬프트를 입력하세요.
3. `WanVaceToVideo`에서 이미지 크기(첫 실행 시 640x640 해상도 권장)와 프레임 수(비디오 길이)를 설정하세요.
4. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 비디오 생성을 실행하세요.
5. 생성이 완료되면 비디오는 자동으로 `ComfyUI/output/video` 디렉토리에 저장됩니다(저장 위치는 `save video` 노드 설정에 따라 달라집니다).
@@ -125,6 +133,97 @@ mp4 파일로 워크플로를 로드할 수 없는 경우, ComfyUI 프론트엔
하지만 720P 화질이 더 우수합니다.
-## VACE 이미지-to-비디오 워크플로
+## VACE 이미지 기반 비디오 생성 워크플로
+
+위 워크플로를 그대로 사용할 수 있으며, **Load reference image** 그룹에서 `Load image` 노드의 바이패스를 해제하고 이미지를 입력하면 됩니다. 이 파일에는 아래 이미지를 사용할 수 있도록 파라미터가 이미 설정되어 있습니다.
+
+### 1. 워크플로 다운로드
+아래 비디오를 다운로드하여 ComfyUI에 드래그하면 해당 워크플로가 로드됩니다.
+
+
+
+아래 이미지를 입력으로 다운로드하세요.
+
+
+
+### 2. 워크플로 단계별로 완료하기
+
+
+
+워크플로가 부드럽게 실행되도록 이미지에 표시된 번호 순서대로 따라주세요.
+
+1. `Load image` 노드에 해당 이미지를 입력하세요.
+2. 텍스트 기반 비디오 생성 워크플로에서와 같이 프롬프트를 수정 및 편집할 수 있습니다.
+3. `WanVaceToVideo`에서 이미지 크기(첫 실행 시 640x640 해상도 권장)와 프레임 수(비디오 길이)를 설정하세요.
+4. 비디오 생성을 실행하려면 `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용하세요.
+5. 생성된 비디오는 자동으로 `ComfyUI/output/video` 디렉토리에 저장됩니다 (하위 폴더 위치는 `save video` 노드 설정에 따라 달라집니다).
+
+
+이미지 크기를 가져오는 노드 등을 사용하여 해상도를 설정할 수 있지만, 해당 노드의 너비/높이 스텝 요구사항으로 인해 이미지 크기가 16으로 나누어 떨어지지 않으면 오류 메시지가 표시될 수 있습니다.
+
+
+### 3. 추가 워크플로 참고 사항
+
+VACE는 또한 하나의 이미지에 여러 참조 이미지를 입력하여 해당 비디오를 생성하는 것도 지원합니다. 관련 예제는 VACE 프로젝트 [페이지](https://ali-vilab.github.io/VACE-Page/)에서 확인할 수 있습니다.
+
+## VACE 비디오 기반 비디오 생성 워크플로
+
+### 1. 워크플로 다운로드
+
+아래 비디오를 다운로드하고 ComfyUI에 끌어다 놓아 해당 워크플로를 불러오세요
+
+
+다음 자료를 입력으로 사용합니다:
+
+1. 참조 이미지로 사용할 입력 이미지
+
+
+2. 아래 비디오는 전처리되었으며 비디오 생성 제어에 사용됩니다
+
+
+
+3. 아래 비디오는 원본 비디오입니다. 이 자료들을 다운로드하고 전처리 노드(예: [comfyui_controlnet_aux](https://github.com/Fannovel16/comfyui_controlnet_aux))를 사용하여 이미지를 전처리할 수 있습니다
+
+
+
+### 2. 워크플로 단계별 완료
+
+
+
+이미지에 번호가 매겨진 단계를 따라 워크플로가 부드럽게 실행되도록 하세요
+
+1. `Load reference image` 아래에 있는 `Load Image` 노드에 참조 이미지를 입력합니다
+2. `Load control video` 아래에 있는 `Load Video` 노드에 제어 비디오를 입력합니다. 제공된 비디오는 이미 전처리되었으므로 추가 처리가 필요하지 않습니다
+3. 원본 비디오를 직접 전처리해야 하는 경우 `Image preprocessing` 그룹을 수정하거나 `comfyui_controlnet_aux` 노드를 사용하여 전처리를 완료할 수 있습니다
+4. 프롬프트 수정
+5. `WanVaceToVideo`에서 이미지 크기(첫 실행 시 640x640 해상도 권장)와 프레임 수(비디오 길이)를 설정합니다
+6. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용하여 비디오 생성을 실행합니다
+7. 생성되면 비디오가 자동으로 `ComfyUI/output/video` 디렉토리에 저장됩니다(하위 폴더 위치는 `save video` 노드 설정에 따라 다릅니다)
+
+## VACE 비디오 아웃페인팅 워크플로
+
+[업데이트 예정]
+
+## VACE 첫-마지막 프레임 비디오 생성
+
+[업데이트 예정]
+
+첫 번째와 마지막 프레임이 효과적으로 작동하려면 비디오 `length` 설정이 `length-1`이 4로 나누어 떨어지도록 해야 합니다.
-위 워크플로를 그대로 사용할 수 있으며, **Load reference image
\ No newline at end of file
+그에 해당하는 `Batch_size` 설정은 `Batch_size = length - 2`를 충족해야 합니다.
diff --git a/ko/tutorials/video/wan/wan-alpha.mdx b/ko/tutorials/video/wan/wan-alpha.mdx
index 345fad6f8..c6a212e56 100644
--- a/ko/tutorials/video/wan/wan-alpha.mdx
+++ b/ko/tutorials/video/wan/wan-alpha.mdx
@@ -6,7 +6,7 @@ translationSourceHash: 82295242
translationFrom: tutorials/video/wan/wan-alpha.mdx
---
-Wan-Alpha는 알파 채널 투명도가 적용된 고품질 동영상을 생성하는 특수한 텍스트-to-비디오 모델입니다. Wan2.1-14B-T2V 기본 모델을 기반으로 하며, 투명한 배경과 반투명 객체를 포함한 동영상을 만들어 합성 작업에 완벽합니다.
+Wan-Alpha는 알파 채널 투명도가 적용된 고품질 동영상을 생성하는 특수한 텍스트 기반 비디오 생성 모델입니다. Wan2.1-14B-T2V 베이스 모델을 기반으로 하며, 투명한 배경과 반투명 객체를 포함한 동영상을 만들어 합성 작업에 완벽합니다.
이 모델은 투명한 배경, 반투명 객체(기포, 유리, 물), 빛나는 효과 및 정확한 알파 채널을 갖춘 세밀한 디테일(머리카락, 연기, 입자)을 잘 생성합니다.
@@ -22,7 +22,7 @@ Wan-Alpha는 알파 채널 투명도가 적용된 고품질 동영상을 생성
allowfullscreen
>
-[워크플로우 다운로드](https://github.com/Comfy-Org/workflows/blob/main/tutorial_workflows/Get_Comfy_With_Comfy_Wan_Alpha.json)
+[워크플로 다운로드](https://github.com/Comfy-Org/workflows/blob/main/tutorial_workflows/Get_Comfy_With_Comfy_Wan_Alpha.json)
## 리소스
diff --git a/ko/tutorials/video/wan/wan-ati.mdx b/ko/tutorials/video/wan/wan-ati.mdx
index 9ba48bacb..345de9b22 100644
--- a/ko/tutorials/video/wan/wan-ati.mdx
+++ b/ko/tutorials/video/wan/wan-ati.mdx
@@ -2,10 +2,15 @@
title: "Wan ATI ComfyUI 네이티브 워크플로우 튜토리얼"
description: "트래젝터리 제어를 사용한 비디오 생성"
sidebarTitle: "WAN2l1 ATI"
-translationSourceHash: 79cff268
+translationSourceHash: a8716511
translationFrom: tutorials/video/wan/wan-ati.mdx
+translationBlockHashes:
+ "_intro": 247f391d
+ "Key Features": 67ce28af
+ "WAN ATI Trajectory Control Workflow Example": 01ea7d04
---
+
import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'
@@ -83,4 +88,4 @@ ComfyUI/
6. 트래젝터리 편집: 현재 ComfyUI에는 해당하는 트래젝터리 에디터가 없으므로, 다음 링크를 이용해 트래젝터리 편집을 완료할 수 있습니다.
- [온라인 트래젝터리 편집 도구](https://comfyui-wiki.github.io/Trajectory-Annotation-Tool/)
7. 프롬프트(긍정 및 부정)를 수정해야 한다면, 번호 `5`의 `CLIP Text Encoder` 노드에서 변경하세요.
-8. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 비디오 생성을 실행하세요.
\ No newline at end of file
+8. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 비디오 생성을 실행하세요.
diff --git a/ko/tutorials/video/wan/wan-move.mdx b/ko/tutorials/video/wan/wan-move.mdx
index 756a51437..b767247e3 100644
--- a/ko/tutorials/video/wan/wan-move.mdx
+++ b/ko/tutorials/video/wan/wan-move.mdx
@@ -2,10 +2,15 @@
title: "ComfyUI Wan-Move 워크플로우 예시"
description: "Wan-Move는 잠재적 궤적 안내를 통해 모션을 제어 가능한 비디오 생성 모델로, 이미지에서 비디오 생성 시 세밀한 포인트 단위의 모션 제어를 가능하게 합니다."
sidebarTitle: "Wan-Move"
-translationSourceHash: 07bfbc40
+translationSourceHash: 1b11ad45
translationFrom: tutorials/video/wan/wan-move.mdx
+translationBlockHashes:
+ "_intro": 67a26359
+ "Wan-Move image-to-video workflow": ec83b0e4
+ "Model links": 25e1a28d
---
+
import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'
**Wan-Move**는 알리바바의 퉁이 랩에서 개발한 모션 제어가 가능한 비디오 생성 프레임워크입니다. 사용자는 입력 이미지 위에 점의 궤적을 지정함으로써 생성된 비디오에서 객체의 움직임을 제어할 수 있어 이미지에서 비디오 생성을 더욱 정밀하고 제어 가능하게 만듭니다.
@@ -70,4 +75,4 @@ import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'
│ │ └── Wan21-WanMove_fp8_scaled_e4m3fn_KJ.safetensors
│ └── 📂 vae/
│ └── wan_2.1_vae.safetensors
-```
\ No newline at end of file
+```
diff --git a/ko/tutorials/video/wan/wan-video.mdx b/ko/tutorials/video/wan/wan-video.mdx
index 6f30bec82..657814f1b 100644
--- a/ko/tutorials/video/wan/wan-video.mdx
+++ b/ko/tutorials/video/wan/wan-video.mdx
@@ -2,11 +2,18 @@
title: ComfyUI Wan2.1 동영상 예시
description: "이 가이드는 ComfyUI에서 Wan2.1 Video를 사용해 첫 프레임과 마지막 프레임을 포함한 동영상을 생성하는 방법을 보여줍니다."
sidebarTitle: Wan2.1
-translationSourceHash: b662e221
+translationSourceHash: e0c0f714
translationFrom: tutorials/video/wan/wan-video.mdx
+translationBlockHashes:
+ "_intro": 228a7575
+ "Wan2.1 ComfyUI Native Workflow Examples": b092012f
+ "Model Installation": 0bd3e4c2
+ "Wan2.1 Text-to-Video Workflow": 611b9bf9
+ "Wan2.1 Image-to-Video Workflow": bee5fc35
---
+
Wan2.1 Video 시리즈는 2025년 2월 알리바바가 [Apache 2.0 라이선스](https://github.com/Wan-Video/Wan2.1?tab=Apache-2.0-1-ov-file)로 오픈소스로 공개한 동영상 생성 모델입니다.
두 가지 버전을 제공합니다:
- 14B (140억 파라미터)
@@ -142,4 +149,4 @@ ComfyUI/
5. 제공된 입력 이미지를 `Load Image` 노드에 업로드하세요.
6. (선택사항) 생성하고자 하는 동영상 설명 내용을 `CLIP Text Encoder` 노드에 입력하세요.
7. (선택사항) 필요하다면 `WanImageToVideo` 노드에서 동영상 크기를 수정할 수 있습니다.
-8. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 동영상 생성을 실행하세요.
\ No newline at end of file
+8. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 동영상 생성을 실행하세요.
diff --git a/ko/tutorials/video/wan/wan2-2-animate.mdx b/ko/tutorials/video/wan/wan2-2-animate.mdx
index 446ae6966..9155a436e 100644
--- a/ko/tutorials/video/wan/wan2-2-animate.mdx
+++ b/ko/tutorials/video/wan/wan2-2-animate.mdx
@@ -2,9 +2,16 @@
title: "Wan2.2 Animate ComfyUI 기본 워크플로우"
description: "정밀한 모션과 표현을 정확히 재현하는 통합 캐릭터 애니메이션 및 교체 프레임워크."
sidebarTitle: "Wan2.2 Animate"
-translationSourceHash: 46cb9d1b
+translationSourceHash: 8d8cb435
translationFrom: tutorials/video/wan/wan2-2-animate.mdx
+translationBlockHashes:
+ "_intro": 96eb0424
+ "Model Highlights": fc4e7349
+ "ComfyOrg Wan2.2 Animate stream replay": a43ba31b
+ "About Wan2.2 Animate workflow": f3713999
+ "Wan2.2 Anmate ComfyUI native workflow(without custom nodes)": fc4b2e18
---
+
import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'
Wan-Animate는 WAN 팀에서 개발한 캐릭터 애니메이션 및 교체를 위한 통합 프레임워크입니다.
@@ -141,4 +148,4 @@ Wan2.2 animate 워크플로우에서 [서브그래프](/ko/interface/features/su

-무브 모드로 전환하려면 `Video Sampling and output(Subgraph)` 노드에서 `background_video`와 `character_mask` 입력을 연결 해제하면 됩니다.
\ No newline at end of file
+무브 모드로 전환하려면 `Video Sampling and output(Subgraph)` 노드에서 `background_video`와 `character_mask` 입력을 연결 해제하면 됩니다.
diff --git a/ko/tutorials/video/wan/wan2-2-fun-control.mdx b/ko/tutorials/video/wan/wan2-2-fun-control.mdx
index 7143ed0a8..b60dbd1cc 100644
--- a/ko/tutorials/video/wan/wan2-2-fun-control.mdx
+++ b/ko/tutorials/video/wan/wan2-2-fun-control.mdx
@@ -2,10 +2,15 @@
title: "ComfyUI Wan2.2 펀 컨트롤 비디오 생성 예시"
description: "이 기사에서는 ComfyUI를 사용해 컨트롤 비디오를 활용한 Wan2.2 펀 컨트롤 비디오 생성 방법을 소개합니다."
sidebarTitle: "Wan2.2 펀 컨트롤"
-translationSourceHash: 0e10558a
+translationSourceHash: 59b97fdc
translationFrom: tutorials/video/wan/wan2-2-fun-control.mdx
+translationBlockHashes:
+ "_intro": 239e24b6
+ "ComfyOrg Wan2.2 Fun InP & Control Youtube Live Stream Replay": 22557a2e
+ "Wan2.2 Fun Control Video Generation Workflow Example": 68f53061
---
+
import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'
**Wan2.2-Fun-Control**은 알리바바 PAI팀이 출시한 차세대 비디오 생성 및 제어 모델입니다. 혁신적인 Control Codes 메커니즘과 딥러닝, 다중 모달 조건 입력을 결합해 미리 설정된 제어 조건에 부합하는 고품질 비디오를 생성할 수 있습니다. 이 모델은 **Apache 2.0 라이선스**로 공개되며 상업적 사용도 지원합니다.
@@ -133,4 +138,4 @@ ComfyUI/
### 추가 참고사항
-ComfyUI의 내장 노드에는 Canny 전처리기만 포함되어 있으므로, [ComfyUI-comfyui_controlnet_aux](https://github.com/Fannovel16/comfyui_controlnet_aux)와 같은 도구를 사용해 다른 종류의 이미지 전처리를 구현할 수 있습니다.
\ No newline at end of file
+ComfyUI의 내장 노드에는 Canny 전처리기만 포함되어 있으므로, [ComfyUI-comfyui_controlnet_aux](https://github.com/Fannovel16/comfyui_controlnet_aux)와 같은 도구를 사용해 다른 종류의 이미지 전처리를 구현할 수 있습니다.
diff --git a/ko/tutorials/video/wan/wan2-2-fun-inp.mdx b/ko/tutorials/video/wan/wan2-2-fun-inp.mdx
index 9a7f3388c..6a076123b 100644
--- a/ko/tutorials/video/wan/wan2-2-fun-inp.mdx
+++ b/ko/tutorials/video/wan/wan2-2-fun-inp.mdx
@@ -2,10 +2,15 @@
title: "ComfyUI Wan2.2 Fun Inp 시작-끝 프레임 동영상 생성 예제"
description: "이 기사는 ComfyUI를 사용해 Wan2.2 Fun Inp 시작-끝 프레임 동영상 생성 예제를 완성하는 방법을 소개합니다."
sidebarTitle: "Wan2.2 Fun Inp"
-translationSourceHash: 6914cd26
+translationSourceHash: 9d81688f
translationFrom: tutorials/video/wan/wan2-2-fun-inp.mdx
+translationBlockHashes:
+ "_intro": 75061370
+ "ComfyOrg Wan2.2 Fun InP & Control Youtube Live Stream Replay": 22557a2e
+ "Wan2.2 Fun Inp Start-End Frame Video Generation Workflow Example": 39f39063
---
+
import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'
**Wan2.2-Fun-Inp**는 알리바바 PAI 팀이 출시한 시작-끝 프레임 제어 동영상 생성 모델입니다. 이 모델은 **시작 및 끝 프레임 이미지**를 입력해 중간 전환 동영상을 생성할 수 있어 크리에이터들이 더욱 창의적인 제어를 할 수 있도록 지원합니다. 이 모델은 **Apache 2.0 라이선스**로 배포되며 상업적 사용도 가능합니다.
@@ -121,4 +126,4 @@ ComfyUI/
7. `WanFunInpaintToVideo` 노드에서 크기와 동영상 길이를 조정하세요.
- `width`와 `height` 파라미터를 조정하세요. 기본값은 `640`입니다. 우리는 작은 크기를 설정했지만 필요에 따라 수정할 수 있습니다.
- `length`를 조정하세요. 이는 총 프레임 수입니다. 현재 워크플로우의 fps는 16입니다. 예를 들어 5초짜리 동영상을 생성하려면 5×16 = 80으로 설정해야 합니다.
-8. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 동영상 생성을 실행하세요.
\ No newline at end of file
+8. `Run` 버튼을 클릭하거나 단축키 `Ctrl(cmd) + Enter`를 사용해 동영상 생성을 실행하세요.
diff --git a/ko/tutorials/video/wan/wan2_2.mdx b/ko/tutorials/video/wan/wan2_2.mdx
index d9bda0cc7..1303255f4 100644
--- a/ko/tutorials/video/wan/wan2_2.mdx
+++ b/ko/tutorials/video/wan/wan2_2.mdx
@@ -1,17 +1,26 @@
---
-title: "Wan2.2 비디오 생성 ComfyUI 공식 네이티브 워크플로우 예시"
+title: "Wan2.2 비디오 생성 ComfyUI 공식 네이티브 워크플로 예시"
description: "ComfyUI에서 Alibaba Cloud Tongyi Wanxiang 2.2 비디오 생성 모델의 공식 사용 가이드"
sidebarTitle: Wan2.2
-translationSourceHash: 3d509ed7
+translationSourceHash: 70e49209
translationFrom: tutorials/video/wan/wan2_2.mdx
+translationBlockHashes:
+ "_intro": 3d02f6d3
+ "Model Highlights": fc7121c1
+ "Wan2.2 Open Source Model Versions": 7ed2d913
+ "ComfyOrg Wan2.2 Live Streams": d380a603
+ "Wan2.2 TI2V 5B Hybrid Version Workflow Example": b0e108bd
+ "Wan2.2 14B T2V Text-to-Video Workflow Example": 9eaf9107
+ "Wan2.2 14B I2V Image-to-Video Workflow Example": a006f8aa
+ "Wan2.2 14B FLF2V Workflow Example": 525e0946
+ "Community Resources": 7463b48b
---
-
import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'
@@ -20,13 +29,13 @@ Wan 2.2는 WAN AI가 출시한 차세대 멀티모달 생성 모델입니다.
Wan 2.2는 세 가지 핵심 기능을 갖추고 있습니다: 영화 수준의 미적 제어, 전문 영화 산업의 미적 기준을 깊이 통합해 조명, 색감, 구도 등 다차원적 시각적 제어를 지원합니다; 대규모 복합 동작, 다양한 복잡한 동작을 쉽게 복원하고 동작의 부드러움과 제어성을 강화합니다; 정밀한 의미적 준수, 복잡한 장면과 다중 객체 생성에 뛰어나 사용자의 창의적 의도를 더욱 잘 살려냅니다.
-이 모델은 텍스트-to-비디오, 이미지-to-비디오 등 여러 생성 모드를 지원하며, 콘텐츠 제작, 예술 창작, 교육 및 훈련 등 다양한 응용 분야에 적합합니다.
+이 모델은 텍스트 기반 비디오 생성, 이미지 기반 비디오 생성 등 여러 생성 모드를 지원하며, 콘텐츠 제작, 예술 창작, 교육 및 훈련 등 다양한 응용 분야에 적합합니다.
[Wan2.2 프롬프트 가이드](https://alidocs.dingtalk.com/i/nodes/EpGBa2Lm8aZxe5myC99MelA2WgN7R35y)
## 모델 주요 특징
-- **영화 수준의 미적 제어**: 전문적인 카메라 언어, 조명, 색감, 구도 등 다차원적 시각적 제어 지원
+- **영화 수준의 미적 제어**: 전문적인 카메라 언어, 조명, 색상, 구도 등 다차원적 시각적 제어 지원
- **대규모 복합 동작**: 다양한 복잡한 동작을 부드럽게 복원하고, 동작의 제어성과 자연스러움을 향상시킵니다
- **정밀한 의미적 준수**: 복잡한 장면 이해, 다중 객체 생성, 창의적 의도를 더욱 잘 살려냅니다
- **효율적인 압축 기술**: 고압축률 VAE를 적용한 5B 버전, 메모리 최적화, 혼합 학습 지원
@@ -37,9 +46,9 @@ Wan2.2 시리즈 모델은 Apache 2.0 오픈소스 라이선스를 기반으로
| 모델 유형 | 모델 이름 | 파라미터 | 주요 기능 | 모델 저장소 |
|------------|------------|------------|---------------|-----------------|
-| 하이브리드 모델 | Wan2.2-TI2V-5B | 5B | 텍스트-to-비디오와 이미지-to-비디오를 모두 지원하는 하이브리드 버전, 하나의 모델로 두 가지 핵심 작업 요구사항을 충족 | 🤗 [Wan2.2-TI2V-5B](https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B) |
-| 이미지-to-비디오 | Wan2.2-I2V-A14B | 14B | 정적 이미지를 동영상으로 변환하며, 콘텐츠 일관성과 부드러운 동작 과정을 유지 | 🤗 [Wan2.2-I2V-A14B](https://huggingface.co/Wan-AI/Wan2.2-I2V-A14B) |
-| 텍스트-to-비디오 | Wan2.2-T2V-A14B | 14B | 텍스트 설명으로부터 고품질 비디오를 생성하며, 영화 수준의 미적 제어와 정밀한 의미적 준수를 제공 | 🤗 [Wan2.2-T2V-A14B](https://huggingface.co/Wan-AI/Wan2.2-T2V-A14B) |
+| 하이브리드 모델 | Wan2.2-TI2V-5B | 5B | 텍스트 기반 비디오 생성과 이미지 기반 비디오 생성을 모두 지원하는 하이브리드 버전, 하나의 모델로 두 가지 핵심 작업 요구 사항을 충족 | 🤗 [Wan2.2-TI2V-5B](https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B) |
+| 이미지 기반 비디오 생성 | Wan2.2-I2V-A14B | 14B | 정적 이미지를 동영상으로 변환하며, 콘텐츠 일관성과 부드러운 동작 과정을 유지 | 🤗 [Wan2.2-I2V-A14B](https://huggingface.co/Wan-AI/Wan2.2-I2V-A14B) |
+| 텍스트 기반 비디오 생성 | Wan2.2-T2V-A14B | 14B | 텍스트 설명으로부터 고품질 비디오를 생성하며, 영화 수준의 미적 제어와 정밀한 의미적 준수를 제공 | 🤗 [Wan2.2-T2V-A14B](https://huggingface.co/Wan-AI/Wan2.2-T2V-A14B) |
## ComfyOrg Wan2.2 라이브 스트림
@@ -84,7 +93,7 @@ ComfyUI Wan2.2 사용법에 대해 라이브 스트림을 진행했으니, 이
### 1. 워크플로우 파일 다운로드
-ComfyUI를 최신 버전으로 업데이트하신 후, 메뉴 `워크플로우` -> `템플릿 둘러보기` -> `비디오`를 통해 "Wan2.2 5B 비디오 생성"을 찾아 워크플로우를 로드하세요.
+ComfyUI를 최신 버전으로 업데이트하신 후, 메뉴 `워크플로우` -> `템플릿 탐색` -> `비디오`를 통해 "Wan2.2 5B 비디오 생성"을 찾아 워크플로우를 로드하세요.
`템플릿 둘러보기` -> `비디오`를 통해 "Wan2.2 14B T2V"를 찾아 워크플로우를 로드하세요.
+ComfyUI를 최신 버전으로 업데이트하신 후, 메뉴 `워크플로우` -> `템플릿 탐색` -> `비디오`를 통해 "Wan2.2 14B T2V"를 찾아 워크플로우를 로드하세요.
또는 ComfyUI를 최신 버전으로 업데이트한 후, 아래 비디오를 다운로드해 ComfyUI로 드래그하여 워크플로우를 로드하세요.
@@ -188,16 +197,16 @@ ComfyUI/
3. `Load CLIP` 노드가 `umt5_xxl_fp8_e4m3fn_scaled.safetensors` 모델을 로드하도록 설정하세요.
4. `Load VAE` 노드가 `wan_2.1_vae.safetensors` 모델을 로드하도록 설정하세요.
5. (선택) `EmptyHunyuanLatentVideo` 노드에서 크기 설정과 전체 비디오 프레임 수(`length`)를 조정할 수 있습니다.
-6. (선택) 프롬프트(긍정 및 부정)를 수정해야 한다면, 5단계의 `CLIP Text Encoder` 노드에서 직접 수정하세요.
+6. (선택) 프롬프트(포지티브 및 네거티브)를 수정해야 한다면, 5단계의 `CLIP Text Encoder` 노드에서 직접 수정하세요.
7. `Run` 버튼을 클릭하거나, 단축키 `Ctrl(cmd) + Enter`를 사용해 비디오 생성을 실행하세요.
-## Wan2.2 14B I2V 이미지-to-비디오 워크플로우 예시
+## Wan2.2 14B I2V 이미지 기반 비디오 생성 워크플로 예시
-### 1. 워크플로우 파일
+### 1. 워크플로 파일
-ComfyUI를 최신 버전으로 업데이트하신 후, 메뉴 `워크플로우` -> `템플릿 둘러보기` -> `비디오`를 통해 "Wan2.2 14B I2V"를 찾아 워크플로우를 로드하세요.
+ComfyUI를 최신 버전으로 업데이트하신 후, 메뉴 `워크플로우` -> `템플릿 탐색` -> `비디오`를 통해 "Wan2.2 14B I2V"를 찾아 워크플로를 로드하세요.
-또는 ComfyUI를 최신 버전으로 업데이트한 후, 아래 비디오를 다운로드해 ComfyUI로 드래그하여 워크플로우를 로드하세요.
+또는 ComfyUI를 최신 버전으로 업데이트한 후, 아래 비디오를 다운로드해 ComfyUI로 드래그하여 워크플로를 로드하세요.
-
-
+| Model | Best for |
+|-------|----------|
+| **[Nano Banana 2 Lite](/tutorials/partner-nodes/google/nano-banana-2-lite)** | Speed and cost — rapid iteration, high-throughput pipelines, low-latency applications |
+| **[Nano Banana 2](/tutorials/partner-nodes/google/nano-banana-2)** | Most creators — balanced quality and speed for general-purpose image generation and editing |
+| **Nano Banana Pro** | Professional use cases — maximum quality, 4K generation, complex layouts and precise control |
-### For local users
+## Get started
-Please update ComfyUI and go to Template → Nano Banana Pro to access the workflow.
+1. Update ComfyUI to the latest version
+2. Double-click the canvas and search for the "Nano Banana Pro" node
+3. Or go to the Template Library to use the ready-to-go workflow
+4. Upload your reference images, enter your prompt, and select the desired thinking level
+
+Nano Banana Pro provides the highest quality output in the Nano Banana family. For faster generation at lower cost, consider [Nano Banana 2 Lite](/tutorials/partner-nodes/google/nano-banana-2-lite) or [Nano Banana 2](/tutorials/partner-nodes/google/nano-banana-2).
+
diff --git a/tutorials/partner-nodes/grok/grok-imagine-video-1-5.mdx b/tutorials/partner-nodes/grok/grok-imagine-video-1-5.mdx
new file mode 100644
index 000000000..757048c33
--- /dev/null
+++ b/tutorials/partner-nodes/grok/grok-imagine-video-1-5.mdx
@@ -0,0 +1,60 @@
+---
+title: "Grok Imagine Video 1.5 Image to Video ComfyUI Official Example"
+description: "This guide explains how to use the Grok Imagine Video 1.5 Partner Node in ComfyUI to generate high-quality videos with native audio from images"
+sidebarTitle: "Grok Imagine Video 1.5"
+---
+
+import ReqHint from "/snippets/tutorials/partner-nodes/req-hint.mdx";
+import UpdateReminder from "/snippets/tutorials/update-reminder.mdx";
+
+The [Grok Imagine Video 1.5](/built-in-nodes/GrokVideoNode) Partner Node enables high-quality video generation with native audio from a single image input. Powered by xAI's latest Grok model, it produces realistic motion with synchronized audio and supports up to **1080p** resolution.
+
+The node supports two model variants selected via its `model` parameter:
+
+- **`grok-imagine-video`** — the previous generation model, supports optional image input
+- **`grok-imagine-video-1.5`** — the latest model, **always requires** an input image and supports 1080p output
+
+Both variants generate **native audio** — sound effects, ambience, and dialogue are synthesized in the same pass, with no separate audio pipeline needed. Video duration ranges from **1 to 15 seconds**.
+
+
+
+
+## Grok Imagine Video 1.5: Image to Video
+
+
+
+
+
+ Open in Comfy Cloud
+
+
+ Download JSON or search "Grok Imagine Video 1.5" in Template Library
+
+
+
+### Workflow Overview
+
+This workflow uses three nodes:
+- **LoadImage** — provides the starting image frame
+- **GrokVideoNode** — the core node configured with the `grok-imagine-video-1.5` model
+- **SaveVideo** — saves the generated video with native audio
+
+### Steps to Run
+
+1. **Upload a starting image** — use the **LoadImage** node to load your reference image
+2. **Enter your prompt** — describe the motion, atmosphere, and scene dynamics in the **GrokVideoNode** node
+3. **Select model** — ensure `grok-imagine-video-1.5` is selected
+4. **Set resolution** — choose output resolution (`720p` recommended)
+5. **Set duration** — choose the video length in seconds
+6. **Set seed** — control reproducibility of results
+7. **Click Queue** — press `Ctrl+Enter` to generate
+
+### Output
+
+The generated video includes **native audio** synchronized with the motion, saved automatically via the **SaveVideo** node.
+
+### Tips
+
+- Use high-quality input images for best results
+- The prompt works best when it describes both the **visual scene** and the **motion dynamics**
+- For different results, try varying the seed value
diff --git a/tutorials/partner-nodes/krea2/krea2-t2i.mdx b/tutorials/partner-nodes/krea2/krea2-t2i.mdx
new file mode 100644
index 000000000..43b1998d8
--- /dev/null
+++ b/tutorials/partner-nodes/krea2/krea2-t2i.mdx
@@ -0,0 +1,68 @@
+---
+title: "ComfyUI Krea 2 Partner Nodes Official Example"
+description: "This guide explains how to use the Krea 2 Text to Image Partner node in ComfyUI"
+sidebarTitle: "Krea 2 Text to Image"
+---
+
+import ReqHint from "/snippets/tutorials/partner-nodes/req-hint.mdx";
+import UpdateReminder from "/snippets/tutorials/update-reminder.mdx";
+
+The [Krea 2 Image Node](/built-in-nodes/Krea2ImageNode) allows you to generate high-quality images from text prompts using Krea AI's next-generation model. It supports two model variants — **Krea 2 Medium** for expressive illustrations and **Krea 2 Large** for expressive photorealism — with optional moodboard and style reference inputs.
+
+In this guide, we'll show you how to set up workflows for text-to-image generation using Krea 2.
+
+
+
+
+## Krea 2 Image Node Documentation
+
+Check the following documentation for detailed node parameter settings:
+
+- [Krea 2 Image Node](/built-in-nodes/Krea2ImageNode)
+- [Krea 2 Style Reference Node](/built-in-nodes/Krea2StyleReferenceNode)
+
+## Krea 2 Text to Image Workflow
+
+
+
+
+
+ Open in Comfy Cloud
+
+
+ Download JSON or search "Krea2" in Template Library
+
+
+
+1. **Enter your prompt** — type a text description in the **Krea2ImageNode**
+2. **Select a model variant** — choose between **Krea 2 Medium** (illustrations) or **Krea 2 Large** (photorealism)
+3. **Adjust parameters** — set aspect ratio, resolution, creativity level, and seed
+4. **Click Queue** — press `Ctrl+Enter` or click the Queue button to generate
+5. **View result** — the generated image appears in the **SaveImage** node, saved to `ComfyUI/output/`
+
+## Krea 2 Style Reference Workflow
+
+
+
+The Style Reference workflow adds an extra step: upload one or more reference images that define the aesthetic style, mood, and visual direction. The generated image will match your prompt while applying the style from your reference images.
+
+
+
+ Open in Comfy Cloud
+
+
+ Download JSON or search "Krea 2: Style Reference" in Template Library
+
+
+
+1. **Upload reference images** — use the **LoadImage** nodes to load style reference images (supports up to 10)
+2. **Enter your prompt** — describe the scene you want in the **Krea2ImageNode**
+3. **Select a model variant** — choose between Medium and Large
+4. **Adjust style strength** — modify the style reference strength in the **Krea2StyleReferenceNode** nodes
+5. **Click Queue** — press `Ctrl+Enter` to generate
+6. **View result** — the generated image appears in the **SaveImage** node
+
+## Additional Notes
+
+- The Krea 2 Image node supports up to **10 style reference images** simultaneously
+- The `moodboard_id` parameter requires a valid UUID from a Krea moodboard on [Krea's website](https://www.krea.ai)
diff --git a/tutorials/partner-nodes/pricing.mdx b/tutorials/partner-nodes/pricing.mdx
index ef09800da..d17981951 100644
--- a/tutorials/partner-nodes/pricing.mdx
+++ b/tutorials/partner-nodes/pricing.mdx
@@ -89,15 +89,18 @@ Per million tokens. Rates below are for prompt length **[0, 128]K**; longer prom
Optional images and videos add input tokens at the input rate.
-### Image: ByteDance Seedream 4.5 & 5.0
+### Image: ByteDance Seedream
Per successfully generated image.
-| model | Credits / image |
-| :---------------------------------------- | :-------------: |
-| seedream 5.0 lite (`seedream-5-0-260128`) | 7.39 |
-| seedream-4-5-251128 | 8.44 |
-| seedream-4-0-250828 | 6.33 |
+| model | Credits / image |
+| :-------------------------------------------------- | :------------------- |
+| seedream 5.0 pro (`seedream-5-0-pro-260628`) | 9.50 (1K) / 18.99 (2K) |
+| seedream 5.0 lite (`seedream-5-0-260128`) | 7.39 |
+| seedream-4-5-251128 | 8.44 |
+| seedream-4-0-250828 | 6.33 |
+
+Seedream 5.0 Pro uses resolution-based billing: **1K** (≤2.36 MP, **9.50 credits**) and **2K** (>2.36 MP, **18.99 credits**). The first image in each request is free. Each additional image beyond the first (including both output and input/reference images) adds **0.63 credits**.
### Image: ByteDance Image (deprecated)
@@ -174,6 +177,14 @@ Billed by tokens (same estimation formula as Seedance 2.0). Unlike Seedance 2.0,
| seedance-1-0-lite-i2v-250428 | 480p | 35.87 – 37.98 |
| seedance-1-0-lite-i2v-250428 | 720p | 78.07 – 86.51 |
+### Audio: ByteDance Seed Audio 1.0
+
+Per minute of generated audio. Total credits = **credits / min × duration (minutes)**.
+
+| Node | Credits |
+| :--- | :------ |
+| ByteDanceSeedAudio | ~45.26 / min |
+
## ElevenLabs
| Node | Credits |
@@ -376,26 +387,20 @@ Total credits = **(credits / sec) × video duration**. Rates depend on input FPS
| 8–12MP | 12.66 |
| 12–24MP | 16.88 |
| 24–34MP | 31.65 |
-
-## Ideogram
-
-| Node | turbo | Character reference | rendering_speed | Credits / image |
-| :---------- | :---- | :------------------ | :-------------- | :-------------- |
-| Ideogram V1 | false | — | — | 18.1 |
-| Ideogram V1 | true | — | — | 6.03 |
-| Ideogram V2 | false | — | — | 24.14 |
-| Ideogram V2 | true | — | — | 15.09 |
-| Ideogram V3 | — | No | TURBO | 9.05 |
-| Ideogram V3 | — | No | DEFAULT | 18.1 |
-| Ideogram V3 | — | No | QUALITY | 27.16 |
-| Ideogram V3 | — | Yes | TURBO | 30.17 |
-| Ideogram V3 | — | Yes | DEFAULT | 45.26 |
-| Ideogram V3 | — | Yes | QUALITY | 60.35 |
-| Ideogram V4 | — | — | TURBO | 9.05 |
-| Ideogram V4 | — | — | DEFAULT | 18.1 |
-| Ideogram V4 | — | — | QUALITY | 30.17 |
-
-## Krea
+|
+|## Ideogram
+|
+|| Node | turbo | Character reference | rendering_speed | Credits / image |
+|| :---------- | :---- | :------------------ | :-------------- | :-------------- |
+|| Ideogram V1 | false | — | — | 18.1 |
+|| Ideogram V1 | true | — | — | 6.03 |
+|| Ideogram V2 | false | — | — | 24.14 |
+|| Ideogram V2 | true | — | — | 15.09 |
+|| Ideogram V4 | — | — | TURBO | 9.05 |
+|| Ideogram V4 | — | — | DEFAULT | 18.1 |
+|| Ideogram V4 | — | — | QUALITY | 30.17 |
+|
+|## Krea
| Model | Style reference | Moodboard | Credits / run |
| :------------------ | :-------------- | :-------- | :------------ |
@@ -805,25 +810,6 @@ 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 |
-## Stability AI
-
-### Image
-
-| Node | model | Credits |
-| :---------------------------------------- | :----------- | :----------- |
-| Stability AI Stable Image Ultra | | 16.88 / run |
-| Stability AI Stable Diffusion 3.5 Image | sd3.5-large | 13.715 / run |
-| | sd3.5-medium | 7.385 / run |
-| Stability AI Upscale Conservative | | 84.4 / run |
-| Stability AI Upscale Creative | | 126.6 / run |
-| Stability AI Upscale Fast | | 4.22 / run |
-
-### Audio
-
-| model | Credits |
-| :---------------- | :--------- |
-| stable-audio-2.5 | 42.2 / run |
-
## Tencent
**`3.1`** uses the same rates as **`3.0`** but does not support LowPoly.
diff --git a/tutorials/partner-nodes/stability-ai/stable-audio.mdx b/tutorials/partner-nodes/stability-ai/stable-audio.mdx
deleted file mode 100644
index a310cc6d6..000000000
--- a/tutorials/partner-nodes/stability-ai/stable-audio.mdx
+++ /dev/null
@@ -1,72 +0,0 @@
----
-title: "Stability AI Stable Audio 2.5 Partner Nodes ComfyUI Official workflow example"
-description: "This article will introduce how to use Stability AI Stable Audio 2.5 Partner node's text-to-audio, audio-to-audio and audio-inpainting capabilities in ComfyUI"
-sidebarTitle: "Stable Audio 2.5"
----
-
-import ReqHint from "/snippets/tutorials/partner-nodes/req-hint.mdx";
-import UpdateReminder from "/snippets/tutorials/update-reminder.mdx";
-
-The Stability AI Stable Audio 2.5 Partner node allows you to use Stability AI's latest audio generation model to create high-quality music through text prompts, audio transformations, and audio inpainting capabilities.
-
-Stable Audio 2.5 is designed for enterprise use, featuring improved musical structure, better prompt adherence, and the ability to generate minutes-long compositions in seconds. The model offers three main workflows: **Text-to-Audio** for generating music from descriptions, **Audio-to-Audio** for transforming existing audio into new compositions, and **Audio Inpainting** for completing or extending existing tracks.
-
-Trained exclusively on licensed audio, Stable Audio 2.5 is commercially safe and perfect for advertisers, game studios, and content creators who need professional-quality audio generation with enterprise-grade reliability.
-
-
-
-
-## Text-to-Audio Workflow
-
-For text-to-audio, you can generate audio through text prompts. You need to describe the music you want to generate.
-
-
-
-
-
-
-1. Modify the text prompt. You should use keywords to describe the music you want to generate.
-2. (Optional) Modify the `duration` parameter. It's `190` by default.
-3. Click the `Run` button or use the shortcut `Ctrl(cmd) + Enter` to execute the audio generation. The audio will be saved to the `ComfyUI/output/audio` directory.
-
-## Audio-to-Audio Workflow
-
-Audio-to-audio is basically music re-sampling. You can use it to generate new music from a given piece of music, or you can just hum a melody, and then the model will generate new music based on the input audio.
-
-
-
-
-
-
-
-1. In this workflow, we have provided two nodes for you to input the audio(at least 6 seconds) you want to edit:
- - 1.1 `Record Audio` node: You can use it to record any of your music ideas, such as a hummed melody. It should be at least 6 seconds.
- - 1.2 `LoadAudio` node: You can use it to upload audio that you want to be used in this workflow.
-2. Modify the text prompt. You should use keywords to describe the music you want to generate.
-3. The `strength` parameter is used to control the difference from the original audio. The lower the value, the more similar the generated audio will be to the original audio.
-4. Click the `Run` button or use the shortcut `Ctrl(cmd) + Enter` to execute the audio generation. The audio will be saved to the `ComfyUI/output/audio` directory.
-
-## Audio Inpainting Workflow
-
-Audio inpainting is used to complete or extend existing tracks. You can use it to complete the missing part of music or extend the music to a longer duration.
-
-You need to set where you want to start and end the inpainting.
-
-
-