Variant A
Pass · 0.91- Colour
- Clear space
- Tone
- Rights
What we do
~/brand-design capability 06 of 6 · The system, automated
Brand AI Tools are the AI-enabled tooling that keeps a brand system consistent and efficient at scale. Models tuned on your brand, guardrails that hold, and every part of it yours.
Illustration: a brand content pipeline in six stages — training set, tuned model, generation, automated brand check, human review by a brand lead, and publish — with job counts and a streaming run log.
$ brandctl --help six tools · one brand model
Generation starts from your identity, a check catches what slips, and a person signs off wherever the stakes are high.
USAGE brandctl <command> [flags]
COMMANDS
↑↓ select a command
brandctl tune --image --language --from ./brand-system
Image and language models fine-tuned on your identity, so generation starts on brand instead of drifting toward it.
People decideWhich references the model may learn from, and whether a version ships.
brandctl check <asset> --rules palette,clearspace,type,tone --fix
A linter for the brand. Palette, logo clearspace, type, tone. It flags what is off and suggests the fix.
People decideWhether a flagged fix is accepted, or the asset goes back.
brandctl generate --source approved/0409 --markets all --formats 6
Campaign variants, market versions and formats produced from one approved source. Reviewed by people, produced by the system.
People decideThe source that is approved before a single variant is made.
brandctl write --voice your-brand --lexicon --never-say
Writing help that knows the voice, the lexicon and the words you never use. Inside the tools your team already writes in.
People decideTone calls the assistant cannot make: humour, risk, apology.
brandctl render --template retail-offer --data markets.csv
Templates that take content and data and render finished assets across markets, sizes and channels.
People decideWhich templates exist, and what content is allowed in each slot.
brandctl govern --policy high-stakes-review --log
What the tools may produce, what needs a human, and a record of every output. Built in from the first day.
People decideWhat counts as high stakes, and who holds the final say.
Illustrative run
$ brandctl curate ./references phase 01 · Ground · Wk 01–02
Before any tuning, the brand system becomes a training set. An agent sorts, labels and rights-checks every reference and suggests a verdict; a person approves or rejects each one. Nothing enters the set without a name against it.
$ brandctl run --watch one brief · checked · approved · live
Generation starts from the tuned model with the identity locked. Every variant is scored by the brand check, only passing work reaches a person, and nothing publishes until someone approves it. Try a run, or watch one.
Interactive demo. Choose a product, market, format and mood, then press Generate. Four variants are scored for colour, clear space, tone and rights; variants that pass wait for your approval; approving one publishes it to six formats in nine markets.
Only variants that pass the check reach a person. Failures go back with the reason attached.
Variant B approved by Brand lead · published to 6 formats × 9 markets · credentials signed
$ brandctl test ./guardrails runs on every model version and every output
Before anything is generated, the rules are written as tests that can fail. When one does, you see exactly what broke, what changed to fix it and who signed the fix off. The same suite runs again on every new model version.
describe palette
uses palette v7 tokens only · ΔE ≤ 2.012ms
keeps text contrast at AA or above9ms
describe logo
keeps clear space ≥ 1× mark height14ms
never recolours or stretches the lockup8ms
describe voice
expected headline contains 0 never-say terms
received “A revolutionary way to start the day” · 1 term
- prompt-set v3.0 · lexicon: 41 never-say terms
+ prompt-set v3.1 · lexicon: 42 never-say terms (+ revolutionary)
+ copy assistant regenerated · eval re-run 0.91
Fix Term added to the lexicon, the copy assistant regenerated and the suite run again. Signed off by the Copy lead.
reads at tone score ≥ 0.8033ms
describe rights
uses only references with cleared rights11ms
blocks the likeness of a real person17ms
describe review
sends regulated claims to a person6ms
sends pricing and apologies to a person6ms
describe log
records who, what, when and model version4ms
$ brandctl eval --gate release every version against the same eval set
Each tuned model is scored on a fixed evaluation set built from your brand. The gate is automatic; the release is not. A version that passes on numbers can still be held on judgement.
Compare version
Held at the gate
v3.0 missed 6: brand fidelity, palette accuracy, clear space held, tone score, review approval, rights blocked. Not released.
Held at the gate
v4.0 missed 4: brand fidelity, palette accuracy, clear space held, review approval. Not released.
Held at the gate
v4.1 missed 1: tone score. Not released.
Gate passed
v4.2 cleared all 6 gates. Released after sign-off by the Brand lead.
Illustrative Domain 0.50–1.00 · gate marked
0.710.860.910.93
Eval set rated against the identity · gate 0.90
0.780.930.970.98
Outputs within ΔE 2.0 of palette v7 · gate 0.95
0.620.950.990.99
Lockups placed inside the rule · gate 0.98
0.660.820.770.86
Copy scored against the voice · gate 0.80
0.410.630.740.79
Share approved at first human review · gate 0.70
0.901.001.001.00
Unclear references stopped before render · gate 1.00
$ brandctl inspect 0409-b content credentials · signed manifest
Each published asset carries a signed record: the reference it came from, the model version, every edit, every check and the person who approved it. Open any file and read its history.
Person Automated Illustrative
01 · Capture · a person decided
The source still life was shot in your studio. Rights: owned, recorded at capture.
02 · Curate · a person decided
The agent matched it to palette v7 at 0.94 and suggested approval. A person made the call.
03 · Tune · automated, logged
Trained on set v7, scored on the eval set and released after sign-off at the gate.
04 · Generate · automated, logged
Produced from an approved source with palette, lockup and clear space locked.
05 · Edit · a person decided
A person tightened the crop and the headline. The edit is recorded, not hidden.
06 · Check · automated, logged
All four checks passed on the edited file, so it moved to review.
07 · Approve · a person decided
The release decision sits with a named person, with the note kept in the record.
08 · Publish · automated, logged
Every rendition carries the signed manifest and an AI-generated disclosure.
$ brandctl vault ls ownership · You own the model
Who owns the trained model? You do. Weights, datasets, prompts and logs ship into your accounts. We do not retain them or train anything else on them.
Where a part runs is a practical choice. Who owns it is not.
Model weights, datasets, prompts and logs belong to you. Nothing is retained, resold or trained on elsewhere. Choose for each part whether it lives in your cloud or is run for you. The answer to “whose is it?” stays the same either way.
v4.2 · fine-tuned on training set v7 · 4.1 GB
In your cloud account · your keys owned by you
prompt set v3.1 · lexicon v3.1 · 38 MB
In your cloud account · your keys owned by you
v7 · 2,418 references · rights records · 19 GB
In your cloud account · your keys owned by you
11 guardrails · 640 eval cases · 210 MB
In your cloud account · your keys owned by you
every output · who, what, when, model · streaming
Run for you · export or delete at any time owned by you
311 rules · plugin and API · 2 MB
Run for you · export or delete at any time owned by you
4 in your cloud · 2 managed for you · 6 of 6 owned by you
$ brandctl deploy --log how the programme runs · 6–10 weeks
The brand system becomes the training set. Guardrails are written as tests before anything is generated.
deploy #01 · a41c9e2 queuedrunningsucceeded Wk 01–02
The brand system as training data. Assets, rules and examples curated, labelled and rights-checked.
artefactsTraining setRights checkTool scope
deploy #02 · 7f03bd1 queuedrunningsucceeded Wk 03–05
Models fine-tuned and evaluated against the brand. Guardrails written as tests, not hopes.
artefactsTuned modelsEval setGuardrails
deploy #03 · c58e21a queuedrunningsucceeded Wk 06–08
Brand check, generation and templates built into the tools your team uses. Every output logged.
artefactsBrand checkGeneration pipelineTemplate engine
deploy #04 · 0e9d6f4 queuedrunningsucceeded Wk 09–10
A pilot team live, the model re-tuned on what they make, and the whole thing handed over with your name on it.
artefactsPilotRe-tuneHandover
$ brandctl registry ls deliverables · 7 artefacts
What the programme builds lands in a registry you control, each with a format, a version and a named owner. Pull any of it without asking us.
Image model fine-tuned on your identity, so generation starts on brand.
Formats:Weightsyours
brandctl pull image-model@4.2.0
Adapter and prompt set that write in your voice and lexicon.
Formats:Weightsprompt set
brandctl pull language-kit@3.1.0
Scores any asset against the rules and returns fixes with reasons.
Formats:PluginAPI
brandctl pull brand-check@2.3.1
Generates variants from approved sources in every format you ship.
Formats:ComfyUIAPI
brandctl pull gen-pipeline@1.8.0
Fills templates with content and keeps layout inside the rules.
Formats:WebAPI
brandctl pull template-engine@1.4.2
Tests and eval set every model version must pass before release.
Formats:Tests
brandctl pull guardrails@1.1.0
Who made what, with which model, and who approved it.
Formats:Dashboard
brandctl pull output-log@live
$ brandctl report --outcomes what changes once it runs
The programme ends; the outcomes do not. Each one is a job that runs every day inside your tools, and each one reports back.
job/on-brand-by-defaultexit 0
Generation starts from your identity. The check catches what slips.
96%pass the check first time
owner · Your brandschedule · continuousIllustrative
job/volume-without-driftexit 0
Nine markets, six formats, one source. The system does the repetition; people do the judgement.
54renditions per approved source
owner · Your brandschedule · continuousIllustrative
job/yours-all-of-itexit 0
Model weights, datasets, prompts and logs belong to you. Nothing is retained, resold or trained on elsewhere.
0copies kept by us
owner · Your brandschedule · continuousIllustrative
$ man brandctl questions enterprise teams ask first
The questions that come up in the first meeting, answered plainly. Anything else goes in the brief.
Ask something elseNAME
brand-ai-tools — AI-enabled tooling that keeps a brand system consistent and efficient at scale
SYNOPSIS
brandctl [tune | check | generate | write | render | govern] --brand your-brand
Flux, Adobe Firefly and ComfyUI pipelines for image work; Gemini, OpenAI or Anthropic models for language, chosen per task on evidence. We hold no partner badges and swap tools when the evidence changes.
You do. Weights, datasets, prompts and logs ship into your accounts. We do not retain them or train anything else on them.
You need a defined identity. If the rules do not exist yet, we build Brand Systems first, because a model can only learn what has been decided.
Guardrails written as tests, a brand check on every output, and a human review step wherever the stakes are high. Every output is logged.
SEE ALSO
$ ls -la ~/brand-design 6 capabilities · 2 pair with this one
Brand AI Tools automate a brand that has already been decided. These are the capabilities that do the deciding, with the two this one leans on most marked.
Tell us what you’re building. We’ll answer straight.