# Formatly > Privacy-first file conversion API and web app. Convert images, audio, video and documents from code or in the browser. EU-hosted (Hetzner, Germany), every file deleted within 1 hour, content never used to train AI models. Formatly exposes a simple REST API (and a free web app). One monthly credit pool covers both the web app and the API. API keys are self-serve on every plan — including a free developer tier (250 credits/month). The conversion flow is async: POST a file, poll the job, download the result. ## API - [API documentation](https://formatly.pro/api.html): REST reference, copy-paste quickstart, Node + Python examples. - [OpenAPI 3.1 spec](https://formatly.pro/openapi.json): machine-readable — import it to auto-generate an agent tool. - Auth: `Authorization: Bearer ck_live_…` (generate in My Account after verifying your email). - Convert: `POST https://formatly.pro/api/v1/convert` — multipart `file` + `to` (target format) → `{ jobId, creditCost, creditsRemaining }`. - Poll: `GET https://formatly.pro/api/v1/jobs/{jobId}` → `{ status, downloadUrl }` (download link valid 15 min). - Also: `POST /api/pdf/merge`, `POST /api/batch/convert`, `GET /api/v1/credits`. ## Pricing - [Pricing](https://formatly.pro/pricing.html): Free (250 API credits/mo) is available now. Paid tiers are opening soon — advertised but not yet purchasable: Pro €9.99, Business €49.99, Enterprise (contact sales), plus pay-as-you-go at €5 per 1,000 credits past your allowance. - Credit cost is weighted by size and type: 1 per image, 3 per audio/document or file >10 MB, 10 per video/PDF/Office or file >100 MB, then 25 / 50 / 100 for files over 500 MB / 1 GB / 2 GB. ## Docs - [Help & FAQ](https://formatly.pro/docs.html) - [Changelog](https://formatly.pro/changelog.html) ## Supported formats - Images: png, jpg, webp, avif, gif, bmp, heic, svg, tiff (output adds ico). - Video: mp4, mov, avi, webm, mkv (+ legacy/broadcast inputs: flv, wmv, m4v, 3gp, mpeg, ts, mts, m2ts, vob, ogv). - Audio: mp3, wav, ogg, flac, aac, m4a, opus, aiff (+ legacy inputs: wma, amr, m4b, mp2, ac3). - Documents: pdf, docx, pptx, xlsx, csv, odt, ods, odp, rtf, txt (+ legacy doc/xls/ppt inputs; output adds epub; PDF→Word; doc→docx, xls→xlsx, ppt→pptx modernisation). - Data & subtitles: csv ⇄ xlsx ⇄ json conversions (SheetJS in-process), srt ⇄ vtt subtitle conversion. - 33 premium tools also via the API: compress, OCR, redact, PDF merge/split/rotate/compress/protect, background removal, image filters, audio/video trim/mute/normalize, and more. ## CV → Spreadsheet - [CV → Spreadsheet](https://formatly.pro/cv-to-spreadsheet.html): drop up to 50 CVs (pdf/docx/doc) → one candidate table — name, email, phone, title, employer, location, linkedin, skills, years of experience — with a per-field confidence score. Low-confidence cells are flagged for human review, then exported to CSV. - Parsed entirely on-box in the EU (PyMuPDF + spaCy NER + OCR fallback). No external AI service ever receives candidate data. The uploaded file AND the extracted data are both deleted within 1 hour. - **Pro tool**: every account (including Free) gets ONE CV free to try it; Pro and above parse full stacks. Metered from the same credit pool (5 credits per CV) on top of the plan gate. Web tool + `POST /api/parse-cv` (poll `GET /api/parse-cv/:id`); the free try is shared across web and API. ## Private transcription - [Transcribe → Text](https://formatly.pro/transcribe.html): audio/video (mp3, wav, m4a, mp4, mov and more) → transcript, with SRT/VTT subtitles and per-segment timestamps. Up to 10 files per batch; each file max 2 hours and 2 GB (full-length video, not just audio). Language is auto-detected, or pick one of en/fr/de/es/it/nl/pt/ja. - Transcribed on-box in the EU with faster-whisper running on our own hardware. No third-party transcription service (no OpenAI, no Google, no AWS) ever receives the audio. The recording AND the transcript are both deleted within 1 hour. - **Business tool** (Business tier and up): every account (including Free and Pro) gets ONE recording free to try it; Business transcribes without limit. Files up to 2 hours and 2 GB each (full-length video, not just audio). Metered from the same credit pool, weighted by file size and type. Web tool + `POST /api/transcribe` (poll `GET /api/transcribe/:id`). ## Search in files - [Search in files](https://formatly.pro/search-in-files.html): find a word or phrase across up to 50 mixed files at once — text/CSV, PDF, DOCX, spreadsheets (xlsx/xlsm), and photos/scans via OCR. Every hit is cited by location (page + line, paragraph, or sheet + cell) with a surrounding snippet. Case-insensitive by default; whole-word and match-case options. The term is matched literally, never as a regex. - Files that can't be read (password-protected, corrupt) are reported as an explicit error, never as "no matches" — "we couldn't look" is never presented as "it isn't there". - Runs on-box in the EU (PyMuPDF + python-docx + openpyxl + Tesseract OCR). No external AI. Files are deleted within 1 hour, and the search term is never logged. - **Pro tool**: every account (including Free) gets ONE file free to try it; Pro and above search a whole batch at once. Metered from the same credit pool by file size and type. Web tool + `POST /api/file-search` (poll `GET /api/file-search/:id`). ## PDF → Markdown (RAG / LLM ingestion) - `POST /api/pdf-to-markdown` (poll `GET /api/pdf-to-markdown/:id`): PDF → structure-preserving Markdown for retrieval pipelines. ATX headings by size rank, real Markdown tables, normalised lists, `` markers for chunking and citation. Up to 25 PDFs per request. - Running headers/footers ("Acme Corp — page 3 of 40") are stripped by default, since boilerplate repeated on every page pollutes every chunk; `keepRunning=true` opts out, `pageBreaks=false` drops the page markers. - Deterministic: there is NO model in this path, so the same PDF always yields the same Markdown. The document is never sent to a third-party AI to be "understood" — that is the reason to use this over a cloud document-AI service. - **Pro tool**: every account (including Free) gets ONE PDF free to try it; Pro and above convert full batches. Runs on-box in the EU (PyMuPDF). Input and output deleted within 1 hour. Metered by file size from the same credit pool. ## Privacy - EU-hosted; files auto-deleted within 1 hour by default; never used for AI training; GDPR-compliant.