diff --git a/.github/scripts/validate-links.py b/.github/scripts/validate-links.py index d7894f3d2..e0cbaaf65 100644 --- a/.github/scripts/validate-links.py +++ b/.github/scripts/validate-links.py @@ -1,312 +1,645 @@ #!/usr/bin/env python3 """ -Link validation script for bilingual documentation. +Link validation script for multilingual documentation. -This script validates links in a bilingual documentation project to ensure: -1. Chinese documents don't use English links -2. English documents don't use Chinese links -3. English documents don't use Chinese images -4. Chinese documents can use English images (allowed) +Validates that each locale's documents link to matching locale content: +- zh / ja / ko docs must not use English internal links or snippet imports +- English docs must not use localized (zh / ja / ko) links or images +- Localized docs may use shared English images under /images/ (not /images/zh/) + +Usage: + python3 validate-links.py # CI: auto-fix .mdx extensions & slashes, then validate + python3 validate-links.py --fix # Also fix locale links and snippet imports + python3 validate-links.py --check # Validate only (no file modifications) """ -import os +import argparse +import glob import re import sys -import glob -from pathlib import Path -from typing import List, Dict, Any, Tuple - -# Configuration rules -RULES = { - 'ZH_CN_DIR': 'zh', - 'ZH_SNIPPETS_DIR': 'snippets/zh', - 'ZH_IMAGES_DIR': 'images/zh', - 'COMMON_IMAGES_DIR': 'images' +from typing import Any, Dict, List, Optional, Tuple + +LOCALES = { + 'zh': { + 'name': 'Chinese', + 'doc_dirs': ('zh', 'snippets/zh'), + 'link_prefixes': ('/zh/', '/snippets/zh/', '/images/zh/'), + }, + 'ja': { + 'name': 'Japanese', + 'doc_dirs': ('ja', 'snippets/ja'), + 'link_prefixes': ('/ja/', '/snippets/ja/'), + }, + 'ko': { + 'name': 'Korean', + 'doc_dirs': ('ko', 'snippets/ko'), + 'link_prefixes': ('/ko/', '/snippets/ko/'), + }, } -# Error collector -errors = [] -# Fixed files collector -fixed_files = [] - -def is_chinese_doc(file_path: str) -> bool: - """Check if file is a Chinese document.""" - return (f"/{RULES['ZH_CN_DIR']}/" in file_path or - f"{RULES['ZH_SNIPPETS_DIR']}/" in file_path or - file_path.startswith(RULES['ZH_CN_DIR']) or - file_path.startswith(RULES['ZH_SNIPPETS_DIR'])) - -def is_english_doc(file_path: str) -> bool: - """Check if file is an English document.""" - return not is_chinese_doc(file_path) - -def is_chinese_link(link: str) -> bool: - """Check if link points to Chinese content.""" - return (f"/{RULES['ZH_CN_DIR']}/" in link or - f"/{RULES['ZH_SNIPPETS_DIR']}/" in link or - f"/{RULES['ZH_IMAGES_DIR']}/" in link) - -def is_english_link(link: str) -> bool: - """Check if link points to English content.""" - return (not is_chinese_link(link) and - not link.startswith('http') and - not link.startswith('mailto:') and - not link.startswith('#') and - not link.startswith('./') and - not link.startswith('../')) - -def is_chinese_image(image_path: str) -> bool: - """Check if image is in Chinese image directory.""" - return f"/{RULES['ZH_IMAGES_DIR']}/" in image_path +DOC_PATH_PATTERNS = ( + 'zh/', 'ja/', 'ko/', + 'tutorials/', 'built-in-nodes/', 'interface/', 'installation/', + 'development/', 'custom-nodes/', 'troubleshooting/', 'registry/', 'specs/', + 'get_started/', 'changelog/', 'comfy-cli/', 'snippets/', 'community/', + 'desktop/', 'cloud/', 'manager/', 'account/', +) -def extract_links(content: str, file_path: str) -> List[Dict[str, Any]]: - """Extract links from file content.""" - links = [] - - # Match markdown links [text](link) - markdown_links = re.findall(r'\[([^\]]+)\]\(([^)]+)\)', content) - for text, url in markdown_links: +# Shared asset paths that localized docs may reference without a locale prefix. +SHARED_PATH_PREFIXES = ('/images/',) + +FENCE_LINE_RE = re.compile(r'^(```+|~~~+)') + +errors: List[Dict[str, Any]] = [] +fixed_files: List[str] = [] + + +def iter_prose_segments(content: str): + """Yield content outside fenced code blocks (``` or ~~~).""" + lines = content.split('\n') + chunk: List[str] = [] + in_fence = False + fence_marker = '' + + for line in lines: + stripped = line.lstrip() + if not in_fence: + match = FENCE_LINE_RE.match(stripped) + if match: + if chunk: + yield '\n'.join(chunk) + chunk = [] + in_fence = True + fence_marker = match.group(1) + continue + chunk.append(line) + continue + + if FENCE_LINE_RE.match(stripped): + in_fence = False + fence_marker = '' + + if chunk: + yield '\n'.join(chunk) + + +def transform_outside_code_fences(content: str, transform_fn) -> Tuple[str, bool]: + """Apply transform_fn only to prose (non-fenced) segments.""" + lines = content.split('\n') + result: List[str] = [] + chunk: List[str] = [] + in_fence = False + changed = False + + def flush_chunk() -> None: + nonlocal changed + if not chunk: + return + block = '\n'.join(chunk) + new_block = transform_fn(block) + if new_block != block: + changed = True + result.append(new_block) + chunk.clear() + + for line in lines: + stripped = line.lstrip() + if not in_fence: + match = FENCE_LINE_RE.match(stripped) + if match: + flush_chunk() + in_fence = True + result.append(line) + continue + chunk.append(line) + continue + + result.append(line) + if FENCE_LINE_RE.match(stripped): + in_fence = False + + flush_chunk() + return '\n'.join(result), changed + + +def normalize_path(file_path: str) -> str: + return file_path.replace('\\', '/') + + +def get_doc_locale(file_path: str) -> Optional[str]: + """Return locale code for a localized doc, or None for English.""" + normalized = normalize_path(file_path) + for code, config in LOCALES.items(): + for doc_dir in config['doc_dirs']: + if f'/{doc_dir}/' in normalized or normalized.startswith(f'{doc_dir}/'): + return code + return None + + +def is_external_or_special(link: str) -> bool: + return ( + link.startswith('http') + or link.startswith('mailto:') + or link.startswith('#') + or link.startswith('./') + or link.startswith('../') + or not link.strip() + ) + + +def get_link_locale(link: str) -> Optional[str]: + """Return locale code if link points to localized content.""" + for code, config in LOCALES.items(): + if any(prefix in link for prefix in config['link_prefixes']): + return code + return None + + +def is_doc_internal_path(path: str) -> bool: + """Absolute in-repo doc/snippet path (not JS modules like fs/promises).""" + normalized = path.replace('\\', '/') + if not normalized.startswith('/'): + return False + if is_external_or_special(path): + return False + if normalized.startswith('/snippets/'): + return True + without_slash = normalized[1:] + return any(without_slash.startswith(pattern) for pattern in DOC_PATH_PATTERNS) + + +def is_english_internal_link(link: str) -> bool: + """Internal doc/snippet link that is not localized.""" + if not is_doc_internal_path(link): + return False + if is_shared_asset_path(link): + return False + if get_link_locale(link) is not None: + return False + return True + + +def is_shared_asset_path(path: str) -> bool: + """Paths that stay un-prefixed in localized docs (e.g. shared /images/).""" + normalized = path.replace('\\', '/') + return any(normalized.startswith(prefix) for prefix in SHARED_PATH_PREFIXES) + + +def is_english_snippet_import(import_path: str) -> bool: + """Snippet import under /snippets/ without a locale subdirectory.""" + normalized = import_path.replace('\\', '/') + if not normalized.startswith('/snippets/'): + return False + remainder = normalized[len('/snippets/'):] + return not remainder.startswith(('zh/', 'ja/', 'ko/')) + + +def _extract_links_from_segment(segment: str) -> List[Dict[str, Any]]: + links: List[Dict[str, Any]] = [] + + for text, url in re.findall(r'\[([^\]]+)\]\(([^)]+)\)', segment): links.append({ 'type': 'markdown', 'text': text, 'url': url, - 'match': f'[{text}]({url})' + 'match': f'[{text}]({url})', }) - - # Match HTML links - html_links = re.findall(r']+href\s*=\s*["\']([^"\']+)["\'][^>]*>', content) - for url in html_links: + + for url in re.findall(r']+href\s*=\s*["\']([^"\']+)["\'][^>]*>', segment): links.append({ 'type': 'html', 'url': url, - 'match': f'href="{url}"' + 'match': f'href="{url}"', }) - - # Match component href attributes (but not src attributes) - component_hrefs = re.findall(r'href\s*=\s*["\']([^"\']+)["\']', content) - for url in component_hrefs: + + for url in re.findall(r'href\s*=\s*["\']([^"\']+)["\']', segment): links.append({ 'type': 'component', 'url': url, - 'match': f'href="{url}"' + 'match': f'href="{url}"', }) - + + return links + + +def extract_links(content: str, file_path: str) -> List[Dict[str, Any]]: + """Extract links from prose (outside fenced code blocks).""" + links: List[Dict[str, Any]] = [] + for segment in iter_prose_segments(content): + links.extend(_extract_links_from_segment(segment)) return links + +def _extract_imports_from_segment(segment: str) -> List[Dict[str, Any]]: + """Only MDX snippet imports (/snippets/...), not JS/TS module imports.""" + imports: List[Dict[str, Any]] = [] + pattern = r'import\s+[^"\']+\s+from\s+["\'](/snippets/[^"\']+)["\']' + for url in re.findall(pattern, segment): + imports.append({ + 'type': 'import', + 'url': url, + 'match': f'from "{url}"', + }) + return imports + + +def extract_imports(content: str) -> List[Dict[str, Any]]: + """Extract MDX snippet import paths from prose only.""" + imports: List[Dict[str, Any]] = [] + for segment in iter_prose_segments(content): + imports.extend(_extract_imports_from_segment(segment)) + return imports + + def extract_images(content: str, file_path: str) -> List[Dict[str, Any]]: """Extract images from file content.""" - images = [] - - # Match markdown images ![alt](src) - markdown_images = re.findall(r'!\[([^\]]*)\]\(([^)]+)\)', content) - for alt, src in markdown_images: + images: List[Dict[str, Any]] = [] + + for alt, src in re.findall(r'!\[([^\]]*)\]\(([^)]+)\)', content): images.append({ 'type': 'markdown', 'alt': alt, 'src': src, - 'match': f'![{alt}]({src})' + 'match': f'![{alt}]({src})', }) - - # Match HTML images - html_images = re.findall(r']+src\s*=\s*["\']([^"\']+)["\'][^>]*>', content) - for src in html_images: + + for src in re.findall(r']+src\s*=\s*["\']([^"\']+)["\'][^>]*>', content): images.append({ 'type': 'html', 'src': src, - 'match': f'src="{src}"' + 'match': f'src="{src}"', }) - - # Match component src attributes (only for images, not links) - component_srcs = re.findall(r'src\s*=\s*["\']([^"\']+)["\']', content) - for src in component_srcs: + + for src in re.findall(r'src\s*=\s*["\']([^"\']+)["\']', content): images.append({ 'type': 'component', 'src': src, - 'match': f'src="{src}"' + 'match': f'src="{src}"', }) - + return images + +def add_error(file_path: str, error_type: str, error: str, details: str, match: str) -> None: + errors.append({ + 'file': file_path, + 'type': error_type, + 'error': error, + 'details': details, + 'match': match, + }) + + +def _fix_mdx_extensions_in_segment(segment: str) -> str: + segment = re.sub(r'\[([^\]]+)\]\(([^)]+)\.mdx\)', r'[\1](\2)', segment) + return re.sub(r'href\s*=\s*["\']([^"\']+)\.mdx["\']', r'href="\1"', segment) + + def fix_mdx_extensions(file_path: str, content: str) -> Tuple[str, bool]: - """Fix .mdx extensions in links and return modified content and whether changes were made.""" - original_content = content - - # Fix markdown links [text](link.mdx) -> [text](link) - content = re.sub(r'\[([^\]]+)\]\(([^)]+)\.mdx\)', r'[\1](\2)', content) - - # Fix HTML links -> - content = re.sub(r'href\s*=\s*["\']([^"\']+)\.mdx["\']', r'href="\1"', content) - - # Fix component href attributes href="link.mdx" -> href="link" - content = re.sub(r'href\s*=\s*["\']([^"\']+)\.mdx["\']', r'href="\1"', content) - - return content, content != original_content + """Fix .mdx extensions in links (prose only).""" + return transform_outside_code_fences(content, _fix_mdx_extensions_in_segment) -def fix_missing_leading_slash(file_path: str, content: str) -> Tuple[str, bool]: - """Fix links that should start with / but don't, and return modified content and whether changes were made.""" - original_content = content - + +def _fix_missing_leading_slash_in_segment(segment: str) -> str: def should_add_slash(link: str) -> bool: - """Check if a link should have a leading slash added.""" - # Skip if already starts with /, ./, ../, #, http, mailto, or is empty - if (link.startswith('/') or link.startswith('./') or link.startswith('../') or - link.startswith('#') or link.startswith('http') or link.startswith('mailto:') or - not link.strip()): + if is_external_or_special(link): return False - - # Check if it looks like a documentation path (contains common doc patterns) - doc_patterns = [ - 'zh/', 'tutorials/', 'built-in-nodes/', 'interface/', 'installation/', - 'development/', 'custom-nodes/', 'troubleshooting/', 'registry/', 'specs/', - 'get_started/', 'changelog/', 'comfy-cli/', 'snippets/', 'community/' - ] - - return any(link.startswith(pattern) for pattern in doc_patterns) - - # Fix markdown links [text](link) -> [text](/link) for internal links - def fix_markdown_link(match): + return any(link.startswith(pattern) for pattern in DOC_PATH_PATTERNS) + + def fix_markdown_link(match: re.Match[str]) -> str: text = match.group(1) link = match.group(2) if should_add_slash(link): return f'[{text}](/{link})' return match.group(0) - - content = re.sub(r'\[([^\]]+)\]\(([^)]+)\)', fix_markdown_link, content) - - # Fix HTML links -> - def fix_html_link(match): - quote = match.group(1) # " or ' + + segment = re.sub(r'\[([^\]]+)\]\(([^)]+)\)', fix_markdown_link, segment) + + def fix_html_link(match: re.Match[str]) -> str: + quote = match.group(1) link = match.group(2) if should_add_slash(link): return f'href={quote}/{link}{quote}' return match.group(0) - - content = re.sub(r'href\s*=\s*(["\'])([^"\']+)\1', fix_html_link, content) - - return content, content != original_content + + return re.sub(r'href\s*=\s*(["\'])([^"\']+)\1', fix_html_link, segment) + + +def fix_missing_leading_slash(file_path: str, content: str) -> Tuple[str, bool]: + """Fix internal links that should start with / but don't (prose only).""" + return transform_outside_code_fences(content, _fix_missing_leading_slash_in_segment) + + +def fix_path_for_locale(locale: str, path: str) -> Optional[str]: + """ + Return a locale-corrected doc path, or None if no change is needed. + + Only touches absolute in-repo paths (/tutorials/..., /snippets/...). + Never modifies JS module imports (fs/promises, react, etc.). + """ + if not is_doc_internal_path(path) or is_shared_asset_path(path): + return None + + normalized = path.replace('\\', '/') + current_locale = get_link_locale(normalized) + + if current_locale == locale: + return None + + if current_locale is not None: + wrong = current_locale + snippet_prefix = f'/snippets/{wrong}/' + image_prefix = f'/images/{wrong}/' + doc_prefix = f'/{wrong}/' + + if normalized.startswith(snippet_prefix): + return f'/snippets/{locale}/{normalized[len(snippet_prefix):]}' + if normalized.startswith(image_prefix): + return f'/images/{locale}/{normalized[len(image_prefix):]}' + if normalized.startswith(doc_prefix): + return f'/{locale}/{normalized[len(doc_prefix):]}' + + if not is_english_internal_link(normalized): + return None + + if normalized.startswith('/snippets/'): + return f'/snippets/{locale}/{normalized[len("/snippets/"):]}' + return f'/{locale}{normalized}' + + +def _fix_locale_paths_in_segment(segment: str, locale: str) -> str: + def apply_fix(path: str) -> str: + fixed = fix_path_for_locale(locale, path) + return fixed if fixed is not None else path + + def fix_markdown_link(match: re.Match[str]) -> str: + text, url = match.group(1), match.group(2) + new_url = apply_fix(url) + if new_url != url: + return f'[{text}]({new_url})' + return match.group(0) + + segment = re.sub(r'\[([^\]]+)\]\(([^)]+)\)', fix_markdown_link, segment) + + def fix_href(match: re.Match[str]) -> str: + quote, url = match.group(1), match.group(2) + new_url = apply_fix(url) + if new_url != url: + return f'href={quote}{new_url}{quote}' + return match.group(0) + + segment = re.sub(r'href\s*=\s*(["\'])([^"\']+)\1', fix_href, segment) + + def fix_snippet_import(match: re.Match[str]) -> str: + prefix, url, suffix = match.group(1), match.group(2), match.group(3) + new_url = apply_fix(url) + if new_url != url: + return f'{prefix}{new_url}{suffix}' + return match.group(0) + + return re.sub( + r'(import\s+[^"\']+\s+from\s+["\'])(/snippets/[^"\']+)(["\'])', + fix_snippet_import, + segment, + ) + + +def fix_locale_paths(file_path: str, content: str) -> Tuple[str, bool]: + """Fix locale mismatches in links and /snippets/ imports for localized docs.""" + locale = get_doc_locale(file_path) + if locale is None: + return content, False + + return transform_outside_code_fences( + content, + lambda segment: _fix_locale_paths_in_segment(segment, locale), + ) + + +def validate_localized_link(file_path: str, locale: str, link: str, match: str) -> None: + """Localized docs must not point to English internal paths or other locales.""" + locale_name = LOCALES[locale]['name'] + link_locale = get_link_locale(link) + + if link_locale is not None and link_locale != locale: + other_name = LOCALES[link_locale]['name'] + add_error( + file_path, + 'link', + f'{locale_name} document uses {other_name} link', + f'Link "{link}" in {locale_name} document should use /{locale}/ paths', + match, + ) + return + + if is_english_internal_link(link): + add_error( + file_path, + 'link', + f'{locale_name} document uses English link', + f'Link "{link}" in {locale_name} document should not point to English content', + match, + ) + + +def validate_localized_import(file_path: str, locale: str, import_path: str, match: str) -> None: + """Localized docs must import snippets from their locale directory.""" + locale_name = LOCALES[locale]['name'] + + if not import_path.startswith('/snippets/'): + return + + if is_english_snippet_import(import_path): + add_error( + file_path, + 'import', + f'{locale_name} document uses English snippet import', + f'Import "{import_path}" should use /snippets/{locale}/ instead of /snippets/', + match, + ) + return + + import_locale = get_link_locale(import_path) + if import_locale is not None and import_locale != locale: + other_name = LOCALES[import_locale]['name'] + add_error( + file_path, + 'import', + f'{locale_name} document uses {other_name} snippet import', + f'Import "{import_path}" in {locale_name} document should use /snippets/{locale}/', + match, + ) + def validate_file_links(file_path: str, content: str) -> None: - """Validate links in a file.""" + """Validate links, imports, and images in a file.""" + locale = get_doc_locale(file_path) links = extract_links(content, file_path) + imports = extract_imports(content) images = extract_images(content, file_path) - - # Create a set of image sources to exclude from link checking image_sources = {image['src'] for image in images} - - # Check link errors (excluding image sources) + for link in links: - # Skip if this link is actually an image source if link['url'] in image_sources: continue - - # Check for .mdx extension in links (should not be present) + if link['url'].endswith('.mdx'): - errors.append({ - 'file': file_path, - 'type': 'link', - 'error': 'Link contains .mdx extension', - 'details': f'Link "{link["url"]}" should not end with .mdx extension', - 'match': link['match'] - }) + add_error( + file_path, + 'link', + 'Link contains .mdx extension', + f'Link "{link["url"]}" should not end with .mdx extension', + link['match'], + ) continue - - if is_chinese_doc(file_path): - # Chinese documents should not use English links - if is_english_link(link['url']): - errors.append({ - 'file': file_path, - 'type': 'link', - 'error': 'Chinese document uses English link', - 'details': f'Link "{link["url"]}" in Chinese document should not point to English content', - 'match': link['match'] - }) - elif is_english_doc(file_path): - # English documents should not use Chinese links - if is_chinese_link(link['url']): - errors.append({ - 'file': file_path, - 'type': 'link', - 'error': 'English document uses Chinese link', - 'details': f'Link "{link["url"]}" in English document should not point to Chinese content', - 'match': link['match'] - }) - - # Check image errors - for image in images: - if is_english_doc(file_path): - # English documents should not use Chinese images - if is_chinese_image(image['src']): - errors.append({ - 'file': file_path, - 'type': 'image', - 'error': 'English document uses Chinese image', - 'details': f'Image "{image["src"]}" in English document should not point to Chinese image directory', - 'match': image['match'] - }) - # Chinese documents can use English images - no validation needed for Chinese docs using English images - -def main(): + + if locale is not None: + validate_localized_link(file_path, locale, link['url'], link['match']) + elif get_link_locale(link['url']) is not None: + link_locale = get_link_locale(link['url']) + locale_name = LOCALES[link_locale]['name'] + add_error( + file_path, + 'link', + f'English document uses {locale_name} link', + f'Link "{link["url"]}" in English document should not point to {locale_name} content', + link['match'], + ) + + for imp in imports: + if locale is not None: + validate_localized_import(file_path, locale, imp['url'], imp['match']) + elif get_link_locale(imp['url']) is not None: + link_locale = get_link_locale(imp['url']) + locale_name = LOCALES[link_locale]['name'] + add_error( + file_path, + 'import', + f'English document uses {locale_name} snippet import', + f'Import "{imp["url"]}" in English document should not point to {locale_name} snippets', + imp['match'], + ) + + if locale is None: + for image in images: + if '/images/zh/' in image['src']: + add_error( + file_path, + 'image', + 'English document uses Chinese image', + f'Image "{image["src"]}" in English document should not point to Chinese image directory', + image['match'], + ) + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser( + description='Validate and optionally fix documentation links.', + ) + mode = parser.add_mutually_exclusive_group() + mode.add_argument( + '--fix', + action='store_true', + help='Fix .mdx extensions, slashes, and locale links/imports', + ) + mode.add_argument( + '--check', + action='store_true', + help='Validate only; do not modify any files', + ) + return parser.parse_args() + + +def collect_doc_files() -> List[str]: + files: List[str] = [] + for pattern in ('**/*.mdx', '**/*.md'): + files.extend(glob.glob(pattern, recursive=True)) + return [ + f for f in files + if not any(exclude in f for exclude in ('node_modules/', '.git/', '.github/')) + ] + + +def apply_auto_fixes(file_path: str, content: str, fix_locale: bool) -> Tuple[str, List[str]]: + """Apply automatic fixes and return updated content plus fix labels.""" + applied: List[str] = [] + + content, mdx_fixed = fix_mdx_extensions(file_path, content) + if mdx_fixed: + applied.append('.mdx extensions') + + content, slash_fixed = fix_missing_leading_slash(file_path, content) + if slash_fixed: + applied.append('missing leading slashes') + + if fix_locale: + content, locale_fixed = fix_locale_paths(file_path, content) + if locale_fixed: + applied.append('locale links/imports') + + return content, applied + + +def main() -> None: """Main function to validate all documentation files.""" + global errors, fixed_files + errors = [] + fixed_files = [] + + args = parse_args() + fix_locale = args.fix + write_files = not args.check + try: - # Find all .mdx and .md files - files = [] - for pattern in ['**/*.mdx', '**/*.md']: - files.extend(glob.glob(pattern, recursive=True)) - - # Filter out unwanted directories - files = [f for f in files if not any(exclude in f for exclude in [ - 'node_modules/', '.git/', '.github/' - ])] - - print(f"Found {len(files)} documentation files") - - # First pass: Fix .mdx extensions and missing leading slashes + files = collect_doc_files() + print(f'Found {len(files)} documentation files') + + if args.check: + print('Mode: check only (no modifications)') + elif args.fix: + print('Mode: fix formatting + locale links/imports') + else: + print('Mode: fix formatting (.mdx extensions, slashes)') + for file_path in files: try: with open(file_path, 'r', encoding='utf-8') as f: content = f.read() - - # Fix .mdx extensions - fixed_content, mdx_fixed = fix_mdx_extensions(file_path, content) - - # Fix missing leading slashes - fixed_content, slash_fixed = fix_missing_leading_slash(file_path, fixed_content) - - if mdx_fixed or slash_fixed: - # Write the fixed content back to the file + + if not write_files: + continue + + fixed_content, applied = apply_auto_fixes( + file_path, + content, + fix_locale=fix_locale, + ) + + if applied: with open(file_path, 'w', encoding='utf-8') as f: f.write(fixed_content) fixed_files.append(file_path) - - fixes = [] - if mdx_fixed: - fixes.append(".mdx extensions") - if slash_fixed: - fixes.append("missing leading slashes") - - print(f"Fixed {' and '.join(fixes)} in: {file_path}") - + print(f"Fixed {' and '.join(applied)} in: {file_path}") + except Exception as e: - print(f"Error processing file {file_path}: {e}") - - # Second pass: Validate links after fixes + print(f'Error processing file {file_path}: {e}') + for file_path in files: try: with open(file_path, 'r', encoding='utf-8') as f: content = f.read() validate_file_links(file_path, content) except Exception as e: - print(f"Error reading file {file_path}: {e}") - - # Output results + print(f'Error reading file {file_path}: {e}') + if fixed_files: - print(f"\n✅ Fixed link issues in {len(fixed_files)} files:") + print(f'\n✅ Fixed link issues in {len(fixed_files)} files:') for file in fixed_files: - print(f" - {file}") - + print(f' - {file}') + if errors: - print(f"\nFound {len(errors)} remaining link errors:\n") - + print(f'\nFound {len(errors)} remaining link errors:\n') + error_report = [] for error in errors: error_report.append(f"""❌ **{error['file']}** @@ -317,21 +650,21 @@ def main(): {error['match']} ``` """) - + report = '\n'.join(error_report) print(report) - - # Write errors to file for GitHub Action + with open('/tmp/link-errors.txt', 'w', encoding='utf-8') as f: f.write(report) - + sys.exit(1) - else: - print('✅ All link validations passed!') - + + print('✅ All link validations passed!') + except Exception as e: print(f'Error during validation: {e}') sys.exit(1) + if __name__ == '__main__': - main() \ No newline at end of file + main() diff --git a/.gitignore b/.gitignore index 3a139e550..ce333acba 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,7 @@ docs.bak # Translation run logs (translate-i18n.ts) .github/i18n-logs/ tmp/ +# Python bytecode +__pycache__/ +*.py[cod] +.work/ diff --git a/agent-tools/cloud.mdx b/agent-tools/cloud.mdx index 4dae0b984..2ca43474d 100644 --- a/agent-tools/cloud.mdx +++ b/agent-tools/cloud.mdx @@ -11,6 +11,10 @@ import CloudFeature from '/snippets/cloud-feature.mdx' ## Overview + + Comfy Cloud MCP is in **closed beta — invite only**. Access is gated by a per-user feature flag. If you don't have access yet, [sign up for the waitlist](https://form.typeform.com/to/hHmvw1UH). + + The **Comfy Cloud MCP server** connects AI agents to [Comfy Cloud](https://cloud.comfy.org) over the [Model Context Protocol](https://modelcontextprotocol.io). Once connected, you can generate images, video, audio, and 3D, search models, nodes, and templates, and run ComfyUI workflows — all from a chat with your agent. 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. diff --git a/agent-tools/partner-mcp.mdx b/agent-tools/partner-mcp.mdx index 01237c173..ddf9d8bbe 100644 --- a/agent-tools/partner-mcp.mdx +++ b/agent-tools/partner-mcp.mdx @@ -6,7 +6,7 @@ icon: "plug" --- - **Private preview — waitlist required.** The Comfy Partner MCP server is currently in a private preview. Features and APIs may change. [Sign up for the waitlist](#) to request access. + **Private preview — not publicly available yet.** The Comfy Partner MCP server is currently in private testing. Features and APIs may change. Access is limited to invited partners. Comfy Partner MCP is a local MCP server that provides AI agents with unified generation tools across **30+ partner providers**, including BFL, Ideogram, Kling, Runway, Veo, Meshy, ElevenLabs, and more. It uses a single canonical request shape for all generation types. diff --git a/custom-nodes/overview.mdx b/custom-nodes/overview.mdx index 6f5d83b68..c1cfaf5da 100644 --- a/custom-nodes/overview.mdx +++ b/custom-nodes/overview.mdx @@ -16,6 +16,10 @@ Custom node examples: - [ComfyUI-React-Extension-Template](https://github.com/Comfy-Org/ComfyUI-React-Extension-Template) - [ComfyUI_frontend_vue_basic](https://github.com/jtydhr88/ComfyUI_frontend_vue_basic) +If you use Claude Code for development, the [ComfyUI Custom Node Skills](https://github.com/jtydhr88/comfyui-custom-node-skills) provide Claude with comprehensive knowledge of the ComfyUI node system, covering both the V3 and V1 APIs. Install it from the Claude Code marketplace or add the repository URL to get 9 skills covering node basics, inputs, outputs, datatypes, advanced patterns, frontend extensions, and packaging. + + + ## Client-Server Model diff --git a/docs.json b/docs.json index 8b5c470fb..97a32956f 100644 --- a/docs.json +++ b/docs.json @@ -120,12 +120,10 @@ "interface/settings/lite-graph", "interface/appearance", "interface/settings/3d", - "interface/settings/comfy-desktop", "interface/settings/mask-editor", "interface/shortcuts", "interface/settings/extension", - "interface/settings/about", - "interface/settings/server-config" + "interface/settings/about" ] }, { @@ -2645,12 +2643,10 @@ "zh/interface/settings/lite-graph", "zh/interface/appearance", "zh/interface/settings/3d", - "zh/interface/settings/comfy-desktop", "zh/interface/settings/mask-editor", "zh/interface/shortcuts", "zh/interface/settings/extension", - "zh/interface/settings/about", - "zh/interface/settings/server-config" + "zh/interface/settings/about" ] }, { @@ -5170,12 +5166,10 @@ "ja/interface/settings/lite-graph", "ja/interface/appearance", "ja/interface/settings/3d", - "ja/interface/settings/comfy-desktop", "ja/interface/settings/mask-editor", "ja/interface/shortcuts", "ja/interface/settings/extension", - "ja/interface/settings/about", - "ja/interface/settings/server-config" + "ja/interface/settings/about" ] }, { @@ -7773,12 +7767,10 @@ "ko/interface/settings/lite-graph", "ko/interface/appearance", "ko/interface/settings/3d", - "ko/interface/settings/comfy-desktop", "ko/interface/settings/mask-editor", "ko/interface/shortcuts", "ko/interface/settings/extension", - "ko/interface/settings/about", - "ko/interface/settings/server-config" + "ko/interface/settings/about" ] }, { @@ -10388,6 +10380,38 @@ { "source": "/zh-CN/:slug*", "destination": "/zh/:slug*" + }, + { + "source": "/interface/settings/comfy-desktop", + "destination": "/installation/desktop/overview" + }, + { + "source": "/interface/settings/server-config", + "destination": "/installation/desktop/overview" + }, + { + "source": "/zh/interface/settings/comfy-desktop", + "destination": "/zh/installation/desktop/overview" + }, + { + "source": "/zh/interface/settings/server-config", + "destination": "/zh/installation/desktop/overview" + }, + { + "source": "/ja/interface/settings/comfy-desktop", + "destination": "/ja/installation/desktop/overview" + }, + { + "source": "/ja/interface/settings/server-config", + "destination": "/ja/installation/desktop/overview" + }, + { + "source": "/ko/interface/settings/comfy-desktop", + "destination": "/ko/installation/desktop/overview" + }, + { + "source": "/ko/interface/settings/server-config", + "destination": "/ko/installation/desktop/overview" } ] } diff --git a/images/interface/features/partial-execution/partial-execution-icon.jpg b/images/interface/features/partial-execution/partial-execution-icon.jpg index 79a2d0532..37b087691 100644 Binary files a/images/interface/features/partial-execution/partial-execution-icon.jpg and b/images/interface/features/partial-execution/partial-execution-icon.jpg differ diff --git a/images/interface/features/partial-execution/partial-execution-vs-run-workflow.jpg b/images/interface/features/partial-execution/partial-execution-vs-run-workflow.jpg index 4a55654ed..3e2d08d8d 100644 Binary files a/images/interface/features/partial-execution/partial-execution-vs-run-workflow.jpg and b/images/interface/features/partial-execution/partial-execution-vs-run-workflow.jpg differ diff --git a/images/interface/features/partial-execution/requirement.jpg b/images/interface/features/partial-execution/requirement.jpg index 861c21d60..b6cbd803f 100644 Binary files a/images/interface/features/partial-execution/requirement.jpg and b/images/interface/features/partial-execution/requirement.jpg differ diff --git a/installation/desktop/usage/instance-management.mdx b/installation/desktop/usage/instance-management.mdx index c08a0fd8e..e95c06900 100644 --- a/installation/desktop/usage/instance-management.mdx +++ b/installation/desktop/usage/instance-management.mdx @@ -117,10 +117,10 @@ The key difference between a **Tracked** (Add Existing Install) installation and | **Updates** | No automatic updates — manage ComfyUI version manually via Git | Built-in automatic updates | | **Python** | Uses an existing Python environment (`.venv`, `python_embeded`, etc.) | Bundled Python, automatic dependency management | | **Isolation** | Shares the existing path and environment | Fully self-contained, isolated installation | -| **Snapshots** | Snapshot support available | Snapshot support available | +| **Snapshots** | Not supported | Snapshot support available | | **Use case** | Already have ComfyUI set up and customized | Fresh install from scratch | -> **Note:** Tracked installations use `launchMode: 'external'` — Comfy Desktop launches the existing ComfyUI process without managing it internally. Snapshots still work as a restore mechanism, but version management is your responsibility. +> **Note:** Tracked installations use `launchMode: 'external'` — Comfy Desktop launches the existing ComfyUI process without managing it internally. Snapshots are currently supported for Standalone instances only. ## Uninstalling an Instance diff --git a/interface/settings/comfy-desktop.mdx b/interface/settings/comfy-desktop.mdx deleted file mode 100644 index 55f98f4dc..000000000 --- a/interface/settings/comfy-desktop.mdx +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "Comfy Desktop General Settings" -description: "Detailed description of ComfyUI Desktop general setting options" -icon: "desktop" -sidebarTitle: "Comfy Desktop" ---- - -import SettingsMenuContext from "/snippets/interface/settings-menu-context.mdx" - - - -## General - -### Window Style -**Function**: Controls the title bar style of the application window - -### Automatically check for updates -**Function**: Automatically checks for ComfyUI Desktop updates and will remind you to update when updates are available - -### Send anonymous usage metrics -**Function**: Sends anonymous usage statistics to help improve the software. Changes to this setting require a restart to take effect - -## UV - -This section is mainly for users in China, because many of the original mirrors used by Desktop are outside of China, so access may not be friendly for domestic users. You can set your own mirror sources here to improve access speed and ensure that corresponding packages can be accessed and downloaded normally. - -### Python Install Mirror -**Function**: - - Managed Python installation packages are downloaded from the Astral python-build-standalone project - - Can set mirror URL to use different Python installation sources - - The provided URL will replace the default GitHub download address - - Supports using file:// protocol to read distribution packages from local directories -**Validation**: Automatically checks mirror reachability - -### Pypi Install Mirror -**Function**: Default pip package installation mirror source - -### Torch Install Mirror - **Function**: PyTorch-specific pip installation mirror source diff --git a/interface/settings/server-config.mdx b/interface/settings/server-config.mdx deleted file mode 100644 index 96ae5c627..000000000 --- a/interface/settings/server-config.mdx +++ /dev/null @@ -1,255 +0,0 @@ ---- -title: "Server Config" -description: "Detailed description of ComfyUI server configuration options" -icon: "server" -sidebarTitle: "Server Config" ---- - -import SettingsMenuContext from "/snippets/interface/settings-menu-context.mdx" - - - - -Currently the `Server Config` settings menu only exists in the Desktop version, and this settings menu item does not exist in other versions - - -## Network - -### Host: The IP address to listen on -- **Function**: Sets the IP address the server binds to. Default `127.0.0.1` means only local access is allowed. If you need LAN access, you can set it to `0.0.0.0` - - - Although we provide LAN listening settings for the Desktop version, as a desktop application, it is not suitable for use as a server. We recommend that if you need to use ComfyUI as a public service within the LAN, please refer to the manual deployment tutorial to deploy the corresponding ComfyUI service. - - -### Port: The port to listen on -**Function**: The port number the server listens on. Desktop version defaults to port 8000, Web version typically uses port 8188 - -### TLS Key File: Path to TLS key file for HTTPS -**Function**: The private key file path required for HTTPS encryption, used to establish secure connections - -### TLS Certificate File: Path to TLS certificate file for HTTPS -**Function**: The certificate file path required for HTTPS encryption, used in conjunction with the private key - -### Enable CORS header: Use "*" for all origins or specify domain -**Function**: Cross-Origin Resource Sharing settings, allowing web browsers to access the server from different domains - -### Maximum upload size (MB) -**Function**: Limits the maximum size of single file uploads, in MB, default 100MB. Affects upload limits for images, models and other files - - -## CUDA - -### CUDA device index to use -**Function**: Specifies which NVIDIA graphics card to use. 0 represents the first graphics card, 1 represents the second, and so on. Important for multi-GPU systems - -### Use CUDA malloc for memory allocation -**Function**: Controls whether to use CUDA's memory allocator. Can improve memory management efficiency in certain situations - -## Inference - -### Global floating point precision -**Function**: Sets the numerical precision for model calculations. FP16 saves VRAM but may affect quality, FP32 is more precise but uses more VRAM - -### UNET precision -**Options**: -- `auto`: Automatically selects the most suitable precision -- `fp64`: 64-bit floating point precision, highest precision but largest VRAM usage -- `fp32`: 32-bit floating point precision, standard precision -- `fp16`: 16-bit floating point precision, can save VRAM -- `bf16`: 16-bit brain floating point precision, between fp16 and fp32 -- `fp8_e4m3fn`: 8-bit floating point precision (e4m3), minimal VRAM usage -- `fp8_e5m2`: 8-bit floating point precision (e5m2), minimal VRAM usage - -**Function**: Specifically controls the computational precision of the UNET core component of diffusion models. Higher precision can provide better image generation quality but uses more VRAM. Lower precision can significantly save VRAM but may affect the quality of generated results. - -### VAE precision - -**Options and Recommendations**: -- `auto`: Automatically selects the most suitable precision, recommended for users with 8-12GB VRAM -- `fp16`: 16-bit floating point precision, recommended for users with 6GB or less VRAM, can save VRAM but may affect quality -- `fp32`: 32-bit floating point precision, recommended for users with 16GB or more VRAM who pursue the best quality -- `bf16`: 16-bit brain floating point precision, recommended for newer graphics cards that support this format, can achieve better performance balance - -**Function**: Controls the computational precision of the Variational Autoencoder (VAE), affecting the quality and speed of image encoding/decoding. Higher precision can provide better image reconstruction quality but uses more VRAM. Lower precision can save VRAM but may affect image detail restoration. - -### Run VAE on CPU -**Function**: Forces VAE to run on CPU, can save VRAM but will reduce processing speed - -### Text Encoder precision -**Options**: -- `auto`: Automatically selects the most suitable precision -- `fp8_e4m3fn`: 8-bit floating point precision (e4m3), minimal VRAM usage -- `fp8_e5m2`: 8-bit floating point precision (e5m2), minimal VRAM usage -- `fp16`: 16-bit floating point precision, can save VRAM -- `fp32`: 32-bit floating point precision, standard precision - -**Function**: Controls the computational precision of the text prompt encoder, affecting the accuracy of text understanding and VRAM usage. Higher precision can provide more accurate text understanding but uses more VRAM. Lower precision can save VRAM but may affect prompt parsing effectiveness. - -## Memory - -### Force channels-last memory format -**Function**: Changes the data arrangement in memory, may improve performance on certain hardware - -### DirectML device index -**Function**: Specifies the device when using DirectML acceleration on Windows, mainly for AMD graphics cards - -### Disable IPEX optimization -**Function**: Disables Intel CPU optimization, mainly affects Intel processor performance - -### VRAM management mode -**Options**: -- `auto`: Automatically manages VRAM, allocating VRAM based on model size and requirements -- `lowvram`: Low VRAM mode, uses minimal VRAM, may affect generation quality -- `normalvram`: Standard VRAM mode, balances VRAM usage and performance -- `highvram`: High VRAM mode, uses more VRAM for better performance -- `novram`: No VRAM usage, runs entirely on system memory -- `cpu`: CPU-only mode, doesn't use graphics card - -**Function**: Controls VRAM usage strategy, such as automatic management, low VRAM mode, etc. - -### Reserved VRAM (GB) -**Function**: Amount of VRAM reserved for the operating system and other programs, prevents system freezing - -### Disable smart memory management -**Function**: Disables automatic memory optimization, forces models to move to system memory to free VRAM - -## Preview - -### Method used for latent previews -**Options**: -- `none`: No preview images displayed, only shows progress bar during generation -- `auto`: Automatically selects the most suitable preview method, dynamically adjusts based on system performance and VRAM -- `latent2rgb`: Directly converts latent space data to RGB images for preview, faster but average quality -- `taesd`: Uses lightweight TAESD model for preview, balances speed and quality - -**Function**: Controls how to preview intermediate results during generation. Different preview methods affect preview quality and performance consumption. Choosing the right preview method can find a balance between preview effects and system resource usage. - -### Size of preview images -**Function**: Sets the resolution of preview images, affects preview clarity and performance. Larger sizes provide higher preview quality but also consume more VRAM - -## Cache - -### Use classic cache system -**Function**: Uses traditional caching strategy, more conservative but stable - -### Use LRU caching with a maximum of N node results cached - -**Function**: Uses Least Recently Used (LRU) algorithm caching system, can cache a specified number of node computation results - -**Description**: -- Set a specific number to control maximum cache count, such as 10, 50, 100, etc. -- Caching can avoid repeated computation of the same node operations, improving workflow execution speed -- When cache reaches the limit, automatically clears the least recently used results -- Cached results occupy system memory (RAM/VRAM), larger values use more memory - -**Usage Recommendations**: -- Default value is null, meaning LRU caching is not enabled -- Set appropriate cache count based on system memory capacity and usage requirements -- Recommended for workflows that frequently reuse the same node configurations -- If system memory is sufficient, larger values can be set for better performance improvement - -## Attention - -### Cross attention method -**Options**: -- `auto`: Automatically selects the most suitable attention computation method -- `split`: Block-wise attention computation, can save VRAM but slower speed -- `quad`: Uses quad attention algorithm, balances speed and VRAM usage -- `pytorch`: Uses PyTorch native attention computation, faster but higher VRAM usage - -**Function**: Controls the specific algorithm used when the model computes attention. Different algorithms make different trade-offs between generation quality, speed, and VRAM usage. Usually recommended to use auto for automatic selection. - -### Force attention upcast -**Function**: Forces high-precision attention computation, improves quality but increases VRAM usage - -### Prevent attention upcast -**Function**: Disables high-precision attention computation, saves VRAM - -## General - -### Disable xFormers optimization -**Function**: Disables the optimization features of the xFormers library. xFormers is a library specifically designed to optimize the attention mechanisms of Transformer models, typically improving computational efficiency, reducing memory usage, and accelerating inference speed. Disabling this optimization will: - -- Fall back to standard attention computation methods -- May increase memory usage and computation time -- Provide a more stable runtime environment in certain situations - -**Use Cases**: -- When encountering compatibility issues related to xFormers -- When more precise computation results are needed (some optimizations may affect numerical precision) -- When debugging or troubleshooting requires using standard implementations - -### Default hashing function for model files -**Options**: -- `sha256`: Uses SHA-256 algorithm for hash verification, high security but slower computation -- `sha1`: Uses SHA-1 algorithm, faster but slightly lower security -- `sha512`: Uses SHA-512 algorithm, provides highest security but slowest computation -- `md5`: Uses MD5 algorithm, fastest but lowest security - -**Function**: Sets the hash algorithm for model file verification, used to verify file integrity. Different hash algorithms have different trade-offs between computation speed and security. Usually recommended to use sha256 as the default option, which achieves a good balance between security and performance. - -### Make pytorch use slower deterministic algorithms when it can - -**Function**: Forces PyTorch to use deterministic algorithms when possible to improve result reproducibility. - -**Description**: -- When enabled, PyTorch will prioritize deterministic algorithms over faster non-deterministic algorithms -- Same inputs will produce same outputs, helpful for debugging and result verification -- Deterministic algorithms typically run slower than non-deterministic algorithms -- Even with this setting enabled, completely identical image results cannot be guaranteed in all situations - -**Use Cases**: -- Scientific research requiring strict result reproducibility -- Debugging processes requiring stable output results -- Production environments requiring result consistency - -### Enable some untested and potentially quality deteriorating optimizations -**Function**: Enables experimental optimizations that may improve speed but could potentially affect generation quality - -### Don't print server output to console -**Function**: Prevents displaying server runtime information in the console, keeping the interface clean. - -**Description**: -- When enabled, ComfyUI server logs and runtime information will not be displayed -- Can reduce console information interference, making the interface cleaner -- May slightly improve system performance when there's heavy log output -- Default is disabled (false), meaning server output is displayed by default - -**Use Cases**: -- Production environments where debugging information is not needed -- When wanting to keep the console interface clean -- When the system runs stably and log monitoring is not required - -**Note**: It's recommended to keep this option disabled during development and debugging to promptly view server runtime status and error information. - -### Disable saving prompt metadata in files -**Function**: Does not save workflow information in generated images, reducing file size, but also means the loss of corresponding workflow information, preventing you from using workflow output files to reproduce the corresponding generation results - -### Disable loading all custom nodes -**Function**: Prevents loading all third-party extension nodes, typically used when troubleshooting issues to locate whether errors are caused by third-party extension nodes - -### Logging verbosity level -**Function**: Controls the verbosity level of log output, used for debugging and monitoring system runtime status. - -**Options**: -- `CRITICAL`: Only outputs critical error information that may cause the program to stop running -- `ERROR`: Outputs error information indicating some functions cannot work properly -- `WARNING`: Outputs warning information indicating possible issues that don't affect main functionality -- `INFO`: Outputs general information including system runtime status and important operation records -- `DEBUG`: Outputs the most detailed debugging information including system internal runtime details - -**Description**: -- Log levels increase in verbosity from top to bottom -- Each level includes all log information from higher levels -- Recommended to set to INFO level for normal use -- Can be set to DEBUG level when troubleshooting for more information -- Can be set to WARNING or ERROR level in production environments to reduce log volume - -## Directories - -### Input directory -**Function**: Sets the default storage path for input files (such as images, models) - -### Output directory -**Function**: Sets the save path for generation results \ No newline at end of file diff --git a/ja/account/create-account.mdx b/ja/account/create-account.mdx index e1903be06..586b96257 100644 --- a/ja/account/create-account.mdx +++ b/ja/account/create-account.mdx @@ -6,7 +6,7 @@ translationSourceHash: 370a9d90 translationFrom: account/create-account.mdx --- -Comfy アカウントを作成すると、[パートナー ノード(API ノード)](/tutorials/partner-nodes/overview) や [クラウド サブスクリプション](https://www.comfy.org/cloud) にアクセスできるようになり、ComfyUI プラットフォーム全体でプレミアム機能やサービスを利用できるようになります。 +Comfy アカウントを作成すると、[パートナー ノード(Partner Node)](/ja/tutorials/partner-nodes/overview) や [クラウド サブスクリプション](https://www.comfy.org/cloud) にアクセスできるようになり、ComfyUI プラットフォーム全体でプレミアム機能やサービスを利用できるようになります。 ## Comfy Cloud での Comfy アカウント作成 @@ -27,7 +27,7 @@ ComfyUI 用の Comfy アカウントは、Comfy Cloud 上から直接作成で 1. ローカルマシンで ComfyUI を起動します 2. インターフェース内の **設定** に移動します -3. **ユーザー** セクションへ進みます(詳細は [ユーザー設定](/interface/user) をご参照ください) +3. **ユーザー** セクションへ進みます(詳細は [ユーザー設定](/ja/interface/user) をご参照ください) 4. **アカウントを作成** または **サインアップ** をクリックします 5. 以下のログイン方法のいずれかを選択します: - **メールアドレス**:メールアドレスを入力し、パスワードを作成します @@ -40,7 +40,7 @@ ComfyUI 用の Comfy アカウントは、Comfy Cloud 上から直接作成で ## 次のステップ アカウントの作成およびメール確認が完了したら、以下の操作を行ってください: -- [アカウントにログインする](/account/login) +- [アカウントにログインする](/ja/account/login) - プロフィールの設定や好みの環境を調整する - ComfyUI の各種機能の利用を開始する - 教材やドキュメントを参照して学習を深める @@ -49,6 +49,6 @@ ComfyUI 用の Comfy アカウントは、Comfy Cloud 上から直接作成で アカウント作成時に問題が発生した場合の対処法: - メールアドレスが有効であり、かつ既に登録されていないことを確認してください -- パスワードが最低限の要件(例:文字数・記号の使用など)を満たしているか確認してください -- ブラウザのキャッシュをクリアして、再度試行してください +- パスワードが最低限の要件を満たしているか確認してください +- ブラウザのキャッシュをクリアして、再試行してください - 問題が解決しない場合は、[サポート](/support/contact-support) までお問い合わせください \ No newline at end of file diff --git a/ja/account/login.mdx b/ja/account/login.mdx index 6ca5790bc..ecb6cf6ee 100644 --- a/ja/account/login.mdx +++ b/ja/account/login.mdx @@ -6,9 +6,9 @@ translationSourceHash: 31b0c6ca translationFrom: account/login.mdx --- -import GetApiKey from '/snippets/get-api-key.mdx' +import GetApiKey from '/snippets/ja/get-api-key.mdx' -Comfy アカウントを利用すると、[パートナーノード(API ノード)](/tutorials/partner-nodes/overview)および[クラウドサブスクリプション](https://www.comfy.org/cloud)にアクセスでき、ComfyUI プラットフォーム全体でプレミアム機能やサービスをご利用いただけます。 +Comfy アカウントを利用すると、[パートナーノード(Partner Node)](/ja/tutorials/partner-nodes/overview)および[クラウドサブスクリプション](https://www.comfy.org/cloud)にアクセスでき、ComfyUI プラットフォーム全体でプレミアム機能やサービスをご利用いただけます。 ## サポートされるログイン方法 @@ -22,7 +22,7 @@ ComfyUI では、以下のログイン方法がサポートされています: Comfy Cloud 上で ComfyUI を使用するための Comfy アカウントにアクセスするには: 1. [Comfy Cloud](https://www.comfy.org) へ移動します -2. **ログイン**または**サインイン**をクリックします +2. **ログイン**をクリックします 3. ログイン方法を選択します: - **メールアドレス**:メールアドレスとパスワードを入力し、「ログイン」をクリックします - **Google**:Google ログインボタンをクリックして認証を行います @@ -34,7 +34,7 @@ Comfy Cloud 上で ComfyUI を使用するための Comfy アカウントにア 1. ローカルマシン上で ComfyUI を起動します 2. インターフェース内の **設定** へ移動します -3. **ユーザー** セクションへ進みます(詳細は [ユーザー設定](/interface/user) をご参照ください) +3. **ユーザー** セクションへ進みます(詳細は [ユーザー設定](/ja/interface/user) をご参照ください) 4. ログイン方法を選択します: - **メールアドレス**:メールアドレスとパスワードを入力します - **Google**:Google ログインボタンをクリックして認証を行います diff --git a/ja/agent-tools/cloud.mdx b/ja/agent-tools/cloud.mdx index 88dd44887..fbabd4322 100644 --- a/ja/agent-tools/cloud.mdx +++ b/ja/agent-tools/cloud.mdx @@ -13,6 +13,10 @@ import CloudFeature from '/snippets/ja/cloud-feature.mdx' ## 概要 + + Comfy Cloud MCP は**クローズドベータ版です — 招待制**です。アクセスはユーザー単位の機能フラグによって制御されています。まだアクセス権がない場合は、[ウェイトリストに登録](https://form.typeform.com/to/hHmvw1UH)してください。 + + **Comfy Cloud MCP サーバー**は、[モデルコンテキストプロトコル(MCP)](https://modelcontextprotocol.io)を通じて AI エージェントを [Comfy Cloud](https://cloud.comfy.org) に接続します。接続後、チャットから画像・動画・音声・3D の生成、モデル・ノード・テンプレートの検索、ComfyUI ワークフローの実行ができます。 現在は **Claude Code** と **Claude Desktop** に対応しており、どちらも **OAuth** でサインインします — ブラウザでの一度きりのログインで完了します。他のクライアントへの対応も予定されています。 diff --git a/ja/agent-tools/partner-mcp.mdx b/ja/agent-tools/partner-mcp.mdx index 822b1091d..1b01032b7 100644 --- a/ja/agent-tools/partner-mcp.mdx +++ b/ja/agent-tools/partner-mcp.mdx @@ -8,7 +8,7 @@ translationFrom: agent-tools/partner-mcp.mdx --- - **プライベートプレビュー — ウェイトリストが必要です。** Comfy Partner MCP サーバーは現在プライベートプレビュー中です。機能や API は変更される可能性があります。 + **プライベートテスト中 — まだ公開されていません。** Comfy Partner MCP サーバーは現在プライベートテスト中です。機能や API は変更される可能性があります。アクセスは招待されたパートナーに限定されています。 Comfy Partner MCP は、AI エージェントに **30以上のパートナープロバイダー**(BFL、Ideogram、Kling、Runway、Veo、Meshy、ElevenLabs など)に対応した統一生成ツールを提供するローカル MCP サーバーです。すべての生成タイプで単一の標準リクエスト形式を使用します。 @@ -26,7 +26,7 @@ Comfy Partner MCP は、AI エージェントに **30以上のパートナープ - **Node.js 20+** - **pnpm 10** -- **Comfy API キー**(`comfyui-` で始まる)— Comfy パートナーダッシュボードから取得 +- **[Comfy API キー](/ja/development/api-development/getting-an-api-key)**(`comfyui-` で始まる)— Comfy パートナーダッシュボードから取得 --- @@ -86,7 +86,7 @@ COMFY_API_KEY=comfyui-... node /ABSOLUTE/PATH/TO/partner-mcp/packages/mcp/dist/b | `COMFY_API_KEY` | はい | API キー(`comfyui-…`)。`X-API-Key` ヘッダーとして送信。 | | `COMFY_API_BASE_URL` | いいえ | プロキシホストを上書き(デフォルトは本番 Comfy API)。 | | `COMFY_INLINE_LIMIT_KB` | いいえ | ツール結果にインライン化する画像バイト数の上限。デフォルト `600`。 | -| `COMFY_MCP_RESOURCE_LINKS` | いいえ | `resource_link` コンテンツブロックの強制オン/オフ。デフォルトはアローリスト(`claude-*`、`mcp-inspector`)。 | +| `COMFY_MCP_RESOURCE_LINKS` | いいえ | `resource_link` コンテンツブロックの強制オン/オフ。デフォルトはホワイトリスト(`claude-*`、`mcp-inspector`)。 | --- @@ -127,7 +127,7 @@ MCP サーバーは **10 個のツール** を提供します。インストー ``` -calm な lo-fi ビートの音楽を30秒くらい生成して +calm な lo-fi バイブの音楽を30秒くらい生成して ``` --- diff --git a/ja/built-in-nodes/partner-node/image/bfl/flux-1-1-pro-ultra-image.mdx b/ja/built-in-nodes/partner-node/image/bfl/flux-1-1-pro-ultra-image.mdx index d981626da..6f07c9bf5 100644 --- a/ja/built-in-nodes/partner-node/image/bfl/flux-1-1-pro-ultra-image.mdx +++ b/ja/built-in-nodes/partner-node/image/bfl/flux-1-1-pro-ultra-image.mdx @@ -45,7 +45,7 @@ Flux 1.1 [pro] Ultra Image ノードは、テキストプロンプトを用い ## 使用例 対応する使用例については、以下のチュートリアルをご覧ください。 -- [Flux 1.1 Pro Ultra Image API ノード ComfyUI 公式サンプルワークフロー](/tutorials/partner-nodes/black-forest-labs/flux-1-1-pro-ultra-image) +- [Flux 1.1 Pro Ultra Image API ノード ComfyUI 公式サンプルワークフロー](/ja/tutorials/partner-nodes/black-forest-labs/flux-1-1-pro-ultra-image) ## 動作原理 diff --git a/ja/cloud/import-models.mdx b/ja/cloud/import-models.mdx index 29182827d..41d101e28 100644 --- a/ja/cloud/import-models.mdx +++ b/ja/cloud/import-models.mdx @@ -5,7 +5,7 @@ translationSourceHash: b6574f59 translationFrom: cloud/import-models.mdx --- -import CloudFeature from '/snippets/cloud-feature.mdx' +import CloudFeature from '/snippets/ja/cloud-feature.mdx' diff --git a/ja/cloud/share-workflow.mdx b/ja/cloud/share-workflow.mdx index c1c64bac3..2758e787e 100644 --- a/ja/cloud/share-workflow.mdx +++ b/ja/cloud/share-workflow.mdx @@ -5,7 +5,7 @@ translationSourceHash: c12df158 translationFrom: cloud/share-workflow.mdx --- -import CloudFeature from '/snippets/cloud-feature.mdx' +import CloudFeature from '/snippets/ja/cloud-feature.mdx' diff --git a/ja/comfy-cli/getting-started.mdx b/ja/comfy-cli/getting-started.mdx index 0ef507885..e366fd2eb 100644 --- a/ja/comfy-cli/getting-started.mdx +++ b/ja/comfy-cli/getting-started.mdx @@ -1,5 +1,5 @@ --- -title: "クイックスタート" +title: "はじめに" translationSourceHash: 81a03067 translationFrom: comfy-cli/getting-started.mdx --- @@ -11,6 +11,11 @@ import InstallCli from "/snippets/ja/install-comfycli.mdx"; `comfy-cli` は、Comfy のインストールと管理を容易にする [コマンドラインツール](https://github.com/Comfy-Org/comfy-cli) です。 +以下の 2 つの機能を提供します。 + +1. **ローカル ComfyUI の管理** — ComfyUI とそのカスタムノードのインストール、起動、更新、スナップショット、バイセクトが可能です。 +2. **ホスト型パートナーノードを直接呼び出し** — Seedance、Nano Banana(Gemini)、Grok、Flux、Ideogram、DALL·E、Recraft、Stability、Kling、Luma、Runway、Pika、Vidu、Hailuo、Moonvalley などから、1 つのコマンドで画像や動画を生成できます。ローカル ComfyUI やワークフロー JSON は必要ありません。 + ### CLI のインストール @@ -25,6 +30,148 @@ import InstallCli from "/snippets/ja/install-comfycli.mdx"; comfy launch ``` +## `comfy generate` でパートナーノードを直接呼び出す(Beta) + + +**`comfy generate` はベータ版です。** フラグ名、モデルエイリアス、出力形式はフィードバックに基づいて変更される可能性があります。基盤となるパートナーエンドポイントは安定していますが、その上にある CLI の操作性はまだ進化中です。フィードバックや問題は [comfy-cli GitHub リポジトリ](https://github.com/Comfy-Org/comfy-cli/issues) で報告してください。 + + + +`comfy generate` は、Comfy の [パートナーノード](/ja/tutorials/partner-nodes/overview) をターミナルやスクリプトから呼び出す最速の方法です。ComfyUI ワークフローに組み込むのと同じホスト型エンドポイントを、ワンショット CLI 呼び出しで利用できます。バッチジョブ、簡単な実験、フル ComfyUI グラフを立ち上げるにはオーバーキルな自動化パイプラインに最適です。 + + +### 前提条件 + +* [Comfy API キーの作成](/ja/development/comfyui-server/api-key-integration) +* [アカウントへのクレジット追加](/ja/interface/credits) +* オプション:[パートナーノードと呼び出しごとの料金を確認](/ja/tutorials/partner-nodes/overview) + +キーを一度設定すれば、あとは実行するだけです: + +```bash +export COMFY_API_KEY=comfyui-... # または各呼び出しで --api-key を指定 +``` + +### 初めての生成 + +```bash +comfy generate flux-pro \ + --prompt "a cat on the moon, cinematic lighting" \ + --width 1024 --height 1024 \ + --download cat.png +``` + +これだけです — CLI がローカルファイルの入力をアップロードし、ジョブを送信し、準備ができるまでポーリングして、結果を `cat.png` に保存します。 + +### 人気のモデル + +よく使われるパートナーモデルの一部を、1 行で呼び出すことができます: + +```bash +# Nano Banana(Google Gemini Flash Image)— テキストから画像へ、およびプロンプト駆動の編集 +comfy generate nano-banana \ + --prompt "a watercolor of a sleeping fox" \ + --download fox.png + +# 同じエイリアス、今度は画像編集 — --image で参照画像を渡す(繰り返し可能): +comfy generate nano-banana \ + --prompt "add a top hat" \ + --image ./cat.png \ + --download edited.png + +# Gemini のバリアントを選択: +comfy generate nano-banana \ + --prompt "neon city skyline" \ + --model gemini-3-pro-image-preview \ + --download city.png + +# Seedance(ByteDance)— テキストから動画へ、最大 1080p / 12 秒 +comfy generate seedance \ + --prompt "a hummingbird hovering over a flower" \ + --resolution 1080p --duration 5 \ + --download hummingbird.mp4 + +# Seedance 画像から動画へ — lite/i2v バリアントを選んで最初のフレームを渡す +comfy generate seedance \ + --model seedance-1-0-lite-i2v-250428 \ + --prompt "the wave crests and crashes" \ + --image ./still.jpg \ + --download wave.mp4 + +# Grok(xAI)— 画像生成と編集 +comfy generate grok --prompt "a cyberpunk street market at night" --download street.png +comfy generate grok-edit --prompt "swap the umbrella for a parasol" --image ./photo.jpg --download out.png + +# Grok 動画 +comfy generate grok-video --prompt "a paper plane gliding through a cathedral" --download flight.mp4 +``` + +### モデルの検索 + +```bash +comfy generate list # 利用可能な全モデル +comfy generate list --category text-to-video # カテゴリでフィルタ +comfy generate list --partner kling # パートナーでフィルタ +comfy generate schema flux-kontext # 1 つのモデルのパラメータを確認 +``` + +### 参照画像を使った画像編集 + +ローカルファイルのパスを直接渡します — CLI が Comfy のストレージエンドポイントを通じてアップロードします(各パートナーの仕様に応じて、base64 エンコードされる場合もあります): + +```bash +comfy generate flux-kontext \ + --prompt "add a top hat and a monocle" \ + --input_image ./photo.jpg \ + --download out.png + +comfy generate ideogram-edit \ + --image cat.png --mask mask.png \ + --prompt "add sunglasses" \ + --rendering_speed TURBO \ + --download edited.png +``` + +一度アップロードして、その署名付き URL を複数回の呼び出しで再利用することもできます: + +```bash +comfy generate upload ./photo.jpg +# → 署名付き URL が出力され、--input_image として渡せる +``` + + +アップロードされた参照アセットは **24 時間** 後に自動削除されます。Comfy 管理の GCS バケットに保存され、署名付き URL で提供されます。ほとんどのワークフロー(アップロード → 使用 → 完了)では透過的ですが、長時間実行されるパイプラインの場合は、各ジョブの前に再アップロードしてください。詳細は [リファレンス](/ja/comfy-cli/reference#upload) を参照してください。 + + +### 動画生成(非同期ジョブ) + +動画ジョブは非同期です — CLI はデフォルトでブロックし、準備ができるまでポーリングします: + +```bash +comfy generate kling \ + --prompt "a paper boat drifting on a river at dusk" \ + --duration 5 \ + --download boat.mp4 +``` + +`--async` を渡すと、ジョブ ID を返して即座に戻り、後で再開できます: + +```bash +comfy generate luma --prompt "neon koi swimming through clouds" --aspect_ratio 16:9 --async +# → ジョブ ID を出力;後で再開: +comfy generate resume luma --download out.mp4 +``` + +### JSON 出力を使ったスクリプト + +パイプラインでは、`--json` で生の API レスポンスを出力します: + +```bash +comfy generate dalle --prompt "a watercolor whale" --json | jq '.data[0].url' +``` + +コマンド、フラグ、モデルエイリアスの完全なリストは [リファレンス](/ja/comfy-cli/reference) を参照してください。 + ### カスタムノードの管理 ```bash @@ -38,7 +185,7 @@ comfy node install `comfy-cli` を使用したモデルのダウンロードは簡単です。以下を実行するだけです: ```bash -comfy model download models/checkpoints +comfy model download --url --relative-path models/checkpoints ``` ### コントリビューション diff --git a/ja/comfy-cli/reference.mdx b/ja/comfy-cli/reference.mdx index d5024a538..2f063cc07 100644 --- a/ja/comfy-cli/reference.mdx +++ b/ja/comfy-cli/reference.mdx @@ -3,11 +3,20 @@ title: "リファレンス" translationSourceHash: d3b02585 translationFrom: comfy-cli/reference.mdx --- -import NodesCliReference from '/snippets/cli-reference/nodes.mdx' -import ModelsReference from '/snippets/cli-reference/models.mdx' +import GenerateCliReference from '/snippets/ja/cli-reference/generate.mdx' +import NodesCliReference from '/snippets/ja/cli-reference/nodes.mdx' +import ModelsReference from '/snippets/ja/cli-reference/models.mdx' # CLI +## Generate(パートナーノード)— Beta + + +**`comfy generate` はベータ版です。** フラグ名、モデルエイリアス、出力形式は変更される可能性があります。基盤となるパートナーエンドポイントは安定していますが、CLI のインターフェースは依然として進化中です。フィードバックは [comfy-cli GitHub リポジトリ](https://github.com/Comfy-Org/comfy-cli/issues) にお寄せください。 + + + + ## ノード diff --git a/ja/community/contributing.mdx b/ja/community/contributing.mdx index 6fe48b32d..52b3bc163 100644 --- a/ja/community/contributing.mdx +++ b/ja/community/contributing.mdx @@ -8,4 +8,4 @@ translationFrom: community/contributing.mdx あらゆる種類のコントリビューションを歓迎しています。当社の [GitHub 組織](https://github.com/Comfy-Org) でサポートしているさまざまなリポジトリをご確認ください。 -また、ワークフローの共有や、[カスタムノード](/custom-nodes/overview) の開発を通じてコントリビューションすることもできます。 \ No newline at end of file +また、ワークフローの共有や、[カスタムノード](/ja/custom-nodes/overview) の開発を通じてコントリビューションすることもできます。 \ No newline at end of file diff --git a/ja/custom-nodes/backend/expansion.mdx b/ja/custom-nodes/backend/expansion.mdx index 4d3fc783a..be836630b 100644 --- a/ja/custom-nodes/backend/expansion.mdx +++ b/ja/custom-nodes/backend/expansion.mdx @@ -51,4 +51,4 @@ def load_and_merge_checkpoints(self, checkpoint_path1, checkpoint_path2, ratio): ## 関連資料 -- [サブグラフ(開発者ガイド)](/custom-nodes/js/subgraphs) — 拡張機能開発者向けのフロントエンドガイド \ No newline at end of file +- [サブグラフ(開発者ガイド)](/ja/custom-nodes/js/subgraphs) — 拡張機能開発者向けのフロントエンドガイド \ No newline at end of file diff --git a/ja/custom-nodes/backend/interface.mdx b/ja/custom-nodes/backend/interface.mdx index a45624474..ecf7fbd26 100644 --- a/ja/custom-nodes/backend/interface.mdx +++ b/ja/custom-nodes/backend/interface.mdx @@ -110,7 +110,7 @@ CATEGORY = "loaders" この属性は Web ディレクトリを設定します。そのディレクトリ内の任意の `.js` ファイルは、フロントエンド拡張機能としてロードされます。 -カスタムノードには、`WEB_DIRECTORY/docs` フォルダに Markdown ドキュメントを含めることもできます。ノードに豊富なドキュメントを追加する方法の詳細については、[ヘルプページ](/custom-nodes/help_page) セクションを参照してください。 +カスタムノードには、`WEB_DIRECTORY/docs` フォルダに Markdown ドキュメントを含めることもできます。ノードに豊富なドキュメントを追加する方法の詳細については、[ヘルプページ](/ja/custom-nodes/help_page) セクションを参照してください。 #### NODE_CLASS_MAPPINGS diff --git a/ja/custom-nodes/backend/manager.mdx b/ja/custom-nodes/backend/manager.mdx index dd00cf479..8d105f8f2 100644 --- a/ja/custom-nodes/backend/manager.mdx +++ b/ja/custom-nodes/backend/manager.mdx @@ -14,7 +14,7 @@ description: "カスタムノードを ComfyUI Manager データベースに公 Comfy の素晴らしい点の一つは、ノードベースのアプローチにより、提供されているノードを異なる方法で組み合わせることで、新しいワークフローを開発できることです。組み込みノードは幅広い機能を提供しますが、コアノードでは提供されていない機能が必要だと気づくかもしれません。 -カスタムノードはコミュニティによって開発されたノードです。これにより、新機能を実装し、より広いコミュニティと共有することができます。カスタムノードの開発に興味がある場合は、[こちら](/custom-nodes/overview) で詳しく読むことができます。 +カスタムノードはコミュニティによって開発されたノードです。これにより、新機能を実装し、より広いコミュニティと共有することができます。カスタムノードの開発に興味がある場合は、[こちら](/ja/custom-nodes/overview) で詳しく読むことができます。 ## ComfyUI Manager diff --git a/ja/custom-nodes/backend/more_on_inputs.mdx b/ja/custom-nodes/backend/more_on_inputs.mdx index 5f221b3e6..6b3f42e68 100644 --- a/ja/custom-nodes/backend/more_on_inputs.mdx +++ b/ja/custom-nodes/backend/more_on_inputs.mdx @@ -25,10 +25,10 @@ def INPUT_TYPES(s): ``` ### UNIQUE_ID -`UNIQUE_ID` はノードの一意の識別子であり、クライアント側のノードの `id` プロパティと一致します。これは通常、クライアント - サーバー間の通信で使用されます([メッセージ](/development/comfyui-server/comms_messages#getting-node-id) を参照)。 +`UNIQUE_ID` はノードの一意の識別子であり、クライアント側のノードの `id` プロパティと一致します。これは通常、クライアント - サーバー間の通信で使用されます([メッセージ](/ja/development/comfyui-server/comms_messages#getting-node-id) を参照)。 ### PROMPT -`PROMPT` はクライアントからサーバーに送信された完全なプロンプトです。詳細な説明については [プロンプトオブジェクト](/custom-nodes/js/javascript_objects_and_hijacking#prompt) を参照してください。 +`PROMPT` はクライアントからサーバーに送信された完全なプロンプトです。詳細な説明については [プロンプトオブジェクト](/ja/custom-nodes/js/javascript_objects_and_hijacking#prompt) を参照してください。 ### EXTRA_PNGINFO `EXTRA_PNGINFO` は、保存されるすべての `.png` ファイルのメタデータにコピーされる辞書です。カスタムノードは、保存用の追加情報をこの辞書に格納できます(または下流のノードとの通信手段として)。 @@ -36,7 +36,7 @@ def INPUT_TYPES(s): Comfy が `disable_metadata` オプション付きで起動された場合、このデータは保存されないことに注意してください。 ### DYNPROMPT -`DYNPROMPT` は `comfy_execution.graph.DynamicPrompt` のインスタンスです。これは `PROMPT` と異なり、[ノード拡張](/custom-nodes/backend/expansion) に応じて実行中に変更される可能性があります。 +`DYNPROMPT` は `comfy_execution.graph.DynamicPrompt` のインスタンスです。これは `PROMPT` と異なり、[ノード拡張](/ja/custom-nodes/backend/expansion) に応じて実行中に変更される可能性があります。 `DYNPROMPT` は高度なケース(カスタムノード内にループを実装するなど)でのみ使用すべきです。 ## 柔軟な入力 diff --git a/ja/custom-nodes/i18n.mdx b/ja/custom-nodes/i18n.mdx index 175d7119a..015ec9b35 100644 --- a/ja/custom-nodes/i18n.mdx +++ b/ja/custom-nodes/i18n.mdx @@ -6,7 +6,7 @@ translationSourceHash: af21fb42 translationFrom: custom-nodes/i18n.mdx --- -import SupportedLanguages from '/snippets/interface/supported-languages.mdx' +import SupportedLanguages from '/snippets/ja/interface/supported-languages.mdx' 複数の言語サポートを追加したい場合は、このドキュメントを参考にして多言語サポートの実装方法を確認できます。 diff --git a/ja/custom-nodes/js/javascript_about_panel_badges.mdx b/ja/custom-nodes/js/javascript_about_panel_badges.mdx index 046b9e0bb..aa6441f49 100644 --- a/ja/custom-nodes/js/javascript_about_panel_badges.mdx +++ b/ja/custom-nodes/js/javascript_about_panel_badges.mdx @@ -1,10 +1,10 @@ --- -title: "关于パネルバッジ" +title: "情報パネルバッジ" translationSourceHash: 1cbbc032 translationFrom: custom-nodes/js/javascript_about_panel_badges.mdx --- -关于パネルバッジ API により、拡張機能は ComfyUI の关于ページにカスタムバッジを追加できます。これらのバッジには拡張機能に関する情報を表示でき、ドキュメント、ソースコード、または他のリソースへのリンクを含めることができます。 +情報パネルバッジ API により、拡張機能は ComfyUI の情報ページにカスタムバッジを追加できます。これらのバッジには拡張機能に関する情報を表示でき、ドキュメント、ソースコード、または他のリソースへのリンクを含めることができます。 ## 基本的な使い方 @@ -77,4 +77,4 @@ app.registerExtension({ }); ``` -バッジは設定ダイアログの关于パネルに表示され、ComfyUI インターフェースの右上隅にあるギアアイコンからアクセスできます。 \ No newline at end of file +バッジは設定ダイアログの情報パネルに表示され、ComfyUI インターフェースの右上隅にあるギアアイコンからアクセスできます。 \ No newline at end of file diff --git a/ja/custom-nodes/js/javascript_examples.mdx b/ja/custom-nodes/js/javascript_examples.mdx index 55b96a544..2525ad534 100644 --- a/ja/custom-nodes/js/javascript_examples.mdx +++ b/ja/custom-nodes/js/javascript_examples.mdx @@ -119,7 +119,7 @@ import { api } from "../../scripts/api.js"; ## ワークフローの中断を検出 -**非推奨:** 以下に示す API ハイジャックパターンは非推奨であり、近い将来いつでも変更される可能性があります。可能な場合は、公式の [拡張フック](/custom-nodes/js/javascript_hooks) および API イベントリスナーを使用してください。 +**非推奨:** 以下に示す API ハイジャックパターンは非推奨であり、近い将来いつでも変更される可能性があります。可能な場合は、公式の [拡張フック](/ja/custom-nodes/js/javascript_hooks) および API イベントリスナーを使用してください。 api をハイジャックする簡単な例: @@ -138,7 +138,7 @@ import { api } from "../../scripts/api.js"; ## ノードのクリックをキャプチャ -**非推奨:** 以下に示すノードメソッドハイジャックパターンは非推奨であり、近い将来いつでも変更される可能性があります。可能な場合は、公式の [拡張フック](/custom-nodes/js/javascript_hooks) を使用してください。 +**非推奨:** 以下に示すノードメソッドハイジャックパターンは非推奨であり、近い将来いつでも変更される可能性があります。可能な場合は、公式の [拡張フック](/ja/custom-nodes/js/javascript_hooks) を使用してください。 `node` にはハイジャックできる `mouseDown` メソッドがあります。 diff --git a/ja/custom-nodes/js/javascript_hooks.mdx b/ja/custom-nodes/js/javascript_hooks.mdx index 89caf763f..457dc143a 100644 --- a/ja/custom-nodes/js/javascript_hooks.mdx +++ b/ja/custom-nodes/js/javascript_hooks.mdx @@ -41,7 +41,7 @@ async beforeRegisterNodeDef(nodeType, nodeData, app) `beforeRegisterNodeDef` において非常に一般的なパターンは、既存のメソッドを「ハイジャック」することです。 -**非推奨:** 以下に示すプロトタイプハイジャックパターンは非推奨であり、近い将来いつでも変更される可能性があります。コンテキストメニューについては、公式の [コンテキストメニュー API](/custom-nodes/js/context-menu-migration) を使用してください。他のユースケースについては、利用可能な場合は公式の [拡張機能フック](/custom-nodes/js/javascript_hooks) を使用することを推奨します。 +**非推奨:** 以下に示すプロトタイプハイジャックパターンは非推奨であり、近い将来いつでも変更される可能性があります。コンテキストメニューについては、公式の [コンテキストメニュー API](/ja/custom-nodes/js/context-menu-migration) を使用してください。他のユースケースについては、利用可能な場合は公式の [拡張機能フック](/ja/custom-nodes/js/javascript_hooks) を使用することを推奨します。 ```Javascript diff --git a/ja/custom-nodes/js/javascript_objects_and_hijacking.mdx b/ja/custom-nodes/js/javascript_objects_and_hijacking.mdx index c86413f12..8ba0a5abc 100644 --- a/ja/custom-nodes/js/javascript_objects_and_hijacking.mdx +++ b/ja/custom-nodes/js/javascript_objects_and_hijacking.mdx @@ -14,7 +14,7 @@ Comfy の機能の多くは LiteGraph によって提供されているため、 `app` オブジェクト(`import { app } from "../../scripts/app.js";` で常にアクセス可能)は、ブラウザ上で実行されている Comfy アプリケーションを表し、以下にリストするものを含む、多くの有用なプロパティと関数を含んでいます。 -**非推奨:** `app` 上の関数やプロトタイプをハイジャック/モンキーパッチすることは非推奨であり、近い将来いつでも変更される可能性があります。代わりに、公式の [拡張フック](/custom-nodes/js/javascript_hooks) および [コンテキストメニュー API](/custom-nodes/js/context-menu-migration) を使用してください。 +**非推奨:** `app` 上の関数やプロトタイプをハイジャック/モンキーパッチすることは非推奨であり、近い将来いつでも変更される可能性があります。代わりに、公式の [拡張フック](/ja/custom-nodes/js/javascript_hooks) および [コンテキストメニュー API](/ja/custom-nodes/js/context-menu-migration) を使用してください。 `app` 上の関数をハイジャックすることは推奨されません。Comfy は継続的に開発されており、コアの動作が変更される可能性があるためです。 @@ -81,7 +81,7 @@ ComfyNode_object_for_my_node.inputs.forEach(input => { `ComfyNode` オブジェクトは現在のワークフロー内のノードを表します。これには、利用したい多くの重要なプロパティ、および動作を変更するために使用またはハイジャックしたい非常に多くの関数があります。 -**非推奨:** `ComfyNode` または `LGraphNode` 上のプロトタイプメソッドをハイジャックすることは非推奨であり、近い将来いつでも変更される可能性があります。利用可能な場合は、コンテキストメニュー用の `getNodeMenuItems` などの公式の [拡張フック](/custom-nodes/js/javascript_hooks) を使用してください。例については [コンテキストメニュー移行ガイド](/custom-nodes/js/context-menu-migration) を参照してください。 +**非推奨:** `ComfyNode` または `LGraphNode` 上のプロトタイプメソッドをハイジャックすることは非推奨であり、近い将来いつでも変更される可能性があります。利用可能な場合は、コンテキストメニュー用の `getNodeMenuItems` などの公式の [拡張フック](/ja/custom-nodes/js/javascript_hooks) を使用してください。例については [コンテキストメニュー移行ガイド](/ja/custom-nodes/js/context-menu-migration) を参照してください。 ノードオブジェクトをより完全に理解するには、以下のコードを拡張機能に挿入し、`console.log` コマンドにブレークポイントを設定することをお勧めします。その後、新しいノードを作成すると、お気に入りのデバッガーを使用してノードを調べることができます。 diff --git a/ja/custom-nodes/js/javascript_overview.mdx b/ja/custom-nodes/js/javascript_overview.mdx index d7f203570..dc83b98d5 100644 --- a/ja/custom-nodes/js/javascript_overview.mdx +++ b/ja/custom-nodes/js/javascript_overview.mdx @@ -12,7 +12,7 @@ Comfy は拡張機制を通じて変更できます。拡張を追加するに - 1 つ以上の `.js` ファイルをそのディレクトリに配置し、 - `app.registerExtension` を使用して拡張を登録します。 -これら 3 つのステップは以下に記載します。拡張の追加方法を確認したら、コードを呼び出すために利用可能な [hooks](/custom-nodes/js/javascript_hooks) を確認するか、必要に応じて様々な [Comfy objects](/custom-nodes/js/javascript_objects_and_hijacking) の説明を確認するか、あるいは直接 [example code snippets](/custom-nodes/js/javascript_examples) にジャンプしてください。 +これら 3 つのステップは以下に記載します。拡張の追加方法を確認したら、コードを呼び出すために利用可能な [hooks](/ja/custom-nodes/js/javascript_hooks) を確認するか、必要に応じて様々な [Comfy objects](/ja/custom-nodes/js/javascript_objects_and_hijacking) の説明を確認するか、あるいは直接 [example code snippets](/ja/custom-nodes/js/javascript_examples) にジャンプしてください。 ### `WEB_DIRECTORY` のエクスポート diff --git a/ja/custom-nodes/js/subgraphs.mdx b/ja/custom-nodes/js/subgraphs.mdx index 55961a67b..0d333fefe 100644 --- a/ja/custom-nodes/js/subgraphs.mdx +++ b/ja/custom-nodes/js/subgraphs.mdx @@ -7,7 +7,7 @@ translationFrom: custom-nodes/js/subgraphs.mdx ## 概要 -サブグラフを使用すると、ユーザーはノードを再利用可能でネスト可能なコンポーネントとしてグループ化できます。各サブグラフは UUID を持つ独自の `LGraph` です。ユーザー向けガイドについては、[Subgraphs](/interface/features/subgraph) を参照してください。 +サブグラフを使用すると、ユーザーはノードを再利用可能でネスト可能なコンポーネントとしてグループ化できます。各サブグラフは UUID を持つ独自の `LGraph` です。ユーザー向けガイドについては、[Subgraphs](/ja/interface/features/subgraph) を参照してください。 ## ノード識別子 @@ -215,5 +215,5 @@ app.registerExtension({ ## 関連項目 -- [Subgraphs (User Guide)](/interface/features/subgraph) -- [Extension Hooks](/custom-nodes/js/javascript_hooks) \ No newline at end of file +- [Subgraphs (User Guide)](/ja/interface/features/subgraph) +- [Extension Hooks](/ja/custom-nodes/js/javascript_hooks) \ No newline at end of file diff --git a/ja/custom-nodes/overview.mdx b/ja/custom-nodes/overview.mdx index de4ab56ef..1f8bef340 100644 --- a/ja/custom-nodes/overview.mdx +++ b/ja/custom-nodes/overview.mdx @@ -16,6 +16,8 @@ translationFrom: custom-nodes/overview.mdx - [ComfyUI-React-Extension-Template](https://github.com/Comfy-Org/ComfyUI-React-Extension-Template) - [ComfyUI_frontend_vue_basic](https://github.com/jtydhr88/ComfyUI_frontend_vue_basic) +Claude Code を使って開発する場合は、[ComfyUI Custom Node Skills](https://github.com/jtydhr88/comfyui-custom-node-skills) を利用すると、V3 と V1 の両方の API をカバーする ComfyUI ノードシステムの知識を Claude に提供できます。Claude Code のマーケットプレイスでリポジトリ URL を追加すると、ノードの基本、入出力、データ型、高度なパターン、フロントエンド拡張、パッケージングをカバーする 9 つのスキルが利用可能になります。 + ## クライアント - サーバーモデル Comfy はクライアント - サーバーモデルで動作します。サーバー側は Python で書かれており、データ処理、モデル、画像拡散などすべての実際の処理を担当します。クライアント側は Javascript で書かれており、ユーザーインターフェースを担当します。 diff --git a/ja/custom-nodes/subgraph_blueprints.mdx b/ja/custom-nodes/subgraph_blueprints.mdx index 2daa2be6c..f3bc70c1e 100644 --- a/ja/custom-nodes/subgraph_blueprints.mdx +++ b/ja/custom-nodes/subgraph_blueprints.mdx @@ -30,6 +30,6 @@ translationFrom: custom-nodes/subgraph_blueprints.mdx ## 関連項目 -- [サブグラフ(ユーザーガイド)](/interface/features/subgraph) - ユーザーがサブグラフとどのように対話するか -- [サブグラフ開発者ガイド](/custom-nodes/js/subgraphs) - サブグラフのフロントエンド拡張開発 -- [ワークフローテンプレート](/custom-nodes/workflow_templates) - カスタムノードにサンプルワークフローを追加する \ No newline at end of file +- [サブグラフ(ユーザーガイド)](/ja/interface/features/subgraph) - ユーザーがサブグラフとどのように対話するか +- [サブグラフ開発者ガイド](/ja/custom-nodes/js/subgraphs) - サブグラフのフロントエンド拡張開発 +- [ワークフローテンプレート](/ja/custom-nodes/workflow_templates) - カスタムノードにサンプルワークフローを追加する \ No newline at end of file diff --git a/ja/custom-nodes/walkthrough.mdx b/ja/custom-nodes/walkthrough.mdx index ae530fa18..da690ff7d 100644 --- a/ja/custom-nodes/walkthrough.mdx +++ b/ja/custom-nodes/walkthrough.mdx @@ -16,8 +16,8 @@ translationFrom: custom-nodes/walkthrough.mdx ### 前提条件 -- 動作する ComfyUI の [インストール](/installation/manual_install) 環境。開発には、ComfyUI を手動でインストールすることを推奨します。 -- 動作する comfy-cli の [インストール](/comfy-cli/getting-started) 環境。 +- 動作する ComfyUI の [インストール](/ja/installation/manual_install) 環境。開発には、ComfyUI を手動でインストールすることを推奨します。 +- 動作する comfy-cli の [インストール](/ja/comfy-cli/getting-started) 環境。 ### 環境構築 @@ -65,9 +65,9 @@ class ImageSelector: FUNCTION = "choose_image" ``` -カスタムノードの基本構造については、[こちら](/custom-nodes/backend/server_overview) で詳しく説明されています。 +カスタムノードの基本構造については、[こちら](/ja/custom-nodes/backend/server_overview) で詳しく説明されています。 -カスタムノードは Python クラスを使用して定義され、次の 4 つを含む必要があります:`CATEGORY`(カスタムノードが新規追加ノードメニューのどこに配置されるかを指定)、`INPUT_TYPES`(ノードが受け取る入力を定義するクラスメソッド。返される辞書の詳細は [後述](/custom-nodes/backend/server_overview#input-types) を参照)、`RETURN_TYPES`(ノードが生成する出力を定義)、および `FUNCTION`(ノード実行時に呼び出される関数名)。 +カスタムノードは Python クラスを使用して定義され、次の 4 つを含む必要があります:`CATEGORY`(カスタムノードが新規追加ノードメニューのどこに配置されるかを指定)、`INPUT_TYPES`(ノードが受け取る入力を定義するクラスメソッド。返される辞書の詳細は [後述](/ja/custom-nodes/backend/server_overview#input-types) を参照)、`RETURN_TYPES`(ノードが生成する出力を定義)、および `FUNCTION`(ノード実行時に呼び出される関数名)。 入力と出力のデータタイプが `IMAGE`(単数形)であることに注意してください。画像バッチを受け取り、1 枚のみを返す場合でも同様です。Comfy では、`IMAGE` は画像バッチを意味し、単一の画像はサイズ 1 のバッチとして扱われます。 @@ -112,7 +112,7 @@ NODE_DISPLAY_NAME_MAPPINGS = { } ``` -ComfyUI がカスタムノードをどのように発見しロードするかについての詳しい説明は、[ノードライフサイクルドキュメント](/custom-nodes/backend/lifecycle) を参照してください。 +ComfyUI がカスタムノードをどのように発見しロードするかについての詳しい説明は、[ノードライフサイクルドキュメント](/ja/custom-nodes/backend/lifecycle) を参照してください。 ## オプションの追加 diff --git a/ja/development/cloud/api-reference.mdx b/ja/development/cloud/api-reference.mdx index 30a5c2e80..066c91c90 100644 --- a/ja/development/cloud/api-reference.mdx +++ b/ja/development/cloud/api-reference.mdx @@ -6,9 +6,9 @@ translationSourceHash: 5ec787f8 translationFrom: development/cloud/api-reference.mdx --- -import PollJobCompletion from '/snippets/cloud/poll-job-completion.mdx' -import WebSocketProgress from '/snippets/cloud/websocket-progress.mdx' -import DownloadOutputs from '/snippets/cloud/download-outputs.mdx' +import PollJobCompletion from '/snippets/ja/cloud/poll-job-completion.mdx' +import WebSocketProgress from '/snippets/ja/cloud/websocket-progress.mdx' +import DownloadOutputs from '/snippets/ja/cloud/download-outputs.mdx' **実験的 API:** この API は実験的であり、変更される可能性があります。エンドポイント、リクエスト/レスポンス形式、および動作は予告なしに変更される場合があります。一部のエンドポイントはローカル ComfyUI との互換性のために維持されていますが、異なるセマンティクスを持つ場合があります(例:無視されるフィールド)。 @@ -262,7 +262,7 @@ def upload_mask(file_path: str, original_ref: dict) -> dict: 実行のためにワークフローを送信します。 - **同時送信をサポート:** サブスクリプションティアに応じて、前のジョブの完了を待たずに複数のワークフローを送信できます。ジョブはティアの制限まで並列で実行されます—追加のジョブは自動的にキューイングされます。詳細と同時実行制限については[並列実行](/development/cloud/overview#parallel-execution-concurrent-jobs)をご覧ください。 + **同時送信をサポート:** サブスクリプションティアに応じて、前のジョブの完了を待たずに複数のワークフローを送信できます。ジョブはティアの制限まで並列で実行されます—追加のジョブは自動的にキューイングされます。詳細と同時実行制限については[並列実行](/ja/development/cloud/overview#parallel-execution-concurrent-jobs)をご覧ください。 ### ワークフローの送信 @@ -541,7 +541,7 @@ workflow = set_workflow_input(workflow, "6", "text", "a beautiful landscape") - 各 JSON メッセージタイプの完全なスキーマ定義については、[OpenAPI 仕様](/development/cloud/openapi)をご覧ください。 + 各 JSON メッセージタイプの完全なスキーマ定義については、[OpenAPI 仕様](/ja/development/cloud/openapi)をご覧ください。 --- diff --git a/ja/development/cloud/openapi.mdx b/ja/development/cloud/openapi.mdx index 7cd122f2d..a5397ae93 100644 --- a/ja/development/cloud/openapi.mdx +++ b/ja/development/cloud/openapi.mdx @@ -72,4 +72,4 @@ X-API-Key: your-api-key wss://cloud.comfy.org/ws?clientId={uuid}&token={api_key} ``` -メッセージタイプと処理については、[API リファレンス](/development/cloud/api-reference#websocket-for-real-time-progress) を参照してください。 \ No newline at end of file +メッセージタイプと処理については、[API リファレンス](/ja/development/cloud/api-reference#websocket-for-real-time-progress) を参照してください。 \ No newline at end of file diff --git a/ja/development/cloud/overview.mdx b/ja/development/cloud/overview.mdx index 8ee55c975..9f8ae8836 100644 --- a/ja/development/cloud/overview.mdx +++ b/ja/development/cloud/overview.mdx @@ -5,11 +5,11 @@ translationSourceHash: d9316708 translationFrom: development/cloud/overview.mdx --- -import PollJobCompletion from '/snippets/cloud/poll-job-completion.mdx' -import WebSocketProgress from '/snippets/cloud/websocket-progress.mdx' -import DownloadOutputs from '/snippets/cloud/download-outputs.mdx' -import CompleteExample from '/snippets/cloud/complete-example.mdx' -import GetApiKey from '/snippets/get-api-key.mdx' +import PollJobCompletion from '/snippets/ja/cloud/poll-job-completion.mdx' +import WebSocketProgress from '/snippets/ja/cloud/websocket-progress.mdx' +import DownloadOutputs from '/snippets/ja/cloud/download-outputs.mdx' +import CompleteExample from '/snippets/ja/cloud/complete-example.mdx' +import GetApiKey from '/snippets/ja/get-api-key.mdx' **実験的 API:** この API は実験的であり、変更される可能性があります。エンドポイント、リクエスト/レスポンス形式、および動作は予告なく変更される場合があります。 @@ -94,6 +94,7 @@ API ユーザーは、前のジョブの完了を待たずに、複数のワー | サブスクリプションティア | 同時ジョブ数 | |-------------------|-----------------| +| Standard | 1 | | Creator | 3 | | Pro | 5 | @@ -171,7 +172,7 @@ async function main() { await Deno.readTextFile("workflow_api.json") ); - # シードを変更してバリエーションを作成 + // シードを変更してバリエーションを作成 const seeds = [42, 123, 456]; const workflows = seeds.map((seed) => { const wf = structuredClone(base); @@ -179,16 +180,16 @@ async function main() { return wf; }); - # すべてのワークフローを同時に送信 + // すべてのワークフローを同時に送信 const promptIds = await Promise.all( workflows.map((wf) => submitWorkflow(wf)) ); for (const pid of promptIds) { - console.log(`Job submitted: {pid}`); + console.log(`Job submitted: ${pid}`); } - # 各ジョブをポーリングまたは WebSocket で監視... + // 各ジョブをポーリングまたは WebSocket で監視... } main(); @@ -273,7 +274,7 @@ print(f"Job submitted: {prompt_id}") - 詳細なメッセージタイプとバイナリプレビュー画像の処理については、[WebSocket リファレンス](/development/cloud/api-reference#websocket-for-real-time-progress)をご覧ください。 + 詳細なメッセージタイプとバイナリプレビュー画像の処理については、[WebSocket リファレンス](/ja/development/cloud/api-reference#websocket-for-real-time-progress)をご覧ください。 ### ステップ 3:出力のダウンロード @@ -313,22 +314,22 @@ print(f"Job submitted: {prompt_id}") | カテゴリ | 説明 | |----------|-------------| -| [ワークフロー](/development/cloud/api-reference#running-workflows) | ワークフローの送信、ステータスの確認 | -| [ジョブ](/development/cloud/api-reference#checking-job-status) | ジョブのステータスとキューの監視 | -| [入力](/development/cloud/api-reference#uploading-inputs) | 画像、マスク、その他の入力のアップロード | -| [出力](/development/cloud/api-reference#downloading-outputs) | 生成されたコンテンツのダウンロード | -| [WebSocket](/development/cloud/api-reference#websocket-for-real-time-progress) | リアルタイムの進捗更新 | -| [オブジェクト情報](/development/cloud/api-reference#object-info) | 利用可能なノードとその定義 | +| [ワークフロー](/ja/development/cloud/api-reference#running-workflows) | ワークフローの送信、ステータスの確認 | +| [ジョブ](/ja/development/cloud/api-reference#checking-job-status) | ジョブのステータスとキューの監視 | +| [入力](/ja/development/cloud/api-reference#uploading-inputs) | 画像、マスク、その他の入力のアップロード | +| [出力](/ja/development/cloud/api-reference#downloading-outputs) | 生成されたコンテンツのダウンロード | +| [WebSocket](/ja/development/cloud/api-reference#websocket-for-real-time-progress) | リアルタイムの進捗更新 | +| [オブジェクト情報](/ja/development/cloud/api-reference#object-info) | 利用可能なノードとその定義 | ## 次のステップ -上記のクイックスタートでは、ワークフローの送信と結果の取得の基礎をカバーしています。より高度なユースケースについては、[Cloud API リファレンス](/development/cloud/api-reference)を参照してください: +上記のクイックスタートでは、ワークフローの送信と結果の取得の基礎をカバーしています。より高度なユースケースについては、[Cloud API リファレンス](/ja/development/cloud/api-reference)を参照してください: -- **[入力ファイルのアップロード](/development/cloud/api-reference#uploading-inputs)** - 外部入力を必要とするワークフローのために、画像、マスク、またはその他のユーザー提供コンテンツをアップロード -- **[ワークフロー入力の修正](/development/cloud/api-reference#modify-workflow-inputs)** - 送信前にプロンプト、シード、またはノード設定などのワークフローパラメーターを動的に変更 -- **[パートナーノードの使用](/development/cloud/api-reference#using-partner-nodes)** - 追加の API キー設定を必要とする外部 AI サービス(Flux Pro、Ideogram など)を呼び出す -- **[キュー管理](/development/cloud/api-reference#queue-management)** - キューのステータスの監視、ジョブのキャンセル、または実行中の実行の中断 -- **[エラー処理](/development/cloud/api-reference#error-handling)** - HTTP エラー、実行失敗の処理、および例外タイプの理解 +- **[入力ファイルのアップロード](/ja/development/cloud/api-reference#uploading-inputs)** - 外部入力を必要とするワークフローのために、画像、マスク、またはその他のユーザー提供コンテンツをアップロード +- **[ワークフロー入力の修正](/ja/development/cloud/api-reference#modify-workflow-inputs)** - 送信前にプロンプト、シード、またはノード設定などのワークフローパラメーターを動的に変更 +- **[パートナーノードの使用](/ja/development/cloud/api-reference#using-partner-nodes)** - 追加の API キー設定を必要とする外部 AI サービス(Flux Pro、Ideogram など)を呼び出す +- **[キュー管理](/ja/development/cloud/api-reference#queue-management)** - キューのステータスの監視、ジョブのキャンセル、または実行中の実行の中断 +- **[エラー処理](/ja/development/cloud/api-reference#error-handling)** - HTTP エラー、実行失敗の処理、および例外タイプの理解 追加リソース: -- [OpenAPI 仕様](/development/cloud/openapi) - コード生成用の機械可読 API 仕様 \ No newline at end of file +- [OpenAPI 仕様](/ja/development/cloud/openapi) - コード生成用の機械可読 API 仕様 \ No newline at end of file diff --git a/ja/development/comfyui-server/api-key-integration.mdx b/ja/development/comfyui-server/api-key-integration.mdx index a1a90abc4..5b7b47bee 100644 --- a/ja/development/comfyui-server/api-key-integration.mdx +++ b/ja/development/comfyui-server/api-key-integration.mdx @@ -1,13 +1,13 @@ --- title: 'ComfyUI アカウント API キー統合' -description: 'この記事では、ヘッドレスモードで有料 API ノードを呼び出すために ComfyUI アカウント API キーを使用する方法について説明します' +description: 'この記事では、ヘッドレスモードで有料パートナーノードを呼び出すために ComfyUI アカウント API キーを使用する方法について説明します' sidebarTitle: 'Partner Node API 統合' icon: 'puzzle-piece' translationSourceHash: 1276143d translationFrom: development/comfyui-server/api-key-integration.mdx --- -[PR #8041](https://github.com/Comfy-Org/ComfyUI/pull/8041) 以降、ComfyUI は特定のフロントエンドインターフェースを必要とせずに(フロントエンドなしで実行することも可能です)、ComfyUI アカウント API キーを通じて内置の有料 API ノードを直接使用できるようになりました。 +[PR #8041](https://github.com/Comfy-Org/ComfyUI/pull/8041) 以降、ComfyUI は特定のフロントエンドインターフェースを必要とせずに(フロントエンドなしで実行することも可能です)、ComfyUI アカウント API キーを通じて組み込みの有料パートナーノードを直接使用できるようになりました。 これにより、以下を組み合わせるワークフローを作成できます: - ローカル OS モデル @@ -20,19 +20,15 @@ translationFrom: development/comfyui-server/api-key-integration.mdx ## 前提条件 -ComfyUI アカウント API キーを使用して有料 API ノードを呼び出すには、以下が必要です: +ComfyUI アカウント API キーを使用して有料パートナーノードを呼び出すには、以下が必要です: - [ComfyUI アカウント API キー](/ja/development/api-development/getting-an-api-key) - 十分なアカウントクレジット - **重要:** このページでは、ワークフロー内の有料 API ノードへのアクセスに使用される **ComfyUI アカウント API キー** について説明します。代わりにカスタムノードをレジストリに公開したい場合は、[ノードの公開](/registry/publishing) を参照してください。 + **重要:** このページでは、ワークフロー内の有料パートナーノードへのアクセスに使用される **ComfyUI アカウント API キー** について説明します。代わりにカスタムノードをレジストリに公開したい場合は、[ノードの公開](/ja/registry/publishing) を参照してください。 -有料 API ノードを呼び出すために ComfyUI アカウント API キーを使用するには、まず [ComfyUI Platform](https://platform.comfy.org/login) でアカウントを登録し、[API キーを作成する](/ja/development/api-development/getting-an-api-key)必要があります。 - - -API キーでログインする方法については、ユーザーインターフェースセクションを参照してください - +有料パートナーノードを呼び出すために ComfyUI アカウント API キーを使用するには、まず [ComfyUI Platform](https://platform.comfy.org/login) でアカウントを登録し、[API キーを作成する](/ja/development/api-development/getting-an-api-key)必要があります。 対応する機能をテストするために、ComfyUI アカウントに十分なクレジットがあることを確認する必要があります。 @@ -41,20 +37,20 @@ API キーでログインする方法については、ユーザーインター -## Python 示例 +## Python 例 -以下は、Python コードを使用して API ノードを含むワークフローを ComfyUI API に送信する方法の例です: +以下は、Python コードを使用してパートナーノードを含むワークフローを ComfyUI API に送信する方法の例です: ```python -"""ComfyUI をヘッドレスモードまたは代替フロントエンドで実行する際に API ノードを使用する +"""ComfyUI をヘッドレスモードまたは代替フロントエンドで実行する際にパートナーノードを使用する -API キーをプロンプトに含めることで、API ノードを含む ComfyUI ワークフローを実行できます。 +API キーをプロンプトに含めることで、パートナーノードを含む ComfyUI ワークフローを実行できます。 API キーは、ペイロードの `extra_data` フィールドに追加する必要があります。 以下に、その方法の例を示します。 詳細情報: -- API ノードの概要:https://docs.comfy.org/tutorials/partner-nodes/overview +- パートナーノードの概要:https://docs.comfy.org/tutorials/partner-nodes/overview - API キーを生成するには、こちらにログインしてください:https://platform.comfy.org/login """ @@ -63,7 +59,7 @@ from urllib import request SERVER_URL = "http://127.0.0.1:8188" -# API ノードを含むプロンプト/ジョブ(「API 形式」のワークフロー)があります。 +# パートナーノードを含むプロンプト/ジョブ(「API 形式」のワークフロー)があります。 workflow_with_api_nodes = """{ "11": { "inputs": { @@ -125,6 +121,6 @@ request.urlopen(req) ## 関連ドキュメント -- [API ノードの概要](https://docs.comfy.org/tutorials/partner-nodes/overview) +- [パートナーノードの概要](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 diff --git a/ja/development/comfyui-server/execution_model_inversion_guide.mdx b/ja/development/comfyui-server/execution_model_inversion_guide.mdx index adfce32e7..111e5242c 100644 --- a/ja/development/comfyui-server/execution_model_inversion_guide.mdx +++ b/ja/development/comfyui-server/execution_model_inversion_guide.mdx @@ -20,7 +20,7 @@ translationFrom: development/comfyui-server/execution_model_inversion_guide.mdx 以下に、検証失敗の原因となり得る事項と推奨される解決策をいくつか示します。 -- カスタムウィジェットを設定するために、比較できないタイプ(例:辞書)上で `min` や `max` などの予約済み [追加パラメータ](/custom-nodes/backend/datatypes#additional-parameters) を使用すること。 +- カスタムウィジェットを設定するために、比較できないタイプ(例:辞書)上で `min` や `max` などの予約済み [追加パラメータ](/ja/custom-nodes/backend/datatypes#additional-parameters) を使用すること。 - 使用している追加パラメータを、`uiMin` や `uiMax` などの予約されていないキーに変更します。*(推奨ソリューション)* ```python @classmethod @@ -32,7 +32,7 @@ translationFrom: development/comfyui-server/execution_model_inversion_guide.mdx } ``` - - この入力に対してカスタムの [VALIDATE_INPUTS](/custom-nodes/backend/server_overview#validate-inputs) 関数を定義し、その検証をスキップするようにします。*(簡易ソリューション)* + - この入力に対してカスタムの [VALIDATE_INPUTS](/ja/custom-nodes/backend/server_overview#validate-inputs) 関数を定義し、その検証をスキップするようにします。*(簡易ソリューション)* ```python @classmethod def VALIDATE_INPUTS(cls, my_size): @@ -56,7 +56,7 @@ translationFrom: development/comfyui-server/execution_model_inversion_guide.mdx # ... ``` - - (入力として使用する場合)`input_types` 引数を受け取るカスタムの [VALIDATE_INPUTS](/custom-nodes/backend/server_overview#validate-inputs) 関数を定義し、タイプ検証をスキップするようにします。 + - (入力として使用する場合)`input_types` 引数を受け取るカスタムの [VALIDATE_INPUTS](/ja/custom-nodes/backend/server_overview#validate-inputs) 関数を定義し、タイプ検証をスキップするようにします。 ```python @classmethod def VALIDATE_INPUTS(cls, input_types): @@ -101,12 +101,12 @@ translationFrom: development/comfyui-server/execution_model_inversion_guide.mdx - `VALIDATE_INPUTS` 関数は `**kwargs` を受け取ることができるようになりました。これにより、すべての入力がノード作成者によって検証済みとして扱われます。 - `VALIDATE_INPUTS` 関数は `input_types` という名前の入力を受け取ることができます。この入力は、各入力(リンクを介して接続された)を接続された出力のタイプにマッピングする辞書になります。この引数が存在する場合、ノードの入力に対するタイプ検証はスキップされます。 -詳細は [VALIDATE_INPUTS](/custom-nodes/backend/server_overview#validate-inputs) をご覧ください。 +詳細は [VALIDATE_INPUTS](/ja/custom-nodes/backend/server_overview#validate-inputs) をご覧ください。 ### 遅延評価 -入力は遅延評価(Lazy Evaluation)できるようになりました(つまり、接続されたノードとそのすべての祖先ノードを評価する前に、それらが必要かどうかを確認するために待機できます)。詳細は [遅延評価](/custom-nodes/backend/lazy_evaluation) をご覧ください。 +入力は遅延評価(Lazy Evaluation)できるようになりました(つまり、接続されたノードとそのすべての祖先ノードを評価する前に、それらが必要かどうかを確認するために待機できます)。詳細は [遅延評価](/ja/custom-nodes/backend/lazy_evaluation) をご覧ください。 ### ノード展開 -実行時において、ノードはノードのサブグラフに展開できます。これにより、ループの実装(末尾再帰を介して)が可能になります。詳細は [ノード展開](/custom-nodes/backend/expansion) をご覧ください。 \ No newline at end of file +実行時において、ノードはノードのサブグラフに展開できます。これにより、ループの実装(末尾再帰を介して)が可能になります。詳細は [ノード展開](/ja/custom-nodes/backend/expansion) をご覧ください。 \ No newline at end of file diff --git a/ja/development/core-concepts/custom-nodes.mdx b/ja/development/core-concepts/custom-nodes.mdx index b71499fb5..512b79ef7 100644 --- a/ja/development/core-concepts/custom-nodes.mdx +++ b/ja/development/core-concepts/custom-nodes.mdx @@ -160,7 +160,7 @@ git clone https://github.com/Comfy-Org/ComfyUI-Manager ただし、状況によっては ComfyUI Manager を使用してカスタムノードをスムーズにインストールできない場合もあるため、このより詳細な依存関係インストールガイドを提供しています。 -[依存関係](/development/core-concepts/dependencies) 章では、ComfyUI における依存関係に関する関連コンテンツを紹介しました。ComfyUI は **Python** ベースのプロジェクトであり、ComfyUI を実行するための独立した **Python** ランタイム環境を構築しています。すべての関連する依存関係は、この独立した **Python** ランタイム環境にインストールする必要があります。 +[依存関係](/ja/development/core-concepts/dependencies) 章では、ComfyUI における依存関係に関する関連コンテンツを紹介しました。ComfyUI は **Python** ベースのプロジェクトであり、ComfyUI を実行するための独立した **Python** ランタイム環境を構築しています。すべての関連する依存関係は、この独立した **Python** ランタイム環境にインストールする必要があります。 システムレベルのターミナルで直接 `pip install -r requirements.txt` を実行すると、対応する依存関係がシステムレベルの **Python** 環境にインストールされる可能性があり、ComfyUI の環境で依存関係が仍然として欠落し、対応するカスタムノードが正常に実行できなくなります。 @@ -304,7 +304,7 @@ git checkout ![ComfyUI Manager インターフェース](/images/concepts/core-concepts_nodes_manager.png) -このツールは現在 [Desktop バージョン](/installation/desktop/windows) にデフォルトで含まれており、[Portable バージョン](/installation/comfyui_portable_windows) では、このドキュメントの [Manager のインストール](#installing-custom-nodes) セクションのインストール手順を参照する必要があります。 +このツールは現在 [Desktop バージョン](/ja/installation/desktop/windows) にデフォルトで含まれており、[Portable バージョン](/ja/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) を読むことができます。 diff --git a/ja/development/core-concepts/dependencies.mdx b/ja/development/core-concepts/dependencies.mdx index 1e8a403ea..8b55d3601 100644 --- a/ja/development/core-concepts/dependencies.mdx +++ b/ja/development/core-concepts/dependencies.mdx @@ -96,7 +96,7 @@ ComfyUI コミュニティの多くの作者の努力のおかげで、異なる ComfyUI Python 環境で対応するプラグインディレクトリに移動し、`pip install -r requirements.txt` を実行して依存関係をインストールする必要があります。 -[Windows ポータブル版](/installation/comfyui_portable_windows) を使用している場合は、`ComfyUI_windows_portable` ディレクトリで以下のコマンドを使用できます: +[Windows ポータブル版](/ja/installation/comfyui_portable_windows) を使用している場合は、`ComfyUI_windows_portable` ディレクトリで以下のコマンドを使用できます: ``` python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\\requirements.txt ``` diff --git a/ja/development/core-concepts/nodes.mdx b/ja/development/core-concepts/nodes.mdx index 32d84ce51..395c8407f 100644 --- a/ja/development/core-concepts/nodes.mdx +++ b/ja/development/core-concepts/nodes.mdx @@ -39,7 +39,7 @@ ComfyUI では、ノードには複数の状態があります。以下にいく ## ノード間の接続 -ComfyUI では、ノードは[リンク](/development/core-concepts/links)を通じて接続され、同じタイプのデータが異なる処理ユニット間を流れて最終結果を達成できます。 +ComfyUI では、ノードは[リンク](/ja/development/core-concepts/links)を通じて接続され、同じタイプのデータが異なる処理ユニット間を流れて最終結果を達成できます。 ![ComfyUI ノードリンク](/images/concepts/node/inpaint.jpg) diff --git a/ja/development/core-concepts/workflow.mdx b/ja/development/core-concepts/workflow.mdx index 14acd4732..ff87c6f73 100644 --- a/ja/development/core-concepts/workflow.mdx +++ b/ja/development/core-concepts/workflow.mdx @@ -19,7 +19,7 @@ ComfyUI のワークフローは、画像、動画、音声、AI モデル、AI ## サンプルワークフロー -始めるには、組み込みの [ワークフローテンプレート](/interface/features/template) を使用してください。メニューの `Workflow` → `Browse Workflow Templates` から開けます。これらのテンプレートは ComfyUI インストールに含まれるコアノードのみを使用し、必要なモデルがあれば自動的にダウンロードを促します。活発な開発者コミュニティが、ComfyUI の機能を拡張するためのカスタムノードの豊富な [エコシステム](https://registry.comfy.org) を作成しています。 +始めるには、組み込みの [ワークフローテンプレート](/ja/interface/features/template) を使用してください。メニューの `Workflow` → `Browse Workflow Templates` から開けます。これらのテンプレートは ComfyUI インストールに含まれるコアノードのみを使用し、必要なモデルがあれば自動的にダウンロードを促します。活発な開発者コミュニティが、ComfyUI の機能を拡張するためのカスタムノードの豊富な [エコシステム](https://registry.comfy.org) を作成しています。 ### シンプルな例 ![シンプルなワークフロー](/images/simple_workflow.jpg) diff --git a/ja/get_started/cloud.mdx b/ja/get_started/cloud.mdx index 09d16d6e1..3b60deba5 100644 --- a/ja/get_started/cloud.mdx +++ b/ja/get_started/cloud.mdx @@ -23,7 +23,7 @@ ComfyUI Cloud は、ローカルバージョンと同じ機能を備えた Comfy - 自有ハードウェアがなくても、強力なサーバー GPU でワークフローを高速実行できます + 自前のハードウェアがなくても、強力なサーバー GPU でワークフローを高速実行できます @@ -40,15 +40,15 @@ ComfyUI Cloud は、ローカルバージョンと同じ機能を備えた Comfy ComfyUI には、公式クラウドバージョンである [Comfy Cloud](https://comfy.org/cloud) と、オープンソースのセルフホストバージョンの両方があります。強力な GPU をお持ちの場合、ComfyUI をローカルで実行するのは素晴らしい選択肢です。一方、クラウドバージョンはすぐに使用できるオンラインサービスです。URL を開くだけで、インストールや設定は不要です。 -| 类别 | Comfy Cloud | 自托管(本地 ComfyUI) | +| カテゴリ | Comfy Cloud | セルフホスト(ローカル ComfyUI) | |----------|-------------|------------------------------| | **コスト** | 月額サブスクリプション | 無料 | -| **GPU** | 強力な Blackwell RTX 6000 Pro | 自有 GPU を用意 | +| **GPU** | 強力な Blackwell RTX 6000 Pro | 自前の GPU を用意 | | **技術知識** | 技術知識は不要です。 | デスクトップ版とポータブル版では簡単に始められますが、カスタムノードのインストールやローカルインストールの問題を解決する必要があります。 | | **カスタムノード** | プリインストールされたカスタムノードを使用でき、互換性の問題を心配する必要はありません。 | 任意のカスタムノードをインストールできますが、自分で管理する必要があります。 | -| **モデル** | プリインストールされたモデルを使用します。Civitai から LoRA モデルをインポートできます。Hugging Face からモデルをインポートできます(近日予定)。 | 任意のモデルを使用できますが、まずダウンロードする必要があります。 | +| **モデル** | プリインストールされたモデルを使用します。Civitai から LoRA モデルをインポートできます。Hugging Face からモデルをインポートできます(近日公開)。 | 任意のモデルを使用できますが、まずダウンロードする必要があります。 | | **主な違い** | チームのオンボーディングが容易 | オフライン動作、無限にカスタマイズ可能 | -| **始める** | [ComfyUI Cloud を実行](https://comfy.org/cloud) | [ComfyUI をローカルにインストール](/installation/system_requirements) | +| **始める** | [ComfyUI Cloud を実行](https://comfy.org/cloud) | [ComfyUI をローカルにインストール](/ja/installation/system_requirements) | ## 料金とサブスクリプション diff --git a/ja/get_started/first_generation.mdx b/ja/get_started/first_generation.mdx index 71d4eb7a7..51809e325 100644 --- a/ja/get_started/first_generation.mdx +++ b/ja/get_started/first_generation.mdx @@ -29,13 +29,13 @@ import InstallLink from "/snippets/ja/install/install-link.mdx" ## テキストから画像への生成(Text-to-Image)について -テキストから画像への生成(Text-to-Image)は、テキストによる説明に基づいて画像を生成するAI描画の基本機能であり、AIアート生成において最も一般的に使用される機能の一つです。これは、要件(ポジティブプロンプトおよびネガティブプロンプト)を「画家(描画モデル)」に伝える作業と捉えることができます。その「画家」が、あなたの指示通りに画像を作成します。Text-to-Imageの詳細な解説については、[Text to Image](/tutorials/basic/text-to-image)章で取り上げます。 +テキストから画像への生成(Text-to-Image)は、テキストによる説明に基づいて画像を生成するAI描画の基本機能であり、AIアート生成において最も一般的に使用される機能の一つです。これは、要件(ポジティブプロンプトおよびネガティブプロンプト)を「画家(描画モデル)」に伝える作業と捉えることができます。その「画家」が、あなたの指示通りに画像を作成します。Text-to-Imageの詳細な解説については、[Text to Image](/ja/tutorials/basic/text-to-image)章で取り上げます。 ## ComfyUIにおけるText-to-Imageワークフローチュートリアル ### 1. ComfyUIの起動 -ComfyUIを起動し、正常にComfyUIのインターフェースにアクセスできることを確認してください。そのためには、まず[インストールガイド](/installation/system_requirements)に従ってセットアップを完了しておく必要があります。あるいは、インストール不要でComfyUIを利用できる[Comfy Cloud](/get_started/cloud)もご利用いただけます。 +ComfyUIを起動し、正常にComfyUIのインターフェースにアクセスできることを確認してください。そのためには、まず[インストールガイド](/ja/installation/system_requirements)に従ってセットアップを完了しておく必要があります。あるいは、インストール不要でComfyUIを利用できる[Comfy Cloud](/ja/get_started/cloud)もご利用いただけます。 ![ComfyUIインターフェース](/images/desktop/comfyui-interface.jpg) diff --git a/ja/installation/desktop/usage/instance-management.mdx b/ja/installation/desktop/usage/instance-management.mdx index f54ae927f..9060c46ff 100644 --- a/ja/installation/desktop/usage/instance-management.mdx +++ b/ja/installation/desktop/usage/instance-management.mdx @@ -117,10 +117,10 @@ Dashboard で **New Install** をクリックしてインストールメニュ | **更新** | 自動更新なし。Git で手動管理 | 内蔵の自動更新 | | **Python** | 既存の Python 環境を使用(`.venv`、`python_embeded` 等) | Python 同梱、依存関係の自動管理 | | **分離性** | 既存のパスと環境をそのまま使用 | 完全に自己完結した独立インストール | -| **スナップショット** | スナップショット対応 | スナップショット対応 | +| **スナップショット** | 非対応 | スナップショット対応 | | **適用シーン** | 既に ComfyUI をカスタマイズして使用中 | 新規にクリーンインストール | -> **注意:** 追跡インストールは `launchMode: 'external'` モードを使用します。Comfy Desktop は既存の ComfyUI プロセスを起動しますが、内部管理は行いません。スナップショットは復元メカニズムとして機能しますが、バージョン管理はユーザー自身で行う必要があります。 +> **注意:** 追跡インストールは `launchMode: 'external'` モードを使用します。Comfy Desktop は既存の ComfyUI プロセスを起動しますが、内部管理は行いません。現在スナップショットは Standalone インスタンスのみでサポートされています。 ## インスタンスのアンインストール diff --git a/ja/installation/desktop/usage/manage.mdx b/ja/installation/desktop/usage/manage.mdx index a210d3fa3..4e06aa453 100644 --- a/ja/installation/desktop/usage/manage.mdx +++ b/ja/installation/desktop/usage/manage.mdx @@ -47,7 +47,7 @@ translationFrom: installation/desktop/usage/manage.mdx - **環境変数**:**+ 変数を追加** ボタンでカスタム環境変数を追加。 - + Startup Arguments で使用可能な ComfyUI 起動フラグの完全リストを参照。 diff --git a/ja/installation/install_custom_node.mdx b/ja/installation/install_custom_node.mdx index dafd43fd8..435b997da 100644 --- a/ja/installation/install_custom_node.mdx +++ b/ja/installation/install_custom_node.mdx @@ -120,8 +120,8 @@ Git や Manager を使用できないユーザー向けです ## カスタムノードリソース ComfyUI では、基本的なノード拡張機能に加えて、カスタムノードには以下の追加リソースを含めることができます: -- [ノードドキュメント](/custom-nodes/help_page): この機能はすべてのカスタムノードと基本ノードをサポートしています。ノードドキュメントを表示して、ノードの目的と使用方法を理解することができます。また、作者に PR を送信してドキュメントを貢献することもできます。 -- [カスタムノードワークフローテンプレート](/custom-nodes/workflow_templates): ノード作者が提供するサンプルワークフローとしてのワークフローテンプレート。ComfyUI テンプレートから閲覧およびロードできます。 -- [多言語サポート](/custom-nodes/i18n) +- [ノードドキュメント](/ja/custom-nodes/help_page): この機能はすべてのカスタムノードと基本ノードをサポートしています。ノードドキュメントを表示して、ノードの目的と使用方法を理解することができます。また、作者に PR を送信してドキュメントを貢献することもできます。 +- [カスタムノードワークフローテンプレート](/ja/custom-nodes/workflow_templates): ノード作者が提供するサンプルワークフローとしてのワークフローテンプレート。ComfyUI テンプレートから閲覧およびロードできます。 +- [多言語サポート](/ja/custom-nodes/i18n) カスタムノード開発者の場合、これらのリソースを追加して、カスタムノードをよりユーザーフレンドリーにすることができます。 \ No newline at end of file diff --git a/ja/installation/manual_install.mdx b/ja/installation/manual_install.mdx index a63047de8..4f804e1fd 100644 --- a/ja/installation/manual_install.mdx +++ b/ja/installation/manual_install.mdx @@ -19,7 +19,7 @@ ComfyUI のインストールは、主に以下のいくつかのステップに 3. 依存関係をインストールする 4. ComfyUI を起動する -ComfyUI のインストールには、[ComfyUI CLI](/comfy-cli/getting-started) を参照することもできます。これは、ComfyUI を簡単にインストールし、その依存関係を管理できるコマンドラインツールです。 +ComfyUI のインストールには、[ComfyUI CLI](/ja/comfy-cli/getting-started) を参照することもできます。これは、ComfyUI を簡単にインストールし、その依存関係を管理できるコマンドラインツールです。 ## 仮想環境の作成 diff --git a/ja/interface/features/subgraph.mdx b/ja/interface/features/subgraph.mdx index 8a50b3ff1..9544ed9f9 100644 --- a/ja/interface/features/subgraph.mdx +++ b/ja/interface/features/subgraph.mdx @@ -8,13 +8,13 @@ translationFrom: interface/features/subgraph.mdx --- - サブグラフ機能には ComfyUI フロントエンドバージョン 1.24.3 以降が必要です。この機能が表示されない場合は、以下を参照してください:[ComfyUI の更新方法](/installation/update_comfyui) + サブグラフ機能には ComfyUI フロントエンドバージョン 1.24.3 以降が必要です。この機能が表示されない場合は、以下を参照してください:[ComfyUI の更新方法](/ja/installation/update_comfyui) - 本文書の画像は nightly バージョンのフロントエンドで作成されています。実際のインターフェースを参照してください - サブグラフをノードに戻すような一部の機能は、将来サポートされる予定です -プログラムでサブグラフを操作するための開発者ドキュメントについては、[サブグラフ開発者ガイド](/custom-nodes/js/subgraphs) を参照してください。 +プログラムでサブグラフを操作するための開発者ドキュメントについては、[サブグラフ開発者ガイド](/ja/custom-nodes/js/subgraphs) を参照してください。 diff --git a/ja/tutorials/flux/flux-2-klein.mdx b/ja/tutorials/flux/flux-2-klein.mdx index d24560d8b..d38c45532 100644 --- a/ja/tutorials/flux/flux-2-klein.mdx +++ b/ja/tutorials/flux/flux-2-klein.mdx @@ -6,7 +6,7 @@ translationSourceHash: e790eb10 translationFrom: tutorials/flux/flux-2-klein.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' diff --git a/ja/tutorials/flux/flux1-krea-dev.mdx b/ja/tutorials/flux/flux1-krea-dev.mdx index 5eb96cfc9..827438849 100644 --- a/ja/tutorials/flux/flux1-krea-dev.mdx +++ b/ja/tutorials/flux/flux1-krea-dev.mdx @@ -6,7 +6,7 @@ translationSourceHash: e4ac73ab translationFrom: tutorials/flux/flux1-krea-dev.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' ![Flux.1 Krea Dev ポスター](/images/tutorial/flux/flux_1_krea_dev_poster.jpg) diff --git a/ja/tutorials/image/anima/anima.mdx b/ja/tutorials/image/anima/anima.mdx index be6d67532..8141c816f 100644 --- a/ja/tutorials/image/anima/anima.mdx +++ b/ja/tutorials/image/anima/anima.mdx @@ -2,7 +2,7 @@ title: "Anima Base v1 ComfyUI ワークフロー例" description: "Anima は CircleStone Labs / Comfy Org による 2B パラメータのテキストから画像生成モデルで、アニメや非フォトリアリスティックなイラスト生成に最適化されています。" sidebarTitle: "Anima Base v1" -translationSourceHash: 56738a18 +translationSourceHash: a24422ae translationFrom: tutorials/image/anima/anima.mdx --- @@ -33,7 +33,7 @@ Anima は 2 つのワークフローを提供しています——標準的な ### Anima Base v1:テキストから画像へ - JSON をダウンロードするか、テンプレートライブラリで "Aima Base v1" を検索 + JSON をダウンロードするか、テンプレートライブラリで "Anima Base v1" を検索 @@ -43,8 +43,8 @@ Anima は 2 つのワークフローを提供しています——標準的な #### はじめに 1. ComfyUI を最新バージョンに更新するか、[Comfy Cloud](https://cloud.comfy.org/?template=image_anima_base_v1&utm_source=docs&utm_medium=referral&utm_campaign=anima) を使用してください -2. **テンプレート** に移動し、**Aima Base v1** を検索します -3. **Aima Base v1: Text to Image** ワークフローを選択します +2. **テンプレート** に移動し、**Anima Base v1** を検索します +3. **Anima Base v1: Text to Image** ワークフローを選択します 4. 不足しているモデルをダウンロードし([モデルのダウンロード](#anima-モデルのダウンロード)を参照)、プロンプトを入力して **実行** をクリックします #### サンプル出力 diff --git a/ja/tutorials/image/cosmos/cosmos-predict2-t2i.mdx b/ja/tutorials/image/cosmos/cosmos-predict2-t2i.mdx index 4b87cc227..7b1f7a47c 100644 --- a/ja/tutorials/image/cosmos/cosmos-predict2-t2i.mdx +++ b/ja/tutorials/image/cosmos/cosmos-predict2-t2i.mdx @@ -6,7 +6,7 @@ translationSourceHash: 01df14e7 translationFrom: tutorials/image/cosmos/cosmos-predict2-t2i.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' Cosmos-Predict2 は、NVIDIA が開発した次世代の物理世界向け基礎モデルであり、物理AIシナリオにおける高品質な視覚生成および予測タスクに特化して設計されています。 このモデルは、卓越した物理的正確性、環境との相互作用能力、および細部の再現性能を備えており、複雑な物理現象や動的なシーンをリアルにシミュレートすることが可能です。 diff --git a/ja/tutorials/image/hidream/hidream-e1.mdx b/ja/tutorials/image/hidream/hidream-e1.mdx index ccdab3372..d89576434 100644 --- a/ja/tutorials/image/hidream/hidream-e1.mdx +++ b/ja/tutorials/image/hidream/hidream-e1.mdx @@ -6,14 +6,14 @@ translationSourceHash: fa93c685 translationFrom: tutorials/image/hidream/hidream-e1.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' ![HiDream-E1 デモ](https://raw.githubusercontent.com/HiDream-ai/HiDream-E1/refs/heads/main/assets/demo.jpg) HiDream-E1 は、HiDream-ai 社が公式にオープンソース化したインタラクティブな画像編集用大規模モデルであり、HiDream-I1 を基盤として構築されています。 自然言語による画像編集が可能です。本モデルは [MIT ライセンス](https://github.com/HiDream-ai/HiDream-E1?tab=MIT-1-ov-file) の下で公開されており、個人プロジェクト、学術研究、商用利用のいずれにも対応しています。 -以前にリリースされた [hidream-i1](/tutorials/image/hidream/hidream-i1) と組み合わせることで、**画像生成から画像編集までの一貫したクリエイティブな機能**を実現します。 +以前にリリースされた [hidream-i1](/ja/tutorials/image/hidream/hidream-i1) と組み合わせることで、**画像生成から画像編集までの一貫したクリエイティブな機能**を実現します。 | 名称 | 更新日 | 推論ステップ数 | 解像度 | HuggingFace リポジトリ | |-------------------|-------------------|----------------|---------------------|------------------------------| diff --git a/ja/tutorials/image/hidream/hidream-o1.mdx b/ja/tutorials/image/hidream/hidream-o1.mdx index 464eab77a..c371f63fd 100644 --- a/ja/tutorials/image/hidream/hidream-o1.mdx +++ b/ja/tutorials/image/hidream/hidream-o1.mdx @@ -6,7 +6,7 @@ translationSourceHash: 51a684c4 translationFrom: tutorials/image/hidream/hidream-o1.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' diff --git a/ja/tutorials/image/newbie-image/newbie-image-exp-0-1.mdx b/ja/tutorials/image/newbie-image/newbie-image-exp-0-1.mdx index e956ac72a..43457849c 100644 --- a/ja/tutorials/image/newbie-image/newbie-image-exp-0-1.mdx +++ b/ja/tutorials/image/newbie-image/newbie-image-exp-0-1.mdx @@ -6,7 +6,7 @@ translationSourceHash: 6b4cf086 translationFrom: tutorials/image/newbie-image/newbie-image-exp-0-1.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **NewBie-image-Exp0.1** は、NewBieAI Lab が開発した 35 億パラメータの DiT(Diffusion Transformer)モデルで、アニメスタイルの文生成画像タスク専用に設計されています。Next-DiT アーキテクチャを採用しており、非常に詳細で視覚的に印象的なアニメ画像を生成できます。 diff --git a/ja/tutorials/image/omnigen/omnigen2.mdx b/ja/tutorials/image/omnigen/omnigen2.mdx index 75f8db69a..ba50f7e8e 100644 --- a/ja/tutorials/image/omnigen/omnigen2.mdx +++ b/ja/tutorials/image/omnigen/omnigen2.mdx @@ -6,7 +6,7 @@ translationSourceHash: 6a3fb274 translationFrom: tutorials/image/omnigen/omnigen2.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' ## OmniGen2 について diff --git a/ja/tutorials/image/ovis/ovis-image.mdx b/ja/tutorials/image/ovis/ovis-image.mdx index f50bb0e49..ecbad6885 100644 --- a/ja/tutorials/image/ovis/ovis-image.mdx +++ b/ja/tutorials/image/ovis/ovis-image.mdx @@ -6,7 +6,7 @@ translationSourceHash: 64c10a35 translationFrom: tutorials/image/ovis/ovis-image.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **Ovis-Image** は、[Ovis-U1](https://github.com/AIDC-AI/Ovis-U1) を基盤として構築された7B規模のテキストから画像を生成するモデルで、特に高品質なテキストレンダリングに最適化されています。このモデルは、Qwen-Image などのより大規模な20Bクラスのシステムと同等のテキストレンダリング品質を実現しつつ、広く普及しているハードウェア上で実行可能なほどコンパクトなサイズを維持しています。 diff --git a/ja/tutorials/image/qwen/qwen-image-2512.mdx b/ja/tutorials/image/qwen/qwen-image-2512.mdx index f8c3605ef..70e7f625f 100644 --- a/ja/tutorials/image/qwen/qwen-image-2512.mdx +++ b/ja/tutorials/image/qwen/qwen-image-2512.mdx @@ -6,7 +6,7 @@ translationSourceHash: a18022ab translationFrom: tutorials/image/qwen/qwen-image-2512.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **Qwen-Image-2512** は、Qwen-Image のテキストから画像を生成する基盤モデルの12月アップデート版です。8月にリリースされたベース版 Qwen-Image モデルと比較して、Qwen-Image-2512 は画像品質およびリアリズムにおいて大幅な向上を実現しています。 diff --git a/ja/tutorials/image/qwen/qwen-image-edit-2511.mdx b/ja/tutorials/image/qwen/qwen-image-edit-2511.mdx index f71ffed59..946f5c718 100644 --- a/ja/tutorials/image/qwen/qwen-image-edit-2511.mdx +++ b/ja/tutorials/image/qwen/qwen-image-edit-2511.mdx @@ -6,7 +6,7 @@ translationSourceHash: be665671 translationFrom: tutorials/image/qwen/qwen-image-edit-2511.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **Qwen-Image-Edit-2511** は、Qwen-Image-Edit-2509 の強化版であり、一貫性の大幅な向上を含む複数の改良が施されています。このモデルは、Qwen-Image 固有のテキストレンダリング機能を編集タスクへと拡張し、意味的および外観的な両面から精密なテキスト編集を可能にします。 diff --git a/ja/tutorials/image/qwen/qwen-image-edit.mdx b/ja/tutorials/image/qwen/qwen-image-edit.mdx index 6ef0151fe..7b42c346a 100644 --- a/ja/tutorials/image/qwen/qwen-image-edit.mdx +++ b/ja/tutorials/image/qwen/qwen-image-edit.mdx @@ -6,7 +6,7 @@ translationSourceHash: d1302b40 translationFrom: tutorials/image/qwen/qwen-image-edit.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **Qwen-Image-Edit** は、Qwen-Image の画像編集専用バージョンです。20B規模の Qwen-Image モデルを基に追加学習が行われており、Qwen-Image の特徴的なテキストレンダリング能力を編集タスクへと成功裏に拡張し、高精度なテキスト編集を実現しています。さらに、Qwen-Image-Edit では入力画像を Qwen2.5-VL(視覚的意味制御用)および VAE エンコーダ(視覚的外観制御用)の両方に同時に供給することで、意味と外観の両方を独立して制御可能な「二重編集機能」を実現しています。 diff --git a/ja/tutorials/image/qwen/qwen-image-layered.mdx b/ja/tutorials/image/qwen/qwen-image-layered.mdx index 2b81e722f..9fc5ebdbe 100644 --- a/ja/tutorials/image/qwen/qwen-image-layered.mdx +++ b/ja/tutorials/image/qwen/qwen-image-layered.mdx @@ -6,7 +6,7 @@ translationSourceHash: 66298fd2 translationFrom: tutorials/image/qwen/qwen-image-layered.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **Qwen-Image-Layered** は、アリババ社の通義千問(Qwen)チームが開発したモデルで、入力画像を複数の RGBA レイヤーに分解することができます。このレイヤー化された表現により、本質的な編集可能性が実現されます:各レイヤーを他のコンテンツに影響を与えることなく独立して操作できます。 @@ -66,7 +66,7 @@ import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' - [qwen_image_layered_fp8mixed.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-Layered_ComfyUI/blob/main/split_files/diffusion_models/qwen_image_layered_fp8mixed.safetensors) -その後、[サブグラフ](/interface/features/subgraph)内の **Load Diffusion model** ノードを更新し、このファイルを使用するように設定してください。 +その後、[サブグラフ](/ja/interface/features/subgraph)内の **Load Diffusion model** ノードを更新し、このファイルを使用するように設定してください。 ## ワークフローの設定 diff --git a/ja/tutorials/image/qwen/qwen-image.mdx b/ja/tutorials/image/qwen/qwen-image.mdx index 175a45437..81795665b 100644 --- a/ja/tutorials/image/qwen/qwen-image.mdx +++ b/ja/tutorials/image/qwen/qwen-image.mdx @@ -6,7 +6,7 @@ translationSourceHash: 21412018 translationFrom: tutorials/image/qwen/qwen-image.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **Qwen-Image** は、アリババのQwenチームがリリースした初の画像生成基盤モデルです。これは、Apache 2.0ライセンスのもとでオープンソース化された20BパラメータのMMDiT(マルチモーダル拡散トランスフォーマー)モデルです。このモデルは、**複雑なテキストレンダリング**および**精密な画像編集**において顕著な進展を遂げており、英語や中国語など複数の言語において高忠実度の出力を実現しています。 @@ -271,10 +271,10 @@ ControlNet関連のワークフローを初めて使用する場合、制御用 **InpaintモデルのControlNet使用手順** ![Inpaintワークフロー](/images/tutorial/image/qwen/image_qwen_image_controlnet_patch-inpaint.jpg) -Inpaintモデルでは、[マスクエディター](/interface/maskeditor)を使用してマスクを描画し、それを入力制御条件として使用します。 +Inpaintモデルでは、[マスクエディター](/ja/interface/maskeditor)を使用してマスクを描画し、それを入力制御条件として使用します。 1. `ModelPatchLoader`が`qwen_image_inpaint_diffsynth_controlnet.safetensors`を正しく読み込んでいることを確認してください -2. 画像をアップロードし、[マスクエディター](/interface/maskeditor)でマスクを描画します。対応する`Load Image`ノードの`mask`出力を`QwenImageDiffsynthControlnet`の`mask`入力に接続することで、適切なマスクが読み込まれることを保証してください +2. 画像をアップロードし、[マスクエディター](/ja/interface/maskeditor)でマスクを描画します。対応する`Load Image`ノードの`mask`出力を`QwenImageDiffsynthControlnet`の`mask`入力に接続することで、適切なマスクが読み込まれることを保証してください 3. `Ctrl-B`ショートカットを使用して、ワークフロー内の元のCannyノードをバイパスモードに設定し、Cannyノードによる処理を無効化します 4. `CLIP Text Encoder`で、マスク領域を変更したい内容を入力してください 5. 必要に応じて、`QwenImageDiffsynthControlnet`ノードの`strength`を調整して、対応する制御強度を制御できます diff --git a/ja/tutorials/image/z-image/z-image-turbo.mdx b/ja/tutorials/image/z-image/z-image-turbo.mdx index ba64299ec..f175a0839 100644 --- a/ja/tutorials/image/z-image/z-image-turbo.mdx +++ b/ja/tutorials/image/z-image/z-image-turbo.mdx @@ -6,7 +6,7 @@ translationSourceHash: 62f35c71 translationFrom: tutorials/image/z-image/z-image-turbo.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' diff --git a/ja/tutorials/image/z-image/z-image.mdx b/ja/tutorials/image/z-image/z-image.mdx index 5618f4315..733137ed1 100644 --- a/ja/tutorials/image/z-image/z-image.mdx +++ b/ja/tutorials/image/z-image/z-image.mdx @@ -6,7 +6,7 @@ translationSourceHash: abbd9629 translationFrom: tutorials/image/z-image/z-image.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **Z-Image(造相)** は、アリババグループの通義実験室(Tongyi Lab)が開発した、強力かつ極めて効率的な画像生成モデルで、**60 億(6B)パラメータ**を有します。このモデルは **スケーラブルな単一ストリーム DiT**(S3-DiT)アーキテクチャを採用しており、テキスト、視覚的セマンティクストークン、および画像 VAE トークンをシーケンスレベルで連結し、統一された入力ストリームとして処理することで、パラメータ効率を最大化しています。 diff --git a/ja/tutorials/llm/qwen/qwen3.mdx b/ja/tutorials/llm/qwen/qwen3.mdx index 936e77fe0..88ab70778 100644 --- a/ja/tutorials/llm/qwen/qwen3.mdx +++ b/ja/tutorials/llm/qwen/qwen3.mdx @@ -6,7 +6,7 @@ translationSourceHash: 33e7bb56 translationFrom: tutorials/llm/qwen/qwen3.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' diff --git a/ja/tutorials/llm/qwen/qwen3_5.mdx b/ja/tutorials/llm/qwen/qwen3_5.mdx index 36e4dcaec..b901d4ad1 100644 --- a/ja/tutorials/llm/qwen/qwen3_5.mdx +++ b/ja/tutorials/llm/qwen/qwen3_5.mdx @@ -6,7 +6,7 @@ translationSourceHash: fd10f69e translationFrom: tutorials/llm/qwen/qwen3_5.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' diff --git a/ja/tutorials/partner-nodes/black-forest-labs/flux-1-kontext.mdx b/ja/tutorials/partner-nodes/black-forest-labs/flux-1-kontext.mdx index 646125e23..1cdaeb86c 100644 --- a/ja/tutorials/partner-nodes/black-forest-labs/flux-1-kontext.mdx +++ b/ja/tutorials/partner-nodes/black-forest-labs/flux-1-kontext.mdx @@ -1,5 +1,5 @@ --- -title: "ComfyUI Flux.1 Kontext Pro Image API ノード公式サンプル" +title: "ComfyUI Flux.1 Kontext Pro Image パートナーノード公式サンプル" description: "本ガイドでは、ComfyUI で Flux.1 Kontext Pro Image パートナーノードを用いた画像編集の方法について説明します" sidebarTitle: "Flux.1 Kontext" translationSourceHash: 115e6de3 @@ -32,17 +32,17 @@ Kontext の核心的な強みは、優れた文脈理解能力とキャラクタ 以下の画像の `metadata` にはワークフロー情報が含まれています。ダウンロード後、ComfyUI へドラッグ&ドロップすることで、対応するワークフローを読み込むことができます。 -![ComfyUI Flux.1 Kontext Pro Image API ノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/multiple_image_input/multiple_image_input.png) +![ComfyUI Flux.1 Kontext Pro Image パートナーノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/multiple_image_input/multiple_image_input.png) 入力用として以下の画像をダウンロードするか、ご自身の画像をご利用ください: -![ComfyUI Flux.1 Kontext Pro Image API ノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/multiple_image_input/girl.jpg) -![ComfyUI Flux.1 Kontext Pro Image API ノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/multiple_image_input/dog.jpg) -![ComfyUI Flux.1 Kontext Pro Image API ノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/multiple_image_input/sofa.jpg) +![ComfyUI Flux.1 Kontext Pro Image パートナーノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/multiple_image_input/girl.jpg) +![ComfyUI Flux.1 Kontext Pro Image パートナーノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/multiple_image_input/dog.jpg) +![ComfyUI Flux.1 Kontext Pro Image パートナーノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/multiple_image_input/sofa.jpg) ### 2. ワークフローを手順通りに完了させる -![ComfyUI Flux.1 Kontext Pro Image API ノードワークフローステップ](/images/tutorial/api_nodes/bfl/flux_1_kontext_multiple_image_input_guide.jpg) +![ComfyUI Flux.1 Kontext Pro Image パートナーノードワークフローステップ](/images/tutorial/api_nodes/bfl/flux_1_kontext_multiple_image_input_guide.jpg) 画像中の番号順に従って、ワークフローを完了させることができます: @@ -58,21 +58,21 @@ Kontext の核心的な強みは、優れた文脈理解能力とキャラクタ 後続の2つのワークフローは、使用するパートナーノードが異なるのみです。実際には、複数画像入力ワークフローをベースに必要な変更を行うだけでよく、大きな違いはありません。 -## Flux.1 Kontext Pro Image API ノードワークフロー +## Flux.1 Kontext Pro Image パートナーノードワークフロー ### 1. ワークフローファイルのダウンロード 以下の画像の `metadata` にはワークフロー情報が含まれています。ダウンロード後、ComfyUI へドラッグ&ドロップすることで、対応するワークフローを読み込むことができます。 -![ComfyUI Flux.1 Kontext Pro Image API ノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/flux_1_kontext_pro_image.png) +![ComfyUI Flux.1 Kontext Pro Image パートナーノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/flux_1_kontext_pro_image.png) 入力用として以下の画像をダウンロードするか、ご自身の画像をご利用ください: -![ComfyUI Flux.1 Kontext Pro Image API ノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/flux_1_kontext_pro_image_input.png) +![ComfyUI Flux.1 Kontext Pro Image パートナーノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/flux_1_kontext_pro_image_input.png) ### 2. ワークフローを手順通りに完了させる -![ComfyUI Flux.1 Kontext Pro Image API ノードワークフローステップ](/images/tutorial/api_nodes/bfl/flux_1_kontext_pro_image_step_guide.jpg) +![ComfyUI Flux.1 Kontext Pro Image パートナーノードワークフローステップ](/images/tutorial/api_nodes/bfl/flux_1_kontext_pro_image_step_guide.jpg) 画像中の番号順に従って、ワークフローを完了させることができます: 1. `Load Image` ノードで、編集したい画像を読み込みます。 @@ -80,21 +80,21 @@ Kontext の核心的な強みは、優れた文脈理解能力とキャラクタ 3. `Run` ボタンをクリックするか、ショートカットキー `Ctrl (Cmd) + Enter` を使用して画像編集を実行します。 4. API からの結果を待った後、`Save Image` ノードで編集済み画像を確認できます。また、対応する画像は `ComfyUI/output/` ディレクトリにも保存されます。 -## Flux.1 Kontext Max Image API ノードワークフロー +## Flux.1 Kontext Max Image パートナーノードワークフロー ### 1. ワークフローファイルのダウンロード 以下の画像の `metadata` にはワークフロー情報が含まれています。ダウンロード後、ComfyUI へドラッグ&ドロップすることで、対応するワークフローを読み込むことができます。 -![ComfyUI Flux.1 Kontext Max Image API ノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/flux_1_kontext_max_image.png) +![ComfyUI Flux.1 Kontext Max Image パートナーノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/flux_1_kontext_max_image.png) デモ用として以下の画像をダウンロードするか、ご自身の画像をご利用ください: -![ComfyUI Flux.1 Kontext Max Image API ノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/flux_1_kontext_max_image_input.png) +![ComfyUI Flux.1 Kontext Max Image パートナーノードワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/bfl/flux_1_kontext_max_image_input.png) ### 2. ワークフローを手順通りに完了させる -![ComfyUI Flux.1 Kontext Max Image API ノードワークフローステップ](/images/tutorial/api_nodes/bfl/flux_1_kontext_max_image_step_guide.jpg) +![ComfyUI Flux.1 Kontext Max Image パートナーノードワークフローステップ](/images/tutorial/api_nodes/bfl/flux_1_kontext_max_image_step_guide.jpg) 画像中の番号順に従って、ワークフローを完了させることができます: 1. `Load Image` ノードで、編集したい画像を読み込みます。 diff --git a/ja/tutorials/partner-nodes/ideogram/ideogram-v3.mdx b/ja/tutorials/partner-nodes/ideogram/ideogram-v3.mdx index a1343cb9b..cb5f64df3 100644 --- a/ja/tutorials/partner-nodes/ideogram/ideogram-v3.mdx +++ b/ja/tutorials/partner-nodes/ideogram/ideogram-v3.mdx @@ -1,48 +1,42 @@ --- -title: "ComfyUI Ideogram 3.0 API ノード 公式サンプル" -description: "本ガイドでは、ComfyUI における Ideogram 3.0 パートナーノードの使用方法について説明します" +title: "ComfyUI Ideogram 3.0 パートナーノード公式サンプル" +description: "本ガイドでは、ComfyUI での Ideogram 3.0 パートナーノードの使用方法を解説します" sidebarTitle: "Ideogram 3.0" -translationSourceHash: d2cedd33 +translationSourceHash: 13e120c5 translationFrom: tutorials/partner-nodes/ideogram/ideogram-v3.mdx --- import ReqHint from "/snippets/ja/tutorials/partner-nodes/req-hint.mdx"; import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"; -Ideogram 3.0 は、Ideogram 社が開発した強力なテキストから画像を生成するモデルであり、写真のような高精細な画質、正確なテキスト描画、および一貫したスタイル制御が特徴です。 +Ideogram 3.0 は、Ideogram 社による強力なテキスト画像生成モデルで、その写実的な品質、正確なテキストレンダリング、一貫したスタイル制御で知られています。 -現在、[Ideogram V3](/built-in-nodes/partner-node/image/ideogram/ideogram-v3) ノードは以下の2つのモードをサポートしています: -- テキストから画像を生成するモード(Text-to-Image モード) -- 画像編集モード(画像入力とマスク入力の両方が提供された場合) +Ideogram V3 ノードは現在以下の 2 つのモードをサポートしています: +- テキスト画像生成モード +- 画像編集モード (画像とマスクの入力が両方提供された場合) -## Ideogram 3.0 ノードのドキュメント +## Ideogram 3.0 パートナーノード:テキスト画像生成モード -ノードの各パラメータ設定に関する詳細については、以下のドキュメントをご参照ください: - -- [Ideogram V3](/built-in-nodes/partner-node/image/ideogram/ideogram-v3) - -## Ideogram 3.0 API ノード:テキストから画像を生成するモード - -画像入力およびマスク入力を行わずに [Ideogram V3](/built-in-nodes/partner-node/image/ideogram/ideogram-v3) を使用する場合、ノードはテキストから画像を生成するモードで動作します。 +画像とマスクの入力なしで Ideogram V3 を使用する場合、ノードはテキスト画像生成モードで動作します。 ### 1. ワークフローファイルのダウンロード -以下のファイルをダウンロードし、ComfyUI にドラッグ&ドロップすることで、ワークフローを読み込めます: +以下のファイルをダウンロードし、ComfyUI にドラッグ&ドロップしてワークフローを読み込みます: ![Ideogram 3.0 ComfyUI ワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/ideogram/v3/ideogram_v3_t2i.png) -### 2. ワークフロー実行手順の完了 +### 2. ワークフロー手順の完了 -![Ideogram 3.0 ワークフロー実行手順](/images/tutorial/api_nodes/ideogram/ideogram_v3_t2i.jpg) +![Ideogram 3.0 ワークフロー手順](/images/tutorial/api_nodes/ideogram/ideogram_v3_t2i.jpg) -番号付きの手順に従って、基本的なワークフローを実行してください: -1. `Ideogram V3` ノードの `prompt` フィールドに、生成したい画像の説明文を入力します -2. `Run` ボタンをクリックするか、ショートカットキー `Ctrl(Mac の場合は Cmd)+ Enter` を押して画像を生成します -3. API からの応答を受け取った後、`Save Image` ノードで生成された画像を確認できます。画像は `ComfyUI/output/` ディレクトリに保存されます +番号付きの手順に従って、基本的なワークフローを完了させます: +1. `Ideogram V3` ノードの `prompt` フィールドに画像の説明を入力します。 +2. `Run` をクリックするか、ショートカット `Ctrl (Cmd) + Enter` を使用して画像を生成します。 +3. API が結果を返した後、`Save Image` ノードで生成された画像を確認します。画像は `ComfyUI/output/` ディレクトリに保存されます。 -## Ideogram 3.0 API ノード:画像編集モード +## Ideogram 3.0 パートナーノード:画像編集モード [今後更新予定] \ No newline at end of file diff --git a/ja/tutorials/partner-nodes/luma/luma-image-to-image.mdx b/ja/tutorials/partner-nodes/luma/luma-image-to-image.mdx index 469b07298..9771e7a65 100644 --- a/ja/tutorials/partner-nodes/luma/luma-image-to-image.mdx +++ b/ja/tutorials/partner-nodes/luma/luma-image-to-image.mdx @@ -1,30 +1,20 @@ --- -title: "Luma Image to Image API ノード|ComfyUI 公式サンプル" -description: "本ガイドでは、ComfyUI における Luma Image to Image 合作ノードの使用方法について説明します" +title: "Luma Image to Image パートナーノード ComfyUI 公式サンプル" +description: "本ガイドでは、ComfyUI での Luma Image to Image パートナーノードの使用方法について説明します" sidebarTitle: "Luma Image to Image" -translationSourceHash: 6eadbdbe +translationSourceHash: 7b3e8dc6 translationFrom: tutorials/partner-nodes/luma/luma-image-to-image.mdx --- import ReqHint from "/snippets/ja/tutorials/partner-nodes/req-hint.mdx"; import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"; -[Luma Image to Image](/built-in-nodes/partner-node/image/luma/luma-image-to-image) ノードは、Luma AI の技術を活用してテキストプロンプトに基づき既存の画像を編集する機能を提供します。この際、元の画像の特定の特徴や構造を保持することが可能です。 - -本ガイドでは、このノードを用いた「画像から画像へ(Image-to-Image)」のワークフローを設定する手順を解説します。 +Luma Image to Image ノードは、Luma AI の技術を使用し、テキストプロンプトに基づいて既存の画像を編集することを可能にします。この際、元の画像の特定の特徴や構造を保持できます。本ガイドでは、このノードを使用して画像から画像へのワークフローをセットアップする方法を紹介します。 -## Luma Image to Image ノードのドキュメント - -各パラメーターの詳細な設定については、以下のドキュメントをご参照ください: - - -Luma Image to Image API ノードのドキュメント - - -## Luma Image to Image API ノードによる画像から画像へ(Image-to-Image)ワークフロー +## Luma Image to Image パートナーノードのワークフロー この機能は、物体や形状の変更に非常に適していますが、色調の変更にはやや不向きです。推奨される `image_weight` 値は 0.0~0.1 程度の低めの数値です。 diff --git a/ja/tutorials/partner-nodes/luma/luma-image-to-video.mdx b/ja/tutorials/partner-nodes/luma/luma-image-to-video.mdx index 0837e92f6..bcc49eb94 100644 --- a/ja/tutorials/partner-nodes/luma/luma-image-to-video.mdx +++ b/ja/tutorials/partner-nodes/luma/luma-image-to-video.mdx @@ -1,34 +1,22 @@ --- -title: "Luma Image to Video API ノード ComfyUI 公式サンプル" +title: "Luma Image to Video パートナーノード ComfyUI 公式サンプル" description: "ComfyUI で Luma Image to Video パートナーノードを活用する方法を学びましょう" sidebarTitle: "Luma Image to Video" -translationSourceHash: c16eec4f +translationSourceHash: d1417e7a translationFrom: tutorials/partner-nodes/luma/luma-image-to-video.mdx --- import ReqHint from "/snippets/ja/tutorials/partner-nodes/req-hint.mdx"; import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"; -[Luma Image to Video](/built-in-nodes/partner-node/video/luma/luma-image-to-video) ノードは、Luma AI の先進技術を活用して静止画を滑らかでダイナミックな動画に変換できる機能を提供し、画像に生命と動きを付与します。 +Luma Image to Video ノードは、Luma AI の先進技術を活用して静止画を滑らかでダイナミックな動画に変換し、画像に命と動きを与えます。 本ガイドでは、このノードを用いた画像から動画への変換ワークフローの構築手順を解説します。 -## Luma Image to Video ノードのドキュメント - -ノードのパラメーターについて詳しく知るには、以下のドキュメントをご参照ください: - - -Luma Image to Video パートナーノードのドキュメント - - - -Luma Concepts パートナーノードのドキュメント - - -## Luma API ノードを用いた画像→動画ワークフロー +## Luma パートナーノードを使用した画像から動画へのワークフロー Luma Image to Video ノードは、動画のモーション効果を決定するためのテキストプロンプトに加え、最低限 `first_image` または `last_image` のいずれか 1 つの画像入力が必要です。本ガイドでは、`first_image` と `luma_concepts` を組み合わせたサンプルを用意し、Luma AI の動画生成能力を実際に体験できるようにしています。 diff --git a/ja/tutorials/partner-nodes/luma/luma-text-to-image.mdx b/ja/tutorials/partner-nodes/luma/luma-text-to-image.mdx index 01034d069..41a3e9d8b 100644 --- a/ja/tutorials/partner-nodes/luma/luma-text-to-image.mdx +++ b/ja/tutorials/partner-nodes/luma/luma-text-to-image.mdx @@ -1,36 +1,24 @@ --- -title: "Luma Text to Image API ノード ComfyUI 公式サンプル" +title: "Luma Text to Image パートナーノード ComfyUI 公式サンプル" description: "本ガイドでは、ComfyUI で Luma Text to Image パートナーノードを使用する方法について説明します" sidebarTitle: "Luma Text to Image" -translationSourceHash: f0284d80 +translationSourceHash: 189b15fc translationFrom: tutorials/partner-nodes/luma/luma-text-to-image.mdx --- import ReqHint from "/snippets/ja/tutorials/partner-nodes/req-hint.mdx"; import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"; -[Luma Text to Image](/built-in-nodes/partner-node/image/luma/luma-text-to-image) ノードは、Luma AI の先進技術を活用してテキストプロンプトから高品質な画像を生成する機能を提供します。写真のようにリアルなコンテンツやアーティスティックなスタイルの画像を作成できます。 +Luma Text to Image ノードは、Luma AI の先進技術を活用して、テキストプロンプトから高品質な画像を生成します。写真のようにリアルなコンテンツやアーティスティックなスタイルの画像を作成できます。 本ガイドでは、このノードを用いたテキストから画像を生成するワークフローの設定方法を紹介します。 -## Luma Text to Image ノードのドキュメント +## Luma Text to Image パートナーノードのワークフロー -詳細なパラメーター設定については、以下のドキュメントをご参照ください: - - -Luma Text to Image API ノードのドキュメント - - - -Luma Reference API ノードのドキュメント - - -## Luma Text to Image API ノードによるテキストから画像を生成するワークフロー - -`Luma Text to Image` ノードに画像入力が一切ない状態で使用すると、これはテキストから画像を生成する(text-to-image)ワークフローとして機能します。本ガイドでは、`style_image` および `image_luma_ref` を用いた例を作成し、Luma AI の優れた画像処理能力を体験できるようにしています。 +`Luma Text to Image` ノードに画像入力が一切ない状態で使用すると、これはテキストから画像を生成する(text-to-image)ワークフローとして機能します。本ガイドでは、`style_image` と `image_luma_ref` を用いた例を作成し、Luma AI の優れた画像処理能力を紹介しています。 ### 1. ワークフローファイルのダウンロード @@ -48,6 +36,7 @@ Luma Reference API ノードのドキュメント ![Luma Text to Image ワークフロー実行手順](/images/tutorial/api_nodes/luma/luma_t2i_step_guide.jpg) 画像中の番号順に従って、基本的なワークフローを完了してください: + 1. `Load image` ノードで参照用画像をアップロードする 2. `Load image (renamed to styleref)` ノードでスタイル参照用画像をアップロードする 3. (任意)`Luma Text to Image` ノード内のプロンプトを編集する @@ -59,5 +48,5 @@ Luma Reference API ノードのドキュメント ### 3. 補足事項 -- [このノード](/built-in-nodes/partner-node/image/luma/luma-text-to-image) では、最大で同時に 4 枚の参照画像とキャラクター参照を入力できます。 +- このノードでは、最大で同時に 4 枚の参照画像とキャラクター参照を入力できます。 - 複数の画像入力を有効化するには、紫色の「Bypassed(バイパス済み)」ノードを右クリックし、その `mode` を `always` に設定してください \ No newline at end of file diff --git a/ja/tutorials/partner-nodes/luma/luma-text-to-video.mdx b/ja/tutorials/partner-nodes/luma/luma-text-to-video.mdx index facbdc3fe..9c5511929 100644 --- a/ja/tutorials/partner-nodes/luma/luma-text-to-video.mdx +++ b/ja/tutorials/partner-nodes/luma/luma-text-to-video.mdx @@ -1,34 +1,20 @@ --- -title: "Luma Text to Video API ノード ComfyUI 公式ガイド" +title: "Luma Text to Video パートナーノード ComfyUI 公式ガイド" description: "ComfyUI で Luma Text to Video パートナーノードを活用する方法を学びましょう" sidebarTitle: "Luma Text to Video" -translationSourceHash: 1e62e5e2 +translationSourceHash: 2a1a00b9 translationFrom: tutorials/partner-nodes/luma/luma-text-to-video.mdx --- import ReqHint from "/snippets/ja/tutorials/partner-nodes/req-hint.mdx"; import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"; -[Luma Text to Video](/built-in-nodes/partner-node/video/luma/luma-text-to-video) ノードは、Luma AI の革新的な動画生成技術を活用して、テキストによる説明から高品質で滑らかな動画を生成できます。 - -本ガイドでは、このノードを用いたテキストから動画を生成するワークフローの構築手順を解説します。 +Luma Text to Video ノードは、Luma AI の革新的な動画生成技術を活用して、テキストによる説明から高品質で滑らかな動画を生成できます。本ガイドでは、このノードを用いたテキストから動画へのワークフローの構築手順を解説します。 -## Luma Text to Video ノードのドキュメント - -ノードのパラメーターについて詳しく知るために、以下のドキュメントをご確認ください。 - - -Luma Text to Video パートナーノードのドキュメント - - - -Luma Concepts パートナーノードのドキュメント - - -## Luma API ノードを用いたテキストから動画へ変換するワークフロー +## Luma パートナーノードを用いたテキストから動画へのワークフロー Luma Text to Video ノードでは、生成する動画の内容を記述したテキストプロンプトが必要です。本ガイドでは、`prompt` および `luma_concepts` を用いたサンプルを作成し、Luma AI の優れた動画生成能力を紹介します。 @@ -36,11 +22,11 @@ Luma Text to Video ノードでは、生成する動画の内容を記述した 下記の動画のメタデータにワークフロー情報が含まれています。動画をダウンロードし、ComfyUI にドラッグ&ドロップすることで、ワークフローを読み込むことができます。 -![Luma Text to Video ワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/luma/t2v/luma_t2v.mp4) +![Luma Text to Video Workflow](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/luma/t2v/luma_t2v.mp4) ### 2. 手順に従って実行 -![Luma Text to Video ワークフローの手順](/images/tutorial/api_nodes/luma/luma_t2v_step_guide.jpg) +![Luma Text to Video Workflow Steps](/images/tutorial/api_nodes/luma/luma_t2v_step_guide.jpg) ワークフローを実行するための基本的な手順は以下の通りです: 1. `Luma Text to Video` ノード内に、生成したい動画の内容を記述するプロンプトを入力します diff --git a/ja/tutorials/partner-nodes/overview.mdx b/ja/tutorials/partner-nodes/overview.mdx index 240936e2a..67e384a30 100644 --- a/ja/tutorials/partner-nodes/overview.mdx +++ b/ja/tutorials/partner-nodes/overview.mdx @@ -34,7 +34,7 @@ ComfyUI アカウント API キーによるログイン方法を学ぶ 現在、ComfyUI アカウント API キー統合を介して当社のサービスにアクセスし、有料モデルのパートナー ノードを呼び出すことをサポートしています。有料モデルのパートナー ノードを呼び出すために API キー統合を利用する方法については、API キー統合セクションをご参照ください。 - **重要:** ここで言及する API キーは、ワークフロー内で有料のパートナー ノードにアクセスするために使用される **ComfyUI アカウント API キー**です。これは、開発者がカスタム ノードをレジストリに公開するために使用する **レジストリ公開用 API キー**とは異なります。カスタム ノードの公開をお考えの場合は、[ノードの公開](/registry/publishing) をご覧ください。 + **重要:** ここで言及する API キーは、ワークフロー内で有料のパートナー ノードにアクセスするために使用される **ComfyUI アカウント API キー**です。これは、開発者がカスタム ノードをレジストリに公開するために使用する **レジストリ公開用 API キー**とは異なります。カスタム ノードの公開をお考えの場合は、[ノードの公開](/ja/registry/publishing) をご覧ください。 diff --git a/ja/tutorials/partner-nodes/pricing.mdx b/ja/tutorials/partner-nodes/pricing.mdx index b18a6228e..23d78bce6 100644 --- a/ja/tutorials/partner-nodes/pricing.mdx +++ b/ja/tutorials/partner-nodes/pricing.mdx @@ -63,7 +63,10 @@ Anthropic パートナーノードは、Anthropic 公開 API と同じ USD ベ | :---------------------------- | :----------------------------------------- | :----------- | :-------- | | Bria Image Edit | endpoint: v2/image/edit, model: fibo | 8.44 / 実行 | Image | | Bria Image Remove Background | endpoint: v2/image/edit/remove_background | 3.8 / 実行 | Image | -| Bria Video Remove Background | endpoint: v2/video/edit/remove_background | 29.54 / 秒 | Video | +| Bria Video Remove Background | endpoint: v2/video/edit/remove_background | 0.89 / 秒 | Video | +| Bria Video Green Screen | endpoint: v2/video/edit/green_screen | 0.89 / 秒 | Video | +| Bria Video Replace Background | endpoint: v2/video/edit/replace_background | 0.89 / 秒 | Video | +| Bria Transparent Video Background | endpoint: v2/video/edit/remove_background | 0.89 / 秒 | Video | ## ByteDance @@ -687,7 +690,20 @@ UI では品質(`low` / `medium` / `high`)ごとに概算の **米ドルレ | 製品名 | 構成 | クレジット | カテゴリ | | :--- | :--- | :--- | :--- | -| Recraft All Products | NA | 0.21 / 実行 | Image | +| Recraft Create Style | endpoint: v2/style/create | 8.44 / 回 | Image | +| Recraft Text to Image | endpoint: v2/auto/text-to-image | 8.44 / 回 | Image | +| Recraft Image to Image | endpoint: v2/auto/image-to-image | 8.44 / 回 | Image | +| Recraft Inpainting | endpoint: v2/auto/inpainting | 8.44 / 回 | Image | +| Recraft Text to Vector | endpoint: v2/auto/text-to-vector | 16.88 / 回 | Image | +| Recraft Vectorize Image | endpoint: v2/auto/vectorize-image | 2.11 / 回 | Image | +| Recraft Replace Background | endpoint: v2/image/replace-background | 8.44 / 回 | Image | +| Recraft Remove Background | endpoint: v2/image/remove-background | 2.11 / 回 | Image | +| Recraft Crisp Upscale | endpoint: v2/image/crisp-upscale | 0.84 / 回 | Image | +| Recraft Creative Upscale | endpoint: v2/image/creative-upscale | 52.75 / 回 | Image | +| Recraft V4 Text to Image | model: recraftv4 | 8.44 / 回 | Image | +| Recraft V4 Text to Image | model: recraftv4_pro | 52.75 / 回 | Image | +| Recraft V4 Text to Vector | model: recraftv4 | 16.88 / 回 | Image | +| Recraft V4 Text to Vector | model: recraftv4_pro | 63.30 / 回 | Image | ## Reve @@ -724,7 +740,9 @@ UI では品質(`low` / `medium` / `high`)ごとに概算の **米ドルレ | :--- | :--- | :--- | :--- | | prod-v1-Runway Video Generation Product | model: gen3a_turbo | 15.09 / 秒 | Video | | prod-v1-Runway Video Generation Product | model: gen4_turbo | 10.55 / 秒 | Video | -| RunwayML Image Generation Product | model: gen4_image | 24.14 / 実行 | Image | +| prod-v1-Runway Video Generation Product | model: aleph2 | 84.48 / 秒 | Video | +| RunwayML Image Generation Product | model: gen4_image | 24.14 / 回 | Image | +| Runway First & Last Frame Generation Product | model: gen4_turbo | 15.09 / 秒 | Video | ## Sonilo diff --git a/ja/tutorials/partner-nodes/recraft/recraft-text-to-image.mdx b/ja/tutorials/partner-nodes/recraft/recraft-text-to-image.mdx index a46d77eb2..b9d07fdcd 100644 --- a/ja/tutorials/partner-nodes/recraft/recraft-text-to-image.mdx +++ b/ja/tutorials/partner-nodes/recraft/recraft-text-to-image.mdx @@ -1,59 +1,44 @@ --- -title: "Recraft Text to Image API ノード|ComfyUI 公式サンプル" -description: "ComfyUI で Recraft Text to Image パートナーノードを活用する方法を学びましょう" +title: "Recraft Text to Image パートナーノード|ComfyUI 公式サンプル" +description: "ComfyUI で Recraft Text to Image パートナーノードを使用する方法を学びましょう" sidebarTitle: "Recraft Text to Image" -translationSourceHash: 89cef53b +translationSourceHash: c559478e translationFrom: tutorials/partner-nodes/recraft/recraft-text-to-image.mdx --- import ReqHint from "/snippets/ja/tutorials/partner-nodes/req-hint.mdx"; import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"; -[Recraft Text to Image](/built-in-nodes/partner-node/image/recraft/recraft-text-to-image) ノードは、テキストによるプロンプトに基づき、Recraft AI の画像生成技術を用いて、高品質かつ多様なスタイルの画像を作成できます。 +Recraft Text to Image ノードは、テキストの説明をもとに、Recraft AI の画像生成技術を使ってさまざまなスタイルの高品質な画像を作成できます。 -本ガイドでは、このノードを用いたテキストから画像へのワークフローの構築手順を解説します。 +このガイドでは、このノードを使用してテキストから画像へのワークフローを構築する方法を説明します。 -## Recraft Text to Image API ノードのワークフロー +## Recraft Text to Image パートナーノードのワークフロー ### 1. ワークフローファイルのダウンロード -下記の画像のメタデータにワークフロー情報が含まれています。画像をダウンロードし、ComfyUI へドラッグ&ドロップすることで、ワークフローを読み込むことができます。 +下記の画像のメタデータにワークフロー情報が含まれています。画像をダウンロードして ComfyUI にドラッグ&ドロップすると、ワークフローが読み込まれます。 ![Recraft Text to Image ワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/recraft/t2i/recraft_t2i.png) -### 2. ワークフロー実行手順に従う +### 2. ワークフローを実行する手順に従う -![Recraft Text to Image ワークフロー実行ステップ](/images/tutorial/api_nodes/recraft/recraft_t2v_step_guide.jpg) +![Recraft Text to Image ワークフロー手順](/images/tutorial/api_nodes/recraft/recraft_t2v_step_guide.jpg) -以下の番号付き手順に従って、基本的なワークフローを実行してください: -1. (任意)`Color` ノード内の `Recraft Color RGB` を希望の色に変更します -2. (任意)`Recraft Style` ノードを編集して、デジタルアート、リアルな写真、ロゴデザインなどの視覚スタイルを制御します。このグループには、必要に応じて有効化可能なその他のスタイルノードも含まれています -3. (任意)`Recraft Text to Image` ノード内の `prompt` パラメーターを編集します。また、`size` パラメーターも変更可能です -4. `Run` ボタンをクリックするか、ショートカットキー `Ctrl(macOS の場合は Cmd) + Enter` を使用して画像を生成します -5. API から結果が返された後、`Save Image` ノードで生成された画像を確認できます。また、画像は `ComfyUI/output/` ディレクトリにも保存されます +以下の番号付き手順に従って、基本的なワークフローを実行します: -> (任意)ワークフロー内には **Convert to SVG** グループが含まれています。このグループ内の `Recraft Vectorize Image` ノードは追加のクレジットを消費するため、SVG 形式への変換が必要な場合のみ有効化してください +1. (任意)`Color` ノードの `Recraft Color RGB` をお好みの色に変更します +2. (任意)`Recraft Style` ノードを変更して、デジタルアート、リアルな写真、ロゴデザインなどのビジュアルスタイルを制御します。このグループには、必要に応じて有効にできる他のスタイルノードも含まれています +3. (任意)`Recraft Text to Image` ノードの `prompt` パラメーターを編集します。`size` パラメーターを変更することもできます +4. `Run` ボタンをクリックするか、ショートカット `Ctrl(Cmd)+ Enter` を使用して画像を生成します +5. API から結果が返されたら、`Save Image` ノードで生成された画像を表示できます。画像は `ComfyUI/output/` ディレクトリにも保存されます -### 3. 補足情報 - -- **Recraft Style**:リアルな写真、デジタルアート、ロゴデザインなど、さまざまなプリセットスタイルを提供します -- **Seed パラメーター**:ノードを再実行するかどうかを判断するためだけに使用され、実際の生成結果にはシード値が影響しません - -## 関連ノードのドキュメント +> (任意)ワークフロー内には **Convert to SVG** グループが含まれています。このグループの `Recraft Vectorize Image` ノードは追加のクレジットを消費するため、生成された画像を SVG 形式に変換する必要がある場合にのみ有効にしてください -各ノードの詳細なパラメーター設定については、以下のドキュメントをご参照ください。 - - -Recraft Text to Image パートナーノードのドキュメント - - - -Recraft Style - Realistic Image パートナーノードのドキュメント - +### 3. 補足情報 - -Recraft Controls パートナーノードのドキュメント - \ No newline at end of file +- **Recraft Style**:リアルな写真、デジタルアート、ロゴデザインなどのさまざまなプリセットスタイルを提供します +- **Seed パラメーター**:ノードを再実行するかどうかを判断するためだけに使用され、実際の生成結果にはシード値は影響しません \ 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 index 4ca39398b..bc39ea05d 100644 --- 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 @@ -1,37 +1,37 @@ --- -title: "Stability AI Stable Diffusion 3.5 API ノード ComfyUI 公式サンプル" -description: "本記事では、ComfyUI で Stability AI Stable Diffusion 3.5 パートナーノードのテキストから画像へ(文生図)および画像から画像へ(図生図)の機能を活用する方法について説明します。" +title: "Stability AI Stable Diffusion 3.5 パートナーノード ComfyUI 公式サンプル" +description: "本記事では、ComfyUI で Stability AI Stable Diffusion 3.5 パートナーノードのテキストから画像生成および画像から画像生成の機能を活用する方法を紹介します。" sidebarTitle: "Stable Diffusion 3.5 Image" -translationSourceHash: b8324f23 +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](/built-in-nodes/partner-node/image/stability-ai/stability-ai-stable-diffusion-3-5-image) ノードを使用すると、Stability AI の Stable Diffusion 3.5 モデルを活用し、テキストプロンプトまたは参照画像をもとに高品質でディテール豊かな画像コンテンツを作成できます。 +Stability AI Stable Diffusion 3.5 Image ノードを使用すると、Stability AI の Stable Diffusion 3.5 モデルを活用し、テキストプロンプトまたは参照画像から高品質でディテール豊かな画像コンテンツを作成できます。 -本ガイドでは、このノードを用いたテキストから画像へおよび画像から画像へのワークフロー構築方法を紹介します。 +本ガイドでは、このノードを使用したテキストから画像生成と画像から画像生成の両方のワークフローの設定方法を紹介します。 -## Stability AI Stable Diffusion 3.5 テキストから画像へ(文生図)ワークフロー +## Stability AI Stable Diffusion 3.5 テキストから画像生成ワークフロー ### 1. ワークフローファイルのダウンロード 以下の画像には `metadata` にワークフロー情報が含まれています。ダウンロードして ComfyUI にドラッグ&ドロップすることで、対応するワークフローを読み込むことができます。 -![Stability AI Stable Diffusion 3.5 テキストから画像へ(文生図)ワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/stability_ai/stable_diffusion_3-5-t2i.png) +![Stability AI Stable Diffusion 3.5 テキストから画像生成ワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/stability_ai/stable_diffusion_3-5-t2i.png) ### 2. ステップごとにワークフローを完了させる -![Stability AI Stable Diffusion 3.5 テキストから画像へ(文生図)ステップガイド](/images/tutorial/api_nodes/stability_ai/stable_diffusion_3_5_image_t2i_step_guide.jpg) +![Stability AI Stable Diffusion 3.5 テキストから画像生成ステップガイド](/images/tutorial/api_nodes/stability_ai/stable_diffusion_3_5_image_t2i_step_guide.jpg) -画像中の番号順に従って、基本的なテキストから画像へ(文生図)ワークフローを実行できます: +画像中の番号順に従って、基本的なテキストから画像生成ワークフローを実行できます: 1. (任意)`Stability AI Stable Diffusion 3.5 Image` ノード内の `prompt` パラメータを編集し、生成したい画像の説明文を入力します。より詳細なプロンプトを指定すると、通常はより高品質な画像が得られます。 2. (任意)`model` パラメータから使用する SD 3.5 モデルのバージョンを選択します。 -3. (任意)`style_preset` パラメータから画像のビジュアルスタイルを制御します。異なるプリセットは「cinematic(映画的)」や「anime(アニメ風)」など、それぞれ異なるスタイル特性を持つ画像を生成します。「None」を選択すると、特定のスタイルは適用されません。 +3. (任意)`style_preset` パラメータから画像のビジュアルスタイルを制御します。異なるプリセットは「cinematic」や「anime」など、それぞれ異なるスタイル特性を持つ画像を生成します。「None」を選択すると、特定のスタイルは適用されません。 4. (任意)`String(Multiline)` を編集してネガティブプロンプトを変更し、生成画像に含めたくない要素を指定します。 5. `Run` ボタンをクリックするか、ショートカットキー `Ctrl(Windows)/Cmd(Mac) + Enter` を使用して画像生成を実行します。 6. API からの結果が返された後、`Save Image` ノードで生成された画像を確認できます。また、画像は `ComfyUI/output/` ディレクトリにも保存されます。 @@ -43,53 +43,28 @@ import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"; - **スタイルプリセット(Style Preset)**: 画像の全体的なスタイルを素早く定義できる複数のプリセットスタイルを提供します。 - **ネガティブプロンプト(Negative Prompt)**: 生成画像に含めたくない要素を指定するために使用します。 - **Seed パラメータ**: 生成結果の再現や微調整に利用でき、創作時の反復作業に役立ちます。 -- 現在、`Load Image` ノードは「Bypass(バイパス)」モードになっています。有効化するには、ステップガイドを参照し、該当ノードを右クリックして「Mode(モード)」を「Always(常に)」に設定してください。これにより入力が有効になり、画像から画像へ(図生図)モードに切り替わります。 +- 現在、`Load Image` ノードは「Bypass(バイパス)」モードになっています。有効化するには、ステップガイドを参照し、該当ノードを右クリックして「Mode(モード)」を「Always(常に)」に設定してください。これにより入力が有効になり、画像から画像生成モードに切り替わります。 - 入力画像がない場合、`image_denoise` パラメータは効果を発揮しません。 -## Stability AI Stable Diffusion 3.5 画像から画像へ(図生図)ワークフロー +## Stability AI Stable Diffusion 3.5 画像から画像生成ワークフロー ### 1. ワークフローファイルのダウンロード 以下の画像には `metadata` にワークフロー情報が含まれています。ダウンロードして ComfyUI にドラッグ&ドロップすることで、対応するワークフローを読み込むことができます。 -![Stability AI Stable Diffusion 3.5 画像から画像へ(図生図)ワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/stability_ai/sd3-5-i2i/stable_diffusion_3_5-i2i.png) +![Stability AI Stable Diffusion 3.5 画像から画像生成ワークフロー](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/stability_ai/sd3-5-i2i/stable_diffusion_3_5-i2i.png) -以下の画像を入力として使用するため、ダウンロードしてください -![Stability AI Stable Diffusion 3.5 画像から画像へ(図生図)ワークフロー入力画像](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/stability_ai/sd3-5-i2i/input.jpg) +以下の画像を入力として使用するため、ダウンロードしてください +![Stability AI Stable Diffusion 3.5 画像から画像生成ワークフロー入力画像](https://raw.githubusercontent.com/Comfy-Org/example_workflows/main/api_nodes/stability_ai/sd3-5-i2i/input.jpg) ### 2. ステップごとにワークフローを完了させる -![Stability AI Stable Diffusion 3.5 画像から画像へ(図生図)ステップガイド](/images/tutorial/api_nodes/stability_ai/stable_diffusion_3_5_image_i2i_step_guide.jpg) +![Stability AI Stable Diffusion 3.5 画像から画像生成ステップガイド](/images/tutorial/api_nodes/stability_ai/stable_diffusion_3_5_image_i2i_step_guide.jpg) -画像中の番号順に従って、画像から画像へ(図生図)ワークフローを実行できます: +画像中の番号順に従って、画像から画像生成ワークフローを実行できます: 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 に近い値ほど、生成画像は純粋なテキストから画像へ(文生図)の結果に近くなります(1.0 の場合は、参照画像が提供されていないのと同じ状態になります)。 -5. (任意)`String(Multiline)` を編集してネガティブプロンプトを変更し、生成画像に含めたくない要素を指定します。 -6. `Run` ボタンをクリックするか、ショートカットキー `Ctrl(Windows)/Cmd(Mac) + Enter` を使用して画像生成を実行します。 -8. API からの結果が返された後、`Save Image` ノードで生成された画像を確認できます。また、画像は `ComfyUI/output/` ディレクトリにも保存されます。 - -### 3. 補足情報 - -以下の画像は、同一のパラメータ設定で、入力画像あり/なしの場合の結果比較を示しています: - -![Stability AI Stable Diffusion 3.5 入力画像あり/なしの比較](/images/tutorial/api_nodes/stability_ai/stable_diffusion_3_5_compare.jpg) - -**画像デノイズ(Image Denoise)**: このパラメータは、生成プロセスにおいて元画像の特徴をどの程度保持するかを決定します。画像から画像へ(図生図)モードにおいて最も重要な調整パラメータです。以下の画像は、異なるデノイズ強度による生成結果の違いを示しています: - -![Stability AI Stable Diffusion 3.5 画像から画像へ(図生図)デノイズ強度の説明](/images/tutorial/api_nodes/stability_ai/stable_diffusion_3_5_image_i2i_image_denoise.jpg) - -- **参照画像の選択**: 明確な被写体と良好な構図を持つ画像を選ぶと、通常はより良い結果が得られます。 -- **プロンプトのコツ**: 画像から画像へ(図生図)モードでは、プロンプトは既に画像内に存在するすべての要素を記述するのではなく、変更または強化したい要素に焦点を当てることが推奨されます。 -- **モードの切り替え**: 入力画像が提供されると、ノードは自動的にテキストから画像へ(文生図)モードから画像から画像へ(図生図)モードに切り替わり、アスペクト比のパラメータは無視されます。 - -## 関連ノードの詳細 - -対応するノードの詳細なパラメータ設定については、以下のドキュメントをご参照ください。 - - -Stability Stable Diffusion 3.5 Image API ノードドキュメンテーション - \ No newline at end of file + - 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 index 30e88f096..946d89bec 100644 --- a/ja/tutorials/partner-nodes/stability-ai/stable-image-ultra.mdx +++ b/ja/tutorials/partner-nodes/stability-ai/stable-image-ultra.mdx @@ -1,8 +1,8 @@ --- -title: "Stability AI Stable Image Ultra APIノード ComfyUI公式サンプル" +title: "Stability AI Stable Image Ultra パートナーノード ComfyUI公式サンプル" description: "本記事では、ComfyUIでStability AIのStable Image Ultraパートナーノードを用いたテキストから画像への生成(テキスト・トゥ・イメージ)および画像から画像への生成(イメージ・トゥ・イメージ)の機能について解説します。" sidebarTitle: "Stable Image Ultra" -translationSourceHash: 3f350a0d +translationSourceHash: e3306a2b translationFrom: tutorials/partner-nodes/stability-ai/stable-image-ultra.mdx --- @@ -74,12 +74,4 @@ import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"; ![Stability Stable Image Ultra 画像から画像への生成デノイズ解説](/images/tutorial/api_nodes/stability_ai/i2i_image_denoise.jpg) - **参照画像の選択**:被写体が明確で構図が良い画像を選ぶと、通常はより優れた結果が得られます。 -- **プロンプトに関するヒント**:画像から画像への生成モードでは、既に画像内に存在するすべての要素を記述するのではなく、むしろ変更または強調したい部分に焦点を当てたプロンプトを作成することを推奨します。 - -## 関連ノードのドキュメント - -対応するノードの詳細なパラメータ設定やその他の情報を確認するには、以下のドキュメントをご参照ください。 - - -Stability Stable Image Ultra APIノードのドキュメント - \ No newline at end of file +- **プロンプトに関するヒント**:画像から画像への生成モードでは、既に画像内に存在するすべての要素を記述するのではなく、むしろ変更または強調したい部分に焦点を当てたプロンプトを作成することを推奨します。 \ No newline at end of file diff --git a/ja/tutorials/partner-nodes/topaz/astra-2.mdx b/ja/tutorials/partner-nodes/topaz/astra-2.mdx index 734ad9ea4..152e56f3c 100644 --- a/ja/tutorials/partner-nodes/topaz/astra-2.mdx +++ b/ja/tutorials/partner-nodes/topaz/astra-2.mdx @@ -29,7 +29,7 @@ Astra 1 より、ディテールやスタイルの出し方を細かく寄せら **Topaz Video Enhance** を使う。**Topaz Video Enhance (Legacy)** には **Astra 2** がありません。Upscaler を **Astra 2**、解像度を **FullHD** または **4K**、入力は **MP4** のみ。 -**Prompt** あり: 最大 **450** フレーム(30fps で約 15 秒)。なし: 最大 **9000** フレーム。**Sharp** / **Realism** は詳細オプション。 +**Prompt** あり: 最大 **450** フレーム(30fps で約 15 秒)。なし: 最大 **9000** フレーム。必要に応じて **Sharp** や **Realism** の高度なコントロールを展開できます。 diff --git a/ja/tutorials/utility/frame-interpolation.mdx b/ja/tutorials/utility/frame-interpolation.mdx index 98bbd34b8..326a4dd6c 100644 --- a/ja/tutorials/utility/frame-interpolation.mdx +++ b/ja/tutorials/utility/frame-interpolation.mdx @@ -9,7 +9,7 @@ translationFrom: tutorials/utility/frame-interpolation.mdx ## フレーム補間とは? -このワークフローにはカスタムノードが含まれています。ワークフローを実行する前に、[ComfyUI Manager](/manager/overview) を使用してこれらのカスタムノードをインストールする必要があります。 +このワークフローにはカスタムノードが含まれています。ワークフローを実行する前に、[ComfyUI Manager](/ja/manager/overview) を使用してこれらのカスタムノードをインストールする必要があります。 フレーム補間は、既存のフレーム間に中間フレームを生成することで、より滑らかな動きと時間的な一貫性の向上を実現します。この技術は動画のポストプロセッシングにおいて不可欠であり、生成された動画の品質を大幅に向上させることができます。 diff --git a/ja/tutorials/utility/image-upscale.mdx b/ja/tutorials/utility/image-upscale.mdx index 9947d029e..75e342195 100644 --- a/ja/tutorials/utility/image-upscale.mdx +++ b/ja/tutorials/utility/image-upscale.mdx @@ -128,7 +128,7 @@ Magnific Creative および Topaz Image Enhance の「クリエイティビテ ### ローカルモデル(ESRGAN) -ESRGAN モデルを用いた基本的なローカルアップスケーリングについては、[基本アップスケーリングチュートリアル](/tutorials/basic/upscale) をご覧ください。 +ESRGAN モデルを用いた基本的なローカルアップスケーリングについては、[基本アップスケーリングチュートリアル](/ja/tutorials/basic/upscale) をご覧ください。 | モデル | 最適な用途 | |---|---| diff --git a/ja/tutorials/utility/moge.mdx b/ja/tutorials/utility/moge.mdx index f900cc282..b347f183b 100644 --- a/ja/tutorials/utility/moge.mdx +++ b/ja/tutorials/utility/moge.mdx @@ -6,7 +6,7 @@ translationSourceHash: dcec1d5b translationFrom: tutorials/utility/moge.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' # ComfyUI MoGe の紹介 diff --git a/ja/tutorials/utility/preprocessors.mdx b/ja/tutorials/utility/preprocessors.mdx index ef69bcaba..c3c83792f 100644 --- a/ja/tutorials/utility/preprocessors.mdx +++ b/ja/tutorials/utility/preprocessors.mdx @@ -9,7 +9,7 @@ translationFrom: tutorials/utility/preprocessors.mdx ## プリプロセッサーとは? -これらのワークフローにはカスタムノードが含まれています。ワークフローを実行する前に、[ComfyUI Manager](/manager/overview) を使用してそれらをインストールする必要があります。 +これらのワークフローにはカスタムノードが含まれています。ワークフローを実行する前に、[ComfyUI Manager](/ja/manager/overview) を使用してそれらをインストールする必要があります。 プリプロセッサーは、画像から構造情報を抽出するための基盤となるツールです。これらは画像を、深度マップ、ラインアート、ポーズスケルトン、表面法線などの条件信号に変換します。これらの出力は、ControlNet、画像から画像への生成(img2img)、および動画ワークフローにおいて、より高い制御性と一貫性を実現します。 diff --git a/ja/tutorials/utility/remove-background-birefnet.mdx b/ja/tutorials/utility/remove-background-birefnet.mdx index b6a78acab..d7e8bccd8 100644 --- a/ja/tutorials/utility/remove-background-birefnet.mdx +++ b/ja/tutorials/utility/remove-background-birefnet.mdx @@ -6,7 +6,7 @@ translationSourceHash: 0f977d6d translationFrom: tutorials/utility/remove-background-birefnet.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +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 e5f82dbf1..923ec6dc3 100644 --- a/ja/tutorials/utility/video-segment-sam3.mdx +++ b/ja/tutorials/utility/video-segment-sam3.mdx @@ -6,7 +6,7 @@ translationSourceHash: 666093f9 translationFrom: tutorials/utility/video-segment-sam3.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +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 ba6dbdb62..19c16b286 100644 --- a/ja/tutorials/utility/video-upscale.mdx +++ b/ja/tutorials/utility/video-upscale.mdx @@ -178,7 +178,7 @@ translationFrom: tutorials/utility/video-upscale.mdx ## 便利なヒント -- アップスケーリングと[フレーム補間](/tutorials/utility/frame-interpolation)を組み合わせることで、より滑らかで高解像度の出力を得られます。 +- アップスケーリングと[フレーム補間](/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 5f0279474..88affc730 100644 --- a/ja/tutorials/utility/void-video-inpainting.mdx +++ b/ja/tutorials/utility/void-video-inpainting.mdx @@ -6,7 +6,7 @@ translationSourceHash: e8e6c573 translationFrom: tutorials/utility/void-video-inpainting.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' diff --git a/ja/tutorials/video/cosmos/cosmos-predict2-video2world.mdx b/ja/tutorials/video/cosmos/cosmos-predict2-video2world.mdx index fe6f03064..5871cea65 100644 --- a/ja/tutorials/video/cosmos/cosmos-predict2-video2world.mdx +++ b/ja/tutorials/video/cosmos/cosmos-predict2-video2world.mdx @@ -6,7 +6,7 @@ translationSourceHash: 7c20daa6 translationFrom: tutorials/video/cosmos/cosmos-predict2-video2world.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' Cosmos-Predict2 は、NVIDIA によって開発された次世代の物理世界基礎モデルであり、物理 AI シナリオにおける高品質な視覚生成および予測タスクのために特別に設計されています。 このモデルは、卓越した物理的正確性、環境相互作用性、および詳細再現能力を特徴とし、複雑な物理現象や動的シーンの現実的なシミュレーションを可能にします。 diff --git a/ja/tutorials/video/ltx/ltx-2.mdx b/ja/tutorials/video/ltx/ltx-2.mdx index 5f84765c8..2193e24b2 100644 --- a/ja/tutorials/video/ltx/ltx-2.mdx +++ b/ja/tutorials/video/ltx/ltx-2.mdx @@ -33,7 +33,7 @@ import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"; | ltx-2-spatial-upscaler-x2-1.0 | 高解像度のための 2x 空間アップスケーラー | | ltx-2-temporal-upscaler-x2-1.0 | 高 FPS のための 2x 時間アップスケーラー | -## 快速入門 +## はじめに LTX-2 は ComfyUI でネイティブサポートされています。開始するには: @@ -113,7 +113,7 @@ IC-LoRAs を使用して構造制御付き動画を生成します。 LTX-2 のプロンプトを作成する際は、アクションやシーンの詳細で時系列な説明に焦点を当ててください。具体的な動き、外見、カメラアングル、環境の詳細を一つの流れるような段落に含めます。アクションから直接始め、説明を文字通りかつ正確に保ってください。 プロンプトの構造: -- 一文で主要アクションを描述 +- 一文で主要アクションを説明 - 動きやジェスチャーの詳細 - キャラクター/物体の外見 - 背景と環境の詳細 diff --git a/ja/tutorials/video/wan/fun-camera.mdx b/ja/tutorials/video/wan/fun-camera.mdx index b0f98566e..fc129d639 100644 --- a/ja/tutorials/video/wan/fun-camera.mdx +++ b/ja/tutorials/video/wan/fun-camera.mdx @@ -6,7 +6,7 @@ translationSourceHash: 79f5efc3 translationFrom: tutorials/video/wan/fun-camera.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' ## Wan2.1 Fun Camera について diff --git a/ja/tutorials/video/wan/vace.mdx b/ja/tutorials/video/wan/vace.mdx index 556600718..0db674b39 100644 --- a/ja/tutorials/video/wan/vace.mdx +++ b/ja/tutorials/video/wan/vace.mdx @@ -1,12 +1,12 @@ --- -title: "ComfyUI Wan2.1 VACE 動画生成のサンプル" -description: "本記事では、ComfyUI を用いて Wan2.1 VACE の動画生成サンプルを実行する方法について説明します" +title: "ComfyUI Wan2.1 VACE 動画サンプル" +description: "本記事では、ComfyUI で Wan VACE 動画生成のサンプルを完了する方法を紹介します。" sidebarTitle: "Wan2.1 VACE" -translationSourceHash: 3b188d5e +translationSourceHash: 379bd35f translationFrom: tutorials/video/wan/vace.mdx --- -import CancelBypass from '/snippets/interface/cancel-bypass.mdx' +import CancelBypass from '/snippets/ja/interface/cancel-bypass.mdx' import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"; @@ -15,7 +15,7 @@ import UpdateReminder from "/snippets/ja/tutorials/update-reminder.mdx"; ## VACE について -VACE 14B は、アリババグループの Tongyi Wanxiang チームが公開したオープンソースの統合型動画編集モデルです。このモデルは、複数のタスクを統合した機能、高解像度処理のサポート、および柔軟なマルチモーダル入力機構を備えており、動画制作の効率性と品質を大幅に向上させます。 +VACE 14B は、アリババ Tongyi Wanxiang チームが公開したオープンソースの統合型動画編集モデルです。このモデルは、複数のタスクを統合した機能、高解像度処理のサポート、および柔軟なマルチモーダル入力機構を備えており、動画制作の効率性と品質を大幅に向上させます。 本モデルは [Apache-2.0](https://github.com/ali-vilab/VACE?tab=Apache-2.0-1-ov-file) ライセンスの下でオープンソース化されており、個人利用および商用利用が可能です。 @@ -112,122 +112,4 @@ MP4 ファイルからワークフローを読み込めない場合は、ComfyUI 画像中の番号順に操作を行い、ワークフローがスムーズに実行されるようご確認ください。 1. `CLIP Text Encode (Positive Prompt)` ノードにポジティブプロンプトを入力してください -2. `CLIP Text Encode (Negative Prompt)` ノードにネガティブプロンプトを入力してください -3. `WanVaceToVideo` で画像サイズ(初回実行時は 640×640 解像度を推奨)およびフレーム数(動画の再生時間)を設定してください -4. `Run` ボタンをクリックするか、ショートカット `Ctrl(Mac の場合は Cmd)+ Enter` を押して動画生成を実行してください -5. 生成が完了すると、動画は自動的に `ComfyUI/output/video` ディレクトリに保存されます(サブフォルダの場所は `save video` ノードの設定により異なります) - - -NVIDIA GeForce RTX 4090 GPU を用いたテスト結果: -- 720×1280 解像度で 81 フレームを生成する場合、約 40 分かかります -- 640×640 解像度で 49 フレームを生成する場合、約 7 分かかります - -ただし、720P の動画品質の方が優れています。 - - -## VACE 画像から動画へ(Image-to-Video)ワークフロー - -上記のワークフローをそのままご利用いただけます。ただし、**Load reference image** 内の `Load image` ノードの Bypass を解除し、ご自身の画像を入力してください。また、以下の画像もご利用いただけます。このファイルでは、すでに必要なパラメータが事前に設定されています。 - -### 1. ワークフローのダウンロード -以下の動画をダウンロードし、ComfyUI にドラッグ&ドロップすることで、対応するワークフローを読み込んでください。 - - - -以下の画像を入力としてダウンロードしてください: - -![vace-i2v-input](https://github.com/Comfy-Org/example_workflows/raw/refs/heads/main/video/wan/vace/i2v/input.jpg) - -### 2. ステップ・バイ・ステップでワークフローを完了する - -![Workflow Steps](/images/tutorial/video/wan/wan-vace-i2v-step-guide.jpg) - -画像中の番号順に操作を行い、ワークフローがスムーズに実行されるようご確認ください。 - -1. `Load image` ノードに該当する画像を入力してください -2. テキストから動画へ(Text-to-Video)ワークフローと同様に、プロンプトを修正・編集できます -3. `WanVaceToVideo` で画像サイズ(初回実行時は 640×640 解像度を推奨)およびフレーム数(動画の再生時間)を設定してください -4. `Run` ボタンをクリックするか、ショートカット `Ctrl(Mac の場合は Cmd)+ Enter` を押して動画生成を実行してください -5. 生成が完了すると、動画は自動的に `ComfyUI/output/video` ディレクトリに保存されます(サブフォルダの場所は `save video` ノードの設定により異なります) - - -画像サイズを設定するために「画像の寸法を取得」などのノードをご利用になる場合がありますが、対応するノードには幅・高さのステップサイズ要件があるため、画像の寸法が 16 で割り切れない場合、エラーが発生することがあります。 - - -### 3. 追加のワークフローに関する注意点 - -VACE は、単一の画像内に複数の参照画像を入力し、それらに対応する動画を生成することもサポートしています。関連するサンプルは、VACE プロジェクトの[ページ](https://ali-vilab.github.io/VACE-Page/)でご確認いただけます。 - -## VACE 動画から動画へ(Video-to-Video)ワークフロー - -### 1. ワークフローのダウンロード - -以下の動画をダウンロードし、ComfyUI にドラッグ&ドロップすることで、対応するワークフローを読み込んでください。 - - -以下の素材を入力として使用します: - -1. 参照用の入力画像 -![v2v-input](https://raw.githubusercontent.com/Comfy-Org/example_workflows/refs/heads/main/video/wan/vace/v2v/input.jpg) - -2. 以下の動画は事前に前処理済みであり、動画生成の制御に使用します。 - - - -3. 以下の動画は元の動画です。これらの素材をダウンロードし、[comfyui_controlnet_aux](https://github.com/Fannovel16/comfyui_controlnet_aux) のような前処理ノードを用いて画像の前処理を行うことができます。 - - - - -### 2. ステップ・バイ・ステップでワークフローを完了する - -![Workflow Steps](/images/tutorial/video/wan/wan-vace-v2v-step-guide.jpg) - -画像中の番号順に操作を行い、ワークフローがスムーズに実行されるようご確認ください。 - -1. `Load reference image` 内の `Load Image` ノードに参照画像を入力してください -2. `Load control video` 内の `Load Video` ノードに制御用動画を入力してください。提供された動画はすでに前処理済みのため、追加の処理は不要です -3. 元の動画を自分で前処理する必要がある場合は、`Image preprocessing` グループを編集するか、`comfyui_controlnet_aux` ノードを用いて前処理を実行してください -4. プロンプトを修正してください -5. `WanVaceToVideo` で画像サイズ(初回実行時は 640×640 解像度を推奨)およびフレーム数(動画の再生時間)を設定してください -6. `Run` ボタンをクリックするか、ショートカット `Ctrl(Mac の場合は Cmd)+ Enter` を押して動画生成を実行してください -7. 生成が完了すると、動画は自動的に `ComfyUI/output/video` ディレクトリに保存されます(サブフォルダの場所は `save video` ノードの設定により異なります) - -## VACE 動画アウトペインティング(Video Outpainting)ワークフロー - -[更新予定] - -## VACE 最初と最後のフレームを指定した動画生成 - -[更新予定] - -最初および最後のフレームが有効に機能するためには、動画の `length` 設定が `length - 1` が 4 で割り切れる値になる必要があります。 -対応する `Batch_size` 設定は、`Batch_size = length - 2` を満たす必要があります。 - -## 関連ノードのドキュメント - -以下のドキュメントを参照して、関連ノードについて学んでください。 - - -WanVaceToVideo ノードのドキュメント - - - -ComfyUI TrimVideoLatent ノードのドキュメント - \ No newline at end of file +2. ` \ No newline at end of file diff --git a/ja/tutorials/video/wan/wan-ati.mdx b/ja/tutorials/video/wan/wan-ati.mdx index 8f10116e9..61a7c73b3 100644 --- a/ja/tutorials/video/wan/wan-ati.mdx +++ b/ja/tutorials/video/wan/wan-ati.mdx @@ -6,7 +6,7 @@ translationSourceHash: 79cff268 translationFrom: tutorials/video/wan/wan-ati.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **ATI(Any Trajectory Instruction:任意軌道指示)** は、ByteDanceチームが提案した制御可能な動画生成フレームワークです。ATIはWan2.1をベースとして実装されており、物体、局所領域、カメラモーションなど、動画内のさまざまな要素を、任意の軌道指示によって統一的に制御することをサポートします。 diff --git a/ja/tutorials/video/wan/wan-move.mdx b/ja/tutorials/video/wan/wan-move.mdx index 51b195978..838c04c1a 100644 --- a/ja/tutorials/video/wan/wan-move.mdx +++ b/ja/tutorials/video/wan/wan-move.mdx @@ -6,7 +6,7 @@ translationSourceHash: 07bfbc40 translationFrom: tutorials/video/wan/wan-move.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **Wan-Move** は、アリババの通義実験室(Tongyi Lab)によって開発された、運動制御可能な動画生成フレームワークです。入力画像上でポイントのトラジェクトリ(軌跡)を指定することで、生成された動画内の物体の運動を制御でき、画像から動画への生成をより正確かつ制御可能にします。 diff --git a/ja/tutorials/video/wan/wan2-2-animate.mdx b/ja/tutorials/video/wan/wan2-2-animate.mdx index 91a86b451..3caf4f30c 100644 --- a/ja/tutorials/video/wan/wan2-2-animate.mdx +++ b/ja/tutorials/video/wan/wan2-2-animate.mdx @@ -5,7 +5,7 @@ sidebarTitle: "Wan2.2 Animate" translationSourceHash: 46cb9d1b translationFrom: tutorials/video/wan/wan2-2-animate.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' Wan-Animate は、WAN チームが開発した人物アニメーションおよび置換のための統合フレームワークです。 @@ -111,7 +111,7 @@ ComfyUI/ - [ComfyUI-KJNodes](https://github.com/kijai/ComfyUI-KJNodes) - [ComfyUI-comfyui_controlnet_aux](https://github.com/Fannovel16/comfyui_controlnet_aux) -カスタムノードのインストール方法が不明な場合は、[カスタムノードのインストール方法](/installation/install_custom_node) をご参照ください。 +カスタムノードのインストール方法が不明な場合は、[カスタムノードのインストール方法](/ja/installation/install_custom_node) をご参照ください。 ### 4. ワークフロー操作手順 @@ -138,7 +138,7 @@ Wan2.2 Animate には「Mix」と「Move」の2つのモードがあります。 #### 4.2 Move モード -Wan2.2 Animate ワークフローでは、[サブグラフ](/interface/features/subgraph) を活用しています。Move モードへの切り替え手順は以下の通りです: +Wan2.2 Animate ワークフローでは、[サブグラフ](/ja/interface/features/subgraph) を活用しています。Move モードへの切り替え手順は以下の通りです: ![Subgraph](/images/tutorial/video/wan/wan2_2/wan2.2_animate_subgraph.jpg) diff --git a/ja/tutorials/video/wan/wan2-2-fun-camera.mdx b/ja/tutorials/video/wan/wan2-2-fun-camera.mdx index 1ef1023c6..2636c306a 100644 --- a/ja/tutorials/video/wan/wan2-2-fun-camera.mdx +++ b/ja/tutorials/video/wan/wan2-2-fun-camera.mdx @@ -6,7 +6,7 @@ translationSourceHash: c2df0664 translationFrom: tutorials/video/wan/wan2-2-fun-camera.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **Wan2.2-Fun-Camera-Control** は、Alibaba PAI が開発した次世代の動画生成およびカメラ制御モデルです。革新的な「カメラ制御コード(Camera Control Codes)」を導入し、深層学習とマルチモーダルな条件付き入力を組み合わせることで、あらかじめ定義されたカメラ運動条件に厳密に従った高品質な動画を生成します。本モデルは **Apache 2.0 ライセンス** の下で公開されており、商用利用が可能です。 diff --git a/ja/tutorials/video/wan/wan2-2-fun-control.mdx b/ja/tutorials/video/wan/wan2-2-fun-control.mdx index c9c516e34..2e444a852 100644 --- a/ja/tutorials/video/wan/wan2-2-fun-control.mdx +++ b/ja/tutorials/video/wan/wan2-2-fun-control.mdx @@ -6,7 +6,7 @@ translationSourceHash: 0e10558a translationFrom: tutorials/video/wan/wan2-2-fun-control.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **Wan2.2-Fun-Control** は、Alibaba PAI チームによってリリースされた次世代の動画生成・制御モデルです。革新的な Control Codes 機制を導入し、深層学習とマルチモーダル条件入力を組み合わせることで、预设された制御条件に準拠した高品質な動画を生成できます。本モデルは **Apache 2.0 ライセンス** でリリースされており、商用利用も可能です。 diff --git a/ja/tutorials/video/wan/wan2-2-fun-inp.mdx b/ja/tutorials/video/wan/wan2-2-fun-inp.mdx index 2b84d36b9..3265d72e4 100644 --- a/ja/tutorials/video/wan/wan2-2-fun-inp.mdx +++ b/ja/tutorials/video/wan/wan2-2-fun-inp.mdx @@ -6,7 +6,7 @@ translationSourceHash: 6914cd26 translationFrom: tutorials/video/wan/wan2-2-fun-inp.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' **Wan2.2-Fun-Inp** は、Alibaba PAI チームが開発・公開した首尾フレーム制御型動画生成モデルです。ユーザーは**開始フレーム画像と終了フレーム画像**を入力することで、それらの間を滑らかに遷移する中間動画を生成できます。これにより、クリエイターはより高度な創造的コントロールを実現できます。本モデルは **Apache 2.0 ライセンス**のもとで公開されており、商用利用も可能です。 diff --git a/ja/tutorials/video/wan/wan2-2-s2v.mdx b/ja/tutorials/video/wan/wan2-2-s2v.mdx index ba5f3e395..872e49120 100644 --- a/ja/tutorials/video/wan/wan2-2-s2v.mdx +++ b/ja/tutorials/video/wan/wan2-2-s2v.mdx @@ -6,7 +6,7 @@ translationSourceHash: 8d1b0bf2 translationFrom: tutorials/video/wan/wan2-2-s2v.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' 先進的な音声駆動型動画生成モデル「Wan2.2-S2V」が、ComfyUI でネイティブ対応となりました!この強力な AI モデルは、静止画像と音声入力をもとに、ダイナミックな動画コンテンツを生成します。対話、歌唱、パフォーマンスなど、さまざまなクリエイティブな用途に対応可能です。 diff --git a/ja/tutorials/video/wan/wan2_2.mdx b/ja/tutorials/video/wan/wan2_2.mdx index 7fa0a321b..18f0ff019 100644 --- a/ja/tutorials/video/wan/wan2_2.mdx +++ b/ja/tutorials/video/wan/wan2_2.mdx @@ -6,7 +6,7 @@ translationSourceHash: 3d509ed7 translationFrom: tutorials/video/wan/wan2_2.mdx --- -import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx'