The KAGAMI mark КАГАМИ
kagami.bg/academy · lesson · machine-readable viewUPDATED 2026-10-03
IDENTITY
module
GX10-04-23 · ComfyUI image generation and model licences
series
GX10 (local AI server class: NVIDIA GB10, e.g. ASUS Ascent GX10 / DGX Spark)
level
Intermediate
duration
about 2 h (model downloads take extra time)
prerequisites
A GB10-class machine with DGX OS (Arm64), shell access (local or SSH), Python 3 with venv, git, a free Hugging Face account, tens of GB of free disk
trust_label
UPDATED 2026-10-03 (licence fields read on the Hugging Face model pages and the FLUX.1 [dev] licence text on 2026-10-03; install steps follow the NVIDIA DGX Spark ComfyUI playbook and the ComfyUI README) · NOT TESTED (no GB10 machine available during the check; commands not run)
versions
ComfyUI pinned to tag v0.33.2 as in the NVIDIA playbook (check the latest stable tag) · PyTorch from the cu130 wheel index · port 8188
language
human view: bg · english edition: /en/academy/gx10/ (same file name)
previous / next
GX10 series index / GX10 series index
PURPOSE

Install ComfyUI (node-based diffusion UI) on a GB10-class machine in a Python virtual environment, bound to loopback and reached through an SSH tunnel; generate a first image with Z-Image-Turbo (Apache-2.0) and a FLUX.1 [schnell] text-to-image graph (Apache-2.0); know which image models may be used for paid client work and which may not, before any asset enters a commercial project.

KEY CONCEPTS
COMMANDS / PATHS
CHECKLIST
NEXT MODULE

04-219 · What fits on GX10: the memory math (04-219_Kakvo_Tezhi_na_GX10.html) · 04-220 · Model versions reference (04-220_Versii_na_Modelite.html) · series index: kagami.bg/en/academy/gx10/ · offer: Quick experiment (kagami.bg/en/stalbata/)

SOURCES
TAGS
gx10nvidia-gb10arm64comfyuifluxz-imagelicencesimage-generation
UPDATED · 03.10.2026

ComfyUI on GX10: Image Generation with Nodes, and Which Models Are Fine for Paid Work

ComfyUI is an editor where you build image generation from nodes connected with wires: you load a model, describe the picture, run it through a sampler and save it. Here we set it up on a local AI server of the NVIDIA GB10 class, make the first images and — above all — check the licence of every model, because some of the best-known ones cannot be used for paid work.

⏱ 2 h Intermediate GX10 NVIDIA GB10 · 128 GB shared memory ComfyUI · FLUX · Z-Image-Turbo
ComfyUI · PyTorch (ARM64)🔒 local The models (after download)🔒 local Hugging Face (download only)🌐 global
🔄
UPDATED · 03.10.2026 — what
The lesson has been reworked against current documents. We removed what was out of date: a third-party Docker image (ai-dock/comfyui) whose documentation gives no ARM64 data; the claim that FLUX.1 [dev] is for "any" kind of work; the values "28–30 steps" for every FLUX model; the promise that on GX10 batch_size=4 gives "4 parallel inferences" (memory is shared and we have not measured anything like that); the table of extensions without a source; the link to another LoRA lesson that did not point to an available file; remote access with a machine name in the command. We added: a check of the model licences on their Hugging Face pages (read on 03.10.2026) and a clear answer on what is fine for commercial work; an install that follows the NVIDIA guide for DGX Spark and the ComfyUI README; FLUX.1 [schnell] (Apache-2.0) instead of FLUX.1 [dev]; Z-Image-Turbo as a first test; the correct folders for the files; a warning that images carry the whole workflow inside them; security notes.
⚠️
What we have not run ourselves
We had no GB10-class machine during the check. The commands are checked against the official documents, but they have not been run — so there is no "TESTED" or "VERIFIED" label. We have not measured speed or how much memory FLUX takes on this machine. The SDXL licence is unclear (see the table) and we have not read its text. This is not legal advice: for a real client project read the licence on the model's own page and consult a lawyer.

01What you will learn

02Before you start

💡
Why ARM64 and shared memory matter
The CPU is not x86, so not everything made for an "ordinary" graphics card runs. For that reason we do not give a ready third-party Docker image: its documentation lists NVIDIA CUDA, AMD ROCm and CPU platforms, without ARM64. The NVIDIA guide for DGX Spark uses an install in a Python environment — we follow it. Memory is shared between the CPU and the GPU (128 GB), so the line "Memory-Usage: Not Supported" in nvidia-smi is normal (NVIDIA confirms this).

