Transloadit
Tarifs
  • Téléversements de fichiers
  • Importation de fichiers
  • Traitement par lots (English)
  • Encodage vidéo
  • Encodage audio
  • Traitement d’images
  • Traitement de documents
  • Intelligence artificielle
  • Filtrage et sécurité des fichiers
  • Catalogage de médias
  • Compression de fichiers
  • Évaluation de code
  • Exportation de fichiers
  • Smart CDN
  • Voir tous les services
  • Explorer les intégrations (English)
  • Explorer les démos interactives (English)
  • Uppy
  • TransloaditKit
  • SDK Android
  • SDK Node.js
  • SDK Python
  • SDK Ruby
  • SDK Go
  • SDK Java
  • SDK PHP
  • Zapier
  • Serveur MCP
  • Transloadit CLI (English)
  • Terraform
  • Essentiels
  • Bonnes pratiques
  • FAQ
  • Robots (English)
  • API
  • Formats (English)
  • Créer votre première application
  • À propos de Transloadit
  • Comparatifs
  • Projets open source
  • Témoignages
  • Carrières (English)
  • Sécurité
  • Articles (English)
  • Actus dev (English)
  • Astuces dev
  • Presse (English)
  • Recherche (English)
  • Études de cas (English)
  • Solutions
  • Guides
  • Glossaire (English)
  • Juridique (English)
  • Outils
  • Aider Coursera à apporter l’éducation à des millions de personnes à travers le monde (English)
  • Support Transloadit
  • Support open source
  • Accord de niveau de service (English)
EssentielsRobotsEN (English)FAQAPIFormatsEN (English)Bonnes pratiques
Téléversements de fichiers
  • /upload/handle
    Gérer les téléversements
Importation de fichiers
  • /azure/import
    Importer des fichiers depuis Azure
  • /backblaze/import
    Importer des fichiers depuis Backblaze
  • /box/import
    Importer des fichiers depuis Box
  • /mega/import
    Importer des fichiers depuis MEGA S4 Object Storage
  • /cloudfiles/import
    Importer des fichiers depuis Rackspace Cloud Files
  • /cloudflare/import
    Importer des fichiers depuis Cloudflare R2
  • /digitalocean/import
    Importer des fichiers depuis DigitalOcean Spaces
  • /dropbox/import
    Importer des fichiers depuis Dropbox
  • /ftp/import
    Importer des fichiers depuis des serveurs FTP
    EN (English)
  • /google/import
    Importer des fichiers depuis Google Cloud Storage
  • /http/import
    Importer des fichiers depuis des serveurs web
  • /minio/import
    Importer des fichiers depuis MinIO
  • /s3/import
    Importer des fichiers depuis Amazon S3
    EN (English)
  • /sftp/import
    Importer des fichiers depuis des serveurs SFTP
    EN (English)
  • /supabase/import
    Importer des fichiers depuis Supabase Storage
  • /swift/import
    Importer des fichiers depuis OpenStack Swift
  • /tigris/import
    Importer des fichiers depuis Tigris
  • /transloadit/import
    Importer des fichiers depuis Transloadit Storage
    EN (English)
  • /vimeo/import
    Importer des vidéos depuis Vimeo
  • /wasabi/import
    Importer des fichiers depuis Wasabi
Encodage vidéo
  • /video/adaptive
    Convertir des vidéos en HLS, MPEG-Dash et CMAF
  • /video/artwork
    Extraire ou insérer l’illustration de pochette des vidéos
  • /video/concat
    Concaténer des vidéos
    EN (English)
  • /video/encode
    Transcoder, redimensionner ou filigraner des vidéos
  • /video/merge
    Fusionner vidéo, audio et images en une seule vidéo
  • /video/ondemand
    Diffuser des vidéos en streaming avec encodage à la demande
  • /video/split
    Découper une vidéo
  • /video/subtitle
    Ajouter des sous-titres aux vidéos
  • /video/thumbs
    Extraire des miniatures de vidéos
    EN (English)
  • Préréglages vidéoEN (English)
Encodage audio
  • /audio/artwork
    Extraire ou insérer une pochette audio
  • /audio/concat
    Concaténer de l’audio
    EN (English)
  • /audio/split
    Découper de l’audio
  • /audio/encode
    Encoder de l’audio
  • /audio/loop
    Mettre de l’audio en boucle
  • /audio/merge
    Fusionner des fichiers audio en un seul
  • /audio/waveform
    Générer des images de forme d’onde à partir d’audio
  • Préréglages audioEN (English)
Traitement d’images
  • /image/bgremove
    Supprimer l’arrière-plan des images
  • /image/enhance
    Améliorer des images
    EN (English)
  • /image/merge
    Fusionner plusieurs images en une seule
  • /image/optimize
    Optimiser des images sans perte de qualité
  • /image/resize
    Convertir, redimensionner ou ajouter un filigrane à des images
