Polish a draft toward the voice
polishAuto-polish a draft toward a voice-match target: the draft is measured against the profile, the concrete divergences (with numbers) drive a targeted revision, and the result is re-measured — up to 3 passes, best-scoring version returned with its per-feature deltas. Use after generate_content when the score falls short, or on any text with profile_id + text. Needs a generation with status 'drafted' or 'edited' — an id whose status is still 'outline' has no draft to polish and returns no_draft. Default target 0.9. Costs credits by length: up to 5,000 words 1 credit, up to 10,000 words 2, up to 15,000 words 3; returns skipped:true for free when the text already clears the target (checked on the whole text first, at any length). Over 3,000 words the polish runs in the background, section by section: the call returns at once with status 'processing' and a job; call get_job until it has succeeded (its result holds the polished text and score). Pass save=true (generation_id mode) to persist the polished text and score back onto the generation. Tension with humanize: polishing toward voice-match can reintroduce regularity AI detectors flag. If using both, run polish FIRST and humanize last, then verify with the free check_voice_match/ai_detect.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | generation_id mode only: persist the polished text + score to the generation. | |
| text | No | With profile_id: the text to polish (50 to 15,000 words). | |
| profile_id | No | With text: profile to polish toward. | |
| target_score | No | Voice-match target to reach (default 0.9). | |
| generation_id | No | Polish this existing generation's draft (preferred). |