BYOK control plane - no inference
PortraitKey is the control plane for AI portrait work. Prepare consented datasets, write explicit shoot recipes, price the job before it runs, and gate every output through human review. Your provider keys, your providers, your rules - PortraitKey never generates an image.
How it works
Every dataset starts with a rights basis: you are the subject, you hold documented permission, or the identity is licensed synthetic. No basis, no dataset.
Shoot recipes make the brief explicit - use case, scene, wardrobe, lighting, framing, guardrails - so the job is reviewable before it exists.
The job manifest lays out provider, model, mode, output count, your rate per output, runtime estimate, and an optional budget cap. Surprises belong in portraits, not invoices.
Provider outputs come back for local human review against numeric thresholds for identity fidelity, artifact safety, and brief match. Automatic reject reasons are yours to define.
Inside the control plane
One portrait job through the three controls that make it safe to hand to a provider: consent recorded per subject, a manifest that prices the run before anything executes, and an evaluation gate that measures identity instead of eyeballing it.
Dataset prep
I am the subject. I have the subject's documented permission. Licensed synthetic identity. The dataset cannot proceed without one.
Every reference set carries its subject label, so datasets never blur whose face is inside.
Reference images are handled in the browser session. PortraitKey uploads nothing.
Shoot recipe
A recipe is the creative brief made explicit: use case (professional headshot, editorial, dating profile, creator campaign, product/lifestyle), scene, wardrobe, one of four lighting styles, one of four framings, plus your guardrails. Named scenarios save and reload.
Soft window light, high-key studio, golden hour, dramatic side light - chosen, not hoped for.
Chest-up, full body, close-up, environmental wide. The brief says which before anything runs.
Hard limits ride inside the recipe, visible to everyone who touches the job.
Job manifest
Replicate-compatible APIs, a custom HTTPS provider, or a local ComfyUI endpoint. PortraitKey describes the job; you run it where your keys live.
Mode (zero-shot, LoRA training, image-to-image), output count, your rate per output, training/runtime estimate, and an optional budget cap - computed before anything moves.
Evaluation gate
Identity fidelity, artifact safety, and brief match each carry a 1-5 minimum you set. The gate applies them uniformly.
Identity drift, extra fingers, text artifacts, unsafe content - the automatic reject reasons are configurable and visible.
Approved outputs build into a delivery package with a contact sheet. Nothing ships that a human did not pass.
Governance
Personal profiles, owned brand marketing, or internal evaluation only - recorded with the provider and recipient.
Every dataset carries a retention deadline. Allowed output use is recorded alongside it.
Consent can be revoked, and deletion produces a receipt you can keep. Consent ends in writing too.
No fake generator
There is no hidden model here. The studio prepares, prices, reviews, and governs - the generating happens at your provider, under your key, on your bill. If a job could not be described honestly in the manifest, it does not belong in the pipeline.