Traitement de documents
  • /document/autorotate
    Faire pivoter automatiquement des documents
  • /document/convert
    Convertir des documents dans différents formats
    EN (English)
  • /document/extract
    Extraire du texte et des images intégrées
  • /document/merge
    Fusionner des documents en un seul
  • /document/optimize
    Optimiser la taille des fichiers PDF
    EN (English)
  • /file/read
    Lire le contenu de fichiers
  • /document/split
    Extraire des pages
  • /document/thumbs
    Extraire des miniatures de documents
  • /html/convert
    Prendre des captures d’écran de pages web ou de fichiers HTML
Intelligence artificielle
  • /document/ocr
    Reconnaître le texte dans des documents (OCR)
  • /image/describe
    Reconnaître des objets dans des images
  • /image/facedetect
    Détecter des visages dans des images
  • /image/generate
    Générer des images à partir de consignes textuelles
  • /image/upscale
    Augmenter la résolution des images
    EN (English)
  • /image/ocr
    Reconnaître le texte dans des images (OCR)
  • /speech/transcribe
    Transcrire la parole dans des fichiers audio ou vidéo
  • /text/speak
    Synthétiser la parole à partir de documents
  • /text/translate
    Traduire le texte de documents
  • /ai/chat
    Générer des réponses de chat par IA
    EN (English)
  • /video/generate
    Générer des vidéos à partir de consignes textuelles
Filtrage et sécurité des fichiers
  • /file/filter
    Filtrer des fichiers
  • /file/verify
    Vérifier le type de fichier
  • /file/virusscan
    Analyser des fichiers à la recherche de virus
Catalogage de médias
  • /file/hash
    Calculer le hachage de fichiers
  • /file/preview
    Générer une miniature d’aperçu
    EN (English)
  • /meta/write
    Écrire des métadonnées dans des médias
Compression de fichiers
  • /file/compress
    Compresser des fichiers
  • /file/decompress
    Décompresser des archives
Évaluation de code
  • /http/request
    Appeler des points de terminaison HTTP
    EN (English)
  • /script/run
    Exécuter des scripts dans des Assemblies
Exportation de fichiers
  • TéléchargementEN (English)
  • /azure/store
    Exporter des fichiers vers Microsoft Azure
  • /backblaze/store
    Exporter des fichiers vers Backblaze
  • /box/store
    Exporter des fichiers vers Box
  • /mega/store
    Exporter des fichiers vers MEGA S4 Object Storage
  • /cloudfiles/store
    Exporter des fichiers vers Rackspace Cloud Files
  • /cloudflare/store
    Exporter des fichiers vers Cloudflare R2
  • /digitalocean/store
    Exporter des fichiers vers DigitalOcean Spaces
  • /dropbox/store
    Exporter des fichiers vers Dropbox
  • /ftp/store
    Exporter des fichiers vers des serveurs FTP
    EN (English)
  • /google/store
    Exporter des fichiers vers Google Cloud Storage
  • /minio/store
    Exporter des fichiers vers MinIO
  • /s3/store
    Exporter des fichiers vers Amazon S3
    EN (English)
  • /sftp/store
    Exporter des fichiers vers des serveurs SFTP
    EN (English)
  • /supabase/store
    Exporter des fichiers vers Supabase Storage
  • /swift/store
    Exporter des fichiers vers OpenStack Swift
  • /tigris/store
    Exporter des fichiers vers Tigris
  • /transloadit/store
    Stocker des fichiers dans Transloadit Storage
    EN (English)
  • /tus/store
    Exporter des fichiers vers des serveurs compatibles tus
  • /vimeo/store
    Exporter des fichiers vers Vimeo
  • /wasabi/store
    Exporter des fichiers vers Wasabi
  • /youtube/store
    Exporter des fichiers vers YouTube
Smart CDN
  • /file/serve
    Servir des fichiers aux navigateurs web
  • /tlcdn/deliver
    Mettre en cache et distribuer des fichiers à l’échelle mondiale
  • TarifsEN (English)

Convertir, redimensionner ou ajouter un filigrane à des images

🤖/image/resize redimensionne et recadre les images, modifie leur colorisation et leur rotation et y applique du texte et des filigranes.

Robot /image/resize

Exemple d’utilisation

Redimensionner les images téléversées à une largeur de 200 px tout en conservant leurs proportions d’origine :

{
  "steps": {
    "resized": {
      "robot": "/image/resize",
      "use": ":original",
      "width": 200
    }
  }
}

