Cross-platform character consistency
Design the character in Midjourney, animate it in Kling, finish somewhere else. Each hop means re-uploading, re-anchoring, and finding out that the wording which worked yesterday does something else here.
avatar-lab is the translation layer for that hop: one written character, and the per-platform settings that actually hold it together — measured, not guessed.
Define fifteen to twenty concrete physical attributes. Generate a reference sheet — front, three-quarter, profile. Use it as the anchor for every scene. This is standard practice in 2026 and it is not what we are selling.
The part that is not written down anywhere is what happens next: the same sheet and the same wording produce a different failure on every platform you take it to. Not a smaller or larger version of the same failure — a different one.
| 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%. Verified on two platforms. |
| 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.
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.
Status
The tooling that automates this — building the pack, generating the reference set, producing per-platform anchors, scoring the output — exists and is in daily use, but has not been opened to anyone else. Claiming otherwise would be the first inconsistency on this site.
If this is a hop you make regularly, that is worth knowing before anything further gets built.