voiceprint · style lab
What a Voiceprint Actually Measures
JP LeBlanc · September 29, 2026 · 6 min read

Paste twenty-five hundred words of your own prose into Style Lab and the analysis comes back scored across thirty dials, none of which you set by hand. Sentence Complexity, 62. Interiority Access, 71. Dialogue Ratio, 34. It reads like a diagnostic report because that is more or less what it is: a language model reading your sample once, at low temperature, and returning a number for each of thirty specific questions about how you actually write, not how you say you write.
I want to walk through what those numbers are, because Voiceprint is one of those product names that sounds more mystical than the thing underneath it. It is not a fingerprint in the biometric sense, and it is not reading anything about you as a person. It is a scored profile, a couple of stored text blocks, and a short passage of your prose, all of it attached to a row in a database table we still call voice_experiments internally, five product names later.
What actually gets measured
The Style Lab mixer groups its dials into seven categories: Core Voice (technical influence, emotional directness, sentence complexity, metaphor density, cynicism versus hope, pacing), Structure (paragraph length, dialogue ratio, time linearity, action-heavy openings, fragmentation, repetition), Description (visual, physical, and setting detail, interiority access, tactile and auditory emphasis), Voice and Tone (narrator presence, humor, profanity, vocabulary register, body awareness, temperature and texture), a handful of Special Effects and Thematic dials (time dilation, technical accuracy, olfactory emphasis, ambiguity, power dynamics visibility), and three Added Elements at the bottom: numeric density, acronym tolerance, and mechanism surface.
That is the mixer's list. Here is the part the product page does not say out loud: the analysis that runs on your pasted sample only scores thirty of those. The three Added Elements never make it into the prompt the model sees. They get written to the database at 50, dead center, every time, regardless of what you pasted. Write technical thrillers stuffed with acronyms and equipment specs, or plain domestic fiction with no numbers in it anywhere, and the analysis will not notice either way. You have to go into the mixer and move those three yourself. I did not plan it that way. It is what happens when a scoring prompt and a slider UI get built at different times and nobody goes back to reconcile the two lists. Small gap. The kind that "AI reads your voice" marketing copy conveniently leaves out.
How much writing it actually needs
The floor is 1,500 words. Below that, Style Lab will not run the analysis at all, and the number is not arbitrary caution: the same prompt that scores your dials is told explicitly to base every score on actual evidence in the text, and a scene under a thousand words does not contain enough evidence for thirty independent judgments. Two thousand words is the number we actually recommend. Ten thousand is where we stop encouraging more, with a hard ceiling at twelve. Past that you are mostly paying token costs on your own API key for diminishing returns, not fixing anything the analysis was starving for.
Word count is not the whole story. A handful of the dials, interiority access, setting detail, visual and tactile emphasis, can only get a real score if your sample actually contains the behavior being measured. Paste eighteen hundred words of a scene that is mostly quoted dialogue and the analysis has plenty of evidence for Dialogue Ratio and almost none for how you handle a room, a body, or a character's inner monologue. It will not fail. It will guess, or default toward the middle, and you will get a Voiceprint that is accurately measuring your dialogue and quietly making things up about everything else. The fix is boring once you say it out loud: paste a range of scenes rather than one long conversation, and lean toward the passages you would actually want the model imitating, not just the ones that were easiest to copy and paste.
What generation actually does with it
Once a Voiceprint exists, three things get built from it every time you generate or revise: a written voice portrait derived live from wherever your sliders currently sit, an optional hand-curated fingerprint text if you wrote one yourself, and an exemplar passage the prompt tells the model to match exactly. That last piece has a real limit worth stating plainly. Only the first four hundred characters of whatever exemplar is attached actually reach the prompt. That is a paragraph, maybe two. Enough to anchor rhythm and diction. Not enough for the model to have memorized your book.
The portrait matters more than it looks like it should, because it is regenerated from your current slider values every time, not frozen at the moment you first ran the analysis. Nudge Sentence Complexity down two weeks after your original Voiceprint was built, and the next chapter you generate reflects that, no re-analysis required. And once your story has a few finished, canon chapters, the exemplar itself quietly changes: the system prefers the last two paragraphs of your own nearest earlier chapter over the original Style Lab sample. Your book starts teaching the model about itself faster than a single pasted sample ever could, which is either reassuring or slightly unsettling depending on how attached you are to a chapter you wrote badly on purpose just to see what would happen.
The part I actually care about is what happens after generation. A voice signal that only survives the first draft and gets flattened by every revision pass is not worth much. Grit Pass, the editorial pass, and structural revision all pull from the exact same function that builds the voice section for original generation, not a thinner summary of it. That was a deliberate fix, not the original design. Earlier, those passes got a name and a fingerprint string and nothing else, which meant a chapter could survive generation sounding like you and then get revised back toward generic by the very pass meant to rough it up.
Getting the data out
Every Voiceprint can be exported as raw JSON straight from its detail view in Style Lab: the dial values, the stored fingerprint text, the exemplar, the generated name and description, everything that lives on that database row. It is a plain download button, no API call required, and it is useful for more than backup. It is the fastest way to actually see what is stored instead of guessing from the sliders, and if you are calling the /api/v1/voiceprints endpoint from the API to manage voices programmatically, it is the same shape of object you will get back there.
What this is not
I would rather say this directly than let the product page imply it. A Voiceprint does not make a model write exactly like you. It is a set of quantified guesses about your prose, made by another model, applied as instructions to a third generation pass. It compresses genuine variation, a writer's dialogue and their exposition rarely score the same on any of these thirty dials, into one profile. It gets the mechanical stuff right more often than the felt sense of a sentence, which is a different and harder thing to grade. If you want a free, honest gut check on the mechanical read before committing two thousand words to it, the Voice Fingerprint Analyzer runs a smaller, instant version of the same idea in your browser, on as little as 150 words, and saves nothing.
What a Voiceprint is actually good for is narrower and more useful than "writes like you": a persistent, adjustable starting point that survives revision passes instead of drifting back to whatever a model defaults to when nobody has told it not to. You will still move the sliders. You should. Just do not be surprised when three of them do not move on their own.