Paramètres

  • interpolate

    boolean | Record<string, boolean>

    Détermine si les Assembly Variables sont interpolées pour chaque champ d’instruction.

    Par défaut, la plupart des champs d’instruction des Robots interpolent les Assembly Variables. Définissez ce paramètre sur false pour traiter tous les champs d’instruction comme du texte littéral, ou définissez le chemin d’un champ individuel sur false pour traiter uniquement ce champ comme du texte littéral. Pour les champs propres à un Robot qui sont littéraux par défaut, définissez ce paramètre sur true ou définissez le chemin de ce champ sur true pour réactiver l’interpolation.

    Utilisez des noms de champs tels que path, ou des chemins avec points tels que ffmpeg.vf pour les objets imbriqués.

  • output_meta

    Record<string, boolean> | boolean | Array<string>

    Permet de spécifier un ensemble de métadonnées dont le calcul est plus coûteux en puissance CPU et qui sont donc désactivées par défaut afin que le traitement de vos Assemblies reste rapide.

    Pour les images, vous pouvez ajouter "has_transparency": true dans cet objet pour déterminer si l’image contient des parties transparentes, et "dominant_colors": true pour extraire de l’image un tableau de codes couleur hexadécimaux.

    Pour les images, vous pouvez également ajouter "blurhash": true pour extraire une chaîne BlurHash⁠ — une représentation compacte d’un espace réservé pour l’image, utile pour afficher un aperçu flou pendant le chargement de l’image complète.

    Pour les images, "thumbhash": true extrait plutôt un ThumbHash⁠ encodé en base64 dans meta.thumbhash, accompagné de meta.has_alpha (qui indique si un canal alpha existe, même lorsque l’image est entièrement opaque). Il décrit les pixels orientés selon les données EXIF et utilise la première image des images animées. L’extraction est effectuée au mieux : les images de plus de 40 mégapixels, les formats non pris en charge ou un décodage échoué ou limité ne produisent aucun espace réservé. Une extraction réussie ajoute des frais de métadonnées équivalents à 20 % des octets de ce fichier. Aucun supplément ThumbHash ne s’applique lorsque l’option est désactivée ou lorsqu’aucun hash n’est produit.

    Définissez cette option sur le Step qui produit l’image, par exemple /upload/handle pour les originaux téléversés ou /image/resize pour les sorties traitées. La définir uniquement sur /transloadit/store ne déclenche pas l’extraction : le stockage conserve les métadonnées du Step producteur. Transloadit Storage conserve un hash généré avec sa version immuable et le renvoie dans les résultats stockés et lors des lectures natives de ressources. Les téléversements directs vers S3 ne génèrent pas d’espaces réservés. Un espace réservé contient des informations sur l’image : protégez-le donc avec les mêmes contrôles d’accès que l’image complète.

    Pour les vidéos, vous pouvez ajouter le paramètre "colorspace": true pour extraire l’espace colorimétrique de la vidéo de sortie.

    Pour les vidéos, vous pouvez également ajouter "interlaced": true pour détecter si la vidéo est entrelacée. Cette option combine l’indicateur ffprobe peu coûteux field_order avec une passe d’échantillonnage idet limitée sur les premières images de la source, et expose interlaced, field_order ainsi qu’un objet de diagnostic interlace_detection sous file.meta. Cette opération est coûteuse en calcul et facturée en conséquence.

    Pour l’audio, vous pouvez ajouter "mean_volume": true pour obtenir une valeur unique représentant le volume moyen du fichier audio.

    Vous pouvez également définir cette option sur false pour ignorer l’extraction des métadonnées et accélérer le transcodage.

  • user_meta

    Record<string, any>(par défaut : {})

    Ajoute des métadonnées JSON personnalisées à chaque fichier émis sans modifier son contenu. Les objets et tableaux imbriqués sont pris en charge.

    L’héritage dépend du Robot. Les valeurs sont fusionnées avec la valeur user_meta existante du fichier de sortie ; le Step actuel remplace les clés de premier niveau correspondantes. Attribuez explicitement les clés requises lorsqu’un Robot crée de nouvelles sorties.

    Dans les Steps de traitement, ${file.*} désigne la première entrée et ${result.*} le fichier émis. Les valeurs sont évaluées pour chaque sortie après l’exécution du Robot, avant l’extraction ultérieure des métadonnées et le stockage temporaire. Sur :original, les valeurs sont évaluées pour chaque téléversement avant l’extraction des métadonnées.

    Les Steps en aval lisent ${file.user_meta.key}. Consultez Métadonnées personnalisées pour un exemple complet et les règles d’héritage.

  • result

    boolean(par défaut : false)

    Indique si les résultats de ce Step doivent figurer dans l’Assembly Status JSON

  • queue

    batch

    Définir la file d’attente sur « batch » abaisse manuellement la priorité des Jobs de ce Step afin d’éviter de consommer des emplacements prioritaires de Jobs pour des Jobs qui n’ont pas besoin d’un temps d’attente nul dans la file

  • force_accept

    boolean(par défaut : false)

    Forcer un Robot à accepter un type de fichier qu’il aurait ignoré.

    Par défaut, les Robots ignorent les fichiers qu’ils ne connaissent pas. Le Robot 🤖/video/encode, par exemple, ignorera volontiers les images en entrée.

    Avec le paramètre force_accept défini sur true, vous pouvez forcer les Robots à accepter tous les fichiers qui leur sont envoyés. Cela entraîne généralement des erreurs et ne doit être utilisé que pour le débogage ou pour traiter des cas limites.

  • ignore_errors

    boolean | Array<meta | execute>(par défaut : [])

    Ignore les erreurs pendant certaines phases du traitement.

    Si vous définissez cette valeur sur ["meta"], le Robot ignorera les erreurs lors de l’extraction des métadonnées.

    Si vous définissez cette valeur sur ["execute"], le Robot ignorera les erreurs lors de la phase d’exécution principale.

    Définir cette valeur sur true équivaut à ["meta", "execute"] : les erreurs seront alors ignorées dans les deux phases.

  • use

    string | Array<string> | Array<object> | object

    Indique quel(s) Step(s) utiliser comme entrée.

    • Vous pouvez choisir n’importe quel nom pour les Steps, sauf ":original" (réservé aux téléversements des utilisateurs gérés par Transloadit)
    • Vous pouvez fournir plusieurs Steps en entrée à l’aide de tableaux :
      {
        "use": [
          ":original",
          "encoded",
          "resized"
        ]
      }
      
    • Vous pouvez également étiqueter les Steps d’entrée avec as pour transmettre une intention sémantique aux Robots :
      {
        "use": [
          {
            "name": ":original",
            "as": "image"
          },
          {
            "name": ":original",
            "as": "mask"
          }
        ]
      }
      
    Astuce

    C’est probablement tout ce que vous devez savoir sur use, mais vous pouvez consulter les cas d’utilisation avancés.

  • format

    string | null(par défaut : null)

    Le format de sortie de l’image modifiée.

    Parmi les principaux formats disponibles figurent "jpg", "png", "gif", "tiff" et "jxl" pour JPEG XL. Pour connaître tous les formats dans lesquels nous pouvons écrire des images, consultez notre liste de formats d’image pris en charge EN (English).

    Si la valeur est null (par défaut), le format de l’image d’entrée sera utilisé comme format de sortie.

    Si vous souhaitez convertir l’image au format "pdf", envisagez plutôt 🤖/document/convert EN (English).

  • width

    number

    Largeur du résultat en pixels. Si elle n’est pas spécifiée, la largeur de l’original sera utilisée par défaut.

  • height

    number

    Hauteur de la nouvelle image, en pixels. Si elle n’est pas spécifiée, la hauteur de l’image d’entrée sera utilisée par défaut.

  • resize_strategy

    "crop" | "fillcrop" | "fit" | "min_fit" | "pad" | "stretch"(par défaut : "fit")

    Consultez la liste des stratégies de redimensionnement disponibles.

  • zoom

    boolean(par défaut : true)

    Si ce paramètre est défini sur false, les images plus petites ne seront pas étirées pour atteindre la largeur et la hauteur souhaitées. Pour en savoir plus sur l’impact du zoom avec votre stratégie de redimensionnement préférée, consultez la liste des stratégies de redimensionnement disponibles.

  • crop

    object | string

    Spécifiez un objet contenant les coordonnées des coins supérieur gauche et inférieur droit du rectangle à découper dans l’image ou les images d’origine. Le système de coordonnées a pour origine le coin supérieur gauche de l’image. Les valeurs peuvent être des entiers pour des valeurs absolues en pixels ou des chaînes pour des valeurs en pourcentage.

    Par exemple :

    {
      "x1": 80,
      "y1": 100,
      "x2": "60%",
      "y2": "80%"
    }
    

    Ce recadrage extrait la zone allant de (80, 100) à (600, 800) d’une image de 1000×1000 pixels, soit un rectangle de 520 px de large et de 700 px de haut. Si crop est défini, les paramètres de largeur et de hauteur sont ignorés, et resize_strategy est automatiquement défini sur crop.

    Vous pouvez également utiliser de la même manière une chaîne JSON représentant un tel objet avec des coordonnées :

    "{\"x1\": <Integer>, \"y1\": <Integer>, \"x2\": <Integer>, \"y2\": <Integer>}"
    

    Pour recadrer autour de visages humains, consultez 🤖/image/facedetect.

  • gravity

    bottom | bottom-left | bottom-right | center | left | right | top | | attention | entropy(par défaut : "center")

    Définit la direction de recadrage pour crop ou fillcrop sans coordonnées explicites. Les options attention et entropy, qui tiennent compte du contenu, nécessitent libvips, fillcrop, width et height. Les effets tels que sepia ou text, ainsi que les entrées telles que HEIC, peuvent utiliser ImageMagick. Celui-ci centre ces recadrages et l’Assembly signale un avertissement. Effectuez le recadrage dans un Step /image/resize distinct avant d’appliquer les effets, ou convertissez d’abord les entrées non prises en charge en PNG.

  • strip

    boolean(par défaut : false)

    Supprime toutes les métadonnées de l’image. C’est utile pour réduire au maximum la taille des miniatures.

  • alpha

    Activate | Background | Copy | Deactivate | Extract | Off | On |

    Permet de contrôler le canal alpha (masque) d’une image.

  • preclip_alpha

    Activate | Background | Copy | Deactivate | Extract | Off | On |

    Permet de contrôler le canal alpha/masque d’une image avant d’appliquer le tracé de détourage via clip: true.

  • flatten

    boolean(par défaut : true)

    Aplatit tous les calques sur l’arrière-plan spécifié afin d’obtenir de meilleurs résultats lors de la conversion de formats avec transparence vers des formats sans transparence, comme l’explique la documentation d’ImageMagick⁠.

    Afin de préserver les animations, les fichiers GIF ne sont pas aplatis lorsque ce paramètre est défini sur true. Pour aplatir les animations GIF, utilisez le paramètre frame.

  • correct_gamma

    boolean(par défaut : false)

    Évite les erreurs de gamma courantes dans de nombreux algorithmes de redimensionnement d’image⁠.

  • quality

    string | number(par défaut : 92)

    Contrôle la compression des images JPG et PNG. Consultez également 🤖/image/optimize.

  • adaptive_filtering

    boolean(par défaut : false)

    Contrôle la compression des images PNG. La valeur true réduit la taille des fichiers, mais augmente le temps de traitement. Il est conseillé de laisser cette option désactivée.

  • background

    string | transparent | none | black | white | red | green | blue | (par défaut : "#FFFFFF")

    Le code hexadécimal ou le nom⁠ de la couleur utilisée pour remplir l’arrière-plan (utilisée pour la stratégie de redimensionnement pad).

    Remarque : Par défaut, l’arrière-plan des images transparentes devient blanc. Pour préserver la transparence, définissez "background" sur "none".

  • frame

    string | number | null(par défaut : null)

    Utilisez ce paramètre avec les fichiers GIF animés pour indiquer quelle image du GIF est utilisée pour l’opération. Spécifiez 1 pour utiliser la première image, 2 pour la deuxième, et ainsi de suite. null signifie que toutes les images sont utilisées.

  • colorspace

    CMY | CMYK | Gray | HCL | HCLp | HSB | HSI |

    Définit l’espace colorimétrique de l’image. Pour en savoir plus sur les valeurs disponibles, consultez la documentation d’ImageMagick⁠. Notez que si vous utilisiez "RGB", nous recommandons d’utiliser plutôt "sRGB" depuis 2014-02-04. ImageMagick peut essayer de déterminer la valeur de colorspace la plus efficace en fonction des couleurs d’une image et choisir par défaut, par exemple, "Gray". Pour forcer les couleurs, vous devrez peut-être utiliser ce paramètre en combinaison avec type: "TrueColor".

  • type

    Bilevel | ColorSeparation | ColorSeparationAlpha | Grayscale | GrayscaleAlpha | Palette | PaletteAlpha |

    Définit le type de couleur de l’image. Pour en savoir plus sur les valeurs disponibles, consultez la documentation d’ImageMagick⁠. Si vous utilisez colorspace, ImageMagick peut essayer de déterminer le type le plus efficace en fonction des couleurs d’une image et choisir par défaut, par exemple, "Gray". Pour forcer les couleurs, vous pourriez par exemple définir ce paramètre sur "TrueColor"

  • sepia

    string | number | null(par défaut : null)

    Applique un effet sépia dont l’intensité est exprimée en pourcentage.

  • rotation

    string | number | boolean | "auto"(par défaut : true)

    Détermine si l’image doit être pivotée. Utilisez un nombre quelconque pour indiquer l’angle de rotation en degrés (par exemple, 90, 180, 270, 360, ou des valeurs précises comme 2.9). Utilisez la valeur true ou "auto" pour faire pivoter automatiquement les images dont l’orientation est incorrecte ou qui dépendent des paramètres de rotation EXIF. Sinon, utilisez false pour désactiver entièrement la correction automatique.

  • compress

    BZip | Fax | Group4 | JPEG | JPEG2000 | Lossless | LZW | | null(par défaut : null)

    Spécifie la compression des pixels lors de l’écriture de l’image. La compression est désactivée par défaut.

    Consultez également 🤖/image/optimize.

  • blur

    string | null(par défaut : null)

    Spécifie un flou gaussien à l’aide d’une valeur de la forme {radius}x{sigma}. La valeur du rayon définit la taille de la zone que l’opérateur doit prendre en compte lors de la diffusion des pixels et devrait généralement être égale à "0" ou au moins à deux fois la valeur de sigma. La valeur de sigma donne une approximation de l’étendue, en pixels, sur laquelle l’image est « étalée » ; vous pouvez la considérer comme la taille du pinceau utilisé pour flouter l’image. Ce nombre est une valeur à virgule flottante, ce qui permet d’utiliser de petites valeurs comme "0.5".

  • blur_regions

    Array<object> | null(par défaut : null)

    Spécifie un tableau d’objets décrivant les ellipses à flouter sur l’image. Chaque objet possède les clés suivantes : x, y, width, height. Si blur_regions a une valeur, le paramètre blur est utilisé comme intensité du flou pour chaque zone.

  • brightness

    string | number(par défaut : 1)

    Augmente ou diminue la luminosité de l’image à l’aide d’un multiplicateur. Par exemple, 1.5 augmenterait la luminosité de 50 %, tandis que 0.75 la diminuerait de 25 %.

  • saturation

    string | number(par défaut : 1)

    Augmente ou diminue la saturation de l’image à l’aide d’un multiplicateur. Par exemple, 1.5 augmenterait la saturation de 50 %, et 0.75 la diminuerait de 25 %.

  • hue

    string | number(par défaut : 100)

    Modifie la teinte par rotation des couleurs de l’image. La valeur 100 ne produirait aucun changement, tandis que 0 et 200 inverseront les couleurs de l’image.

  • contrast

    string | number(par défaut : 1)

    Ajuste le contraste de l’image. Une valeur de 1 ne produit aucun changement. Les valeurs inférieures à 1 diminuent le contraste (0 correspondant au contraste minimal), et les valeurs supérieures à 1 augmentent le contraste (2 correspondant au contraste maximal). Ce paramètre fonctionne comme le paramètre brightness.

  • watermark_url

    string

    Une URL indiquant une image PNG à superposer à cette image. Notez que vous pouvez également fournir le filigrane via un autre Assembly Step. L’ajout de filigrane permet de superposer une image à une autre. Cette fonctionnalité est généralement utilisée pour les logos.

  • watermark_position

    bottom | bottom-left | bottom-right | center | left | right | top | | Array<bottom | bottom-left | bottom-right | center | left | right | top | >(par défaut : "center")

    La position du filigrane. Les options disponibles sont "center", "top", "bottom", "left" et "right". Vous pouvez également combiner des options, par exemple "bottom-right".

    Vous pouvez également spécifier un tableau de valeurs possibles, par exemple [ "center", "left", "bottom-left", "bottom-right" ], auquel cas une valeur sera sélectionnée au hasard.

    Ce réglage place le filigrane dans le coin spécifié. Pour appliquer un décalage précis en pixels au filigrane, vous devrez ajouter des marges à l’image elle-même.

  • watermark_x_offset

    string | number(par défaut : 0)

    Le décalage sur l’axe x, en pixels, à appliquer à la position du filigrane définie par watermark_position.

    Les valeurs peuvent être positives ou négatives et produisent des résultats différents selon le paramètre watermark_position. Les valeurs positives rapprochent le filigrane du centre de l’image, tandis que les valeurs négatives l’en éloignent.

  • watermark_y_offset

    string | number(par défaut : 0)

    Le décalage sur l’axe y, en pixels, à appliquer à la position du filigrane définie par watermark_position.

    Les valeurs peuvent être positives ou négatives et produisent des résultats différents selon le paramètre watermark_position. Les valeurs positives rapprochent le filigrane du centre de l’image, tandis que les valeurs négatives l’en éloignent.

  • watermark_size

    string

    La taille du filigrane, exprimée en pourcentage.

    Par exemple, une valeur de "50%" signifie que la taille du filigrane représentera 50 % de celle de l’image sur laquelle il est placé. Les dimensions exactes dépendent également de watermark_resize_strategy.

  • watermark_resize_strategy

    area | fit | min_fit | stretch(par défaut : "fit")

    Les valeurs disponibles sont "fit", "min_fit", "stretch" et "area".

    Pour expliquer le fonctionnement des stratégies de redimensionnement, supposons que notre image cible mesure 800×800 pixels et que notre filigrane mesure 400×300 pixels. Supposons également que le paramètre watermark_size soit défini sur "25%".

    Avec la stratégie de redimensionnement "fit", le filigrane est mis à l’échelle de sorte que son côté le plus long occupe 25 % du côté correspondant de l’image. L’autre côté est mis à l’échelle selon le rapport d’aspect du filigrane. Dans notre exemple, la largeur est le côté le plus long du filigrane, et 25 % de la taille de l’image correspondraient à 200 px. Le filigrane serait donc redimensionné à 200×150 pixels. Si watermark_size était défini sur "50%", il serait redimensionné à 400×300 pixels (et conserverait donc sa taille d’origine).

    Avec la stratégie de redimensionnement "min_fit", le filigrane est mis à l’échelle de sorte que son côté le plus court occupe 25 % du côté correspondant de l’image. L’autre côté est mis à l’échelle selon le rapport d’aspect du filigrane. Dans notre exemple, la hauteur est le côté le plus court du filigrane, et 25 % de la taille de l’image correspondraient à 200 px. Le filigrane serait donc redimensionné à 267×200 pixels. Si watermark_size était défini sur "50%", il serait redimensionné à 533×400 pixels (donc à une taille supérieure à sa taille d’origine).

    Avec la stratégie de redimensionnement "stretch", le filigrane est étiré (c’est-à-dire redimensionné sans tenir compte de son rapport d’aspect) de sorte que chacun de ses côtés occupe 25 % du côté correspondant de l’image. Puisque notre image mesure 800×800 pixels, pour une taille de filigrane de 25 %, le filigrane serait redimensionné à 200×200 pixels. Il semblerait étiré en hauteur, car en conservant le rapport d’aspect, il serait plutôt redimensionné à 200×150 pixels.

    Avec la stratégie de redimensionnement "area", le filigrane est redimensionné (en conservant son rapport d’aspect) de sorte qu’il couvre "xx%" de la surface de l’image. La valeur de watermark_size définit le pourcentage de surface.

  • watermark_opacity

    string | number(par défaut : 1)

    L’opacité du filigrane, où 0.0 correspond à une transparence totale et 1.0 à une opacité totale.

    Par exemple, une valeur de 0.5 signifie que le filigrane sera transparent à 50 %, laissant apparaître l’image sous-jacente. C’est utile pour afficher une marque discrètement ou lorsque vous souhaitez que le filigrane soit moins envahissant.

  • watermark_repeat_x

    boolean(par défaut : false)

    Lorsque ce paramètre est défini sur true, le filigrane sera répété horizontalement sur toute la largeur de l’image.

    C’est utile pour créer des motifs de filigrane en mosaïque qui couvrent toute l’image et rendent plus difficile la suppression du filigrane par recadrage.

  • watermark_repeat_y

    boolean(par défaut : false)

    Lorsque ce paramètre est défini sur true, le filigrane sera répété verticalement sur toute la hauteur de l’image.

    C’est utile pour créer des motifs de filigrane en mosaïque qui couvrent toute l’image. Ce paramètre peut être combiné avec watermark_repeat_x pour former une mosaïque dans les deux directions.

  • text

    object | Array<object>

    Superpositions de texte à appliquer à l’image. Il peut s’agir d’un seul objet texte ou d’un tableau d’objets texte. Chaque objet texte contient des règles de texte. Les paramètres de texte suivants sont destinés à être utilisés comme propriétés de vos superpositions de texte. Voici un exemple :

    "watermarked": {
      "use": "resized",
      "robot": "/image/resize",
      "text": [
        {
          "text": "© 2018 Transloadit.com",
          "size": 12,
          "font": "Ubuntu",
          "color": "#eeeeee",
          "valign": "bottom",
          "align": "right",
          "x_offset": 16,
          "y_offset": -10
        }
      ]
    }
    
  • progressive

    boolean(par défaut : false)

    Entrelace l’image si ce paramètre est défini sur true, ce qui permet un chargement progressif de l’image dans les navigateurs. Au lieu d’afficher l’image de haut en bas, le navigateur affichera d’abord une version floue de l’image en basse résolution, rapidement remplacée par l’image réelle à mesure que les données arrivent. Cela améliore considérablement l’expérience utilisateur, mais au prix d’une augmentation de la taille du fichier d’environ 10 %.

  • transparent

    string | transparent | none | black | white | red | green | blue | | string

    Rendez cette couleur transparente dans l’image. Exemple : "255,255,255".

  • trim_whitespace

    boolean(par défaut : false)

    Détermine si les marges supplémentaires autour de l’image doivent d’abord être supprimées. Si vous définissez ce paramètre sur true, il supprime tous les bords qui ont exactement la même couleur que les pixels des coins.

  • clip

    string | boolean(par défaut : false)

    Appliquez le tracé de détourage aux autres opérations du Job de redimensionnement, s’il en existe un. Si ce paramètre est défini sur true, il sélectionne automatiquement le premier tracé de détourage. S’il est défini sur une chaîne de caractères, il recherche un tracé de détourage portant ce nom.

  • negate

    boolean(par défaut : false)

    Remplacez chaque pixel par sa couleur complémentaire, ce qui crée un négatif de l’image. Particulièrement utile pour tester le détourage.

  • clut

    boolean(par défaut : false)

    Applique une image de table de correspondance des couleurs (CLUT, pour Color Look-Up Table) pour réaffecter les couleurs de l’image d’entrée à l’aide de l’opérateur -clut d’ImageMagick. Lorsque ce paramètre est activé, un second fichier d’entrée doit être fourni via le paramètre use avec "as": "clut".

    Cette opération s’exécute actuellement via la pile convert d’ImageMagick (et non via le démon image-resizer), même si stack: "daemon" est demandé.

    Lorsque vous utilisez plusieurs entrées, vous devriez fournir votre image principale comme "as": "base". Si aucun alias base n’est explicitement défini, Transloadit utilisera la première entrée non auxiliaire (un fichier qui n’est marqué ni comme watermark ni comme clut) comme image principale.

    L’image CLUT sert de carte de dégradé : les canaux de couleur de chaque pixel de l’image d’entrée sont remplacés par la couleur correspondante de l’image CLUT, en fonction de l’intensité du canal. Il s’agit d’une puissante technique d’étalonnage des couleurs, largement utilisée dans les flux de travail en photographie et en conception.

    Exemple :

    {
      "steps": {
        ":original": {
          "robot": "/upload/handle"
        },
        "lut_image": {
          "robot": "/upload/handle"
        },
        "color_graded": {
          "robot": "/image/resize",
          "use": {
            "steps": [
              { "name": ":original", "as": "base" },
              { "name": "lut_image", "as": "clut" }
            ]
          },
          "clut": true
        }
      }
    }
    
  • density

    string | null(par défaut : null)

    Alors que la qualité en mémoire et la profondeur du format de fichier définissent la résolution des couleurs, la densité d’une image correspond à sa résolution spatiale. Cette densité, exprimée en pixels par pouce, définit l’espacement ou la taille des pixels individuels. Elle détermine la taille physique de l’image lorsqu’elle est affichée sur un appareil ou imprimée.

    La valeur de densité accepte soit un seul nombre, noté width, soit une valeur au format largeur par hauteur, noté widthxheight.

    Si l’image convertie manque de netteté, essayez d’augmenter la densité.

  • monochrome

    boolean(par défaut : false)

    Transformez l’image en noir et blanc. Il s’agit d’un raccourci pour définir l’espace colorimétrique sur Gray et le type sur Bilevel.

  • shave

    string | number

    Retirez des pixels sur les bords de l’image. Le format attendu est width ou widthxheight pour indiquer le nombre de pixels à retirer de chaque côté.

