Skip to content

Latentry 0.7.0

Choose a tag to compare

@33rd-kk 33rd-kk released this 11 Oct 11:27

Upgrading from 0.6.0: open Setup and run Repair / update for the
engine once. It moves the engine onto its own Python and the pinned uv
(about 20 MB more, and PyTorch may download again). Network folders
(\\server\share) in the settings file are dropped unless
LATENTRY_ALLOW_UNC=1 is set.

ComfyUI

  • ComfyUI as a backend: add a ComfyUI server on Settings with the kind
    comfyui. Latentry builds the graph itself (checkpoint, LoRAs from
    <lora:…> in the prompt, KSampler), shows progress, and Cancel stops
    only its own prompt. Choose the checkpoint under Model after Test,
    or with GEN_MODEL_<ID> in .env.local; without one, ComfyUI's first is
    used. Pose is not available on ComfyUI yet.
  • img2img and inpainting on ComfyUI: a ComfyUI backend takes a source
    picture and a mask. They are uploaded into ComfyUI's input folder under
    two names per backend that each run reuses.
  • Your own ComfyUI workflows: give a ComfyUI backend a Workflows
    folder
    on Settings, and the Generate page offers the workflows saved
    there (ComfyUI's Export (API)) next to the built-in graph. Latentry fills
    in the prompts, seed, size, steps, CFG, sampler and LoRAs where it finds
    them, or where a node's title says latentry:prompt and the like, and
    says what it could not find. The backend's Model, if set, replaces a
    workflow's checkpoint; a workflow with a UNET loader keeps its own model.
    Workflow names reach paired devices only when you turn that on.
  • What stays on the ComfyUI computer: pictures go to ComfyUI's temp
    folder rather than its output folder, and the copy Latentry saves leaves
    out ComfyUI's graph, which names your model folders. After a secret run,
    Latentry deletes its prompts from ComfyUI's history and overwrites its
    uploads with an empty picture.
  • More from ComfyUI pictures: the gallery reads the settings of more
    ComfyUI graphs: hires and refiner graphs (the base pass), SamplerCustom
    and Flux-style graphs, other model loaders, seeds from a seed node, and
    pictures that carry only the editor's workflow. Model names show the file
    name only, not the folders it sits in.

Secret mode, privacy and security

  • Secret mode turned on during a run: the run becomes secret from then
    on (within a minute of its end too): a reload or another device no longer
    picks it up, and it is forgotten a minute after it ends. Turning secret
    mode off again does not undo that.
  • Less of this computer on paired devices:
    • Gallery folders are shown by a display name you set next to each
      folder on Settings, or else by a made-up name such as "Amber Fox".
      The folder's own name is no longer shown, here or on a phone.
    • Unexpected errors from the engine no longer pass on their own text,
      which can name files; it goes to the engine's log.
    • Paths in other errors (the built-in tagger, other backends) show as
      <path>.
    • Model names show the file name only, without the folders they sit in.
    • npm run dev warns when it listens beyond this computer, since its
      error pages show paths and source code.
  • LoRA list on paired devices: Show the LoRA list on paired devices
    (Setup > Engine, off by default) gives phones and other paired devices
    Add a LoRA too.
  • Tighter API limits: network folders (\\server\share) are refused
    on the Settings page unless LATENTRY_ALLOW_UNC=1, and are dropped from
    an existing settings file without it. A backend's redirect is reported as
    an error instead of followed. Requests without a picture are capped at
    1 MB. Tagging and pose previews run at most two at a time. Pages are no
    longer kept in the browser cache and get stricter security headers. The
    unused /_next/image endpoint is off.

Backends

  • Why a backend does not answer: Test on Settings and the Generate
    page now say whether a backend asked for a login (for example a ComfyUI
    login custom node, or a web UI started with --api-auth and no token),
    answered an error, redirected, or did not answer at all, with its own
    message, instead of only "No answer". For every kind of backend.

Engine install

  • Pinned downloads: the engine install fetches uv 0.13.0 instead of
    the latest release, and checks it against its SHA-256 before running it.
    An engine installed with another uv gets 0.13.0 on its next Repair /
    update
    , which may download PyTorch again once (uv 0.13 changed its
    cache format).
    Models and taggers from the Setup page come from a fixed commit of their
    repository, and each file is checked against its SHA-256. A file that
    does not match is not kept, and the page says so.
  • The engine keeps its own Python: the engine install downloads Python
    into .runtime/ instead of building on a Python 3.12 already on this
    computer, so updating or removing that Python no longer breaks the
    engine. Your own uv settings (UV_* variables, uv.toml) no longer
    change how the engine is installed. An existing engine is moved onto its
    own Python at its next Repair / update (about 20 MB more, and its
    packages are installed again).

Engine (0.5.0)

  • Stricter API: the built-in engine caps request bodies at 64 MB and
    prompts at 20,000 characters, checks /api/pose requests field by
    field, takes only owner/name repository ids for downloads, keeps a short
    download list, and no longer serves FastAPI's /docs pages.
  • Model folders downloaded from the Setup catalog are checked against their
    pinned hashes, and unexpected errors go to its log instead of to the
    client.

Fixed

  • A web UI backend moved to another address on Settings shows that
    server's samplers at once, not the old one's for a minute.
  • Pictures from ComfyUI that carry only the editor's workflow are read with
    an SDXL text encoder too.

Update

Check node --version first: 0.7.0 needs 22.19 or newer.

git pull
./install.sh                                          # Linux, macOS
powershell -ExecutionPolicy Bypass -File install.ps1  # Windows

The install script keeps your .env.local and settings, reinstalls and rebuilds. Stop a running Latentry before you run it. Then run Repair / update for the engine on Setup once (see above).

New install

git clone https://github.com/33rd-kk/latentry.git
cd latentry
./install.sh                                          # Linux, macOS
powershell -ExecutionPolicy Bypass -File install.ps1  # Windows

Then open http://localhost:3000/setup. See Getting started.