Krea 2, natively inside Photoshop. Local, open-source, no ComfyUI.
OctaLayer is a Photoshop UXP plugin backed by its own local inference engine (OctaEngine). It runs Krea 2 — the 12B open-weights image model from Krea AI — plus a set of auxiliary open models, bringing Krea-suite and Higgsfield-plugin-style workflows onto your own GPU.
┌──────────────────────────┐ HTTP / WebSocket ┌───────────────────────────┐
│ Photoshop (UXP panel) │ ◄──── localhost ────► │ OctaEngine (FastAPI) │
│ Generate · Live · … │ :8710 │ Krea 2 Turbo/RAW (fp8) │
│ pixel I/O via Imaging │ │ BiRefNet · ESRGAN · LaMa │
└──────────────────────────┘ └───────────────────────────┘
| Tab | What it does | Models |
|---|---|---|
| Generate | Text-to-image to layer · Restyle canvas (img2img) · Fill selection (inpaint) | Krea 2 Turbo / RAW |
| Live | Realtime sketch-to-image: canvas repaints as you draw | Krea 2 Turbo, 2-4 steps |
| Enhance | Upscale ×2/×4 · Remove background → cutout layer | Real-ESRGAN · BiRefNet |
| Layers | Decompose image into editable layers (subject + reconstructed BG) · Relight | BiRefNet + LaMa + K2 |
| Board | Moodboards: style-caption reference images, steer generations | Qwen3-VL-4B (reused) |
img2img, inpainting, and realtime are implemented directly on Krea 2's
flow-matching sampler (engine/octaengine/flow.py) — no ComfyUI, no diffusers
pipeline wrapping.
- Photoshop 2023 (24.2)+ on Windows or macOS
- Python 3.12+, git
- NVIDIA GPU. VRAM policy is auto-detected:
- 8-16GB (primary target): MMDiT quantized to fp8 (~12GB), Qwen3-VL text encoder runs on CPU with embedding caching, realtime at 512px
- 24GB+: bf16, higher live resolution
- 8GB is the floor and will be tight — Turbo only, expect small resolutions
- ~35GB disk for weights (Turbo + text encoder; RAW is optional)
cd engine
.\scripts\setup.ps1 # venv + deps + vendors krea-2 + downloads weights
.venv\Scripts\octaengine.exe --mock # smoke-test the server first
.venv\Scripts\octaengine.exe # real thing(Linux/macOS: ./scripts/setup.sh, then ./.venv/bin/octaengine.)
Test the whole plugin with --mock before downloading weights — every
feature returns placeholder images so you can validate the Photoshop side.
python plugin/icons/make_icons.py(one-time placeholder icons)- Install UXP Developer Tools (Creative Cloud → "UXP Developer Tools")
- UDT → Add Plugin → select
plugin/manifest.json→ Load - In Photoshop: the OctaLayer panel appears. Green dot = engine connected.
Open a document → Generate tab → type a prompt → Generate → click a result to place it as a layer.
- This project: MIT (code). Krea 2 inference code (vendored): Apache-2.0.
- Krea 2 weights: Krea community license — permissive use; commercial licensing via opensource@krea.ai. Review before shipping products built on generations.
Open this folder in Claude Code — CLAUDE.md documents architecture,
conventions, the "known unknowns" to verify on first GPU run, and a testing
workflow. See docs/ARCHITECTURE.md and docs/ROADMAP.md for what's next
(IC-Light relight, multi-subject decompose, LoRA manager, ControlNet-style
scribble conditioning).