Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OctaLayer

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 │
└──────────────────────────┘                       └───────────────────────────┘

Features (v1)

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.

Requirements

  • 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)

Quick start

1. Engine

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.

2. Plugin

  1. python plugin/icons/make_icons.py (one-time placeholder icons)
  2. Install UXP Developer Tools (Creative Cloud → "UXP Developer Tools")
  3. UDT → Add Plugin → select plugin/manifest.jsonLoad
  4. In Photoshop: the OctaLayer panel appears. Green dot = engine connected.

3. First generation

Open a document → Generate tab → type a prompt → Generate → click a result to place it as a layer.

Licensing

  • 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.

Development

Open this folder in Claude CodeCLAUDE.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).

About

A Photoshop UXP plugin backed by its own local inference engine (OctaEngine) It runs [Krea 2]

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages