Start with your brand

Brand memory

Your brand, remembered.

Zenflow keeps your brand's images and videos, finds the exact one when you ask in plain words, and shows it to you before any model uses it.

Brand memory

Everything your brand approved, stored with time.

Zenflow keeps the whole record, not a folder of files. Each prompt, each generation with the exact model that made it, each approval and rejection with the note the reviewer wrote, each brand rule, each direction document. Every item is embedded and timestamped, so "the summer ambassador shots" and "what the client rejected in May" are questions the workspace can answer.

Brand memory · stored with timeDrag to pan
03 Dec 2025 · 10:41document

Brand A logo kit · 2026

12 pages · lockups kept

03 Dec 2025 · 11:02generation

Brand A · sofa · logo held

Nano Banana 2 · 1174×1174

03 Dec 2025 · 16:20approval

Creative director · approved

note: the chest logo sits square

09 Dec 2025 · 09:30rule

the chest logo never crops at the seam

evidence · 11 approvals

19 Oct 2025 · 09:14generation

@rex · cultural hero · frame 04

Nano Banana 2 · 1024×1536

14 Nov 2025 · 15:36prompt

the dog from last year's cultural campaign, for Christmas

resolved → @rex · Cultural 2025

14 Nov 2025 · 15:41generation

@rex · Christmas hero · 02

Nano Banana 2 · identity 0.97

18 Nov 2025 · 12:11approval

Client · approved

note: same dog, new season

07 Jan 2026 · 11:18prompt

@shoe, one step, plain floor

resolved → @shoe · 6 references

07 Jan 2026 · 11:22generation

@shoe · walk · start frame

Seedream 5 · start frame

07 Jan 2026 · 11:45generation

@shoe · walk · 4 s

Veo 3.1 · 720×1280 · 4 s

08 Jan 2026 · 09:26approval

Brand · approved

note: the colourway holds in motion

04 Jun 2026 · 10:07generation

@talent · Social set · hero frame

Seedream 5 · Summer 2026

04 Jun 2026 · 10:31generation

@talent · same expression · the clothes rail

Seedream 5 · identity 0.98

04 Jun 2026 · 10:52generation

@talent · same expression · a second model

Seedream 5 · identity 0.98

04 Jun 2026 · 17:40approval

Creative director · approved

note: all three, one face

24 Nov 2025 · 17:31rejection

Art director · rejected

note: the wordmark is garbled

24 Nov 2025 · 17:40generation

@logo · wordmark restored · v3

Muse Image · 18/18 glyphs

25 Nov 2025 · 09:15approval

Brand · approved

note: v3 from here on

26 Nov 2025 · 09:40rule

the wordmark never gets text over it

evidence · 3 rejections

09 Feb 2026 · 14:12fact

@headphones registered · product

cutout · 937×1000 · transparent

12 Feb 2026 · 11:26generation

@headphones · Mascot 2026 · brand type behind

FLUX.2 · product unchanged

14 Feb 2026 · 10:05approval

Creative director · approved

note: brand type behind, product unchanged

16 Feb 2026 · 09:40rule

the headphones keep their exact blue

evidence · 7 approvals

One memory per brand. Nothing leaks between them.

Memory is scoped to the brand workspace. An agency running six client brands runs six memories that never see each other, enforced in the database, not by convention. Each one gets sharper on its own.

Explicit when you want it, inferred when you don't.

Register the things that matter as Context Variables: @rex the mascot, @ambassador, @logo, @hero-bottle, each with up to ten reference images. Tag one in a prompt and exactly those references go to the model. Describe something without a tag and the retrieval engine finds it for you.

Portable and auditable.

Your memory is yours. Every asset carries its full lineage, and the whole graph can be exported. Memory that lives inside one vendor's stack is a lock; memory you can take with you is an asset.

The retrieval engine

Finds the exact thing, not something like it.

Most search finds "a golden retriever." Zenflow's retrieval is built to find your golden retriever, from that campaign, in that pose. It runs four kinds of index over everything in the brand memory: instance retrieval for "is this the same product, logo or mascot"; identity retrieval for the faces of your registered ambassadors; language-to-image retrieval for "approved cozy fireplace scenes"; and document retrieval over briefs, decks and direction docs that keeps layout and typography intact instead of flattening them to text.

“the suitcase from the spring launch, hero angle”@hero-case
Image · Approved reference
@hero-case · Launch 2026
@hero-case, the approved Launch 2026 hero-angle referenceinstance match
campaign
Launch 2026
generated
04 Mar 2026
model
Nano Banana 2
approved
06 Mar 2026 · Brand
Resolution
  1. Context Variable match@hero-case · 8 references
  2. campaign scopeLaunch 2026 · 02–16 Mar
  3. visual search1 of 148 · ranked by approval
Index
  • instance
  • identity
  • language-to-image
  • document
A plain, generic white case in the same scene: what other tools generate when you ask for the brand's case
any suitcase · a random case · other toolsyou asked for the brand’s case and got some case; nothing was remembered
Zenflow retrieves @hero-case
Northwind’s own sticker-covered hard-shell case, the exact @hero-case retrieved from the brand memory
remembered · Context Variable savedyour suitcase · @hero-case · fetched automaticallynot a random one: the exact case, remembered for next time

Time is part of the query.

"Last year's cultural campaign" is a date range, not a keyword. The engine resolves campaign and festival references against your project calendar, scopes the search to that window, and ranks what it finds by what was actually approved. Facts carry validity windows too, so "the primary logo" can mean v2 in February and v3 in April, correctly.

Resolution in three steps.

First it looks for a registered Context Variable that matches what you said. Then it scopes to the campaign you named. Only if neither exists does it fall back to visual search over the scoped pool, cluster the results, and surface the dominant subject, and it offers to save that subject as a Context Variable so next time it's one tap.

Ranking that learns from you.

Every time you confirm or dismiss a candidate, the ranker learns which was right. Retrieval gets better in the same way generation does: from your decisions, per brand.

Under the hood

Under the hood: retrieval runs on Postgres with vector indexes, so memory, generations and approvals are one system of record, not three. Frozen state-of-the-art embedding models do the encoding; all learning happens in a small, reversible ranking layer, never in the embedders, so nothing drifts and nothing needs re-indexing when you approve something.

How context is shown

Nothing is injected silently.

When Zenflow retrieves something, you see it before it's used. A confirmation card shows the candidate with its provenance: the campaign it came from, the date it was generated, the model that made it, its approval and the reviewer's note. One question: Is this the one you meant? Use it or dismiss it. Retrieved context never goes to a model without a person seeing it.

Prompt · Brief
Prompt
the cat from the tiger shoot, wearing the @headphones, brand type behind it.
@headphones
75 charsReady
ContextFLUX.22/4 slots
@headphonesproduct

The brand's over-ear headphones. The product is never altered and the blue stays exact.

campaign
Mascot 2026
generated
12 Feb 2026
model
FLUX.2
approved
14 Feb 2026 · Creative director
note
“brand type behind, product unchanged”

Is this the one you meant?

Retrieved context never goes to a model without a person seeing it.

Image · Generator
FLUX.2
FLUX.2product hero
A cat wearing the brand's blue headphones, the brand type set behind itproduct kept · #1
1024×15365 credits / image
seen, confirmed, then sent · nothing injected silently

A reference node on the canvas, visible to the whole team.

Confirm a retrieval and it becomes a labelled node, @headphones, Mascot 2026, product kept, wired into the generator. Everyone in the multiplayer canvas sees what the memory supplied, in real time, as a real object they can move, inspect or disconnect.

Every asset has a Memory tab.

Open any generated asset and see exactly what it was conditioned on: which references, in which roles, which brand rules applied, which model and version, what the verification meters scored, and the retrieval trace that led there. Approve it, and the tab shows that too.

A memory graph for admins.

Zoom out and see the brand's memory as a graph: which assets and entities are used the most, by whom, feeding which campaigns, and the full ancestry of any single generation. What memory is doing is never a black box.

Real-time retrieval

It resolves as you type.

Referential phrases, "the dog we used", "that logo", "the ambassador from the summer shoot", light up in the composer as you write them. Retrieval runs in the background, under a third of a second, and the candidates are waiting by the time you finish the sentence.

Northwind · canvas · 2 people
Reference 1Reference 2

Ask anything, or type @ to attach a model and generate...

