Use “Write the photo lines” in Recued. Look at each scanned photo and write one warm line naming the people recognised in it. A small copy with its embedded details removed is what the model sees, and the original is never sent. Run it again until the queue is empty.
Write the photo lines
Use “Write the photo lines” in Recued. Look at each scanned photo and write one warm line naming the people recognised in it. A small copy with its embedded details removed is what the model sees, and the original is never sent. Run it again until the queue is empty.
Complete workflow
Use Photo Attribution in Recued to match one event's photos to the people you know, write a warm line for each picture, review them, and send everyone their own. Faces are matched on your machine; your photos are never copied; sending asks first. First install two programs on the server: face_recognition (pipx) and libvips (brew install vips). Then allow their actions on each tool pack's Access tab. Open “Scan an event folder” for the rest of the setup.
You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.
Use “Scan an event folder” in Recued. Compare every photo in one event folder against the people you know, and record who appears in each picture. Photos stay where they are and are never copied. Matching happens on your own machine.
Use “The roster” in Recued. See everyone Recued can recognise, whether each person can actually be written to, and who has been retired — and open any of them from here, which is the only way in to a person.
Use “Review photos before sending” in Recued. List the photos waiting for a look, with the line that will arrive alongside each one and the names it was written for. Open a photo to approve it, rewrite the line, or leave it out.
Use “Review one photo” in Recued. See the picture itself beside the names Recued matched in it, correct the line it wrote, and say whether it is ready to send — the one place a wrong name or a wrong sentence can be caught before it reaches somebody.
Use “Look at one person” in Recued. See who a roster entry actually is — their reference photo shown from your own folder, beside the name and address Recued will use for them — so a wrong or duplicated face is something you can see rather than guess at.
Show all 16 recipes
Use “Set someone's details” in Recued. Fill in an email address and the name that messages should use for one person on your roster. A field left blank keeps what is already there rather than clearing it. The key derived from their reference photo cannot be changed.
Use “Retire a person” in Recued. Take somebody off the roster without deleting anything they are attached to — a duplicate left behind by a renamed reference photo, or someone who should not be sent to any more. Their photos stay on record; they simply stop being matched and stop being sent to.
Use “Import the roster (CSV)” in Recued. Add everyone to the roster from a spreadsheet in one go — their key, the name messages should use, and their email address — instead of typing each person in after the first scan.
Use “Export the roster (CSV)” in Recued. Copy out everyone on the roster as a spreadsheet, or - on an empty roster - get the column headings the importer expects, so you can fill them in and import the list instead of typing it.
Use “See who is ready to receive” in Recued. List everyone with approved photos waiting, and separately everyone recognised who has no email address yet. Send each person from here. Nobody is dropped quietly, because a missing address is the usual reason a photo never arrives.
Use “Re-describe a person” in Recued. After changing someone's name, rebuild the stored names on their photos and queue those photos to be written again. Photos already approved are left alone and counted, because somebody signed those off.
Use “Skip a photo” in Recued. Leave one photo out of the sending queue and release everyone who was waiting on it. Their other photos are untouched, so this cancels one picture for everyone in it rather than cancelling a person.
Use “Send one person their photos” in Recued. Send one person a single message carrying every photo of them that has been approved. A fresh copy of each picture is made with its embedded details removed, and that copy is what travels.
Use “Records runtime” in Recued. It helps you complete this workflow using the connections and settings you choose.
Use “See what has been delivered” in Recued. Show who has received which photo and when, one row per person per picture, with the message it arrived under. It reads information without changing anything.
What this does
Takes photos that have been scanned but not yet written up, looks at each one, and writes a single warm line naming the people recognised in it. A group photo gets one line naming everyone, not one line each.
It works through a batch per run. Run it again until the queue is empty.
What is seen by the model
Matching happened on this machine. Writing does not: each photo goes to whichever model you have configured.
What travels is a downsized copy with its embedded details removed — camera, capture time and any location are stripped before it leaves, and the copy exists only for the length of the run. The full-size original is never sent and nothing is kept afterwards. If you would rather nothing left at all, configure a local model; the step is otherwise identical.
Changing the wording
What to write is read as "produce a ⟨this⟩", so name the thing you want — "a short playful caption", "one plain line". An instruction like "write something funny" reads as a request to produce a thing called "write something funny", and the result gets stranger rather than funnier.
The names of the people recognised are added for you and cannot be moved or removed.
⚠ Changing the wording does not rewrite anything already written. It applies from now on, so a mixed batch will carry two styles. Re-running will appear to do nothing, because those photos have already been written up.
What it costs
Measured, not estimated — one photo through this recipe against a real model:
| the picture | 258 tokens, flat |
| the words around it | about 100 tokens |
| in, per photo | about 360 tokens |
| back, per photo | about 25 tokens |
The picture is a flat 258 because a 768-pixel copy lands inside one image tile; it costs the same whether the original was a phone photo or a wall poster. That is the whole reason the copy is made — sending a 4000-pixel original tiles into roughly twenty-four of those, so the copy is about a twenty-fourth of the bill.
Photos per run is therefore your spend limit. The default 25 is about 9,000 tokens in. The most a single run will do is 200, roughly 72,000 — ask for more and the run stops rather than quietly doing part of it. On a fast model a full batch is a fraction of a penny; on a quality model, a few pence.
It asks for the fast model, because an unexpected bill is the worse surprise and a caption is not where a frontier model earns its keep. If the lines read flat, copy this recipe in the Kitchen and change the model it asks for — the choice is fixed when the recipe is written rather than each time it runs, so that the cost of a run is knowable before it starts.
The three counts
Could not read the photo means the file was not where its record says. Almost always it was moved or deleted after the scan; re-scanning repairs the records.
Model refused or failed leaves the photo in the queue, so re-running retries only those. No photo is ever written up twice.
Could not save means the model answered but the record did not take it — re-running costs a second call for that photo. Worth a look before you re-run.
Needs libvips
brew install vips, or apt install libvips-tools. Each photo is shrunk to a small stripped copy before the model sees it — the original never leaves the machine, and the copy is deleted when the run ends.
The preview width is also what this step costs. Models bill pictures by area, so the 768-pixel copy is about a twenty-fourth of the bill of sending the photo untouched. Raise it only if you can show the model is missing faces at 768.
How it works
Inspect the data fetches, transforms, gates, and output this recipe runs.
Settings
Configurable at install. Defaults shown — change them anytime in Recued.
tone
setting
=
warm
batch size
setting
=
25
preview width
setting
=
768
sentence style
setting
=
one warm sentence about what the people in this photo are doing
Uses (4 operations)
recued-core.photo-attribution.photo.search
recued-core.photo-derive.image.preview
core.ai.generate
recued-core.photo-attribution.photo.update
Trust & control
What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.
What it's allowed to do
1 more isn't listed here. You'll see it at install.