Δ9Φ963 · chatagent.ca · resource
Image generation — two honest paths
One module. Two ways to feed it. This page says exactly what each one needs, what it costs, and what it will not do — because the fastest way to lose someone's trust is to promise a picture the engine never made.
← the picture module · SkillHub · LYGO LLM Console · installer source
| who it is for | install | cost | speed | |
|---|---|---|---|---|
| A · web portal + a key | anyone, no GPU | none — the page does it | your own provider key (a free Gemini key works) | the provider's |
| B · your own engine | a Windows PC | console + a 12 MB add-on | nothing, unlimited, offline | 55 s at 512², ~5 min at 1024² (CPU) |
A · No install: the portal with a key
Scroll to the Image generation module, pick a route, paste a key, press Generate. The picture appears in the module with its route, model, pixels, seconds and size.
Which routes a browser can actually call — probed by the page itself, from this origin (measured 2026-09-24):
callable Google Gemini (free tier) · OpenRouter · SiliconFlow · Fireworks
blocked xAI, OpenAI images, DeepInfra, Hyperbolic, Together — they send no
CORS header, so a web page cannot call them at all. Anthropic, Groq, Mistral, Cerebras, Cohere,
Perplexity, DeepSeek and LLM7 have no image API.
Free key: aistudio.google.com/apikey. Your key stays in your tab — chatagent.ca never sees it, and this page holds no key of its own.
Ask an agent instead of clicking. In the chat, "draw me a lime green sports car in a
futuristic neon city" is enough: the model has an image_generate limb, and the module and
the agent call the same function, so an agent cannot claim a picture the page did not make.
The agent gets back route · model · pixels · seconds · bytes — never the image bytes themselves.
B · Your own engine: the console + the image engine add-on
This is the same engine the PC console uses — stable-diffusion.cpp running SDXL Turbo or SD 1.5. Free forever, no key, nothing sent anywhere, no per-picture limits. Two downloads and one file to fetch.
1. The console
LYGO LLM Console 1.3.2 — the PC installer, or the FULL set that carries the chat weights, the picture engine and the SD 1.5 checkpoint inside, so pictures work the moment it finishes installing (nothing to fetch; the one download is optional and faster). The stick build (USB CLAW) carries the picture engine too, and its ALL-IN-ONE variant the checkpoint as well. Builds and hashes are listed on the SkillHub catalog and hosted on our Hugging Face vault.
2. The image engine (12 MB, CPU build, no CUDA, no admin)
LYGO_IMAGE_ENGINE_SETUP.exe https://huggingface.co/DeepSeekOracle/lygo-console-builds/resolve/image-engine-v1/LYGO_IMAGE_ENGINE_SETUP.exe 12,930,665 B sha256 56934538d1847921d03a96a49b64a59081bdbcf08dc3a1f1bb1d7229716a5a CertUtil -hashfile LYGO_IMAGE_ENGINE_SETUP.exe SHA256
Install it per-user; it lands in %LOCALAPPDATA%\LYGO\image-engine. Verify the hash
first — it is the one line that separates a download from an install.
3. One checkpoint (the only step that needs the network)
powershell -ExecutionPolicy Bypass -File get_model.ps1 -List powershell -ExecutionPolicy Bypass -File get_model.ps1 # SDXL Turbo, 6.94 GB, 4 steps powershell -ExecutionPolicy Bypass -File get_model.ps1 -Model sd15 # SD 1.5, 4.27 GB, 20 steps
It resumes if the line drops, checks the byte count, and throws the file away rather than keeping
a bad one. Have your own checkpoint? Drop it in models\sd\ or pass -From <url>.
Licences are the model authors'. SDXL Turbo is Stability AI's non-commercial research licence. SD 1.5 is CreativeML Open RAIL-M (commercial use allowed with its restrictions). Nothing here changes that, and no weights are shipped in the installer.
4. Point the console at it, and start the gateway
LYGO_IMAGE_ENGINE.bat
It finds the console, merges media_root, sd_exe and sd_model
into <console>\config\local.json (merging — never overwriting what is there), says
out loud whether it found the engine and a checkpoint, then starts the console's
PUBLIC_GATEWAY.bat.
Then open:
https://chatagent.ca/portal/?console=http://127.0.0.1:9642
The console row in the picture module turns ready and every picture is drawn on your own machine. 9642 is the gateway's own default port.
What it costs, measured — not estimated
| engine | 512×512 | 1024×1024 | notes |
|---|---|---|---|
| CPU build, distilled checkpoint (SDXL Turbo, 4 steps) | ~55 s | 272–300 s | this box, while the chat model held the 8 GB card |
| CPU build, SD 1.5 (20 steps) | ~174 s | minutes | MEASURED 173.9 s at 512² — the checkpoint we may redistribute, so the one the all-in-one installers carry; 20 steps is 5× Turbo's, and the clock follows the steps |
| CUDA build (1.1 GB, optional) | ~4 s | ~12.5 s | card free; not required for the engine to work |
| Key routes (Gemini / OpenRouter / SiliconFlow / Fireworks) | the provider's clock | no local compute at all; your key, your quota | |
Distilled checkpoints (turbo, schnell, lightning, lcm, dmd, hyper) are detected by name and run at 4 steps, cfg 1.0. A normal SDXL wants about 20 steps at cfg 7. Running turbo at 20 steps is slow and worse — that is a fact about the checkpoint, not a preference.
Why the engine is an add-on and not part of the page
A browser cannot run a 7 GB diffusion model, and a GPU that draws for strangers is somebody's bill. So the page offers both honestly: key routes for anyone with a key and no hardware, and a real engine for a machine that has one. What the page never does is pretend — if no engine answers, the module says so, with the engine's own words in it.
For agents: the skill
Everything above, as a skill an agent can install and follow:
lygo-image-engine · SKILL.md
— the two paths, the limb contract, the measured numbers, and the pitfalls (UTF-16 engine strings,
a BOM in local.json, a five-minute request dying in a proxy, and never narrating a
picture no engine produced). Catalogs and downloads:
chatagent.ca/lygoskillhub.html.
Steward: Justin Helmer. Legal: legal & disclaimers. Engine: stable-diffusion.cpp (MIT). Installer source: portal/image-engine.