03Steps

  1. What goes where

    Everything lives in one folder: the Python environment, ComfyUI itself and a models/ folder with the model files. Why separate model folders? One model consists of several files (the main model, a text encoder, a decoder), and ComfyUI looks for each in its own place.

    Folder in ComfyUI/models/What goes there
    unet/ or diffusion_models/The main model (for FLUX — flux1-schnell.safetensors)
    text_encoders/Text encoders that turn the description into numbers
    vae/The ae.safetensors decoder that turns numbers into pixels
    loras/Small add-ons to the model (step 9)
  2. Licence first, download second

    This is the main difference between "it runs" and "we can sell it". Below is what the Hugging Face model pages say, read on 03.10.2026. Licences change — before every new project open the model's page and check again.

    ModelLicence (as on the page)Fine for commercial work?
    FLUX.1 [schnell]Apache-2.0; the card says "personal, scientific, and commercial purposes"Yes
    FLUX.2 [klein] 4BApache-2.0; "open weights available for commercial use"Yes
    Z-Image-TurboApache-2.0Yes
    Qwen-ImageApache-2.0Yes
    Text encoders flux_text_encoders (clip_l, t5xxl)Apache-2.0 (as on the page of this copy)Yes ⚠️ we have not checked the licences of the original models
    Stable Diffusion 3.5 LargeStability Community License: free, including commercial use, below USD 1 million total annual revenue; above that an enterprise licenceConditional — only below the threshold; read the agreement
    SDXL base 1.0The field says openrail++, but in the "Direct Use" section the card says "intended for research purposes only"Unclear ⚠️ — we have not read the text; do not use it for a client until we have checked
    FLUX.1 [dev]FLUX.1 [dev] Non-Commercial LicenseNo
    FLUX.1 Krea [dev]The same non-commercial licence as FLUX.1 [dev]No
    FLUX.2 [dev]FLUX Non-Commercial License; for commercial users the vendor points to separate "Self-Hosted Commercial License Terms"No — only with a paid licence from the vendor
    FLUX.2 [klein] 9BFLUX Non-Commercial LicenseNo
    ✅
    For paid work: FLUX.1 [schnell], not FLUX.1 [dev]
    That is why this lesson builds the workflow on schnell. If you have ready workflows for [dev], swap the model for schnell and reduce the steps (step 8).
    ⚠️
    "But the images are mine, right?" — do not rely on that
    The text of the FLUX.1 [dev] licence contradicts itself about outputs. Section 2(d) says Output may be used for any purpose, including commercial. Section 4(a), however, forbids using the model or "any data produced by the FLUX.1 [dev] Model" for "any commercial or production purposes". And "Non-Commercial Purpose" excludes revenue-generating activity and work that directly affects end users. For client work do not bet on the more favourable reading — use a model under Apache-2.0.

    One more thing: Apache-2.0 for the model does not mean every image is safe. Trademarks, the likenesses of real people and other people's works remain your responsibility.

  3. Check the machine

    bash · on the machine
    python3 --version
    pip3 --version
    nvidia-smi

    You expect a Python version, a working pip3 and a table with the GPU. The memory line may say "Not Supported" — that is normal for GB10.

  4. Install ComfyUI

    We make an isolated Python environment so that we do not touch system packages. This follows the steps of the NVIDIA guide for DGX Spark: PyTorch for CUDA 13.0 (suitable for Blackwell), then ComfyUI and its dependencies.

    bash · on the machine
    python3 -m venv comfyui-env
    source comfyui-env/bin/activate
    
    pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu130
    
    git clone --branch v0.33.2 https://github.com/comfyanonymous/ComfyUI.git
    cd ComfyUI/
    pip install -r requirements.txt

    Version v0.33.2 is the one the NVIDIA guide pins as of 03.10.2026. ComfyUI ships a new version about every two weeks — see the latest stable tag on GitHub. We have not run these commands.

  5. Download the FLUX.1 [schnell] models

    First log in to Hugging Face and accept the conditions on the FLUX.1-schnell page (even though the licence is free, the page asks for consent to share contact details). Then download the three groups of files — each into its own folder. From the ComfyUI/ folder:

    bash · from ComfyUI/
    pip install -U huggingface_hub
    hf auth login
    
    hf download black-forest-labs/FLUX.1-schnell flux1-schnell.safetensors --local-dir models/unet
    hf download black-forest-labs/FLUX.1-schnell ae.safetensors --local-dir models/vae
    hf download comfyanonymous/flux_text_encoders clip_l.safetensors t5xxl_fp16.safetensors --local-dir models/text_encoders

    File and folder names follow the ComfyUI examples for FLUX. There is also a lighter text encoder (t5xxl_fp8_e4m3fn_scaled) for less memory; with 128 GB of shared memory it is more natural to use the full one. ⚠️ The download commands have not been run; if a name does not resolve, check the file list on the model's page.

  6. Start it and open it from your own computer

    bash · on the machine
    python main.py

    Without extra options ComfyUI listens only on the machine itself, on port 8188. In a second terminal window check:

    bash
    curl -I http://localhost:8188

    You expect an HTTP 200 response. From your own computer you reach the editor through an SSH tunnel — a protected corridor that opens nothing to the network:

    bash · on your computer
    ssh -L 8188:localhost:8188 <user>@<server-address>

    Leave the connection open and open http://localhost:8188 in your browser.

    ⚠️
    Do not run --listen 0.0.0.0 on a shared network
    The NVIDIA guide uses it so that the machine can be reached from other devices — that opens the editor to the whole network. ComfyUI has no built-in password you can rely on, and code is started through the editor. Keep it on loopback and use the tunnel.
  7. First test: Z-Image-Turbo

    We start with the simplest thing NVIDIA describes for DGX Spark: a ready template. The model is Apache-2.0 and consists of three files (about 20 GB in total). From ComfyUI/:

    bash · from ComfyUI/
    wget -P models/diffusion_models/ https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/diffusion_models/z_image_turbo_bf16.safetensors
    wget -P models/text_encoders/ https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/text_encoders/qwen_3_4b.safetensors
    wget -P models/vae/ https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/vae/ae.safetensors

    Restart ComfyUI, then in the browser: Templates → Image → Z-Image-Turbo: Text to Image → Run. If a file is missing, ComfyUI shows an error with a download address and a folder. NVIDIA writes that the image is produced in about 30 seconds ⚠️ — we have not measured our own time. Watch the GPU with nvidia-smi in a second window.

  8. A workflow with FLUX.1 [schnell]

    Now the same, but with the model whose licence is clear for paid work. The graph is the same as the ComfyUI examples show it — you can drag the example image from the examples page onto the editor and the workflow loads (ComfyUI saves the workflow inside the images themselves). Or assemble it by hand:

    NodeWhat you set
    Load Diffusion Modelflux1-schnell.safetensors
    DualCLIPLoaderclip_l + t5xxl_fp16, type flux
    Load VAEae.safetensors
    CLIP Text EncodeThe description of the picture (English usually works better)
    Empty Latent ImageSize, for example 1024 × 1024, batch_size 1
    KSamplersteps 4, cfg 1.0, sampler euler, simple ⚠️ the last two are defaults in the examples; we have not checked them
    VAE Decode → Save ImageTurns the result into pixels and saves it to output/
    💡
    What is different about schnell
    schnell is distilled for 1 to 4 steps (per the model page), and the diffusers example uses guidance_scale=0.0 and 4 steps. That is why we use 4 steps and cfg 1.0 — not 28–30, as the old versions of this lesson said for FLUX [dev]. The [dev] page shows other values (its example uses 50 steps and guidance 3.5). Do not carry settings over between the two models. ⚠️ A negative prompt is pointless at cfg 1.0, but KSampler wants an input for it — connect the same description; this has not been checked against a document.

    If you need a faster option under a commercial licence, also look at FLUX.2 [klein] 4B (Apache-2.0, about 13 GB of memory per the model page): it is on the supported list in the ComfyUI README, but we have not written out its workflow here.

  9. LoRA: a small add-on with a big licence

    A LoRA is a small file that "teaches" the base model a style or an object. It goes into models/loras/ and is attached with a LoRA-loading node between the model loader and the sampler. Two rules:

    • Only for the model it was trained for. A LoRA trained for FLUX.1 [dev] does not load onto schnell.
    • The base's licence carries over. The FLUX.1 [dev] licence defines as a "Derivative" any modified or fine-tuned version of the model. So a LoRA made on [dev] is not for paid work. For commercial use train on an Apache-2.0 model and keep a record of which model it was made on.

    If your LoRA has a trigger word, include it in the description; start the LoRA strength at around 0.8 and adjust by eye. ⚠️ We have not trained or tested a LoRA here.

  10. Security: extensions and images

    • Extensions (custom nodes) run code on the machine. They are usually installed through ComfyUI-Manager: the ComfyUI README says to enable it with pip install -r manager_requirements.txt and python main.py --enable-manager (check python main.py --help for your version ⚠️). Install only from sources you have checked.
    • Every image carries its whole workflow — ComfyUI saves it in the file, including the descriptions and the sampling seed. Before you send or publish an image, clear the metadata (for example by exporting it again through an image editor).
    • Download models from the producers' own pages, not from random copies.
    • Keep ComfyUI on loopback and reach it through the tunnel (step 6).
  11. Monitoring

    bash
    nvidia-smi

    It shows the GPU load (without a memory counter — see "Before you start"). For how much memory your models take, see the lesson "What fits on GX10".

04Check

Test

1. Which of these models may be used for paid client work according to its page?

2. What is the right way to reach ComfyUI from your own computer?

3. You trained a LoRA on FLUX.1 [dev]. Can you use it in paid work?

4. Why do we use 4 steps in the FLUX.1 [schnell] graph?

05What's next

06Sources

  1. NVIDIA: Generate Images and Videos with ComfyUI (DGX Spark) — install, PyTorch for CUDA 13.0, the Z-Image-Turbo template, port 8188.
  2. ComfyUI on GitHub (README) 🔒 local — Python, ComfyUI-Manager, workflow inside images.
  3. ComfyUI: FLUX examples — folders and files.
  4. FLUX.1-schnell · FLUX.1-dev · FLUX.1-Krea-dev 🌐 global — licences.
  5. FLUX.2-dev · FLUX.2-klein-4B · FLUX.2-klein-9B — licences.
  6. Stable Diffusion 3.5 Large · SDXL base 1.0 — licences.
  7. Qwen-Image · Z-Image-Turbo · flux_text_encoders — licences and files.
  8. The text of the FLUX.1 [dev] licence — sections 2(d), 4(a) and the definition of "Non-Commercial Purpose".