WebConv

Documentation API

Utilisez notre API pour convertir vos images en WebP avec filigrane optionnel

Authentification requise

Un token API est requis pour utiliser le service. Créez un compte pour obtenir votre token.

Endpoint

POST /convert?token=YOUR_API_TOKEN&quality=85

Paramètres de base

token(obligatoire)

Votre token API personnel. Obtenez-le sur votre dashboard.

quality(optionnel, défaut: 85)

Qualité de l'image WebP (0-100).

Paramètres de filigrane

Option 1 : Filigrane texte

watermark(optionnel)

Texte du filigrane. Ex: "© MonSite.com"

watermark_size(défaut: 24)

Taille de la police (8-200).

watermark_color(défaut: white)

Couleur : white, black, red, blue, yellow, gray ou hex (#FFFFFF).

Option 2 : Filigrane image

watermark_image(optionnel)

URL d'une image à utiliser comme filigrane (PNG, JPG). Les images avec transparence sont recommandées.

Paramètres communs (texte et image)

watermark_position(défaut: bottomRight)

Position : topLeft, topRight, bottomLeft, bottomRight, center

watermark_opacity(défaut: 50)

Opacité (0-100).

Headers requis

  • - Content-Type: image/png, image/jpeg, image/jpg, image/gif, ou image/bmp

Exemple cURL - Conversion simple

curl -X POST "/convert?token=YOUR_API_TOKEN&quality=90" \
  -H "Content-Type: image/png" \
  --data-binary @image.png \
  -o converted.webp

Exemple cURL - Filigrane texte

curl -X POST "/convert?token=YOUR_API_TOKEN&quality=85\
&watermark=©%20MySite.com\
&watermark_position=bottomRight\
&watermark_size=32\
&watermark_color=white\
&watermark_opacity=70" \
  -H "Content-Type: image/png" \
  --data-binary @image.png \
  -o watermarked.webp

Exemple cURL - Filigrane image

curl -X POST "/convert?token=YOUR_API_TOKEN&quality=85\
&watermark_image=https://example.com/logo.png\
&watermark_position=bottomRight\
&watermark_opacity=60" \
  -H "Content-Type: image/png" \
  --data-binary @image.png \
  -o watermarked.webp

Exemple JavaScript

const file = document.querySelector('input[type="file"]').files[0];
const apiToken = 'YOUR_API_TOKEN';

const params = new URLSearchParams({
  token: apiToken,
  quality: '85',
  watermark: '© MySite.com',
  watermark_position: 'bottomRight',
  watermark_size: '28',
  watermark_color: 'white',
  watermark_opacity: '60'
});

const response = await fetch(`/convert?${params}`, {
  method: 'POST',
  headers: { 'Content-Type': file.type },
  body: file,
});

const webpBlob = await response.blob();
const url = URL.createObjectURL(webpBlob);

Exemple Python

import requests
from urllib.parse import urlencode

params = {
    'token': 'YOUR_API_TOKEN',
    'quality': 90,
    'watermark': '© MySite.com',
    'watermark_position': 'bottomRight',
    'watermark_size': 32,
    'watermark_color': 'white',
    'watermark_opacity': 60
}

with open('image.png', 'rb') as f:
    response = requests.post(
        f'/convert?{urlencode(params)}',
        headers={'Content-Type': 'image/png'},
        data=f
    )

with open('watermarked.webp', 'wb') as f:
    f.write(response.content)

Réponses

200 OK

Retourne l'image convertie en WebP (avec filigrane si demandé)

400 Bad Request

Format d'image non supporté ou données invalides

401 Unauthorized

Token API manquant ou invalide

405 Method Not Allowed

Seule la méthode POST est acceptée

500 Internal Server Error

Erreur lors de la conversion

Notes importantes

  • - Authentification obligatoire : Vous devez créer un compte pour obtenir un token API
  • - Les valeurs de qualité sont automatiquement limitées entre 0 et 100
  • - Une qualité élevée (90-100) produit de meilleures images mais plus lourdes
  • - Une qualité de 85 est un bon compromis qualité/poids
  • - Les formats supportés : PNG, JPEG, JPG, GIF, BMP
  • - Le filigrane est optionnel et n'affecte pas les requêtes existantes
  • - La conversion utilise ImageMagick pour une qualité optimale et le support du filigrane
  • - Chaque conversion est comptabilisée dans votre historique d'utilisation