ForHosting KIT · Text & AI

Text to bullets

Dense paragraphs are where readers give up first. This endpoint takes prose — a report, a long email, a policy document — and rewrites it as a bulleted list that keeps every substantive point but strips the connective filler, so a reader can scan in seconds what used to take a full read-through.

● StablePer request + per 1,000 words$0.003
Use it from WebAPIEmailApp soonTelegram soon

Run this on our servers with your account. Free tools run in your browser; this one bills your KIT balance per the price above.

Why paragraphs lose readers before bullets do

A dense paragraph asks a reader to hold several ideas in their head at once, untangling which clause modifies which, before any single point lands. Bullet points remove that tax by giving each idea its own line, which is why product changelogs, executive summaries, and onboarding docs lean on them so heavily. text.to_bullets automates that rewrite, taking a paragraph's worth of connected reasoning and breaking it into discrete, standalone points without losing what each one actually said.

What the rewrite actually preserves

POST /text/to-bullets identifies each distinct claim, step, or fact in the source paragraph and gives it its own bullet, trimming transitional phrases like 'in addition to this' or 'as a result' that exist to connect sentences rather than carry information. It does not compress or summarize away detail — a five-point paragraph becomes five bullets, not three, because the goal is format, not shortening.

The line between bulleting and summarizing

These are different tasks and this endpoint stays firmly on the bulleting side of that line: a summary decides what to leave out, while a bulleted rewrite decides how to lay out everything that's there. That distinction matters for anyone using the output for something like a compliance document or a technical spec, where dropping a clause silently would be a real problem rather than a stylistic simplification.

Nested structure when the source has it

Paragraphs often contain an implicit hierarchy — a main point followed by two supporting details — and the endpoint reflects that with nested bullets rather than flattening everything to one level, because a flat list of quite different orders of importance is often harder to scan than the paragraph it replaced.

Where this earns its place in a workflow

Teams turning long-form drafts into slide decks, release notes, or onboarding checklists use this as a first pass before human editing, since restructuring text into bullets by hand is mechanical work that eats editing time better spent on judgment calls. Running it asynchronously means a long document can be queued for reformatting the moment a draft is marked final, with the bulleted version ready before anyone opens the layout tool.

Release notes from engineering write-ups

Convert a dense paragraph describing a set of fixes and changes into a scannable bulleted changelog entry for end users.

Executive summary prep

Turn a report's narrative findings section into bullet points for the one-page summary that busy stakeholders will actually read.

Policy and compliance documents

Reformat dense regulatory or internal-policy paragraphs into bullets so each requirement is individually visible and auditable.

Onboarding and how-to docs

Convert a written explanation of a process into a step-by-step bulleted list new hires can follow without rereading a paragraph twice.

Does the text to bullet points API shorten the content or just reformat it?

It reformats without cutting substance — every distinct point in the source paragraph gets its own bullet, and the task deliberately avoids summarizing detail away.

Will it create nested bullets if the text has sub-points?

Yes, when a paragraph has a clear main point with supporting details, the output reflects that with nested bullets rather than flattening everything to one level.

What input length works best?

It handles anything from a single dense paragraph to a full multi-page document; longer input is billed per word but processed the same way regardless of length.

Is there a free tier to test text to bullet point conversion?

There's no free tier — free tiers get abused and slow everyone down. Access runs on a prepaid ForHosting KIT balance: top up from $10.00 (it never expires) and each request is charged at its published price, so a call with no balance returns HTTP 402. No subscription, no tokens, no invented credits, and a failed task is never charged.

How much does converting text to bullets cost?

$0.003 per request plus $0.0135 per 1,000 words of source text. A failed task is never billed; three automatic retries happen first before a clear error is returned.

Can I bulk-convert many documents at once?

Yes, the endpoint is built for bulk use — queue as many asynchronous requests as needed and collect each result by webhook as it finishes.

How is the bulleted output delivered?

Through a signed webhook, recommended for automated workflows, or a signed link that remains valid for 24 hours for manual retrieval.

How is this different from a summarization endpoint?

Summarizing decides what to leave out; this endpoint restructures everything present in the source into bullets without discarding substantive content.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/text/to-bullets

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, and soon from our app, email and Telegram.

curl -X POST https://api.kit.forhosting.com/text/to-bullets \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"…"}'
{
  "text": "…"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "text.to_bullets",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.003
Per 1,000 words$0.0135

Published price — no tokens, no invented credits. A failed task is never charged.

max_tokens20000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.
422task_failedThe task failed after 3 retries. You are never charged for it.

Read the full KIT documentation →