scenri 0.20.4 → 0.20.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.20.5](https://github.com/tonygorb/Scenri/compare/v0.20.4...v0.20.5) (2026-09-29)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **deps:** lift undici to 7.30.0 for the WebSocket inflate DoS ([7a819c5](https://github.com/tonygorb/Scenri/commit/7a819c544ab486ac22565547da6b54e1efea4099))
9
+ * **deps:** lift undici to 7.30.0 for the WebSocket inflate DoS ([b93f415](https://github.com/tonygorb/Scenri/commit/b93f415d8272a3184e6aa50d7f3579d95a48cd70))
10
+
3
11
  ## [0.20.4](https://github.com/tonygorb/Scenri/compare/v0.20.3...v0.20.4) (2026-09-28)
4
12
 
5
13
 
package/README.md CHANGED
@@ -6,20 +6,22 @@
6
6
  </picture>
7
7
  <br><br>
8
8
 
9
- **The open studio for brand-consistent AI visuals.**<br>
10
- Define a client's brand once. Then put its products and people into scenes, art-direct each shot in plain words, and refine it step by step. Open source, running entirely on your own machine and your own AI accounts.
9
+ **The open-source AI photo studio that remembers your products, people and places.**<br>
10
+ Save a brand's products from real photos, the people in its shots and its places once. Then each shot is one line, and every shot keeps its recipe, so you can refine it or make the next one match. It runs on your own computer and sends your pictures to the image model you already use.
11
11
 
12
12
  [![CI](https://github.com/tonygorb/scenri/actions/workflows/ci.yml/badge.svg)](https://github.com/tonygorb/scenri/actions/workflows/ci.yml)
13
13
  [![npm](https://img.shields.io/npm/v/scenri)](https://www.npmjs.com/package/scenri)
14
14
  [![License: AGPL v3](https://img.shields.io/badge/license-AGPL--3.0-blue)](https://github.com/tonygorb/scenri/blob/main/LICENSE)
15
15
 
16
- **Get started:** one command, no account.
16
+ **Get started.** You need [Node.js](https://nodejs.org) 22 or newer, and a paid ChatGPT plan (used through Codex CLI, which Scenri sets up for you) or an [OpenRouter](https://openrouter.ai) API key to make pictures. Scenri itself has no account and no fees.
17
+
18
+ <sub>If `npm --version` prints 12, run `npm config set allow-scripts=better-sqlite3 --location=user` once first ([why](https://github.com/tonygorb/scenri/blob/main/docs/INSTALL.md#troubleshooting)). Then:</sub>
17
19
 
18
20
  ```bash
19
21
  npx scenri
20
22
  ```
21
23
 
22
- <sub>Needs [Node.js](https://nodejs.org) 22 or newer. New to any of this? The [install guide](https://github.com/tonygorb/scenri/blob/main/docs/INSTALL.md) walks through every step.</sub>
24
+ <sub>The first start downloads the Scenri library of example imagery, about 155 MB. New to any of this? The [install guide](https://github.com/tonygorb/scenri/blob/main/docs/INSTALL.md) walks through every step.</sub>
23
25
 
24
26
  <img src="https://raw.githubusercontent.com/tonygorb/scenri/main/docs/media/demo.gif" alt="Scenri's Create page: in the composer a dollar sign picks the product Cropped Puffer, an at sign picks the presenter Kwame, a slash picks the Container Blue scene, and a line of written direction follows the three chips. Generate turns a new card into a dithered swirl where the picture is being made, the swirl develops into a man in an orange puffer jacket leaning on a cobalt shipping container, and the shot opens beside the prompt that made it" width="820">
25
27
 
@@ -33,10 +35,16 @@ npx scenri
33
35
 
34
36
  Most AI image tools give you a prompt box and a slot machine. Scenri gives you the part that actually takes the time: **art direction**.
35
37
 
36
- Every shot keeps its history. Open it, say what to change, and each refinement joins a trail under the picture, so the original and every step stay one click apart. Refine any step again, or use **Reuse setup** to start a new shot from the same prompt and chips.
38
+ You save a brand's ingredients once: its products from real photos, the people who appear in its shots (Scenri calls them Presenters), its places (Scenes) and its brand kit. Then a shot is one line. In the composer, `$` picks a product (what), `@` a person (who) and `/` a scene (where), and you write the direction in the same line. Open the shot, say what to change, and **Refine** keeps every step on a trail under the picture, so the original and every step stay one click apart.
39
+
40
+ Every shot also keeps its recipe: the prompt, the chips and the settings that made it. Refine any step again, or use **Reuse setup** to start a new shot from the same prompt and chips, so the next one matches.
41
+
42
+ Scenri trains nothing. It sends your saved photos with each shot as reference images, and the image model draws the product and the person from them, so a shot comes close to the real thing rather than pasting it in, and small lettering can drift. When you refine one part of a finished shot, or change its shape, Scenri keeps the original picture's own pixels wherever it can.
37
43
 
38
44
  It runs as a local server on your own computer. Your brands, your images, and your keys stay on your disk. To use it from a phone or tablet on the same Wi-Fi, open Settings, Local access, and scan the QR code.
39
45
 
46
+ The words Scenri uses are defined once in [Concepts](https://github.com/tonygorb/scenri/blob/main/docs/CONCEPTS.md), and the questions people ask first, from LoRAs to cost, are answered in the [FAQ](https://github.com/tonygorb/scenri/blob/main/docs/FAQ.md).
47
+
40
48
  ## What a prompt produces
41
49
 
42
50
  The film above ends on one of the examples from the Home wall: the Cropped Puffer product, the presenter Kwame, the Container Blue scene, and a short paragraph of written direction, of which the film types the first line. The chips carry the identity; the words do the art direction. Here are eight more shots from the Home wall, each built the same way from chips and written direction:
package/dist/serve.js CHANGED
@@ -16386,6 +16386,17 @@ function registerImageRoutes(app, deps) {
16386
16386
  var HEADLINES_KEPT = 5;
16387
16387
  var FIRST_PUBLIC = "0.2.0";
16388
16388
  var RELEASES = [
16389
+ {
16390
+ version: "0.20.5",
16391
+ date: "2026-09-29",
16392
+ title: "One dependency is on its patched release",
16393
+ sections: [
16394
+ {
16395
+ heading: "Security",
16396
+ body: "The network library under the page reader Scenri reads websites with is on its patched release, for a WebSocket advisory Scenri never reached. Nothing about how Scenri works changes."
16397
+ }
16398
+ ]
16399
+ },
16389
16400
  {
16390
16401
  version: "0.20.4",
16391
16402
  date: "2026-09-28",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scenri",
3
- "version": "0.20.4",
3
+ "version": "0.20.5",
4
4
  "author": "Tony Gorb <hello@scenri.co>",
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",
@@ -79,5 +79,5 @@
79
79
  "design",
80
80
  "cli"
81
81
  ],
82
- "description": "The open studio for brand-consistent AI visuals. Runs locally, on your own AI accounts."
82
+ "description": "The open-source AI photo studio that remembers your products, people and places. Runs locally, on your own AI accounts."
83
83
  }