API de conversion d'images#
Avec une seule API REST, convertissez des images entre JPEG, PNG, WebP, HEIC et SVG, générez des JPEG à partir de pages PDF, ou compressez des images sans en changer le format. Chaque endpoint accepte un envoi multipart/form-data et effectue la conversion de façon synchrone à l'aide de Pillow, CairoSVG, pillow-heif ou PyMuPDF selon la paire de formats. Par défaut, la réponse est le fichier converti brut ; définissez direct_download=false pour recevoir à la place des métadonnées JSON avec une URL de téléchargement présignée.
Conversions prises en charge#
| Conversion | Endpoint | Description |
|---|---|---|
| JPEG vers PNG | POST /v1/convert/jpeg-to-png |
Convertit un fichier .jpeg/.jpg envoyé en PNG sans perte, avec une fidélité des couleurs totale. |
| PNG vers JPEG | POST /v1/convert/png-to-jpeg |
Convertit un .png en JPEG de qualité maximale, en composant les zones transparentes sur un fond blanc. |
| JPEG vers SVG | POST /v1/convert/jpeg-to-svg |
Intègre le JPEG en base64 sous forme d'URI de données dans un élément SVG <image>. C'est un simple habillage matriciel, pas une vectorisation. |
| SVG vers JPEG | POST /v1/convert/svg-to-jpeg |
Rastérise le SVG avec CairoSVG et renvoie un JPEG, en composant la transparence sur un fond blanc. |
| JPEG vers HEIC | POST /v1/convert/jpeg-to-heic |
Encode un fichier .jpeg/.jpg envoyé en HEIC haute qualité à l'aide du codec HEIF. |
| HEIC vers JPEG | POST /v1/convert/heic-to-jpeg |
Décode un fichier .heic ou .heif envoyé (par ex. des photos iPhone) et produit un JPEG haute qualité. |
| JPEG vers WebP | POST /v1/convert/jpeg-to-webp |
Produit un WebP haute qualité, plus léger que le JPEG équivalent, pour la diffusion web. |
| WebP vers JPEG | POST /v1/convert/webp-to-jpeg |
Convertit un .webp en JPEG, en composant les éventuelles zones transparentes sur un fond blanc. |
| PNG vers SVG | POST /v1/convert/png-to-svg |
Intègre le PNG sous forme d'URI de données en base64 dans un habillage SVG aux dimensions en pixels de l'image d'origine. Ce n'est pas une vectorisation. |
| SVG vers PNG | POST /v1/convert/svg-to-png |
Rastérise le SVG avec CairoSVG à la taille déclarée, en conservant la transparence dans le PNG obtenu. |
| PNG vers HEIC | POST /v1/convert/png-to-heic |
Convertit un .png en HEIC, en composant les zones transparentes sur un fond blanc. |
| HEIC vers PNG | POST /v1/convert/heic-to-png |
Convertit un fichier .heic ou .heif envoyé en PNG sans perte, avec une fidélité des couleurs totale. |
| PNG vers WebP | POST /v1/convert/png-to-webp |
Convertit un .png en WebP en conservant le canal alpha (transparence). |
| WebP vers PNG | POST /v1/convert/webp-to-png |
Convertit un .webp en PNG sans perte, en conservant la transparence. |
| SVG vers HEIC | POST /v1/convert/svg-to-heic |
Rend le SVG avec CairoSVG et l'encode en HEIC à qualité maximale sur un fond blanc. |
| HEIC vers SVG | POST /v1/convert/heic-to-svg |
Décode le HEIC en PNG et l'intègre sous forme d'URI de données en base64 dans un habillage SVG. Ce n'est pas une vectorisation. |
| SVG vers WebP | POST /v1/convert/svg-to-webp |
Rend le SVG avec CairoSVG et l'encode en WebP à qualité maximale en conservant la transparence. |
| WebP vers SVG | POST /v1/convert/webp-to-svg |
Décode le WebP en PNG et l'intègre sous forme d'URI de données en base64 dans un habillage SVG. Ce n'est pas une vectorisation. |
| HEIC vers WebP | POST /v1/convert/heic-to-webp |
Convertit un fichier .heic ou .heif envoyé en WebP haute qualité, en conservant le canal alpha s'il est présent. |
| WebP vers HEIC | POST /v1/convert/webp-to-heic |
Convertit un .webp en HEIC à qualité maximale, en composant la transparence sur un fond blanc. |
| PDF vers JPEG | POST /v1/convert/pdf-to-jpeg |
Génère un JPEG à 144 DPI pour chaque page du PDF ; les PDF d'une seule page renvoient un JPEG, les PDF multi-pages renvoient un ZIP contenant un JPEG par page. |
| Compresser une image | POST /v1/convert/compress-image |
Compresse un PNG, JPEG ou WebP sur place (format inchangé) : optimisation sans perte en priorité, avec réduction facultative des dimensions à rapport d'aspect verrouillé pour tenir dans un budget target_size_kb. |
Conventions communes#
- Authentification : chaque endpoint nécessite soit une clé API privée (
X-API-Key: sk_...), soit un jeton JWT issu d'une clé publique (Authorization: Bearer <jwt_token>). Voir Authentification. - Forme de la requête : tous les endpoints acceptent du
multipart/form-dataavec un champfileobligatoire, plus les paramètres optionnelsoutput_filenameetdirect_download. Les endpoints de rastérisation SVG (svg-to-png,svg-to-jpeg,svg-to-webp) acceptent aussi des dimensions optionnelleswidth/heighten pixels, etcompress-imageaccepte un budget optionneltarget_size_kb. Voir Tâches synchrones et asynchrones. - Réponses : les conversions s'exécutent de façon synchrone. Avec
direct_download=true(valeur par défaut), vous obtenez les octets bruts convertis ; avecdirect_download=false, vous obtenez des métadonnées JSON incluantpresigned_url,object_key,filename,file_sizeetconversion_time_seconds. - Erreurs et limites : les endpoints renvoient
400pour une entrée invalide ou corrompue,401pour des identifiants manquants/invalides,402lorsque le quota mensuel d'ops ou la limite de stockage de votre plan est atteint, et413lorsqu'un fichier dépasse la taille maximale autorisée par votre plan. Voir Codes d'erreur. - Qualité : les endpoints de conversion encodent à qualité maximale (non configurable). La taille de sortie, elle, est configurable là où c'est indiqué ci-dessus :
width/heightsur les endpoints de rastérisation SVG,target_size_kbsurcompress-image.
Questions fréquentes#
Comment convertir un format d'image avec une API REST ?#
Envoyez une requête POST multipart/form-data à l'endpoint /v1/convert/{source}-to-{target} correspondant, avec votre image dans le champ file, authentifiée via X-API-Key ou un jeton JWT Bearer. Par défaut, l'API répond avec le fichier converti brut ; définissez direct_download=false pour obtenir à la place des métadonnées JSON avec une URL de téléchargement présignée.
Les endpoints de sortie SVG vectorisent-ils mon image ?#
Non. Les endpoints JPEG, PNG, WebP et HEIC vers SVG encodent l'image matricielle en base64 et l'intègrent sous forme d'URI de données dans un élément SVG <image> dimensionné selon les proportions en pixels d'origine. Ils ne convertissent pas l'image en tracés vectoriels, et l'encodage base64 ajoute environ 33 % à la taille du fichier.
Qu'advient-il de la transparence pendant la conversion ?#
Cela dépend du format de sortie. Les conversions vers JPEG et HEIC composent les zones transparentes sur un fond blanc, car ces formats de sortie sont produits sans transparence. Les conversions vers PNG et WebP conservent le canal alpha.