Skip to main content
When you don’t need to build an entire document, three focused endpoints let you work with short text snippets: make an AI-sounding draft read like a person wrote it, rewrite a passage in a different tone or style, or draft a fresh section from scratch. All three return structured JSON with no file output. These are the same helpers the Overten web app uses inside its inline editor, exposed for your own integrations with a single sk_live_* key. They run on a smaller, faster model than the document generation endpoints — most calls complete in under 3 seconds with no async/sync split.

Endpoints at a glance

Humanize

Rewrites AI-generated text to sound like a person wrote it. Preserves meaning, removes AI tells.POST /text/humanize

Rewrite

Transforms a passage according to your instruction — tone, length, style, audience.POST /text/rewrite

New content

Drafts a fresh section or paragraph from a prompt. Useful for filling gaps in an outline.POST /text/new-content

POST /text/humanize

Rewrite text so it reads like a person wrote it. The agent keeps the meaning intact while removing common AI tells: stiff transitions, hollow superlatives, passive constructions, and overly uniform sentence rhythm.

Request parameters

text
string
required
The text to humanize. Between 1 and 20,000 characters.

Example

import requests

API = "https://backend.overtenai.com/api/v1"
KEY = "sk_live_..."

resp = requests.post(
    f"{API}/text/humanize",
    headers={"Authorization": f"Bearer {KEY}"},
    json={
        "text": "In conclusion, it is imperative that stakeholders engage proactively with the robust framework to leverage synergistic outcomes.",
    },
)
print(resp.json()["text"])
# → "To wrap up: stakeholders need to get involved early and use the framework to actually get things done together."

Response

{
  "text": "To wrap up: stakeholders need to get involved early and use the framework to actually get things done together."
}

When to use it

  • Post-processing AI-generated content before it reaches your users
  • Cleaning up document sections before exporting to Word or sending via email
  • Polishing executive summaries or investor updates that were drafted with an AI tool

POST /text/rewrite

Rewrite a passage according to a custom instruction. The prompt carries the instruction; the text field is the passage to transform. Use it to adjust tone, shorten or expand content, change the reading level, or adapt text for a different audience.

Request parameters

text
string
required
The passage to rewrite. Between 1 and 20,000 characters.
prompt
string
required
Instruction for the rewrite. Up to 2,000 characters. Examples: “make it more formal”, “trim to one sentence”, “rewrite for a non-technical audience”, “make it warmer and more conversational”.

Example

import requests

API = "https://backend.overtenai.com/api/v1"
KEY = "sk_live_..."

resp = requests.post(
    f"{API}/text/rewrite",
    headers={"Authorization": f"Bearer {KEY}"},
    json={
        "prompt": "Make it more formal and trim it to one sentence",
        "text": "Hey team — just a heads up, the release is pushed to Friday because of the flaky test.",
    },
)
print(resp.json()["text"])
# → "The release has been rescheduled to Friday due to an intermittent test failure."

Response

{
  "text": "The release has been rescheduled to Friday due to an intermittent test failure."
}

When to use it

  • Adjusting tone of a draft before attaching it to a Word document
  • Shortening a paragraph to fit a character limit
  • Adapting B2B copy for a consumer audience
  • Enforcing a house style guide on externally-written content

POST /text/new-content

Draft a fresh section from a prompt. Use it to fill in a missing section of an outline before generating the full document, or to produce standalone text snippets without the overhead of a full document generation call.

Request parameters

prompt
string
required
Description of the content to generate. Between 1 and 5,000 characters. Be specific about length, audience, tone, and any required facts.
file_name
string
Optional hint for the model about what document this section is for. A .docx briefing reads differently from a .pptx slide. Omit if you don’t care about document-type tuning.

Example

import requests

API = "https://backend.overtenai.com/api/v1"
KEY = "sk_live_..."

resp = requests.post(
    f"{API}/text/new-content",
    headers={"Authorization": f"Bearer {KEY}"},
    json={
        "prompt": "A 3-paragraph executive summary about Q3 EMEA revenue slipping 4% from forecast, mostly driven by DACH softness.",
        "file_name": "Q3_review.docx",
    },
)
print(resp.json()["text"])

Response

{
  "text": "Executive summary\n\nQ3 EMEA revenue came in 4% below forecast, closing at $18.3M against a target of $19.0M. The shortfall was concentrated in the DACH region, where deal cycles extended into Q4 amid broader macroeconomic headwinds..."
}

When to use it

  • Drafting a missing section before passing the outline to /word/generate
  • Generating slide body copy before building a deck with /slides/generate
  • Producing short-form content (email intros, section headers, pull quotes) at scale

Request limits

Endpointtext maxprompt max
/text/humanize20,000 chars
/text/rewrite20,000 chars2,000 chars
/text/new-content5,000 chars
For inputs longer than the limit, split on paragraph or section boundaries and stitch the results client-side.

Error shape

All three endpoints return the same error envelope as the rest of the API:
{
  "success": false,
  "error": "permission_denied",
  "message": "Your viewer role in this workspace doesn't allow creating content."
}
See Errors for the full list of error codes and HTTP status values.

Tips for better results

These endpoints run on a faster, lighter model than the document generation endpoints. They are best suited for paragraphs and sections — not entire documents. For full documents, use /word/generate, /excel/generate, or /slides/generate.
  • Humanize works best on a paragraph at a time. Very long inputs tend to lose consistency in rhythm.
  • Rewrite is most effective with a precise instruction. “More formal” is good; “formal, cut to 30 words, active voice, no jargon” is better.
  • New content benefits from context: mention the document type, the audience, and the section’s role in the larger structure.