Core concepts

Voices

Voice profiles learned from 2–20 samples: what they measure and how to build a good one.

A voice is a reusable profile of how one person writes, learned from 2–20 of their own pieces. Pass its id as voice_id on a rewrite and the output follows that person's habits instead of a generic “professional” register.

What a voice measures

We measure habits a careful reader notices, not topics. The traits object exposes the main ones:

TraitExample valueWhat it captures
sentence_length_sd9.4How much sentence length varies. People vary a lot; models tend to be uniform.
uses_em_dashfalsePunctuation habits, including ones the writer never uses.
numbered_stepstrueWhether instructions become lists or stay as prose.
endingsstatus_updateHow pieces close: a question, a call to act, a plain status update.

The profile also stores a baseline: how the Detect API scores the writer's own samples. That's what makes calibrated detection possible.

{
  "id": "voice_8f2k1x",
  "object": "voice",
  "name": "Founder voice",
  "samples": 2,
  "words": 1197,
  "traits": {
    "sentence_length_sd": 9.4,
    "uses_em_dash": false,
    "numbered_steps": true,
    "endings": "status_update"
  },
  "baseline": {
    "ai_likelihood_mean": 0.19
  }
}

Choosing good samples

  • Same person, unedited. Avoid pieces that went through heavy editing or an AI tool; you'd be teaching the voice the editor's habits.
  • At least 1,200 words in total. More helps up to about 10,000 words, then returns flatten.
  • Match where you'll publish. Five LinkedIn posts teach LinkedIn habits. Use platforms to say where the samples came from.
  • Vary the topics. Different subjects let us separate style from subject matter.

Note:

Samples are for style only

Facts in your samples (names, figures, links) are never copied into a rewrite. The fidelity checker only allows facts that appear in the source you're rewriting.

Using a voice

Pass voice_id on POST /rewrite. Without it, rewrites use a neutral house voice: plain, specific and free of stock phrasing, but nobody's in particular.

You can also pass a voice to POST /detect as calibrate_to, which scores text relative to that writer's baseline.

Limits and lifecycle

  • Voices aren't billed. Basic API includes 3 voices, Pro API 15, Ultra API unlimited.
  • Your samples are used to build the profile and then deleted; they are never stored with the voice. The profile keeps style measurements, a detector baseline and a style card that quotes 5–8 short sentences from your samples.
  • Voices are immutable. To update one, create a new voice with the extra samples and switch ids; old ids keep working until you delete them.
  • Deleting a voice removes its derived profile (and cancels a build that hasn't started). See Security & data retention.