Diferència entre revisions de la pàgina «Models locals IA»

De wikijoan
Salta a la navegació Salta a la cerca
(Es crea la pàgina amb «=Generació d'imatges= * https://claude.ai/chat/72d0e5ec-a147-4f13-bdd3-8a61a9809da9 ==prompt== <pre> amb una targeta RTX 5060 Ti 16GB, puc tenir algun model IA per po...».)
 
Línia 474: Línia 474:
 
}
 
}
 
</pre>
 
</pre>
 +
Una alternativa equivalent és anar a Workflow → Browse Templates i obrir la plantilla de Flux Dev, que també ve ja connectada.
  
 
{{Autor}}, octubre 2026
 
{{Autor}}, octubre 2026

Revisió del 06:33, 14 oct 2026

Generació d'imatges

prompt

amb una targeta RTX 5060 Ti 16GB, puc tenir algun model IA per poder fer imatges artístiques tipus watercolor?

Sí, i força bé: 16 GB de VRAM és la quantitat que importa per a la generació d’imatges en local, i n’hi ha prou per als models bons actuals.

Què pots fer servir

-Flux.1 (dev o schnell): és el model obert de més qualitat i el que segueix millor les instruccions. En versió quantitzada (FP8, o GGUF Q8) cap còmodament en 16 GB.
-Stable Diffusion 3.5 Large: a FP8 baixa d’uns 18 GB a uns 11 GB de VRAM, així que hi cap.
-SDXL: és més antic, però va molt ràpid en la teva targeta i té el catàleg més gran de LoRA d’estil aquarel·la (a Civitai n’hi ha moltes). Per a estils artístics sovint és el més pràctic.

ComfyUI: és l’estàndard ara mateix. Funciona amb nodes, té una mica de corba d’aprenentatge, però hi ha workflows ja fets per a img2img + ControlNet que només has de carregar. Amb ComfUI puc fer servir el model Flux.1 (dev) i provar la generació d'imatges a partir de prompts.

Instal·lació ComfyUI. Model Flux.1

Descarregar ComfyUI i crear el venv, i activar-lo:

git clone https://github.com/comfyanonymous/ComfyUI.git
   cd ComfyUI
python -m venv venv

   source venv/bin/activate

Instal·lar PyTorch amb CUDA 12.8, comprova que detecta la GPU, Instal·lar les dependències de ComfyUI:

pip install --upgrade pip
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"

pip install -r requirements.txt

Descarregar el model Flux:

pip install -U huggingface_hub
hf download Comfy-Org/flux1-dev flux1-dev-fp8.safetensors --local-dir models/checkpoints

(no em demana autenticació)

Finalment ja podem arrencar ComfyUI:

python main.py
...
Obre http://127.0.0.1:8188 al navegador.

Al menú Workflow → Browse Templates hi ha plantilles de Flux ja muntades. Tria-la, comprova que el node Load Checkpoint apunta al fitxer flux1-dev-fp8.safetensors i prem Run.

Primera prova: flux_aquarella.json

Arrosseguem el JSON a l'espai de treball i ens monta tot el flux per crear una imatge a partir d'un prompt:

