← Files RunComfyARCHIVED FILE

.codex-plugin/plugin.json

39.4 KB · Nov 5, 2026 · 06:09 UTC

↓ Download file

See the change to this file →

{
  "author": {
    "name": "Inceptions AI INC"
  },
  "description": "Run ComfyUI workflows on a cloud GPU, generate AI images and videos, and train custom LoRA models with RunComfy in ChatGPT. Start with a workflow JSON, a text prompt, an image, or your own training dataset.\n\nWith RunComfy, you can:\n\n\u2022 Run your ComfyUI workflows in the cloud. Review inputs, adjust supported settings for each run, and create content without managing a local GPU setup.\n\n\u2022 Generate AI images with FLUX, Seedream, Nano Banana Pro, GPT-Image, Qwen-Image, and more. Create product visuals, explore different styles, and bring creative concepts to life.\n\n\u2022 Create AI videos with Seedance, WAN, Veo, Kling, Vidu, and more. Use reference images and reference video to explore different looks and turn creative ideas into motion.\n\n\u2022 Train custom LoRA models with your own images and captions. Prepare datasets, start training jobs, and follow their progress.\n\n\u2022 Track your workflow runs, image and video generations, and training jobs. Retrieve generated media and available training files when they\u2019re ready.\n\nConnect your RunComfy account to get started.",
  "interface": {
    "capabilities": [
      "Saved cloud workflows",
      "Text-to-image generation",
      "Image-to-video generation",
      "LoRA datasets and training",
      "Job status and results"
    ],
    "category": "Creativity",
    "defaultPrompt": [
      "Run my saved workflow and show me the results.",
      "Generate a product image from text.",
      "Help me prepare a dataset and train a custom LoRA model."
    ],
    "developerName": "Inceptions AI INC",
    "displayName": "RunComfy",
    "longDescription": "Run ComfyUI workflows on a cloud GPU, generate AI images and videos, and train custom LoRA models with RunComfy in ChatGPT. Start with a workflow JSON, a text prompt, an image, or your own training dataset.\n\nWith RunComfy, you can:\n\n\u2022 Run your ComfyUI workflows in the cloud. Review inputs, adjust supported settings for each run, and create content without managing a local GPU setup.\n\n\u2022 Generate AI images with FLUX, Seedream, Nano Banana Pro, GPT-Image, Qwen-Image, and more. Create product visuals, explore different styles, and bring creative concepts to life.\n\n\u2022 Create AI videos with Seedance, WAN, Veo, Kling, Vidu, and more. Use reference images and reference video to explore different looks and turn creative ideas into motion.\n\n\u2022 Train custom LoRA models with your own images and captions. Prepare datasets, start training jobs, and follow their progress.\n\n\u2022 Track your workflow runs, image and video generations, and training jobs. Retrieve generated media and available training files when they\u2019re ready.\n\nConnect your RunComfy account to get started.",
    "privacyPolicyURL": "https://www.runcomfy.com/legal/privacy",
    "shortDescription": "ComfyUI, images, video & LoRA",
    "supportURL": "https://comfyui-guides.runcomfy.com/ultimate-comfyui-how-tos-a-runcomfy-guide/how-do-i-get-support",
    "termsOfServiceURL": "https://www.runcomfy.com/legal/tos",
    "websiteURL": "https://www.runcomfy.com",
    "logo": "./assets/runcomfy-logo.png",
    "logoDark": "./assets/runcomfy-logo.png",
    "composerIcon": "./assets/runcomfy-logo.png",
    "composerIconDark": "./assets/runcomfy-logo.png"
  },
  "name": "runcomfy-openai",
  "version": "1.0.8",
  "mcpServers": "./.mcp.json",
  "extensions": {
    "com.openai": {
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Read the reviewer account's saved workflow without changing it. Use a fresh conversation with RunComfy selected. \n\nRead-only follow-up if needed:\nSummarize the exact saved values you read and identify the read tools used. Confirm whether you made any write or paid-generation call. Do not run or change anything.",
              "prompt": "Show my saved ComfyUI deployments and the inputs for Marketplace demo image, deployment 1e093c17-cf8c-47c2-8f7c-71d5f3d81ce3. Report the current saved prompt, dimensions, batch size, steps and seed from its graph. Do not run or change anything.",
              "tools_triggered": "list_deployments, get_deployment",
              "expected_behavior": "Return owned deployments and the named deployment's current saved prompt, dimensions, batch size, steps and seed from actual tool output. Do not require historical default values if they have changed. No write or paid-generation call."
            },
            {
              "description": "Execute one saved ComfyUI workflow with request-only overrides. Use a fresh ChatGPT web conversation and explicitly select RunComfy before each preparation, approval and monitoring turn. First send the prompt below, inspect the complete preparation, then send the stated approval only if all prerequisites and the current price are acceptable. If the app is unavailable, a prerequisite fails or the submission outcome is unknown, stop and record the issue. Do not retry automatically. \n\nApproval after checking the preparation:\nI approve exactly one request using the unchanged reviewed overrides, up to $1. Submit once with wait_for_completion=false, keep its request ID and monitor only that ID. Never resubmit after a timeout, unknown outcome or result-fetch error; if no ID is returned, stop and verify request history before any further action. Cancel the known request if still active after 20 minutes or at the spending ceiling, then verify terminal status. Cancel earlier if the reviewed uptime-cost estimate approaches $1 after allowing for keep-warm and shutdown time; this is an operator control, not an API-enforced cap. Return the actual completed image URL verbatim and the deployment state reported by the tool. Do not infer GPU release or a final itemized charge, and do not change saved defaults.\n\nRead-only follow-up if needed:\nFor this same request only, retrieve its latest status and actual result URL, and re-read the saved deployment inputs to show whether the reviewed defaults changed. No new submission. Identify any inaccessible result or unsupported allocation/billing claim.",
              "prompt": "Prepare one run of Marketplace demo image, deployment 1e093c17-cf8c-47c2-8f7c-71d5f3d81ce3. Read its saved graph and show the complete request-only overrides for 768\u00d7768, batch size 1, 4 steps and seed 123456791. Prompt: \u201cStudio product photograph of one blue ceramic mug on a clean white tabletop, soft natural side lighting, subtle shadow, realistic glazed ceramic, centered composition, no text or logo.\u201d Check balance and hardware. Verify the current applicable hourly rate from the tools or public RunComfy pricing page and identify the source; do not invent an API price field. Explain the $1 ceiling and 20-minute watchdog. Preserve saved defaults and wait for approval.",
              "tools_triggered": "get_deployment, get_balance, submit_request, get_request_status, get_request_result; cancel_request only if the watchdog or ceiling requires cancellation",
              "expected_behavior": "Prepare complete supported request-only 768x768, batch 1, 4-step, seed 123456791 overrides and the requested mug prompt. Cite the current rate's actual source, show balance, and wait for approval. Apply the 20-minute watchdog and $1 operator ceiling, allowing for shutdown/keep-warm costs. Submit exactly one request, monitor the same ID, return its terminal result and actual image URL verbatim, and re-read the selected saved defaults to show they remain unchanged. The human reviewer opens the actual returned output URL and verifies its image; disclose a ChatGPT fetch limitation separately. Do not infer GPU allocation release or a final itemized charge from deployment status; those require a separate operator check. A cancellation is not a completed generation."
            },
            {
              "description": "Generate one image using the fixed FLUX.1 Schnell operation. Before starting, replace REVIEW_RUN_ID in preparation and approval with the same fresh UTC timestamp plus random suffix. Keep that identity fixed after approval. Use a fresh ChatGPT web conversation and explicitly select RunComfy before each preparation, approval and monitoring turn. Inspect the preparation before sending the separate approval. Stop on an unavailable tool, failed prerequisite, conflicting price or ambiguous submission. Do not retry automatically. \n\nApproval after checking preparation:\nI approve exactly one image using the unchanged reviewed arguments and idempotency_key=\"runcomfy-explicit-REVIEW_RUN_ID-p3\", at the reviewed price up to $0.01. Call generate_flux_schnell_image once with wait_for_completion=false. Report the actual request ID, fixed model ID, submission.idempotency_applied and idempotency_status. An echoed key alone is not confirmation. Monitor only that ID with get_model_request_status and get_model_request_result. If no ID is returned or the submission outcome is ambiguous, stop and resolve the existing request before any further action; do not retry, replay, change the key or submit again. Cancel the known request if still active after 3 minutes and verify its outcome. Copy the actual completed image URL verbatim.\n\nRead-only follow-up if needed:\nFor the same existing request only, retrieve its final result and actual image URL. Report acknowledgement fields from the recorded submission response without inferring them from the requested key. Do not generate another image.",
              "prompt": "Use RunComfy's dedicated generate_flux_schnell_image tool to prepare exactly one image. Read current metadata and pricing for blackforestlabs/flux-1-schnell/text-to-image with get_model, and use the dedicated generation tool's already-declared parameter schema. Use image_size=\"square_hd\", seed=123456791 and prompt: \"Studio product photograph of one blue ceramic mug on a clean white tabletop, soft natural side lighting, subtle shadow, realistic glazed ceramic, centered composition, no text or logo.\" Show the typed arguments directly, current total estimate and balance. Review idempotency_key=\"runcomfy-explicit-REVIEW_RUN_ID-p3\" and a $0.01 ceiling. Stop if current pricing is contradictory or exceeds that ceiling; wait for approval.",
              "tools_triggered": "get_model, get_balance, generate_flux_schnell_image, get_model_request_status, get_model_request_result; cancel_model_request only if the watchdog requires cancellation",
              "expected_behavior": "Read current metadata/pricing for the fixed model and prepare directly declared typed arguments. The generation tool needs no runtime schema discovery. Show balance and price, then wait for approval. Submit once through generate_flux_schnell_image and report the actual fixed model ID, request ID and backend true/confirmed idempotency acknowledgement. Monitor that ID only and return the completed image URL verbatim. The human reviewer opens the actual image and verifies its content and dimensions; ChatGPT must disclose a separate fetch limitation. If acknowledgement or content checks are unavailable, retain the limitation rather than claiming success. Do not retry or replay."
            },
            {
              "description": "Generate one video using the fixed Seedance 1.0 Pro Fast operation. Before starting, replace REVIEW_RUN_ID in preparation and approval with the same fresh UTC timestamp plus random suffix. Keep that identity fixed after approval. Use a fresh ChatGPT web conversation and explicitly select RunComfy before each preparation, approval and monitoring turn. Inspect the preparation before sending the separate approval. Stop on an unavailable tool, failed prerequisite, conflicting price or ambiguous submission. Do not retry automatically. \n\nHuman reference check: open the exact supplied image URL and verify its blue ceramic mug and 768\u00d7768 dimensions. Stop if it is inaccessible. Include the next statement only when true; it is human evidence, not successful ChatGPT fetching.\nOperator check: I opened the exact reference URL in my browser and verified a 768\u00d7768 blue ceramic mug image. This is human evidence, not a claim that your fetch succeeded.\n\nApproval after checking preparation and reference:\nI approve exactly one video using the unchanged reviewed arguments and idempotency_key=\"runcomfy-explicit-REVIEW_RUN_ID-p4\", at the reviewed price up to $0.10. Call generate_seedance_pro_fast_video once with wait_for_completion=false. Report the actual request ID, fixed model ID, submission.idempotency_applied and idempotency_status. Monitor only that ID with get_model_request_status and get_model_request_result. If no ID is returned or the submission outcome is ambiguous, stop and resolve the existing request before any further action; do not retry, replay, change the key or submit again. Cancel the known request if still active after 10 minutes and verify its outcome. Copy the actual MP4 URL verbatim and report only duration/dimensions you can verify; label unavailable metadata.\n\nRead-only follow-up if needed:\nFor the same existing video request only, retrieve its final result and copy the actual MP4 URL verbatim. Report only observed duration/dimensions and state any limitation. Do not generate another video.",
              "prompt": "Use RunComfy's dedicated generate_seedance_pro_fast_video tool to prepare one video. Read current metadata and pricing for bytedance/seedance-1.0/pro-fast/image-to-video with get_model, and use the dedicated tool's already-declared parameter schema. Use image_url=\"https://playgrounds-storage-public.runcomfy.net/plugin-submissions/runcomfy/2026-09-05-review-demo-a1c377a7/workflow-mug-recording-7f5d4818.png\", duration=5, resolution=\"480p\", ratio=\"1:1\", seed=20260906, and text=\"Subtle product-camera movement around the blue ceramic mug, preserving its shape and lighting, with no added objects, text or logo.\" Show these typed arguments directly, the current total estimate and balance. Check the reference image and disclose any fetch limitation. Review idempotency_key=\"runcomfy-explicit-REVIEW_RUN_ID-p4\" and a $0.10 ceiling. Stop if current pricing conflicts or exceeds that ceiling; wait for approval.",
              "tools_triggered": "get_model, get_balance, generate_seedance_pro_fast_video, get_model_request_status, get_model_request_result; cancel_model_request only if the watchdog requires cancellation",
              "expected_behavior": "Read current metadata/pricing for the fixed model and prepare the directly declared text, public HTTPS image URL, duration=5, resolution=480p, ratio=1:1 and seed arguments. The tool needs no runtime schema discovery. Show balance/price and wait for approval. Submit once through generate_seedance_pro_fast_video and report actual fixed model ID, request ID and true/confirmed acknowledgement. Monitor only its ID and return the MP4 URL verbatim. The human reviewer plays the actual returned MP4 and records observed duration/dimensions. ChatGPT must label unavailable metadata when its own fetch fails. The 480p pricing tier is not a guarantee of exactly 480-pixel output height. Do not retry or replay."
            },
            {
              "description": "Run one 50-step LoRA training job on the existing reviewer dataset. Before preparation, replace REVIEW_RUN_ID with one fresh, unused UTC timestamp plus a random suffix in both YAML name positions and the approval. Generate the timestamp/random suffix solely for this review and never reuse it. No private database or Kubernetes access is required. Do not rename a job after approval or retry a name conflict. Use a fresh ChatGPT web conversation and explicitly select RunComfy before each preparation, approval and monitoring turn. First send the prompt below, inspect the complete preparation, then send the stated approval only if all prerequisites and the current price are acceptable. If the app is unavailable, a prerequisite fails or the submission outcome is unknown, stop and record the issue. Do not retry automatically. \n\nApproval after checking the preparation; include this statement only when true:\nReviewer check: I generated REVIEW_RUN_ID for this review and have not used the resulting training name runcomfy_review_REVIEW_RUN_ID_50steps in any prior submission. The tools do not expose a name-availability check; this is reviewer-supplied information, not a tool or database verification. If the service reports a name conflict or the submission outcome is ambiguous, stop; do not rename or resubmit.\n\nI approve exactly one job using the unchanged complete YAML named runcomfy_review_REVIEW_RUN_ID_50steps, with gpu_type=\"ADA_80_PLUS\" and gpu_count=1, up to $3 and a 30-minute watchdog. Submit once and monitor only the returned job ID. Never duplicate, rename, resume, edit, upload or publish to Hugging Face. If submission has an unknown outcome without an ID, stop and verify job history; do not resubmit. Cancel the known job if still active after 30 minutes or at the spending ceiling, then verify terminal status. Otherwise report actual progress, terminal status and all reported errors, and copy the final checkpoint, configuration and sample URLs verbatim from the result. State any artifact-fetch limitation. Do not infer GPU release or an itemized final bill from STOPPED or wallet movement.\n\nRead-only follow-up if needed:\nFor this same training job only, fetch current status/result and copy the final step-50 checkpoint, configuration and sample URLs verbatim. Confirm actual 50/50 progress and reported errors without treating STOPPED alone as success. Do not reconstruct URLs or start, resume, rename or publish anything. Distinguish returned links from artifact contents you actually inspected; identify allocation/billing facts the tools cannot verify.",
              "prompt": "Prepare one short LoRA training job using existing dataset 142be334-6dbf-418f-91c4-df889694cb82, expected name runcomfy_review_blue_mug_20260905_verified. Confirm READY and these nonempty image/caption pairs: mug_01.png/mug_01.txt, mug_02.jpeg/mug_02.txt, mug_03.jpeg/mug_03.txt, mug_04.jpeg/mug_04.txt. Platform metadata such as .aitk_size.json is allowed. Do not upload or change files.\n\nReview the complete YAML below unchanged. Both names are runcomfy_review_REVIEW_RUN_ID_50steps. Pass hardware separately as gpu_type=\"ADA_80_PLUS\", gpu_count=1 (one H100). Confirm balance and the current H100 training rate from tools or public RunComfy pricing, naming the source; disclose when tools lack rate or name-availability fields. If no name lookup is exposed, accept the reviewer\u2019s explicit statement of a newly generated, never-used review name as reviewer-supplied provenance, not tool-confirmed availability; do not require private database access. A known name conflict still requires stopping. Show the complete config and the $3 ceiling/30-minute watchdog as operator controls, not API-enforced caps. Stop on a prerequisite or name conflict; do not rename, resume, publish or submit yet.\n\n```yaml\n---\njob: \"extension\"\nconfig:\n  name: \"runcomfy_review_REVIEW_RUN_ID_50steps\"\n  process:\n    - type: \"diffusion_trainer\"\n      training_folder: \"/app/ai-toolkit/output\"\n      sqlite_db_path: \"./aitk_db.db\"\n      device: \"cuda\"\n      trigger_word: \"rcblueceramicmug\"\n      performance_log_every: 10\n      network:\n        type: \"lora\"\n        linear: 16\n        linear_alpha: 16\n        conv: 16\n        conv_alpha: 16\n      save:\n        dtype: \"bf16\"\n        save_every: 25\n        max_step_saves_to_keep: 2\n        save_format: \"diffusers\"\n        push_to_hub: false\n      datasets:\n        - folder_path: \"/app/ai-toolkit/datasets/runcomfy_review_blue_mug_20260905_verified\"\n          default_caption: \"rcblueceramicmug, a blue ceramic mug\"\n          caption_ext: \"txt\"\n          caption_dropout_rate: 0.0\n          cache_latents_to_disk: true\n          resolution: [512]\n          num_frames: 1\n          flip_x: false\n          flip_y: false\n      train:\n        batch_size: 1\n        steps: 50\n        gradient_accumulation: 1\n        train_unet: true\n        train_text_encoder: false\n        gradient_checkpointing: true\n        noise_scheduler: \"flowmatch\"\n        optimizer: \"adamw8bit\"\n        timestep_type: \"weighted\"\n        content_or_style: \"balanced\"\n        optimizer_params:\n          weight_decay: 0.0001\n        unload_text_encoder: false\n        cache_text_embeddings: false\n        lr: 0.0001\n        ema_config:\n          use_ema: false\n        skip_first_sample: true\n        force_first_sample: false\n        disable_sampling: false\n        dtype: \"bf16\"\n        diff_output_preservation: false\n        loss_type: \"mse\"\n      model:\n        name_or_path: \"Tongyi-MAI/Z-Image-Turbo\"\n        quantize: false\n        quantize_te: false\n        arch: \"zimage:turbo\"\n        low_vram: false\n        assistant_lora_path: \"ostris/zimage_turbo_training_adapter/zimage_turbo_training_adapter_v2.safetensors\"\n      sample:\n        sampler: \"flowmatch\"\n        sample_every: 50\n        width: 512\n        height: 512\n        samples:\n          - prompt: \"[trigger], a blue ceramic mug on a light wooden table, soft natural window light, product photograph\"\n        neg: \"\"\n        seed: 42\n        walk_seed: false\n        guidance_scale: 1\n        sample_steps: 8\n        num_frames: 1\nmeta:\n  name: \"runcomfy_review_REVIEW_RUN_ID_50steps\"\n  version: \"1.0\"\n```",
              "tools_triggered": "list_datasets, get_dataset_status, get_balance, submit_training_job, get_training_job_status, get_training_job_result; cancel_training_job only if the watchdog or ceiling requires cancellation",
              "expected_behavior": "Confirm the existing dataset is READY and contains the eight required nonempty image/caption files; a file listing alone does not inspect their contents. Show the complete unchanged YAML, one H100, balance and a sourced current rate, then wait for approval. If no name-availability tool exists, a truthful reviewer statement that the timestamp/random name was generated for this review and never used is sufficient disclosed provenance; do not claim database verification. Stop on a known conflict or ambiguous submission, without renaming or retrying. Submit once and monitor the returned ID. Require actual 50/50 progress, a terminal state, no reported failure and the job's current step-50 checkpoint, configuration and sample URLs copied verbatim. STOPPED alone is insufficient. The human reviewer opens the returned sample and separately checks the returned checkpoint and configuration links; retain any unavailable content check as incomplete. Do not invent URLs, imply inaccessible bytes were inspected, infer GPU release or calculate billing from the known unreliable started_at field. GPU allocation and itemized billing require separate operator evidence. They are not established by ChatGPT output, and private SQL/Kubernetes access is not a reviewer prerequisite; report unavailable verification explicitly."
            }
          ],
          "negative": [
            {
              "description": "Educational comparison. Use ordinary Chat without selecting RunComfy. The request expressly excludes account access and execution; answer the comparison without invoking RunComfy.",
              "prompt": "Explain the difference between ComfyUI and Automatic1111. Do not connect to my RunComfy account or run anything.",
              "expected_behavior": "Provide the complete educational answer without RunComfy tool calls, account access or mutations."
            },
            {
              "description": "Educational explanation of VRAM for local ComfyUI. Use ordinary Chat without selecting RunComfy. No account access or cloud job is needed; answer without invoking RunComfy.",
              "prompt": "What does GPU VRAM mean, and how does it affect running ComfyUI on my own computer? I only want an explanation.",
              "expected_behavior": "Provide the complete educational answer without RunComfy tool calls, account access or mutations."
            },
            {
              "description": "Educational explanation of both LoRA rank and learning rate. Use ordinary Chat without selecting RunComfy. The request expressly excludes dataset, file and training actions; answer without invoking RunComfy.",
              "prompt": "Explain LoRA rank and learning rate for FLUX training. Do not create a dataset, upload files, or start a training job.",
              "expected_behavior": "Provide the complete educational answer without RunComfy tool calls, account access or mutations."
            }
          ]
        },
        "demo_recording_url": "https://playgrounds-storage-public.runcomfy.net/plugin-submissions/runcomfy/2026-10-16-review-7b9e04/runcomfy-v1.0.4-web-walkthrough.mp4"
      },
      "publication": {
        "release_notes": "Adds multilingual discovery keywords for RunComfy image and video creation, product visuals, ComfyUI workflows and LoRA training. No changes to MCP configuration, tools, listing descriptions, assets, or review cases."
      }
    }
  },
  "keywords": [
    "RunComfy",
    "Run Comfy",
    "RunComfy MCP",
    "ai image generator",
    "image generator",
    "text to image",
    "ai art generator",
    "nano banana",
    "flux",
    "qwen",
    "ai character generator",
    "concept art",
    "image from reference",
    "ai image editor",
    "image editor",
    "ai photo editor",
    "photo editing",
    "edit image",
    "background replacement",
    "restyle image",
    "nano banana edit",
    "flux kontext",
    "qwen image edit",
    "product photography",
    "product photos",
    "ai product photography",
    "ecommerce images",
    "product background",
    "product lifestyle images",
    "white background product photo",
    "ai product images",
    "product image generator",
    "product image variations",
    "ai video generator",
    "video generator",
    "text to video",
    "ai video editor",
    "edit video",
    "seedance",
    "wan",
    "kling",
    "reference to video",
    "video variations",
    "image to video",
    "photo to video",
    "animate image",
    "animate photo",
    "ai animation",
    "product video",
    "product animation",
    "seedance image to video",
    "wan image to video",
    "kling image to video",
    "comfyui",
    "comfy ui",
    "comfyui workflow",
    "comfyui api",
    "run comfyui",
    "comfyui cloud",
    "comfyui serverless",
    "workflow api",
    "comfyui deployment",
    "comfyui troubleshooting",
    "lora training",
    "train lora",
    "flux lora",
    "ai toolkit",
    "character lora",
    "product lora",
    "custom lora",
    "dataset captions",
    "lora checkpoints",
    "lora inference",
    "AI image generation",
    "generate AI images",
    "text-to-image",
    "AI art",
    "AI illustration",
    "AI artwork generator",
    "AI painting",
    "prompt to image",
    "reference image generation",
    "image variations",
    "AI concept art",
    "character design",
    "image to image",
    "image-to-image",
    "AI image editing",
    "AI photo editing",
    "photo retouching",
    "replace image background",
    "generative image editing",
    "image restyling",
    "edit photos with text",
    "product photo generator",
    "ecommerce product photography",
    "AI product photos",
    "product visuals",
    "studio product photos",
    "lifestyle product photos",
    "product advertising images",
    "catalog product images",
    "product scene generator",
    "product mockup images",
    "AI video generation",
    "generate AI videos",
    "text-to-video",
    "prompt to video",
    "AI video creation",
    "reference video generation",
    "AI video editing",
    "video restyling",
    "short video generation",
    "image-to-video",
    "photo animation",
    "animate pictures",
    "turn photos into videos",
    "still image animation",
    "product demo video",
    "animated product photos",
    "AI motion",
    "ComfyUI online",
    "ComfyUI hosting",
    "ComfyUI cloud GPU",
    "ComfyUI workflow runner",
    "ComfyUI workflow execution",
    "ComfyUI inference",
    "ComfyUI inference API",
    "ComfyUI JSON workflow",
    "run ComfyUI workflows",
    "saved ComfyUI workflows",
    "deploy ComfyUI workflows",
    "cloud GPU workflows",
    "workflow results",
    "ComfyUI in ChatGPT",
    "LoRA model training",
    "train a custom LoRA",
    "FLUX LoRA training",
    "LoRA dataset",
    "LoRA dataset preparation",
    "training image captions",
    "custom character training",
    "custom product training",
    "AI model personalization",
    "LoRA training status",
    "LoRA training checkpoints",
    "LoRA model files",
    "FLUX Schnell",
    "FLUX image generator",
    "Nano Banana Pro",
    "Seedream",
    "GPT-Image",
    "GPT Image",
    "Qwen Image",
    "Seedance video generator",
    "WAN video generator",
    "Kling video generator",
    "Veo",
    "Vidu",
    "AI\u56fe\u7247\u751f\u6210\u5668",
    "AI\u7ed8\u753b",
    "\u6587\u5b57\u751f\u6210\u56fe\u7247",
    "\u6587\u751f\u56fe",
    "AI\u5716\u7247\u7522\u751f\u5668",
    "AI\u7e6a\u5716",
    "\u6587\u5b57\u751f\u6210\u5716\u7247",
    "\u6587\u5b57\u8f49\u5716\u7247",
    "AI\u753b\u50cf\u751f\u6210",
    "\u753b\u50cf\u751f\u6210AI",
    "\u30c6\u30ad\u30b9\u30c8\u304b\u3089\u753b\u50cf\u751f\u6210",
    "\u6587\u7ae0\u304b\u3089\u753b\u50cf\u3092\u4f5c\u6210",
    "AI \uc774\ubbf8\uc9c0 \uc0dd\uc131\uae30",
    "AI \uadf8\ub9bc \uc0dd\uc131",
    "\ud14d\uc2a4\ud2b8\ub85c \uc774\ubbf8\uc9c0 \uc0dd\uc131",
    "\uc124\uba85\uc73c\ub85c \uc774\ubbf8\uc9c0 \ub9cc\ub4e4\uae30",
    "generador de im\u00e1genes con IA",
    "crear im\u00e1genes con IA",
    "generar im\u00e1genes a partir de texto",
    "crear im\u00e1genes a partir de una referencia",
    "gerador de imagens com IA",
    "criar imagens com IA",
    "gerar imagens a partir de texto",
    "criar imagens a partir de uma refer\u00eancia",
    "g\u00e9n\u00e9rateur d'images IA",
    "cr\u00e9er des images avec l'IA",
    "g\u00e9n\u00e9rer une image \u00e0 partir d'un texte",
    "cr\u00e9er une image \u00e0 partir d'une r\u00e9f\u00e9rence",
    "KI-Bildgenerator",
    "KI Bildgenerator",
    "Bilder mit KI erstellen",
    "Bild aus Text erstellen",
    "\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0418\u0418",
    "\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0418\u0418",
    "\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u043f\u043e \u0442\u0435\u043a\u0441\u0442\u0443",
    "\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0441\u0443",
    "AI\u56fe\u7247\u7f16\u8f91",
    "AI\u4fee\u56fe",
    "\u7528\u6587\u5b57\u4fee\u6539\u56fe\u7247",
    "AI\u5716\u7247\u7de8\u8f2f",
    "AI\u4fee\u5716",
    "\u7528\u6587\u5b57\u4fee\u6539\u5716\u7247",
    "AI\u753b\u50cf\u7de8\u96c6",
    "AI\u5199\u771f\u52a0\u5de5",
    "\u30c6\u30ad\u30b9\u30c8\u6307\u793a\u3067\u753b\u50cf\u7de8\u96c6",
    "AI \uc774\ubbf8\uc9c0 \ud3b8\uc9d1",
    "AI \uc0ac\uc9c4 \ubcf4\uc815",
    "\ud14d\uc2a4\ud2b8 \uc9c0\uc2dc\ub85c \uc774\ubbf8\uc9c0 \uc218\uc815",
    "editor de im\u00e1genes con IA",
    "editar fotos con IA",
    "editar una imagen con instrucciones de texto",
    "editor de imagens com IA",
    "editar fotos com IA",
    "editar uma imagem com instru\u00e7\u00f5es de texto",
    "\u00e9diteur d'images IA",
    "retoucher des photos avec l'IA",
    "modifier une image avec des instructions textuelles",
    "KI-Bildeditor",
    "Fotos mit KI bearbeiten",
    "Bild mit Textanweisungen bearbeiten",
    "\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0441 \u0418\u0418",
    "\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u043e\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0418\u0418",
    "\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c\u0443 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e",
    "AI\u4ea7\u54c1\u6444\u5f71",
    "AI\u5546\u54c1\u56fe\u751f\u6210",
    "\u4ea7\u54c1\u56fe\u6362\u80cc\u666f",
    "AI\u5546\u54c1\u651d\u5f71",
    "AI\u5546\u54c1\u5716\u751f\u6210",
    "\u5546\u54c1\u7167\u7247\u63db\u80cc\u666f",
    "AI\u5546\u54c1\u64ae\u5f71",
    "AI\u5546\u54c1\u753b\u50cf\u751f\u6210",
    "\u5546\u54c1\u5199\u771f\u306e\u80cc\u666f\u5909\u66f4",
    "AI \uc81c\ud488 \uc0ac\uc9c4",
    "AI \uc0c1\ud488 \uc774\ubbf8\uc9c0 \uc0dd\uc131",
    "\uc81c\ud488 \uc0ac\uc9c4 \ubc30\uacbd \ubcc0\uacbd",
    "fotograf\u00eda de producto con IA",
    "generador de im\u00e1genes de productos",
    "cambiar el fondo de fotos de productos",
    "fotografia de produtos com IA",
    "gerador de imagens de produtos",
    "trocar o fundo de fotos de produtos",
    "photographie de produits avec l'IA",
    "g\u00e9n\u00e9rateur d'images de produits",
    "changer le fond des photos de produits",
    "Produktfotografie mit KI",
    "Produktbilder mit KI erstellen",
    "Hintergrund von Produktfotos \u00e4ndern",
    "\u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043d\u0430\u044f \u0444\u043e\u0442\u043e\u0441\u044a\u0451\u043c\u043a\u0430 \u0441 \u0418\u0418",
    "\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0442\u043e\u0432\u0430\u0440\u043e\u0432",
    "\u0437\u0430\u043c\u0435\u043d\u0430 \u0444\u043e\u043d\u0430 \u043d\u0430 \u0444\u043e\u0442\u043e \u0442\u043e\u0432\u0430\u0440\u0430",
    "AI\u89c6\u9891\u751f\u6210\u5668",
    "\u6587\u751f\u89c6\u9891",
    "\u6587\u5b57\u751f\u6210\u77ed\u89c6\u9891",
    "AI\u5f71\u7247\u7522\u751f\u5668",
    "\u6587\u5b57\u8f49\u5f71\u7247",
    "\u6587\u5b57\u751f\u6210\u77ed\u5f71\u7247",
    "AI\u52d5\u753b\u751f\u6210",
    "\u30c6\u30ad\u30b9\u30c8\u304b\u3089\u52d5\u753b\u751f\u6210",
    "\u6587\u7ae0\u304b\u3089\u77ed\u3044\u52d5\u753b\u3092\u4f5c\u6210",
    "AI \ub3d9\uc601\uc0c1 \uc0dd\uc131\uae30",
    "\ud14d\uc2a4\ud2b8\ub85c \ub3d9\uc601\uc0c1 \ub9cc\ub4e4\uae30",
    "\uc124\uba85\uc73c\ub85c \uc9e7\uc740 \ub3d9\uc601\uc0c1 \uc0dd\uc131",
    "generador de videos con IA",
    "generar video a partir de texto",
    "crear un video corto con un prompt",
    "gerador de v\u00eddeos com IA",
    "gerar v\u00eddeo a partir de texto",
    "criar um v\u00eddeo curto com um prompt",
    "g\u00e9n\u00e9rateur de vid\u00e9os IA",
    "g\u00e9n\u00e9rer une vid\u00e9o \u00e0 partir de texte",
    "cr\u00e9er une courte vid\u00e9o avec un prompt",
    "KI-Videogenerator",
    "Video aus Text erstellen",
    "Kurzes Video mit einem Prompt erstellen",
    "\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0432\u0438\u0434\u0435\u043e \u0441 \u0418\u0418",
    "\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0432\u0438\u0434\u0435\u043e \u043f\u043e \u0442\u0435\u043a\u0441\u0442\u0443",
    "\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0435 \u0432\u0438\u0434\u0435\u043e \u043f\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e",
    "\u56fe\u751f\u89c6\u9891",
    "\u56fe\u7247\u8f6c\u89c6\u9891",
    "\u8ba9\u7167\u7247\u52a8\u8d77\u6765",
    "\u9759\u6001\u56fe\u7247\u52a8\u753b",
    "\u5716\u751f\u5f71\u7247",
    "\u5716\u7247\u8f49\u5f71\u7247",
    "\u8b93\u7167\u7247\u52d5\u8d77\u4f86",
    "\u975c\u614b\u5716\u7247\u52d5\u756b",
    "\u753b\u50cf\u304b\u3089\u52d5\u753b\u751f\u6210",
    "\u5199\u771f\u3092\u52d5\u753b\u306b\u3059\u308b",
    "\u5199\u771f\u3092\u52d5\u304b\u3059AI",
    "\u9759\u6b62\u753b\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3",
    "\uc774\ubbf8\uc9c0\ub85c \ub3d9\uc601\uc0c1 \ub9cc\ub4e4\uae30",
    "\uc0ac\uc9c4\uc744 \ub3d9\uc601\uc0c1\uc73c\ub85c \ubcc0\ud658",
    "\uc0ac\uc9c4 \uc6c0\uc9c1\uc774\uac8c \ub9cc\ub4e4\uae30",
    "\uc815\uc9c0 \uc774\ubbf8\uc9c0 \uc560\ub2c8\uba54\uc774\uc158",
    "generar video a partir de una imagen",
    "convertir foto en video",
    "animar fotos con IA",
    "animaci\u00f3n de im\u00e1genes est\u00e1ticas",
    "gerar v\u00eddeo a partir de uma imagem",
    "transformar foto em v\u00eddeo",
    "animar fotos com IA",
    "anima\u00e7\u00e3o de imagens est\u00e1ticas",
    "g\u00e9n\u00e9rer une vid\u00e9o \u00e0 partir d'une image",
    "transformer une photo en vid\u00e9o",
    "animer des photos avec l'IA",
    "animation d'images fixes",
    "Video aus einem Bild erstellen",
    "Foto in Video umwandeln",
    "Fotos mit KI animieren",
    "Animation aus Standbildern",
    "\u0432\u0438\u0434\u0435\u043e \u0438\u0437 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f",
    "\u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0444\u043e\u0442\u043e \u0432 \u0432\u0438\u0434\u0435\u043e",
    "\u043e\u0436\u0438\u0432\u0438\u0442\u044c \u0444\u043e\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0418\u0418",
    "\u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439",
    "ComfyUI\u4e91\u7aef\u8fd0\u884c",
    "ComfyUI\u5de5\u4f5c\u6d41",
    "ComfyUI\u5de5\u4f5c\u6d41API",
    "LoRA\u8bad\u7ec3",
    "\u8bad\u7ec3\u81ea\u5b9a\u4e49LoRA",
    "LoRA\u8bad\u7ec3\u6570\u636e\u96c6",
    "ComfyUI\u96f2\u7aef\u57f7\u884c",
    "ComfyUI\u5de5\u4f5c\u6d41\u7a0b",
    "ComfyUI\u5de5\u4f5c\u6d41\u7a0bAPI",
    "LoRA\u8a13\u7df4",
    "\u8a13\u7df4\u81ea\u8a02LoRA",
    "LoRA\u8a13\u7df4\u8cc7\u6599\u96c6",
    "ComfyUI\u30af\u30e9\u30a6\u30c9",
    "ComfyUI\u30ef\u30fc\u30af\u30d5\u30ed\u30fc",
    "ComfyUI\u3092\u30aa\u30f3\u30e9\u30a4\u30f3\u3067\u5b9f\u884c",
    "LoRA\u5b66\u7fd2",
    "\u30ab\u30b9\u30bf\u30e0LoRA\u3092\u5b66\u7fd2",
    "LoRA\u5b66\u7fd2\u7528\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8",
    "ComfyUI \ud074\ub77c\uc6b0\ub4dc",
    "ComfyUI \uc6cc\ud06c\ud50c\ub85c",
    "\uc628\ub77c\uc778\uc73c\ub85c ComfyUI \uc2e4\ud589",
    "LoRA \ud559\uc2b5",
    "\ub9de\ucda4 LoRA \ud559\uc2b5",
    "LoRA \ud559\uc2b5 \ub370\uc774\ud130\uc14b",
    "ComfyUI en la nube",
    "flujos de trabajo de ComfyUI",
    "ejecutar ComfyUI online",
    "entrenamiento LoRA",
    "entrenar un LoRA personalizado",
    "dataset para entrenar LoRA",
    "ComfyUI na nuvem",
    "fluxos de trabalho do ComfyUI",
    "executar ComfyUI online",
    "treinamento LoRA",
    "treinar um LoRA personalizado",
    "conjunto de dados para treinar LoRA",
    "ComfyUI dans le cloud",
    "workflows ComfyUI",
    "ex\u00e9cuter ComfyUI en ligne",
    "entra\u00eenement LoRA",
    "entra\u00eener un LoRA personnalis\u00e9",
    "jeu de donn\u00e9es pour l'entra\u00eenement LoRA",
    "ComfyUI in der Cloud",
    "ComfyUI-Workflows",
    "ComfyUI online ausf\u00fchren",
    "LoRA-Training",
    "eigenes LoRA trainieren",
    "Datensatz f\u00fcr LoRA-Training",
    "ComfyUI \u0432 \u043e\u0431\u043b\u0430\u043a\u0435",
    "\u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b ComfyUI",
    "\u0437\u0430\u043f\u0443\u0441\u043a ComfyUI \u043e\u043d\u043b\u0430\u0439\u043d",
    "\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 LoRA",
    "\u043e\u0431\u0443\u0447\u0438\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e LoRA",
    "\u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f LoRA"
  ],
  "apps": "./.app.json"
}

SHA-256: 0becd2d0f550eaf386b76d6503c52b2f09d42d5f8ea80e95a118f8b9ed3dd45e