Démonstrations

  • Service to automatically watermark current date onto image EN (English)
  • Rotate image to portrait mode if horizontal EN (English)
  • Service to add a sepia effect to an image EN (English)
  • Resize and apply transparency, based on a clipping path EN (English)
  • Convert specific colors to transparency EN (English)
  • Service to convert images to WebP EN (English)
  • Service to remove a color around the edge of images EN (English)
  • Service to automatically crop images to Twitter cover dimensions EN (English)
  • Service to automatically add a text watermark to images EN (English)

Articles de blog associés

  • Is your image scaling software up to scratch? EN (English) 15 octobre 2010
  • Introducing coordinate-based image cropping feature EN (English) 31 janvier 2011
  • Introducing rotation feature for image resize Robot EN (English) 1 avril 2011
  • Zoom update for image resize Robot now public EN (English) 9 mai 2011
  • Enhanced GIF manipulation with new 'frame' parameter EN (English) 26 mai 2011
  • Launching audio encode Robot & exciting new updates EN (English) 21 novembre 2011
  • Introducing 'fillcrop' resize strategy & Assembly insights EN (English) 14 février 2012
  • Stability & performance boosts with enhanced scaling EN (English) 24 juillet 2012
  • Introducing blurring feature in image resize Robot EN (English) 21 octobre 2012
  • Transloadit introduces progressive image rendering EN (English) 11 décembre 2012
  • Transloadit now offers SVG support for images EN (English) 23 mars 2013
  • Introducing our new audio artwork extraction Robot EN (English) 20 juin 2014
  • Major performance enhancements for faster Assemblies EN (English) 4 mars 2015
  • A word on ImageTragick (CVE-2016-3714) EN (English) 4 mai 2016
  • Launching a new version of ImageMagick EN (English) 20 juillet 2017
  • New pricing model for future Transloadit customers EN (English) 7 février 2018
  • Accidental breaking change for the crop resize strategy EN (English) 6 juin 2018
  • Ghostscript security incident (VU#332928) EN (English) 30 août 2018
  • Exploring the 'output_meta' parameter in Transloadit EN (English) 20 mars 2019
  • Creating an Einstein quote generator with Transloadit EN (English) 14 mai 2019
  • Enhanced security: fixing ImageMagick vulnerability EN (English) 30 juillet 2019
  • We are deprecating old ImageMagick and FFmpeg stacks EN (English) 5 septembre 2019
  • Let's Build: spinning record GIF generator EN (English) 1 avril 2021
  • Introducing the /script/run Robot for code evaluation EN (English) 15 décembre 2021
  • Build a geolocation image watermarker with Transloadit EN (English) 5 mai 2022
  • Let's Build: music card generator with Transloadit EN (English) 5 mai 2022
  • How to reduce image file sizes without losing quality EN (English) 3 août 2022
  • Introducing the /image/merge Robot for spritesheets EN (English) 12 septembre 2022
  • Create custom Valentine's cards with Transloadit & Uppy EN (English) 26 janvier 2023
  • How to set up an S3 bucket to use with Transloadit EN (English) 25 mars 2023
  • Unraveling Transloadit's jargon: a comprehensive guide EN (English) 27 avril 2023
  • Easily create wallpapers for any device with Transloadit EN (English) 12 juin 2023
  • How to blur faces in photos with Transloadit EN (English) 4 juillet 2023
  • Inspect copyright metadata and watermark images with Transloadit EN (English) 7 juillet 2024
  • Automatic background removal from images EN (English) 10 mars 2025
  • Upscale and enhance low-res images in one Assembly EN (English) 18 mars 2026
  • Switching from Cloudinary, Filestack, Mux, or Uploadcare EN (English) 9 septembre 2026
  • From zero to a processed file with the Transloadit CLI EN (English) 21 septembre 2026
  • A machine-readable API: OpenAPI 3.1, Markdown docs, and llms.txt EN (English) 24 septembre 2026
  • Transloadit now speaks your language EN (English) 30 septembre 2026
Page précédente ← /image/optimizePage suivante /document/autorotate →
Contacter le support⁠

TransloaditVérification de l’état…

Produit

  • Services
  • Tarifs
  • Démos EN (English)
  • Outils
  • Sécurité
  • Support

Entreprise

  • À propos de Transloadit/Presse EN (English)
  • Blog EN (English)/Carrières EN (English)
  • Comparatifs/Matrice de conformité EN (English)
  • Recherche EN (English)
  • Projets open source
  • Solutions
  • Pionniers du web EN (English)

Documentation

  • Premiers pas
  • Transcodage EN (English)
  • FAQ
  • API
  • Guides/Astuces dev
  • Formats pris en charge EN (English)

Plus

  • État de la plateforme⁠
  • Forum de la communauté⁠
  • Uppy
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Confidentialité EN (English)Conditions EN (English)Mentions légales EN (English)
EnglishDeutschEspañolFrançaisPortuguês (Brasil)