Sugarcloud

sugarcloud.ch · the jexter document engine, over HTTP

A document in.
Every format out.

Send a PDF or a scan. Get back a book that reads on a phone, clean Markdown for your LLM, a repaired PDF — or the proof that a redaction really hides what it should. One HTTP call, from your server.

No SDK, no upload form: the body of the request is the document. A key per application — ask for yours.

The top of page one of the sample: a library's annual note, with a heading, two paragraphs, a bar chart and a table.
sample.pdf · page 1 of 2
  • epub-reflowa book
  • mdfor an LLM
  • doctagsfor RAG
  • audita leak found

One document, four answers

The page above, sent to this service. What follows is what came back — not a mock-up.

A book, not a picture of pages

A reflowable EPUB 3: the text in reading order, cut into chapters with a table of contents, and the chart redrawn as a figure. The reader picks the type size; nothing needs zooming.

curl -H "X-API-Key: $KEY" \ --data-binary @sample.pdf \ "https://sugarcloud.ch/api/convert?to=epub-reflow" \ -o sample.epub
Its table of contents
  1. Lakeside Library — Annual Note 2026
  2. 1. A year of reading
  3. 2. Collections
  4. 3. Thanks
  5. 4. Next year
Lakeside Library1 / 2

1. A year of reading

Loans by month rose steadily from spring to autumn, as the chart shows. The summer dip is smaller than last year: the garden reading benches kept visitors coming through July.

Bar chart: loans per month in 2026, rising from about 2,000 in January to 4,400 in November. Figure 1. Loans per month, 2026.

2. Collections

Three collections grew this year.

Try it yourself: download sample.pdf and send it from the console, or with the calls above.

Three steps to the first file

Sugarcloud is called by your server, never by a web page: the key stays where your code runs.

Ask for a key

One key per application, with its quota. Write to contact [at] sugarcube.ch; it is shown to you once.

Send the document

POST the raw bytes. Its first bytes say what it is: a PDF, an image, or a model you kept.

Take the file

The answer is the file itself, named after yours — an EPUB, a Markdown file, a PDF, or JSON.

POST /api/convert — in one call

For anything up to a few dozen pages.

# a PDF in, a book out
curl -H "X-API-Key: $KEY" \
     --data-binary @report.pdf \
     "https://sugarcloud.ch/api/convert?to=epub-reflow" \
     -o report.epub

POST /api/jobs — for a whole book

Submit, poll, take the result. A job survives a restart of the service.

# 202 {"uid":"…","state":"QUEUED"}
curl -H "X-API-Key: $KEY" --data-binary @book.pdf \
     "https://sugarcloud.ch/api/jobs?to=md"
curl -H "X-API-Key: $KEY" …/api/jobs/$UID   # RUNNING, 42%
curl -H "X-API-Key: $KEY" …/api/jobs/$UID/result -o book.md
curl -X DELETE -H "X-API-Key: $KEY" …/api/jobs/$UID

The same loop in Python and in Node, ready to paste: In your code.

Everything it makes

Twelve formats, all drawn from one reading of the document — so each is as faithful as the others.

To readpeople, on any screen

  • epub-reflowA book: chapters, contents, figures — the text flows to the screen.
  • epubThe pages as they look, fixed layout, with real text to select and search.
  • htmlThe text as one web page: headings and paragraphs.

For an AIsearch, indexing, RAG

  • mdClean Markdown in reading order.
  • doctagsDocling DocTags: every block with its box on the page.

As a PDFto print, archive, send on

  • pdfA repaired PDF: fonts rebuilt, structure regular. A scanned image comes back searchable.
  • svgOne page as a vector drawing.

For privacybefore a document leaves

  • auditIs it really redacted? The text and pictures still under the black boxes, the marks never applied.
  • zonesWhere a pattern occurs — a name, an IBAN — as rectangles to black out.
  • patchOnly what a redaction changed, for a client that holds the model.

To keepand to build on

  • ocdThe whole model, lossless: send it back later, for any other format.
  • stagesWhat each analysis stage saw — a diagnostic.

GET /api/targets lists what this deployment produces today.

Made for servers

jexter.ch, the tool site for people, is its first consumer: every tool there is one call here.

One key per application

Hashed at rest

Shown once when it is made, revoked in a second, never readable back.

Read, never declared

The bytes decide

A PDF, an image or a kept model is recognised by its content, whatever the request claims. A scan is read by OCR.

Bounded and durable

No lost work

A fixed number of conversions run at once; the rest wait their turn. A job a restart interrupted goes back in the queue.

Send it your hardest PDF

A scan, a two-column paper, a report full of charts. The console takes your key and shows every format side by side.