Character registry · cross-platform prompts
An on-chain ID and a version history anyone can verify — without having to trust us. Per-platform wording comes with it, so the character you already made holds together everywhere we have measured.
Google or GitHub · free credits included · no card
What this is
Most characters are not made here. They are made in Midjourney, in a 3D tool, in someone's own model — and then they sit in a folder. This is where one gets registered: an ID that does not change, a history of every version, and the wording that makes it come out the same on each platform you take it to.
Nothing gets rebuilt. Upload the images you already have.
How it works
All four are read; three or more read most accurately, and more angles help. They are checked against each other first, so a stray image from a different character is flagged — by filename — before you confirm the specification, while you can still remove it. Face matching does not apply to non-human or heavily stylised characters — that is reported as not applicable, not as a low score.
The specification is extracted from the images rather than typed in. Where the images disagree — a shaved side that is on the left in one and the right in another — that is put in front of you as a question instead of being quietly averaged away. Those disagreements come first in the list, because they are the only ones nobody else can answer.
Generate a reference set, adjust until it looks right, and finalise. That unlocks two things: issuing the on-chain ID in one click, and the per-platform prompts. Every later revision is registered as a new version rather than overwriting the old one.
The ID
AVL-MWKRYG
Registration gives the character an identity on a public chain. What that buys you:
One honest line, because it matters: the record is evidence, not title — it does not by itself prove authorship or a right to sell. The full distinction.
Check one yourself, right now. Paste any fingerprint — or use the real one above — and read the answer straight from the chain. No account, no sign-in.
Why this reads correctly
Extracting a specification is the easy half. The hard half is the sentence that makes another platform reproduce it — and that sentence is different on every platform, in ways that are not documented anywhere and are frequently the opposite of what the settings suggest.
So the prompts a registered character travels with are not written from intuition. They are written from a measurement run, and these are four of its results.
| What you'd reasonably assume | What we measured |
|---|---|
| Turn reference strength downto get more scene freedom | Identity and scene adherence fall together. At the low end the output has no measurable relationship to the scene description at all. There is no trade to make. |
| Use a full-body referenceto get a full-body shot | The framing got tighter. Composition is driven by how much facial detail sits in the prompt, not by the reference image — and widening it costs 67% of face identity for 7% more scene adherence. |
| Train the character into the platformfor the strongest lock | For a stylised character, the trained version kept 0% of its declared markers — hair colour, face mark, collar palette all wrong. Plain reference images kept 100%. On a second platform the character system added nothing measurable over plain references: two platforms, same conclusion — for stylised characters these systems do not help. |
| Higher similarity score is betterso pick the top of the table | The highest-scoring platform in our run had the lowest identity score. It reproduced the reference framing five times and ignored three of the five scenes. One number is not enough to tell those apart. |
None of this is in any vendor's documentation. Two of the four contradicted what we ourselves believed four days earlier.
What it is
Why portability has to come from outside the platforms. A platform has no reason to help a character leave. Trained character objects have no export field — that is not an oversight. The layer that carries a character between platforms cannot be built by any of them.
Before and after
Left: the image the character arrived with. Right: the same character generated on a different base model, in a scene that never existed before. Our own test characters; the full run, including what went wrong, is in the blog and the measurements.
Evidence
The main run: one character, seven arms across five independent base models, the same five scenes each, five metrics. Three further rounds — Midjourney, Kling, video — ran under their own conditions and are reported separately rather than pooled. Eight independent base models in total, with the limitations stated before the results and three of our own hypotheses recorded as refuted.
Identity similarity alone is easy to game: a model that ignores the prompt and repeats the reference framing scores extremely well on it. So every result is reported on axes that can disagree — face identity, whole-subject similarity, prompt adherence, and how rigid the output set became.
Open format
Ten rules for writing a character that survives, each stated with the experiment that produced it. Apply them by hand; no tool required. The one that matters most costs nothing to adopt — an identity marker you cannot answer with yes or no is not an identity marker.
Open on purpose. A character that only works inside one product has the same problem as a character that only works inside one platform.
The deliverable
Not a subscription to a viewer — a folder you can open, copy and keep. This is exactly what the "download pack" button produces:
your-character/ ├── spec.json the specification, versioned ├── reference/ the reference image set ├── gemini/ prompt + your reference images ├── midjourney/ condensed prompt + --ow + single reference ├── higgsfield/ prompts + training-set notes └── veo/ prompt + start-frame guidance
Open formats throughout — JSON, JPEG, plain text. If this registry disappeared tomorrow, everything in that folder would still work.
Coverage
| Platform | Mechanism | Delivery | Notes |
|---|---|---|---|
| Google AI Studio (Gemini) | multimodal — images go straight in | automated | up to 5 reference images per request |
| Midjourney V8.2 | reference parameter (--oref) | copy & paste | single reference image; strength kept at maximum — measured, not guessed |
| Higgsfield Soul 2.0 | closed character system | automated (CLI) | faces only — non-human characters fall back to reference images, and the pack says so before you spend |
| Google Veo 3.1 | image-to-video | automated | start frame + wording; measured the strongest hold in motion |
Measured but not yet packaged: Flux, Kling, Runway, Seedream — numbers on the measurements page. A platform joins this table when its pack is tested, not before.
Pricing
Sign in with Google or GitHub and the whole toolchain is yours — reading the spec out of your images, generating the reference set, producing per-platform prompts, scoring the output. Every account starts with free credits and no card is asked for, but it is not unlimited: credits are capped per account and across the whole site, so a heavy day can run out.
Editing a specification, producing an adapter pack and scoring consistency never cost credits. Credits are only spent when a paid model is actually called, metered against what the provider reports — not an estimate per image.
1 character slot
4,000 credits to start
Enough to bring one character in, read the spec and take the prompts
3 character slots
40,000 credits per month
Character ID and on-chain registry
12 character slots
120,000 credits per month
For a cast, not a single character
80,000 credits, one-time
No expiry
For a month that runs long
Unused credits carry over to the next month. Cancel any time — access continues to the end of the paid period. Payments are not refunded, including part-used periods, because credits are spent on third-party computation the moment they are used; if you were charged in error, write to support@avatar-lab.app. Extra character slots are $4 each per month. Prices in USD, excluding any tax added at checkout.
One more limit worth stating up front, because finding it out later is worse: the measurements on this site cover seven platforms. A character bound for somewhere else may work, but nobody has checked.
FAQ
Yes. Any images of the character work — Midjourney upscales, screenshots, commissioned art. Up to 12 MB each, one character per pack.
One to four. Three or more of different angles read most accurately, and all of them are attached to every later generation — they are what keeps the output looking like your character rather than a rewrite of it.
One character slot and 4,000 credits — enough to bring one character in, read the specification, take the ID and copy the per-platform prompts. Generating the optional five-view reference set costs about 2,400 credits on top.
That this exact specification existed here, unchanged, from a given date — and the third verification layer proves it without trusting us. It does not prove authorship, non-infringement, or a right to sell. The long version.
Yes — upload the images like any other character. Holding the token and holding a licence are different things, though: check your collection's terms before building anything commercial. Why PFPs are a special case.
At any time. Character packs download from the interface in open formats, a full account copy is one click in Settings, and account deletion is self-service. The product's premise is portability — lock-in would contradict it.