Référence

L'adresse imgk, réglage par réglage

Une adresse imgk se lit comme une recette : le ? ouvre les instructions, le & sépare chaque réglage, et l'ordre n'a pas d'importance. La même adresse ressort toujours la même image, servie depuis le cache.

https://imgk.tfa52.app/?url=https://exemple.com/photo.jpg&w=500&output=webp&optimized=true

Le seul paramètre obligatoire est url= : l'adresse publique de l'image d'origine (jpg, png, webp, avif, gif, heic d'iPhone, bmp, tiff, ico ou pdf). Pense à encoder l'URL si elle contient elle-même des ? ou &.

Taille & cadrage

ParamètreCe que ça faitExemple
w Largeur en pixels (1–8192) w=500
h Hauteur en pixels (1–8192) h=500
fit Avec w et h : cover remplit en recadrant au centre, contain contient l'image entière (fond bg ou transparent). Défaut : cover fit=contain
dpr Multiplicateur Retina, 1 à 3 dpr=2
max Plafond de la plus grande dimension — pratique sans connaître le ratio max=1600
crop Découpe une zone précise : x,y,largeur,hauteur crop=10,20,300,200

Format & poids

ParamètreCe que ça faitExemple
output png · jpg · webp · avif · gif · ico · pdf · auto. auto lit l'en-tête Accept et sert avif ou webp aux navigateurs qui savent. Sans output, le format de la source est conservé output=auto
q Qualité 1–100 (jpg, webp, avif) q=80
optimized Compression intelligente : meilleurs réglages d'encodage + métadonnées retirées optimized=true
maxsize Poids maximum imposé : imgk baisse la qualité (puis les dimensions) jusqu'à tenir dessous maxsize=200kb
strip Retire les métadonnées EXIF, GPS et profils strip=true

Couleurs & effets

ParamètreCe que ça faitExemple
conversion white-black · sepia · invert · duotone · scan. Le mode scan redresse, nettoie et contraste une photo de document conversion=scan
duotone Les deux couleurs du duotone : ombres,lumières duotone=0d1017,5b8cff
blur Flou 0–100 blur=20
sharpen Netteté 0–100 sharpen=40
brightness Luminosité −100 à 100 brightness=15
contrast Contraste −100 à 100 contrast=20
saturation Saturation −100 à 100 saturation=-100

Habillage

ParamètreCe que ça faitExemple
radius Coins arrondis en pixels, ou radius=max pour un cercle parfait (recadré au carré) radius=max
border Contour : épaisseur,couleur border=4,5b8cff
bg Remplace la transparence (et remplit contain, pad, rotate) bg=ffffff
pad Marge autour, en pixels pad=40
rotate Rotation en degrés rotate=90
flip Miroir : h (horizontal), v (vertical), hv flip=h
trim Rogne automatiquement les bandes vides des bords trim=true

Filigrane & texte

ParamètreCe que ça faitExemple
watermark Adresse d'une image de logo à incruster watermark=https://…/logo.png
wm_pos Position : tl · tr · bl · br · center (défaut br) wm_pos=br
wm_opacity Transparence du filigrane 0–100 (défaut 50) wm_opacity=40
wm_size Largeur du filigrane en % de l'image (défaut 20) wm_size=25
text Texte incrusté (200 caractères max) text=©+mon+studio
text_color Couleur hex du texte (défaut ffffff) text_color=5b8cff
text_size Taille du texte en pixels (défaut 32) text_size=48
text_pos Position du texte (défaut br) text_pos=center

Presets & cas particuliers

ParamètreCe que ça faitExemple
preset Une recette enregistrée, rappelée par un mot — voir la liste ci-dessous. Tes paramètres explicites gagnent toujours preset=avatar
pack pack=favicon génère toutes les tailles d'icône d'un site dans un zip : ico multi-tailles, png 16→512, apple-touch-icon, manifest, snippet pack=favicon
page La page d'un PDF à rasteriser en image page=3
frame L'image d'un GIF animé (0 = première) frame=12

Les presets embarqués

PresetRecette appliquée
preset=avatar w=256&h=256&fit=cover&radius=max&output=webp&strip=true
preset=produit w=1200&h=1200&fit=contain&bg=ffffff&output=auto&optimized=true
preset=scan conversion=scan&output=jpg&q=80&max=2000
preset=social w=1200&h=630&fit=cover&output=jpg&q=85&strip=true
preset=compress maxsize=2mb&optimized=true&strip=true
preset=thumbnail w=320&h=320&fit=cover&output=webp&q=75&strip=true

Cache, limites & bonnes pratiques

Le lien est la recette. La même adresse produit exactement la même image : les résultats sont mis en cache longuement (Cache-Control: immutable) et servis sans recalcul. Change un paramètre, l'image change partout où le lien est collé.

Fair use. L'offre ouverte est gratuite et sans compte, avec une limite de débit par IP et des bornes de sécurité : 30 Mo et 50 mégapixels maximum en entrée, sources http(s) publiques uniquement (les adresses internes sont bloquées). En-têtes utiles dans la réponse : X-Imgk-Cache (HIT/MISS), X-Imgk-Bytes et X-Imgk-Source-Bytes.

Erreurs. Toute erreur sort en JSON clair avec le bon code HTTP : {"error": "maxsize attend un poids comme 200kb ou 2mb."}

Self-host. imgk est open source : déploie ta propre instance depuis le repo GitHub pour un contrôle total, une allowlist de domaines sources (IMGK_ALLOWED_HOSTS) ou un usage intensif.

Plus simple à la souris ?

Le studio règle tout en cliquant et affiche l'adresse correspondante en direct.

Ouvrir le studio