Matrice de conversion#
Les 51 endpoints de conversion réunis au même endroit : ce que chacun accepte en entrée, ce qu'il renvoie, et où se trouve sa page de référence. Repérez votre entrée dans la colonne de gauche, copiez le chemin au centre, puis cliquez pour obtenir les paramètres et des exemples de code. Une paire qui ne figure pas dans ces tableaux n'est pas prise en charge.
anything-to-pdf accepte 36 extensions de fichier et renvoie toujours un PDF ; anything-to-markdown en accepte 22 et renvoie toujours un seul fichier .md en UTF-8.
Tous deux ne figurent qu'une fois dans le tableau Documents ci-dessous, plutôt que d'être répétés pour chaque type d'entrée qu'ils couvrent.
Pages web#
Cinq endpoints qui effectuent le rendu d'une URL en direct dans un vrai navigateur. Ils prennent un corps JSON, pas un envoi de fichier.
| Entrée | Sortie | Endpoint | Doc |
|---|---|---|---|
| URL | POST /v1/convert/url-to-pdf |
url-to-pdf | |
| URL | Capture d'écran PNG | POST /v1/convert/url-to-screenshot |
url-to-screenshot |
| URL | Markdown | POST /v1/convert/url-to-markdown |
url-to-markdown |
Site web (crawlé ou depuis sitemap.xml) |
ZIP de PDF | POST /v1/convert/website-to-pdf |
website-to-pdf |
Site web (crawlé ou depuis sitemap.xml) |
ZIP de PNG | POST /v1/convert/website-to-screenshot |
website-to-screenshot |
Les trois endpoints url-to-* acceptent une chaîne d'URL unique ou une liste, et s'exécutent de façon synchrone pour une seule URL. Les deux endpoints website-to-* découvrent eux-mêmes les pages et sont exclusivement asynchrones : ils répondent toujours 202 avec un batch_id et un output_format valant zip. Les captures d'écran sont au format PNG ; il n'existe pas d'option de capture JPEG.
Documents#
Treize endpoints, chacun étant un envoi multipart/form-data avec le document dans le champ file.
| Entrée | Sortie | Endpoint | Doc |
|---|---|---|---|
| 36 types de fichiers (Office, iWork, OpenDocument, RTF, CSV, HTML, Markdown, texte, EPUB, images, SVG, PDF) | POST /v1/convert/anything-to-pdf |
anything-to-pdf | |
| 22 types de fichiers (PDF, Office, OpenDocument, RTF, CSV, HTML, Markdown, texte, EPUB) | Markdown | POST /v1/convert/anything-to-markdown |
anything-to-markdown |
HTML (.html, .htm) |
POST /v1/convert/html-to-pdf |
html-to-pdf | |
Markdown (.md, .markdown) |
POST /v1/convert/markdown-to-pdf |
markdown-to-pdf | |
Word (.doc, .docx) |
POST /v1/convert/doc-to-pdf |
doc-to-pdf | |
Excel (.xls, .xlsx) |
POST /v1/convert/excel-to-pdf |
excel-to-pdf | |
PowerPoint (.ppt, .pptx) |
POST /v1/convert/ppt-to-pdf |
ppt-to-pdf | |
Apple Pages (.pages) |
POST /v1/convert/pages-to-pdf |
pages-to-pdf | |
Apple Numbers (.numbers) |
POST /v1/convert/numbers-to-pdf |
numbers-to-pdf | |
OpenDocument Text (.odt) |
POST /v1/convert/odt-to-pdf |
odt-to-pdf | |
OpenDocument Spreadsheet (.ods) |
POST /v1/convert/ods-to-pdf |
ods-to-pdf | |
OpenDocument Presentation (.odp) |
POST /v1/convert/odp-to-pdf |
odp-to-pdf | |
OpenDocument Spreadsheet Template (.ots) |
POST /v1/convert/ots-to-pdf |
ots-to-pdf |
Le moteur varie selon l'entrée, ce qui change ce que pdf_options accepte. HTML et Markdown passent par WeasyPrint et prennent en charge la taille de page, l'orientation, les marges, les en-têtes et les pieds de page. Les neuf endpoints reposant sur LibreOffice (doc, excel, ppt, odt, ods, odp, ots, pages, numbers) reprennent la géométrie de page du document source : ils n'honorent donc que grayscale et renvoient 400 si vous définissez explicitement une option de géométrie.
Formats de données#
Onze endpoints, tous des envois multipart/form-data synchrones. L'extension du fichier que vous envoyez doit correspondre à l'endpoint auquel vous l'envoyez.
| Entrée | Sortie | Endpoint | Doc |
|---|---|---|---|
JSON (.json) |
XML | POST /v1/convert/json-to-xml |
json-to-xml |
XML (.xml) |
JSON | POST /v1/convert/xml-to-json |
xml-to-json |
JSON (.json) |
YAML | POST /v1/convert/json-to-yaml |
json-to-yaml |
YAML (.yaml, .yml) |
JSON | POST /v1/convert/yaml-to-json |
yaml-to-json |
JSON (.json) |
CSV | POST /v1/convert/json-to-csv |
json-to-csv |
CSV (.csv) |
JSON | POST /v1/convert/csv-to-json |
csv-to-json |
JSON (.json) |
TOML | POST /v1/convert/json-to-toml |
json-to-toml |
TOML (.toml) |
JSON | POST /v1/convert/toml-to-json |
toml-to-json |
CSV (.csv) |
XML | POST /v1/convert/csv-to-xml |
csv-to-xml |
XML (.xml) |
CSV | POST /v1/convert/xml-to-csv |
xml-to-csv |
Markdown (.md, .markdown) |
HTML | POST /v1/convert/markdown-to-html |
markdown-to-html |
Les entrées doivent être en UTF-8. Il n'y a aucune garantie d'aller-retour entre deux endpoints : XML et CSV ne transportent pas l'information de type de JSON, si bien qu'un JSON converti en CSV puis reconverti renvoie des chaînes de caractères.
Images#
Vingt-deux endpoints, tous des envois multipart/form-data. L'entrée JPEG couvre .jpg et .jpeg, et l'entrée HEIC couvre .heic et .heif.
| Entrée | Sortie | Endpoint | Doc |
|---|---|---|---|
| JPEG | PNG | POST /v1/convert/jpeg-to-png |
jpeg-to-png |
| PNG | JPEG | POST /v1/convert/png-to-jpeg |
png-to-jpeg |
| JPEG | SVG | POST /v1/convert/jpeg-to-svg |
jpeg-to-svg |
| SVG | JPEG | POST /v1/convert/svg-to-jpeg |
svg-to-jpeg |
| JPEG | HEIC | POST /v1/convert/jpeg-to-heic |
jpeg-to-heic |
| HEIC | JPEG | POST /v1/convert/heic-to-jpeg |
heic-to-jpeg |
| JPEG | WebP | POST /v1/convert/jpeg-to-webp |
jpeg-to-webp |
| WebP | JPEG | POST /v1/convert/webp-to-jpeg |
webp-to-jpeg |
| PNG | SVG | POST /v1/convert/png-to-svg |
png-to-svg |
| SVG | PNG | POST /v1/convert/svg-to-png |
svg-to-png |
| PNG | HEIC | POST /v1/convert/png-to-heic |
png-to-heic |
| HEIC | PNG | POST /v1/convert/heic-to-png |
heic-to-png |
| PNG | WebP | POST /v1/convert/png-to-webp |
png-to-webp |
| WebP | PNG | POST /v1/convert/webp-to-png |
webp-to-png |
| SVG | HEIC | POST /v1/convert/svg-to-heic |
svg-to-heic |
| HEIC | SVG | POST /v1/convert/heic-to-svg |
heic-to-svg |
| SVG | WebP | POST /v1/convert/svg-to-webp |
svg-to-webp |
| WebP | SVG | POST /v1/convert/webp-to-svg |
webp-to-svg |
| HEIC | WebP | POST /v1/convert/heic-to-webp |
heic-to-webp |
| WebP | HEIC | POST /v1/convert/webp-to-heic |
webp-to-heic |
| JPEG, ou un ZIP de JPEG | POST /v1/convert/pdf-to-jpeg |
pdf-to-jpeg | |
| PNG, JPEG ou WebP | Même format que l'entrée | POST /v1/convert/compress-image |
compress-image |
Trois détails qui posent souvent problème :
- Les quatre endpoints
*-to-svgne vectorisent pas. Ils encodent l'image matricielle en base64 dans un élément SVG<image>dimensionné selon les pixels d'origine, ce qui ajoute environ 33 % à la taille du fichier. pdf-to-jpegrenvoie un JPEG brut pour un PDF d'une seule page, et un ZIP contenantpage_1.jpeget les suivants pour un PDF multi-pages : écrivez donc votre client de manière à gérer les deux cas.compress-imageconserve le format d'entrée. Un PNG en entrée, un PNG en sortie.
413 avant même que la moindre conversion ne démarre. Les tailles par plan figurent sur Limites de débit et quotas.
Absent de cette page ?#
Deux endroits où chercher ensuite.
Formats pris en charge donne les listes brutes d'extensions plutôt que les paires, y compris les 36 entrées acceptées par anything-to-pdf et les 22 acceptées par anything-to-markdown.
Perceive est l'endpoint pour lire une page plutôt que la convertir. Un seul rendu d'URL renvoie ensemble le Markdown, le HTML nettoyé, une capture d'écran, un PDF, l'inventaire des liens et des images, et les données structurées, ce qui correspond généralement à ce dont vous avez besoin pour un agent ou un pipeline RAG.
Certaines paires absentes restent accessibles en deux étapes ou via un endpoint fourre-tout. Il n'existe pas d'endpoint png-to-pdf, par exemple, mais anything-to-pdf accepte .png et renvoie un PDF d'une seule page. Ce qui n'existe pas du tout, c'est l'OCR ainsi que la conversion audio et vidéo. C'est aussi pourquoi envoyer une image à anything-to-markdown renvoie 400 : il n'y a pas de couche de texte à lire, ni aucune passe OCR derrière.