Memory · Candidate
@rex · Cultural 2025
@rex as generated for last year's cultural campaign, retrieved while the brief was still being typedinstance match 0.99
also resolved
Christmas 2025 · 48 assets
284 msapproved 19 Oct 2025
drag the candidate onto the canvas
Memory answers anywhere

Zenflow connected to Claude, ChatGPT or Gemini. The brand memory answers in the tool the question was asked in.

Claude · connected to Zenflowtoken · northwind-read

What does this client keep rejecting?

Text placed over the wordmark (three rejections between 24 Nov 2025 and 06 Mar 2026) and hero shots taken off the approved angle (two). Both are playbook rules now.

asset 0419 · rejected 24 Nov 2025asset 0442 · rejected 06 Mar 2026rule · keep the wordmark clean
answered 14:02:11 · 268 ms · 3 citations

@-mentions from memory.

Type @ and the brand's Context Variables autocomplete: mascots, ambassadors, products, logos, scenes, styles. The same grammar works in the chat composer and on the canvas.

Live across the room.

Zenflow's canvas is multiplayer. A retrieval one person confirms appears for everyone at once, so an art director in London and a client in New York are looking at the same reference in the same second.

Memory answers anywhere.

Connect Zenflow to Claude, ChatGPT or Gemini and ask the brand memory directly: What does this client keep rejecting? What did we approve for the beach campaign? Answers come back timestamped and cited, with links to the assets.

Learns with every yes▲

Approvals are training data. Zenflow is the first tool that captures them.

A creative director's yes and no are the richest signal about what on-brand means, and in every other tool they move a card on a board and disappear. In Zenflow every approval and rejection, with its note, becomes part of the brand's memory.

Approval queue · Northwind3 pending
Approval · Candidate
@shoe · Spring 2026
Seedream 5image
The Spring drop candidate: the branded shoe held exactly as it is registeredshoe unchanged
notestart frame · Spring 2026 · shoe drop
3 of 4 · 00:07pending
Approval · Candidate
@headphones · Mascot 2026
FLUX.2image
The product hero: the headphones placed on the subject with the brand type standing behind itproduct placed
noteproduct placed · brand type behind the subject
2 of 4 · 00:06pending
Approval · Candidate
@talent · Social set
Seedream 5image
The social set: the same model holding a pile of clothes, the expression unchanged from the first frameidentity 0.98
noteSocial set · Summer 2026 · all three, one face
1 of 4 · 00:05pending
drag right for yes · left for no
Brand memory · Northwindappend-only
  • Fact

    the primary logo changed: v3 from here on

    @logo · v2 valid until 25 Nov 2025 · Brand

  • Rule

    the chest logo never crops at the seam

    @bunny · every model in the registry · 26 rejections

  • Signal

    retrieved candidate confirmed · 9×

    @headphones · instance match 0.99

  • Fact

    Launch 2026 runs 02–16 Mar 2026

    @hero-case · 8 references · fact with a validity window

  • Fact

    one face carried the whole social set

    @talent · Summer 2026 · expression held 0.98 · Creative director

Day 365: the same shot made in Zenflow, the brand held
too many apps · one scattered brand · other toolsyour brand stays consistent · Zenflow

Day 1

drag the year
memory55 entries
12 references · 3 rules · 40 approvals
on-brand45%
first-pass approvals, measured per brand
on-brand first-pass rate over the year5 tools
Zenflowapp Aapp Bapp Capp D100%0%
Day 1Day 365

Three kinds of learning, all visible.

Facts with dates: the primary logo changed in March; this client rejects purple backgrounds; @rex appeared in last year's cultural campaign. Playbook rules per brand and per model, each with evidence: keep the mascot at 35–45% of frame height, never put text on the dog, collar is #C8471C. And ranking signals: which retrieved candidates were confirmed, which generated options were chosen. You can read every rule, see what it's based on, and retire it.

Nothing is rewritten, nothing is hidden.

Rules are added, reinforced, decayed or retired one at a time with an audit trail. Learning lives in prompts, rules and ranking, never inside the model weights, so it is bounded, reversible and portable across every model in the registry.

Day one versus day three-sixty-five.

Other tools are the same product on day one and day 365. Zenflow, by day 365, has become your brand.

The workspace that remembers.

Add your brand book, your logos and last year's approved campaign. Then ask for the dog from last year's cultural campaign.