model · available
Restyler 1
Takes the response from any model, including Claude, Gemini, GPT and your own fine-tunes, and rewrites it so it reads the way a person writes. It is trained to hold on to facts, meaning, names, numbers, links and formatting — see the measured retention rates below. Built to sit at the end of a generation pipeline: cleaning up drafts, tightening documentation, and making machine-assembled copy readable.
spec
- model id
- text-restyler-1
- openrouter id
- meragpt/text-restyler-1
- context
- 4,096 tokens
- max output
- 2,048 tokens
- input price
- $0.05 / 1M tokens
- output price
- $0.15 / 1M tokens
- repeatability
- same input, same output
- max request
- 6,000 characters
built for
- The last step of a generation pipeline, where a model has produced correct text that reads like a model produced it.
- Documentation, changelogs and support replies assembled from templates or generated fragments.
- Marketing and product copy drafted by a larger model and destined for a human reader.
not for
- Evading AI detectors. Naturalness under strict semantic preservation was the objective; evasion was never optimised for and is not measured. Detector scores also move with every detector release, so any guarantee there is one nobody can keep.
- Translation, summarisation or answering questions. It rewrites the text it is given and adds nothing to it.
- Text where the exact wording is the point — legal clauses, quoted material, licence terms.
calling it
One request, one passage.
curl https://meragpt.com/v1/restyle \
-H "Authorization: Bearer $MERAGPT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "text-restyler-1", "text": "..."}'Send up to 6,000 characters at a time and loop over your own sections for anything longer — you get results as you go, and a failure costs one section rather than the whole document. The document is split on blank lines and rejoined losslessly: blocks under 25 words, headings, tables and code are returned exactly as sent, and a block over 80 words is split at sentence boundaries first. There is also an OpenAI-compatible /v1/chat/completions shim. It accepts temperature and top_p and ignores them: decoding is set to whatever measured best for this job.
evaluation
How it measures up
Tested on writing the model had never seen during training, and only on passages that carry a name, a number or a date — there is no way to tell whether facts survived a rewrite if the passage had no facts in it.
| facts kept | 73% | entities and numbers of the input present in the output |
| perfect retention | 41% | share of blocks keeping every fact |
| length ratio | 0.86 | 64% land within 0.8–1.2 of the source |
| invented voice | 0% | never starts speaking as your company |
| repetition loops | 0% | any 6-gram repeated 3+ times |
| naturalness | 63.7 | human reference on the same blocks is 57.1 |
limits
What it does not do well.
- It keeps 73% of facts on average and every fact in only 41% of blocks. Read the output wherever accuracy matters.
- It works on blocks of roughly 15 to 120 words of prose. Whole documents and one-line fragments are out of its range, which is why the API splits your text and leaves anything under 25 words alone.
- It sometimes turns a paragraph into a bulleted list. Both are valid prose and the model picks.
disclosure
Restyler 1 is our own model, built and trained in house for this one task. The weights are proprietary and are not published. What is published is the measurement: every number on this page comes from a test run on data the model had never seen in training, not from a demo we liked. Model ids are stable and are never renamed — a change in behaviour ships as a new id, so an integration pinned to text-restyler-1 keeps the model it was tested against.
Calling it from your own code is in the API docs. Pricing and the credit model are on the homepage.