{
 "last_node_id": 8,
 "last_link_id": 10,
 "nodes": [
  {
   "id": 1,
   "type": "CheckpointLoaderSimple",
   "pos": [
    40,
    200
   ],
   "size": [
    320,
    100
   ],
   "flags": {},
   "order": 0,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "MODEL",
     "type": "MODEL",
     "links": [
      1
     ],
     "slot_index": 0
    },
    {
     "name": "CLIP",
     "type": "CLIP",
     "links": [
      2,
      3
     ],
     "slot_index": 1
    },
    {
     "name": "VAE",
     "type": "VAE",
     "links": [
      9
     ],
     "slot_index": 2
    }
   ],
   "properties": {
    "Node name for S&R": "CheckpointLoaderSimple"
   },
   "widgets_values": [
    "flux1-dev-fp8.safetensors"
   ]
  },
  {
   "id": 2,
   "type": "CLIPTextEncode",
   "pos": [
    420,
    60
   ],
   "size": [
    420,
    180
   ],
   "flags": {},
   "order": 1,
   "mode": 0,
   "inputs": [
    {
     "name": "clip",
     "type": "CLIP",
     "link": 2
    }
   ],
   "outputs": [
    {
     "name": "CONDITIONING",
     "type": "CONDITIONING",
     "links": [
      4
     ],
     "slot_index": 0
    }
   ],
   "properties": {
    "Node name for S&R": "CLIPTextEncode"
   },
   "widgets_values": [
    "loose watercolor portrait of an elderly man with grey hair, deep in thought, wet-on-wet technique, soft pigment blooms, visible paper texture, warm ochre and indigo washes, white paper background, expressive brushstrokes"
   ]
  },
  {
   "id": 3,
   "type": "FluxGuidance",
   "pos": [
    880,
    60
   ],
   "size": [
    260,
    60
   ],
   "flags": {},
   "order": 3,
   "mode": 0,
   "inputs": [
    {
     "name": "conditioning",
     "type": "CONDITIONING",
     "link": 4
    }
   ],
   "outputs": [
    {
     "name": "CONDITIONING",
     "type": "CONDITIONING",
     "links": [
      5
     ],
     "slot_index": 0
    }
   ],
   "properties": {
    "Node name for S&R": "FluxGuidance"
   },
   "widgets_values": [
    3.5
   ]
  },
  {
   "id": 4,
   "type": "CLIPTextEncode",
   "pos": [
    420,
    290
   ],
   "size": [
    420,
    90
   ],
   "flags": {},
   "order": 2,
   "mode": 0,
   "inputs": [
    {
     "name": "clip",
     "type": "CLIP",
     "link": 3
    }
   ],
   "outputs": [
    {
     "name": "CONDITIONING",
     "type": "CONDITIONING",
     "links": [
      6
     ],
     "slot_index": 0
    }
   ],
   "properties": {
    "Node name for S&R": "CLIPTextEncode"
   },
   "widgets_values": [
    ""
   ]
  },
  {
   "id": 5,
   "type": "EmptySD3LatentImage",
   "pos": [
    420,
    430
   ],
   "size": [
    320,
    110
   ],
   "flags": {},
   "order": 0,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "LATENT",
     "type": "LATENT",
     "links": [
      7
     ],
     "slot_index": 0
    }
   ],
   "properties": {
    "Node name for S&R": "EmptySD3LatentImage"
   },
   "widgets_values": [
    1024,
    1024,
    1
   ]
  },
  {
   "id": 6,
   "type": "KSampler",
   "pos": [
    1180,
    180
   ],
   "size": [
    320,
    260
   ],
   "flags": {},
   "order": 4,
   "mode": 0,
   "inputs": [
    {
     "name": "model",
     "type": "MODEL",
     "link": 1
    },
    {
     "name": "positive",
     "type": "CONDITIONING",
     "link": 5
    },
    {
     "name": "negative",
     "type": "CONDITIONING",
     "link": 6
    },
    {
     "name": "latent_image",
     "type": "LATENT",
     "link": 7
    }
   ],
   "outputs": [
    {
     "name": "LATENT",
     "type": "LATENT",
     "links": [
      8
     ],
     "slot_index": 0
    }
   ],
   "properties": {
    "Node name for S&R": "KSampler"
   },
   "widgets_values": [
    0,
    "randomize",
    20,
    1.0,
    "euler",
    "simple",
    1.0
   ]
  },
  {
   "id": 7,
   "type": "VAEDecode",
   "pos": [
    1540,
    180
   ],
   "size": [
    200,
    50
   ],
   "flags": {},
   "order": 5,
   "mode": 0,
   "inputs": [
    {
     "name": "samples",
     "type": "LATENT",
     "link": 8
    },
    {
     "name": "vae",
     "type": "VAE",
     "link": 9
    }
   ],
   "outputs": [
    {
     "name": "IMAGE",
     "type": "IMAGE",
     "links": [
      10
     ],
     "slot_index": 0
    }
   ],
   "properties": {
    "Node name for S&R": "VAEDecode"
   },
   "widgets_values": []
  },
  {
   "id": 8,
   "type": "SaveImage",
   "pos": [
    1780,
    180
   ],
   "size": [
    520,
    560
   ],
   "flags": {},
   "order": 6,
   "mode": 0,
   "inputs": [
    {
     "name": "images",
     "type": "IMAGE",
     "link": 10
    }
   ],
   "outputs": [],
   "properties": {
    "Node name for S&R": "SaveImage"
   },
   "widgets_values": [
    "Flux_aquarella"
   ]
  }
 ],
 "links": [
  [
   1,
   1,
   0,
   6,
   0,
   "MODEL"
  ],
  [
   2,
   1,
   1,
   2,
   0,
   "CLIP"
  ],
  [
   3,
   1,
   1,
   4,
   0,
   "CLIP"
  ],
  [
   4,
   2,
   0,
   3,
   0,
   "CONDITIONING"
  ],
  [
   5,
   3,
   0,
   6,
   1,
   "CONDITIONING"
  ],
  [
   6,
   4,
   0,
   6,
   2,
   "CONDITIONING"
  ],
  [
   7,
   5,
   0,
   6,
   3,
   "LATENT"
  ],
  [
   8,
   6,
   0,
   7,
   0,
   "LATENT"
  ],
  [
   9,
   1,
   2,
   7,
   1,
   "VAE"
  ],
  [
   10,
   7,
   0,
   8,
   0,
   "IMAGE"
  ]
 ],
 "groups": [],
 "config": {},
 "extra": {},
 "version": 0.4
}

Una alternativa equivalent és anar a Workflow → Browse Templates i obrir la plantilla de Flux Dev, que també ve ja connectada.


creat per Joan Quintana Compte, octubre 2026