Skip to content

Optimisation d'Images

Transformez et optimisez les images servies depuis IPFS à la volée en utilisant des paramètres de requête. C'est un endpoint public qui ne nécessité aucune authentification.

Optimiser une Image

GET /image/:cid

Retourne l'image au CID donne, transformee selon les paramètres de requête fournis. Si aucun paramètre n'est fourni, la requête redirige vers l'image originale.

Paramètres de chemin

ParamètreTypeRequisDescription
cidstringOuiL'identifiant de contenu IPFS de l'image.

Paramètres de requête

ParamètreTypePar défautDescription
wnumberLargeur de sortie en pixels. Maximum 4096.
hnumberHauteur de sortie en pixels. Maximum 4096.
formatstringFormat de sortie : webp, jpeg, png ou avif.
qualitynumber80Qualité de compression, 1-100. S'applique uniquement lorsque format est défini.
fitstringcoverComment l'image doit s'adapter aux dimensions : cover, contain, fill, inside ou outside.

Modes d'ajustement

ModeComportement
coverRecadrer pour couvrir les deux dimensions (par défaut).
containS'adapter dans les deux dimensions, en preservant le ratio d'aspect. Peut laisser de l'espace vide.
fillÉtirer pour remplir les deux dimensions exactement. Peut déformer l'image.
insideComme contain, mais ne reduit que, n'agrandit jamais.
outsideComme cover, mais ne reduit que, n'agrandit jamais.

Exemples de requêtes

Redimensionner a 400px de large, convertir en WebP :

bash
curl "https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=400&format=webp"

Redimensionner et recadrer en miniature 200x200 en JPEG a 60% de qualité :

bash
curl "https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=200&h=200&format=jpeg&quality=60&fit=cover"

Utilisation en HTML

Referencez les images optimisees directement dans les balises img :

html
<img
  src="https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=800&format=webp&quality=75"
  alt="Optimized IPFS image"
/>

Servez differentes tailles avec srcset :

html
<img
  srcset="
    https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=400&format=webp 400w,
    https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=800&format=webp 800w,
    https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=1200&format=webp 1200w
  "
  sizes="(max-width: 600px) 400px, (max-width: 1000px) 800px, 1200px"
  src="https://api.ipfs.ninja/image/QmXmCX9S6ANV...?w=800&format=webp"
  alt="Responsive IPFS image"
/>

Cache

Les réponses sont servies avec des en-têtes de cache immuables. Puisque le contenu IPFS est adresse par contenu, le même CID avec les memes paramètres produit toujours la même sortie. Les navigateurs et CDN peuvent mettre ces réponses en cache indéfiniment.

Disponibilité

L'optimisation d'images est disponible sur tous les plans, y compris le plan gratuit Dharma.