Operations
View as MarkdownEvery operation Fylane runs — 114 of them — with what each does and what a megabyte of it costs, generated from the catalogue the API enforces.
114 operations, one job shape. Name one in operation on POST /v1/jobs, or several in operations to run a pipeline. Credits are per megabyte of input, rounded up; POST /v1/estimate prices a specific file before you commit.
ai
| Operation | What it does | Credits per MB |
|---|---|---|
ai.classify | Which kind of document this is — your classes or the standard set — with confidence, answered by the in-sandbox model. The artifact names the tier. | 4 |
ai.extract | Your schema in, validated JSON out: grammar-constrained extraction, so the shape is guaranteed by construction. Null where the document does not say. schema is a flat map of field name to string, number, date or boolean. | 4 |
ai.summarize | Concise, detailed or bullet summaries from the in-sandbox model — the document never leaves Fylane. | 4 |
ai.answer | A question about the document, answered by the in-sandbox model from the sentences that match it, with citations to page and section. An answer the cited passages do not contain is reported unsupported, whatever the model claimed. | 4 |
ai.translate | The document’s text translated into another language by the in-sandbox model; language is a code such as fr or es. Up to the model’s window of 6,000 characters; longer documents are translated up to it and flagged truncated. | 4 |
archive
| Operation | What it does | Credits per MB |
|---|---|---|
archive.inspect | What a ZIP holds — names, sizes, methods — without extracting a byte. | 1 |
archive.convert-each | A ZIP, 7z or tar of documents — Publisher first, any Office file — becomes a ZIP of PDFs with report.json and report.csv: per file, pages, bytes, the fonts substituted, any failure. A hundred files at most. | 1 |
archive.convert | Any archive 7-Zip reads — 7z, RAR, tar, gzip, zip — rewritten as a ZIP or, by to, a 7z or tar.gz, names and paths kept; a thousand files and 64 MB unpacked at most. | 1 |
archive.extract | One named entry out of a ZIP, capped and checksummed; bombs die at the cap. | 1 |
archive.create | Up to ten files become one ZIP, entries named after the files they were. | 1 |
audio
| Operation | What it does | Credits per MB |
|---|---|---|
audio.inspect | Duration, codec, channels, sample rate, bitrate. | 1 |
audio.transcribe | Speech to text: plain text, or timed SRT/VTT — transcribed in the sandbox, no third party. | 4 |
audio.convert | mp3, wav, aac, flac, ogg, opus or aiff out of whatever came in. | 1 |
audio.trim | The seconds you name, in the format you name. | 1 |
audio.merge | Two to twenty audio files joined end to end into one, in the format you name — every input brought to 44.1 kHz stereo first. | 1 |
audio.normalize | EBU R128 loudness (-16 LUFS) — the broadcast answer to "too quiet". | 1 |
comic
| Operation | What it does | Credits per MB |
|---|---|---|
comic.to-pdf | A comic-book archive — CBZ, CBR or CB7 of page pictures — as a PDF, one page per picture in reading order (page 2 before page 10); up to 500 pages, non-pictures skipped and counted. | 1 |
Documents and files
| Operation | What it does | Credits per MB |
|---|---|---|
inspect | What the file actually is — measured, not declared. | 1 |
scan | Malware scan; the verdict is recorded on the file. | 3 |
convert | Documents into another document format: Office, text and HTML to PDF by default, or by to into docx, odt, rtf, txt, html, xlsx, ods, csv, pptx, odp, md or epub (Markdown and EPUB through pandoc). Images to WebP. | 1 |
sanitize | A safer copy. Images: re-encoded pixels, orientation applied, metadata gone. PDFs: JavaScript, auto-run and launch actions, embedded files neutralised — with a report naming exactly what was removed. | 1 |
preview | The first pages as browser-ready images — PDF, Office or image; up to 8 pages at your width. | 1 |
thumbnail | What it looks like: images resize, PDFs and Office render page one, videos give a frame. | 1 |
extract-text | Markdown and the structured v1 content schema. | 1 |
normalize | Text to canonical form: UTF-8, LF endings, Unicode NFC — with a report of what changed. | 1 |
detect-pii | Find the well-defined identifiers — emails, phones, SSNs, checksum-valid cards, IBANs — with positions. The report names what this tier cannot see. | 1 |
extract-entities | Dates, amounts, URLs and identifiers out of any text-bearing document, with positions. | 1 |
redact | Remove, not cover: text masks in place; images and PDFs are rebuilt from pixels with the findings painted out — no text layer to leak. | 3 |
detect-language | Which language a document is in — with the runners-up and an honest reliability flag. | 1 |
ocr | Text from images and scanned PDFs. | 3 |
ai-ready | Any document to Markdown, structure and semantic chunks; OCR routed automatically. | 3 |
csv
| Operation | What it does | Credits per MB |
|---|---|---|
csv.normalize | Any CSV dialect into RFC 4180 UTF-8 plus structured rows, detections recorded. | 1 |
csv.split | A CSV cut into parts of so many rows, the header on each, numbered in a ZIP — 200 parts at most. | 1 |
document
| Operation | What it does | Credits per MB |
|---|---|---|
document.translate | A Word or PowerPoint file translated in place by the sandbox model (language, 16 codes): every paragraph’s words replaced, its style, numbering, layout and pictures kept; up to 1 500 characters of text a run. Runs merged where a sentence was split across formatting. | 4 |
ebook
| Operation | What it does | Credits per MB |
|---|---|---|
ebook.convert | EPUB to Kindle MOBI, or MOBI / AZW / AZW3 to EPUB (format), both shapes read and written in-house: chapters, pictures, title, author and language kept; a KF8-only AZW3 read best effort. | 1 |
font
| Operation | What it does | Credits per MB |
|---|---|---|
font.convert | TTF or OTF into WOFF2 (a third the bytes, what a site ships), or a WOFF2 back into the TTF or OTF inside it. | 1 |
image
| Operation | What it does | Credits per MB |
|---|---|---|
image.resize | Resize to your dimensions — inside, cover or fill; never enlarged. Answers WebP unless format says otherwise. | 1 |
image.convert | Re-encode to WebP, JPEG, PNG or AVIF at your quality. | 1 |
image.crop | Crop by coordinates, or centre-crop to an aspect ratio. Answers WebP unless format says otherwise. | 1 |
image.rotate | Turn 90, 180 or 270 degrees — after EXIF orientation. Answers WebP unless format says otherwise. | 1 |
image.id-photo | A photograph for an identity document: exactly the pixels an authority asks for, under exactly the bytes it allows. Crop it by eye, or let the subject centre it. | 1 |
image.smart-crop | Subject-aware crop: the saliency model finds the subject, the window centres on it. | 1 |
image.analyze | Measured signals: sharpness, exposure, contrast, entropy, dominant colours — thresholds are yours. | 1 |
image.metadata | Dimensions, colour space, and the common EXIF fields — camera, time, exposure, GPS. | 1 |
image.flip | Mirror horizontally or vertically. Answers WebP unless format says otherwise. | 1 |
image.variants | One image into up to eight responsive widths in one job. | 1 |
image.to-gif | Two to fifty pictures as one animated GIF — fitted to the first, a frame time you choose, looping — drawn by ImageMagick and tidied by gifsicle. | 1 |
image.to-pdf | One or more images become one PDF, a page per image at its own size. | 1 |
image.watermark | A text watermark at a chosen corner and opacity. Answers WebP unless format says otherwise. | 1 |
image.trace | A bitmap into an SVG of real curves (potrace): threshold, detail and which side to trace are yours; logos and line drawings, not photographs. | 1 |
image.adjust | Tone: grayscale, brightness, contrast and saturation — each optional, each a multiplier with 1 as unchanged. Answers WebP unless format says otherwise. | 1 |
image.combine | Two to twenty pictures as one — a row, a column or a grid (layout, columns), each brought to the common size and never enlarged, a gap and a background between them. | 1 |
image.effect | Four small edits: rounded corners (with transparency), a border, a pixelation, a blur — sizes as a per cent of the shorter side. | 1 |
image.gif-optimize | An animated GIF made smaller without leaving the format: frames optimised, a lossy pass, fewer colours, a narrower width. | 1 |
image.remove-background | The background turned transparent. mode "subject" finds a photograph’s subject with U²-Net; mode "color" keys out a flat background colour exactly, for logos, posters and diagrams. Flat art is refused by the subject mode rather than shredded, and told which mode works. | 2 |
image.upscale | A picture enlarged ×2 or ×4 by Real-ESRGAN (factor), detail invented where there was none; ×2 up to a megapixel in, ×4 up to a quarter. Answers in the picture’s own format unless format says otherwise. | 4 |
image.faces | Every face YuNet finds, blurred or pixelated (effect, strength, margin); the count and boxes in the metadata, and the picture unchanged when it finds none. | 1 |
image.set-metadata | Write description, copyright or artist into a JPEG or PNG — losslessly, pixels untouched. | 1 |
latex
| Operation | What it does | Credits per MB |
|---|---|---|
latex.compile | A .tex file, or a ZIP with main.tex and its figures, typeset to PDF by Tectonic with shell escape off; TeX’s own first error comes back when it does not compile. | 2 |
ocr
| Operation | What it does | Credits per MB |
|---|---|---|
ocr.searchable-pdf | A scan becomes the same document with an invisible, searchable text layer. | 3 |
ocr.layout | OCR that keeps the geometry: every word with its box and confidence, grouped into lines. | 3 |
ocr.table | A photographed or scanned table back as data: the grid as JSON and CSV, per-cell confidence. | 3 |
| Operation | What it does | Credits per MB |
|---|---|---|
pdf.split-topics | A PDF of up to 60 pages divided into its topics by the sandbox model reading each page’s opening words: a ZIP of one PDF per section, named by title, with report.json naming the boundaries. | 4 |
pdf.sign | A real digital signature (PAdES-style, adbe.pkcs7.detached, SHA-256) with your own PKCS#12 certificate: two inputs — the PDF and the .p12 / .pfx — plus password; reason, location, visible stamp, timestamp (none, sectigo or freetsa — an RFC 3161 token from a free authority over HTTPS, on the Batch lane). The platform signs nothing on its own behalf. | 1 |
pdf.inspect | Pages, version, text layer, encryption, metadata — measured, not declared. | 1 |
pdf.form | The form’s own answers: every field, its type, and what was filled in. | 1 |
pdf.fill | Values written into a form’s fields — text, choice, checkbox — with appearances generated so every viewer shows them; flatten optional; radio groups and signatures refused by name. | 1 |
pdf.nup | Two, four, six or nine pages to a sheet (Ghostscript), A4 or Letter, landscape when the grid is wider than tall. | 1 |
pdf.fit-page | Every page scaled to fit A4, Letter, A5 or Legal, centred. | 1 |
pdf.booklet | A saddle-stitch booklet: pages in the fold order with blanks to a multiple of four, two to a landscape sheet — print double-sided, flip on the short edge, fold. | 1 |
pdf.pages | One PDF of exactly the selected pages. | 1 |
pdf.rotate | Right-angle rotation, whole document or selected pages. | 1 |
pdf.remove-pages | The same document minus the named pages. | 1 |
pdf.reorder | The same pages in the order you name — each exactly once, listed individually: order: "3,1,2". | 1 |
pdf.watermark | Grey diagonal text across every page, opacity yours. | 1 |
pdf.encrypt | AES-256 password protection; the only strength offered. | 1 |
pdf.decrypt | The inverse, where your password opens the document. | 1 |
pdf.set-metadata | Title, author, subject, keywords — written as an incremental update. | 1 |
pdf.split | One PDF per page range. | 1 |
pdf.merge | Up to ten documents combined into one. | 1 |
pdf.insert | Pages from a second PDF (file_ids, optionally pages) put into the first before page at — or in place of the pages named by replace. One run where delete, merge and reorder took three. | 1 |
pdf.compare | Two PDFs’ text compared — paragraphs aligned, words added and removed marked in an HTML report, with counts and a similarity; text only, scans sent to OCR first. | 1 |
pdf.grayscale | Every colour to grey — text, vectors and images — through Ghostscript. | 1 |
pdf.to-pdfa | PDF/A-1, -2 or -3 as Ghostscript writes it: fonts embedded, colours declared, the declaration checked; what cannot be made compliant is reported, not failed. | 1 |
pdf.number-pages | Page numbers on every page — a corner or the middle, "3", "3 / 12" or "Page 3 of 12", from any start — stamped over the content. | 1 |
pdf.crop | Each page’s CropBox set: margins you name in millimetres, or found automatically from the printed area. Nothing rasterised. | 1 |
pdf.repair | A damaged PDF rewritten with a rebuilt cross-reference; what had to be recovered is reported. | 1 |
pdf.flatten | Form fields and annotations drawn into the pages — no longer editable, everywhere the same. | 1 |
pdf.linearize | Fast web view: the first page arrives before the rest of the file. | 1 |
pdf.extract-images | Every embedded image, as stored (JPEGs stay JPEGs), in one ZIP named by page. | 1 |
pdf.compress | Structure-level recompression and linearization. | 1 |
pdf.render | Pages to PNG, JPEG or WebP. | 1 |
scan
| Operation | What it does | Credits per MB |
|---|---|---|
scan.clean | A scanned or photographed sheet straightened, its background whitened, edges and speckles gone (unpaper) — gray, black-and-white or colour; the step image.to-pdf takes with clean: true. | 1 |
sheet
| Operation | What it does | Credits per MB |
|---|---|---|
sheet.parse | The workbook itself — or a CSV as a one-sheet one: sheets, values, types, formulas, merged ranges, as JSON or by format as XML; dates as the serials Excel stores. | 1 |
sheet.create | A workbook from JSON: a list of objects (keys as the header) or of lists, or an object of sheets — 50 000 cells at most. | 1 |
sheet.extract | A spreadsheet’s first sheet as normalized CSV and structured rows. | 1 |
slides
| Operation | What it does | Credits per MB |
|---|---|---|
slides.render | Every slide of a PPTX, PPT, ODP or KEY-exported deck as a PNG or JPEG — LibreOffice to PDF, poppler to pixels; a hundred slides at most. | 1 |
slides.extract | A deck’s text, slide by slide: title, body, speaker notes — read from the XML itself. | 1 |
speech
| Operation | What it does | Credits per MB |
|---|---|---|
speech.synthesize | Text read aloud by a Piper voice (voice: en_US-lessac-medium or en_GB-alan-medium, speed 0.7–1.5) as MP3 or WAV; up to 6 000 characters at a time from a .txt, .md or .html. | 263 |
video
| Operation | What it does | Credits per MB |
|---|---|---|
video.inspect | Duration, dimensions, frame rate, codecs, bitrate — measured by ffprobe. | 1 |
video.convert | Anything playable becomes H.264+AAC in a faststart MP4 — or, by container, MOV, MKV, VP9+Opus WebM, or Xvid+MP3 AVI for old players. Plus the small edits: mute, rotate, flip, speed (the sound keeps its pitch), reverse (60 s at most), loop. | 2 |
video.compress | The same MP4, smaller — quality small/balanced/high. | 2 |
video.to-gif | The first seconds of a video as an animated GIF with its own palette — fps and width yours, fifteen seconds at most. | 2 |
video.merge | Up to ten clips joined end to end into one MP4 — each brought to the first clip’s size (letterboxed, never stretched), 30 fps, a silent track where a clip has none. | 2 |
video.burn-subtitles | An SRT, WebVTT or ASS file rendered into the picture (libass) — hard-coded subtitles every player shows; size and position yours. | 2 |
video.resize | Down to 480, 720 or 1080 lines; never enlarged past sense. | 2 |
video.add-audio | A soundtrack put on a video — the picture from one file, the sound from another; replace what it had, or mix over it. The video’s length wins. | 2 |
video.crop | A rectangle cut out of every frame, in the frame’s own pixels — clamped, evened for H.264, sixteen pixels a side at least. | 2 |
video.clip | The seconds you name, re-encoded frame-accurate. | 2 |
video.stream | HLS packaging: playlist + segments in one zip — unzip to any static host and play. | 2 |
video.thumbnail | One frame as JPEG — the poster, at the second you pick. | 2 |
video.extract-audio | The soundtrack alone: mp3, wav, aac or flac. | 2 |
video.captions | Speech to subtitles — WebVTT or SRT with timings, from the soundtrack itself. | 4 |
web
| Operation | What it does | Credits per MB |
|---|---|---|
web.render | An HTML file or a public URL rendered by Chromium — real CSS, web fonts, scripts — to a PDF (format: pdf) or a first-screen screenshot (format: png, width, height, scale). Every request the page makes passes the platform’s URL policy: private networks and the metadata service are unreachable. | 2 |