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.

Deux endpoints acceptent de nombreuses entrées à la fois. 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 PDF 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) 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) PDF POST /v1/convert/html-to-pdf html-to-pdf
Markdown (.md, .markdown) PDF POST /v1/convert/markdown-to-pdf markdown-to-pdf
Word (.doc, .docx) PDF POST /v1/convert/doc-to-pdf doc-to-pdf
Excel (.xls, .xlsx) PDF POST /v1/convert/excel-to-pdf excel-to-pdf
PowerPoint (.ppt, .pptx) PDF POST /v1/convert/ppt-to-pdf ppt-to-pdf
Apple Pages (.pages) PDF POST /v1/convert/pages-to-pdf pages-to-pdf
Apple Numbers (.numbers) PDF POST /v1/convert/numbers-to-pdf numbers-to-pdf
OpenDocument Text (.odt) PDF POST /v1/convert/odt-to-pdf odt-to-pdf
OpenDocument Spreadsheet (.ods) PDF POST /v1/convert/ods-to-pdf ods-to-pdf
OpenDocument Presentation (.odp) PDF POST /v1/convert/odp-to-pdf odp-to-pdf
OpenDocument Spreadsheet Template (.ots) PDF 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
PDF 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-svg ne 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-jpeg renvoie un JPEG brut pour un PDF d'une seule page, et un ZIP contenant page_1.jpeg et les suivants pour un PDF multi-pages : écrivez donc votre client de manière à gérer les deux cas.
  • compress-image conserve le format d'entrée. Un PNG en entrée, un PNG en sortie.
Les envois sont plafonnés selon le plan. Un fichier dépassant le plafond de votre plan renvoie 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.